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