畢 龍
(上海新僑職業(yè)技術(shù)學院,上海 200237)
基于嵌入式平臺的全軟件數(shù)控系統(tǒng)設(shè)計方案是一種新的數(shù)控系統(tǒng)設(shè)計方案,與傳統(tǒng)的數(shù)控系統(tǒng)體系結(jié)構(gòu)有很大的區(qū)別。本章詳細介紹基于嵌入式實時操作系統(tǒng)的全軟件數(shù)控系統(tǒng)結(jié)構(gòu)體系,指出該方案是一種可靠性高、經(jīng)濟性好、易于開發(fā)與維護的數(shù)控系統(tǒng)設(shè)計方案[1,2]。然后結(jié)合機床對象以及基于嵌入式平臺的全軟件數(shù)控系統(tǒng)設(shè)計方案的一般思路,討論數(shù)控系統(tǒng)的軟硬總體框架設(shè)計。
基于嵌入式實時操作系統(tǒng)的全軟件數(shù)控系統(tǒng)是一種全新的數(shù)控系統(tǒng)實現(xiàn)方案,它建立在嵌入式計算機系統(tǒng)軟硬件最新發(fā)展成果的基礎(chǔ)上。全軟件數(shù)控中的“全軟件”指的是將數(shù)控系統(tǒng)中原來必須由專用芯片完成的插補、PLC功能轉(zhuǎn)變?yōu)榫哂懈邇?yōu)先級的軟件任務(wù),同時,將譯碼、通信、報警等功能模塊任務(wù)化,依靠嵌入式實時操作系統(tǒng)支持,根據(jù)數(shù)控系統(tǒng)內(nèi)部信息流、物質(zhì)流與能量流的要求,設(shè)計出基于嵌入式實時操作系統(tǒng)的滿足特定設(shè)計要求的全軟件數(shù)控系統(tǒng)[3]。
如同基于PC平臺與通用操作系統(tǒng)的全軟件數(shù)控一樣,基于嵌入式平臺的全軟件數(shù)控系統(tǒng)必須建立在嵌入式硬件與嵌入式實時操作系統(tǒng)軟件平臺上?;谇度胧狡脚_的全軟件數(shù)控系統(tǒng)分為四層。第一層為硬件層,第二層為板級支持包層(Board Sμpport Package),第三層為API功能層,第四層為應(yīng)用程序?qū)印?/p>
硬件層主要是以嵌入式微處理器為核心的嵌入式硬件平臺。全軟件數(shù)控系統(tǒng)的重要特點就是硬件模塊軟件化,如插補、PLC等。因而,要求嵌入式微處理器必須具有豐富的片內(nèi)外設(shè)功能,如用于發(fā)送控制脈沖的定時器、可用作開關(guān)量輸入/輸出的GPIO、顯示模塊、ΜART通訊模塊等;板級支持包(BSP)層主要包括啟動代碼Bootloader、硬件驅(qū)動和RTOS移植。該層主要用于初始化硬件系統(tǒng)、設(shè)計硬件驅(qū)動和RTOS移植。其中BootLoader在硬件通電后自動執(zhí)行,用于初始化CPΜ、開發(fā)板上其他硬件;硬件驅(qū)動用于抽象嵌入式微處理器的片內(nèi)外設(shè),為文件系統(tǒng)、網(wǎng)絡(luò)、GΜI提供硬件操作封裝;RTOS移植則將RTOS移植到特定的嵌入式微處理器上,從而為RTOS內(nèi)核服務(wù)的正常運行提供保障。
API功能層主要是提供應(yīng)用程序?qū)覣PI函數(shù)。其中RTOS、文件系統(tǒng)、網(wǎng)絡(luò)、GΜI均以API的形式提供給應(yīng)用程序?qū)?。RTOS包括了所有的內(nèi)核服務(wù)功能,IHOS為多任務(wù)系統(tǒng)的同步、通訊、調(diào)度等功能提供完善的內(nèi)核服務(wù)支持;文件系統(tǒng)則負責提供數(shù)控系統(tǒng)的文件管理功能;網(wǎng)絡(luò)功能則方便數(shù)控系統(tǒng)與上位機進行網(wǎng)絡(luò)通訊;GΜI提供給應(yīng)用程序設(shè)計人機界面的基本繪圖工具。
應(yīng)用程序?qū)犹幱诨谇度胧狡脚_的全軟件數(shù)控系統(tǒng)體系結(jié)構(gòu)的頂層,用于實現(xiàn)特定應(yīng)用系統(tǒng)功能。由于數(shù)控系統(tǒng)是一個非常復雜的控制系統(tǒng),為了方便系統(tǒng)開發(fā)以及增加系統(tǒng)軟件可靠性、可維護性,將數(shù)控系統(tǒng)劃分為主要的幾個任務(wù),利用RTOS完善的任務(wù)管理功能實現(xiàn)數(shù)控系統(tǒng)功能。
基于嵌入式實時操作系統(tǒng)的全軟件數(shù)控系統(tǒng)是一種特殊結(jié)構(gòu)的數(shù)控系統(tǒng)實現(xiàn)形式,其主要的特點如下:1) 全軟件:即數(shù)控系統(tǒng)主要功能模塊全部用軟件實現(xiàn),如插補、PLC等;2) 單CPΜ結(jié)構(gòu):即無需使用價格昂貴的專用芯片如插補芯片、PLC等,只需利用嵌入式微控制器的高速計算能力和豐富的片內(nèi)外設(shè),即可為軟數(shù)控提供必要的硬件支持;3) 嵌入式實時操作系統(tǒng)的支持:相比利用通用桌面操作系統(tǒng)及其實時性補丁,嵌入式實時操作系統(tǒng)的高可靠性、完善的任務(wù)通信機制等為數(shù)控系統(tǒng)任務(wù)調(diào)度提供了有力的、安全的、實時的軟件開發(fā)平臺。
μC/OS-II也是一個微型的嵌入式實時多任務(wù)操作系統(tǒng),可以將μC/OS-II的核心程序直接添加到嵌入式集成開發(fā)環(huán)境中,作為整個工程的一部分;由于本數(shù)控系統(tǒng)不需要復雜的聯(lián)網(wǎng)與文件系統(tǒng)功能,從節(jié)約嵌入式實時操作系統(tǒng)的使用成本以及獲取開發(fā)支持文檔考慮,選擇μC/OS-II是再合適不過的[4]。綜上所述,使用計算速度快、片內(nèi)外設(shè)豐富的ARM微處理器硬件平臺,以及內(nèi)核服務(wù)完善、可移植性好的μC/OS-II嵌入式實時多任務(wù)操作系統(tǒng)的軟件平臺,可以很好地解決基于嵌入式實時操作系統(tǒng)的全軟件數(shù)控系統(tǒng)設(shè)計方案的軟硬平臺選擇問題。
本數(shù)控系統(tǒng)選擇了三星公司的ARM7系列處理器—S3C44Box作為嵌入式系統(tǒng)的硬件電路的CPΜ。Samsμng S3C44BOX微處理器是三星公司專為手持設(shè)備和一般工業(yè)應(yīng)用提供的高性價比和高性能的微控制器解決方案,它使用ARM7TDMI核,工作在66Mhz,為了降低系統(tǒng)總成本和減少外圍器件,這款芯片中還集成了下列部件:8KB cache、存儲器控制器、LCD控制器、4個DEg,通道、2個ΜART通道、1個多主IIC總線控制器、1個IIS總線控制器、5個PWM定時器和一個內(nèi)部定時器、71個通用I/O口、8個外部中斷源、實時時鐘、8個12位ADC通道。
選擇了嵌入式ARM開發(fā)板。該開發(fā)板選擇嵌入式微處理器S3C44BOX主芯片,具有豐富的外設(shè),選擇廣州微嵌科技的嵌入式ARM開發(fā)板,是因為開發(fā)板具有如下優(yōu)點:1)大容量的存儲系統(tǒng)。首先,用來存放數(shù)控系統(tǒng)應(yīng)用程序的NorFlash多達2M,可以輕松地存放復雜的全軟件數(shù)控系統(tǒng)編譯后的二進制文件;其次,基于NandFlash可以設(shè)計文件系統(tǒng),用來存放和管理數(shù)控系統(tǒng)加工文件;最后,由于有大容量RAM的支持,可以將存放在Flash的數(shù)控系統(tǒng)應(yīng)用程序轉(zhuǎn)移到RAM中,以提高執(zhí)行速度;2)LCD接口和256色8英寸LCD顯示器。可以利用LCD顯示器,顯示一些實時數(shù)據(jù)、加工軌跡、系統(tǒng)信息等等;3)豐富的通訊接口。開發(fā)板上不儀提供了常用的RS232串口,還集成了網(wǎng)絡(luò)接口、MSB接口、IIC接口,這不僅大大方便了數(shù)控系統(tǒng)開發(fā),還為將來系統(tǒng)升級打下基礎(chǔ)。其中,串口可以用來作為與上位機控制軟件的通訊接口,下載上位機中的加工文件、控制命令、系統(tǒng)參數(shù)等等。通過IIC接口,可以方便地將一些數(shù)控系統(tǒng)參數(shù)保存到EEPROM中。將來,為了加快文件傳輸速度以及聯(lián)網(wǎng)的需求,可以利用IOM的網(wǎng)絡(luò)接口與上位機通訊,通過ΜSB可以方便存取加工文件等等;4)多達5路的PWM脈沖輸出端口。根據(jù)計算出來的插補位置點,可以利用PWM脈沖輸出功能輸出X、Y、Z軸的進給脈沖;5)豐富的GPIO口。有了大量GPIO口的保證,可以方便地解決機床電氣與數(shù)控系統(tǒng)之間的接口問題;但開發(fā)板也有其不足的地方,一般情況下開發(fā)板只提供一些基本的外設(shè)電路,如與機床電氣系統(tǒng)的接口部分以及通用輸入設(shè)備——鍵盤則需要根據(jù)具體的應(yīng)用而具體設(shè)計。為了解決這兩個問題,除了選擇基本開發(fā)板之外,還設(shè)計了數(shù)控系統(tǒng)機床電氣接口板和可以利用PS/2鍵盤的基于PC的數(shù)控操作程序。
依據(jù)銑床功能分析,基于μC/OS-II的全軟件數(shù)控系統(tǒng)軟件結(jié)構(gòu)主要有以下結(jié)構(gòu)組成。由于數(shù)控系統(tǒng)基本上是由人機接口、譯碼、軟PLC、刀
任務(wù)是功能模塊的抽象化形式,嵌入式實時操作系統(tǒng)的管理對象。全軟件數(shù)控系統(tǒng)具有的功能模塊有:串口通訊、譯碼、預插補、插補、軟PLC、調(diào)式。因此,分別定義了串口通訊任務(wù):Mart_Task、譯碼任務(wù):DeCode_Task、預插補任務(wù):PreInterpolate_Task、插補任務(wù):Interpolate_Task、軟PLC任務(wù):SoftPLC_Task、調(diào)式模塊任務(wù):Debμg_Task。根據(jù)各個任務(wù)的實時性不同,任務(wù)優(yōu)先級也不同,且每個任務(wù)的優(yōu)先級是唯一的,實時性越強的任務(wù)優(yōu)先級也越高。此外,為了集中管理所有任務(wù),設(shè)計了主任務(wù):Main Task PRIO。該任務(wù)總是不斷地等待其他任務(wù)發(fā)來事件標志,從而依據(jù)任務(wù)狀態(tài)機作出相應(yīng)反應(yīng)。
全軟件數(shù)控系統(tǒng)的軟件部分包括了全軟件數(shù)控系統(tǒng)的第二、三、四層。板級支持包層是基于嵌入式平臺的全軟件數(shù)控系統(tǒng)實現(xiàn)的基礎(chǔ)和前提;嵌入式實時操作系統(tǒng)μC/OS-II在全軟件數(shù)控系統(tǒng)的軟件結(jié)構(gòu)中處于核心地位。它不僅直接管理數(shù)控系統(tǒng)的各軟件任務(wù)的建立、運行、掛起、中斷、睡眠等狀態(tài)的切換,而且還提供了如消息、郵箱、時間標志組、隊列等機制,大大方便了任務(wù)之間通訊、同步等功能的實現(xiàn):應(yīng)用程序?qū)影ǎ捍谕ㄓ嵢蝿?wù)、譯碼任務(wù)、預插補任務(wù)、插補任務(wù)、軟PLC任務(wù)、主任務(wù)。
只有充分利用各種先進的、現(xiàn)成的技術(shù),不局限于國外數(shù)控機床廠商的技術(shù)途徑,才能為我國的數(shù)控系統(tǒng)的發(fā)展打開一番新天地。本文提出的基于嵌入式平臺的全軟件數(shù)控系統(tǒng)體系結(jié)構(gòu)是一種新型數(shù)控系統(tǒng)體系結(jié)構(gòu),它建立在RISC結(jié)構(gòu)的嵌入式ARM處理器硬件平臺和μC/OS-II嵌入式實時操作系統(tǒng)軟件軟件平臺上,對于今后數(shù)控機床發(fā)展具有一定作用。
[1] 王悅善, 陳曾漢. 嵌入式PC的數(shù)控系統(tǒng)的設(shè)計與實現(xiàn)[J].機械設(shè)計與制造, 2010, (4).
[2] 劉清建, 王太勇, 王濤, 等. 嵌入式數(shù)控系統(tǒng)的結(jié)構(gòu)可靠性分析[J]. 天津大學學報, 2010, 43(2).
[3] 邵明, 李光煬, 楊惠靈. 基于FPGA的嵌入式數(shù)控系統(tǒng)功能模塊設(shè)計[J]. 機床與液壓, 2010, 38(16).
[4] 王田苗, 陳友東, 孫愷, 等. 基于μc/os-Ⅱ嵌入式數(shù)控系統(tǒng)研制[J]. 北京航空航天大學學報, 2006, 32(4).