摘 要: 本文分析了當前數控系統的開發和應用現狀,并針對中小型數控系統,提出了一個基于雙ARM 控制器的數控平臺設計方案,給出了其技術方案和實現方法。該平臺運行穩定,具有很高的性價比,可以應用到數控系統的產品研發中,縮短系統的開發周期,有利于較復雜的中小型數控系統微型化和產業化。
關鍵詞: 數控系統;ARM;Modbus
[b] 1 引言
[/b]
數控技術是用數字信息對機械運動和工作過程進行控制的技術,數控裝備是以數控技術為代表的新技術對傳統制造產業和新興制造業的滲透形成的機電一體化產品。數控技術的應用不但給傳統制造業帶來了革命性的變化,使制造業成為工業化的象征,而且隨著數控技術的不斷發展和應用領域的擴大,它對國計民生的一些重要行業的發展起著越來越重要的作用,因為這些行業所需裝備的數字化已是現代發展的大趨勢[1-2]。
隨著科學技術和生產工藝的進步,數控系統的實現方案也越來越多,目前的數控系統,比較常見的實現方案有以下幾種:基于PLC 控制器﹑基于運動控制卡﹑基于運動控制芯片﹑基于單片機。對于復雜的,大中型的數控系統而言,基于PLC 的運動控制方案,基于運動控制卡的控制方案或者基于運動控制芯片的控制方案是比較適合的解決方案,總能在性能和價格上找到一個平衡點;而對于中小型的系統,比如雙軸控制系統,方案的選擇比較困難,基于控制卡這樣的解決方案顯得造價偏高,基于單片機控制這樣的解決方案,性能又很難得到保證。
本文正是基于這樣一個現狀而進行的研究,其主要目的就是設計出一個用于中小型數控系統的高性價比,高靈活性,并具有較強擴展性的數控平臺。為中小型數控系統的開發提供切實可行的解決方案。
2 系統方案設計
2.1 系統框圖
就一般數控系統而言,其應用需求主要包括人機交互和控制兩個大的部分,本系統在此之上又增加了系統擴展模塊,系統設計框圖如圖1 所示。

圖1 系統設計框圖
2.2 選型分析
主要對“嵌入式處理器選型”,“雙ARM 控制器架構”和“脈沖發送方案”進行分析。
(1) 嵌入式處理器選型
嵌入式系統硬件的核心部分是各種類型的嵌入式處理器,目前全世界嵌入式處理器的品種總量已經超過1000 多種,流行體系結構有30 多個系列。尋址空間一般從64KB 到64MB,處理器速度從0.1MIPS 到200MIPS,字長從8 位、16 位、到32 位。
目前比較流行的嵌入式處理器主要是8 位的C51 核的單片機和32 位的高性能處理器,通常情況下51 核的單片機可尋址空間為64kB,機器周期為晶振的12 分頻,其應用范圍主要是速度要求不嚴格,代碼容量要求低的簡單嵌入式控制系統。32 位的高性能處理器目前主要有PowerPC、68K、MIPS、ARM 等系列,而這其中ARM 控制器則是憑借其功耗低、性價比高、代碼密度高三大特色成為行業公認的嵌入式RISC 處理器標準。鑒于上述比較,最終選擇了ARM 系列的控制器。
(2) 雙ARM 控制器選型依據
在本系統中使用了兩片ARM 控制器,一片專門負責人機交互和參數存儲以及系統擴展等操作,另一片則專注于控制。這樣選取主要有兩個原因:第一,目前最常用的單色LCD 控制器SED1335 的數據傳輸速度相對于ARM 芯片來講顯得十分緩慢,經過初期的計算和實際測量,刷新一屏320*240 點的圖片最快需要130ms 左右,所以在顯示任務繁重的時候其它任務的實時性很難保證,LCD 屏顯示的速度成為整個系統的瓶頸。解決這個問題有兩種方案:選擇一款片內集成LCD 控制器的微控制器或者使用兩片微控制器分別負責人機交互和控制。一般情況下,集成LCD 控制器的微控制器價格普遍偏高,因此采取了第二種解決方法,并且通過職責分開,另一片CPU 專門負責控制,大大提高了系統的實時性,可以滿足更為苛刻的系統需求。第二個原因:通過職責分開,增加了系統設計的并行性和修改的靈活性。在設計控制程序的同時其它模塊的設計工作可以同時進行,并且兩個部分可以單獨調試,互不影響。同時,當需要修改系統功能時,可以只對相關的控制器一側進行改動,不會影響另一側的控制器功能,從而使功能修改變得簡單易行。
(3) 脈沖發送模塊硬件選型
本系統中的脈沖發送模塊并沒有使用專用的電機控制芯片,比如MCX314。其主要原因是這類芯片價格高昂。因為系統控制部分由專職處理器負責,因此系統的性能并不會因此而降低。
[b] 3 系統組件設計
[/b]
3.1 雙CPU 通訊模塊設計及其實現
在雙CPU 或多CPU 設計中,CPU 之間的協同工作是必須解決的問題。根據不同的系統的具體情況,有不同的解決方案,就一般方法而言主要有以下幾種方案。
(1) 雙CPU 數據線通過雙向緩沖器對接,另外設計幾根I/O 線作為握手信號
這種方案硬件上比較簡單,成本相對較低,但是容易影響其它硬件模塊尤其是外存的設計,需要根據不同的CPU 進行仔細考慮,避免出現沖突,并且這種設計方案使得軟件設計變得頗為復雜,并且極容易出錯,出現沖突情況,所以這種方案很少使用。
(
2) 雙端口RAM 方案
這種方案的方法是在CPU 之間加上一片雙端口RAM,CPU 之間可以同時訪問雙端口RAM,通過雙端口RAM 實現數據共享。這種方案的硬件連接示意圖如圖2 所示。

雙端口RAM 一般在CPU 之間通訊數據量較大的時候效率很高,數據吞吐量很大,在一些高端產品中經常被使用。但雙端口RAM 的價格比較昂貴,也在一定程度上限制了它的應用。
(3) 通訊接口互連方案
通訊接口互連方案就是將兩片CPU 通過芯片內集成的或外擴的通訊接口進行互連,通過通訊接口實現數據交換。這種方案特別適合于CPU 間以數據包的形式交換數據的場合,這種方案方便﹑簡捷,每個CPU 可以單獨進行通訊功能和其它功能的調試,互不影響,彼此之間耦合性很小。但是需要額外增加的工作就是需要編寫相關通訊接口的驅動程序,并且制定CPU 間的數據通訊協議。這種方案相對雙端口RAM 方案價格便宜,但是速度相對于雙端口RAM 方案要低。通訊接口互連方案如圖3 所示。

下面分別對通訊介質進行介紹:第一,Ethernet 網口。這種通訊方式速度高,可以達到100Mbps,但是硬件成本較高,軟件開發工作量大,所以在雙CPU 協同工作設計中很少使用這種方式實現CPU 間的數據交換。第二,I2C 接口和SPI 接口,這兩種接口在一般的控制器中都能集成通訊控制器。這種方案一般不會增加硬件成本,只需編寫驅動程序,但是通訊速度偏低,適合于數據交互量低,對速度要求不高的場合。在嵌入式系統設計中這種方式經常被使用。第三,UART 串口。在一般的嵌入式控制器中都能集成串口控制器,在用于雙CPU 數據交互的情況下,不需要外接電平轉換芯片,因此這種方案也不會增加硬件成本,只需編寫驅動程序即可。類似于I2C 通訊和SPI 通訊,這種方案的數據吞吐量偏低,不適合需要大量數據交互的場合,但是因為串口通訊的應用普遍性和操作簡易性,這種方案在實際系統設計中還是被廣泛采用的。
通過上述比較,最終本文選用UART 接口通訊作為雙CPU 之間的數據交互方案,這種方案的連線示意圖如圖4 所示。
3.2 人機交互模塊設計及其實現
人機交互部分采用液晶顯示模塊LCM 作為界面平臺。LCM 與控制器的連接如圖5 所示。
界面設計上基于ZLG/GUI 進行開發。ZLG/GUI 是專為嵌入式系統簡易的圖形用戶界面設計的軟件,占用資源小,使用方便。提供了最基本的畫點、線、圓形、圓弧、橢圓形、矩形、正方形和填充等功能,較高級的接口功能有ASCII 顯示,漢字顯示,圖標顯示、窗口和菜單等,支持單色、灰度、偽彩和真彩等圖形顯示設備。
3.3 系統控制模塊設計與實現
控制模塊操作的硬件包括:數字量輸入DI,數字量輸出DO,0-5V DA 輸出,步進電機脈沖輸出等等。數字量輸入輸出和DA 輸出控制比較常規,這里僅對步進電機脈沖輸出進行分析。
為了保證在進給時不產生沖擊、失步、超程或振蕩等現象,能夠按照預定的速度和位置實現快速準確地運動,加給電機的輸入脈沖要按照一定的規律給出,這就是加減速控制。常見的加減速曲線有以下幾種:階梯加減速曲線,直線加減速曲線,指數加減速曲線,S 形加減速曲線[3-4]。
每種曲線都有不同的適用場合,具體選擇那一種方式還應根據具體應用情況進行選擇。
圖7 是本文選用“直線加減速曲線”方案發送的一組脈沖在邏輯分析儀下的截圖。
3.4 通訊接口設計方案
增設“系統擴展通訊接口”主要是為了增強系統的可擴展性,便于連接其它設備。本通訊接口的通訊協議選擇了工業上廣泛使用的Modbus 協議,通訊介質選擇了RS485 接口。
Modbus 協議中規定了1-255 個功能碼(部分功能碼保留),但最為常用的是因此本系統中只對功能碼1-6 進行實現。
[b] 4 小結
[/b]
本文在充分研究了國內外數控系統的發展和應用現狀之后,針對中小型數控系統選型困難的問題,設計了一個高效,廉價,又具有較強可擴展性的數控開發平臺,從而為中小型數控系統的開發設計提供了參考和平臺。基于該平臺已經成功開發出一款應用于制袋機行業的步進電機控制系統,該系統已應用于實際工業現場,并且運行效果良好,控制精度較高,人機界面友好。相信隨著此開發平臺的不斷成熟和完善,一定能在中小型數控系統的研究和開發中得到廣泛的應用。
參考文獻
[1] 韓權利,馬宏偉,張斌等.開放式數控系統.機械設計與制造工程,2001,30(1):4-5.
[2] 廖德崗.開放式數控系統的研究及其發展現狀.機械,1999,26(3):13-15.
[3] 胡建華,廖文和,周儒榮.CNC 系統中幾種升降速控制曲線的研究與比較.南京航空航天大學學報,1999,31(6):706-711.
[4] Jae Wook Jeon. Efficient acceleration and deceleration technique for short distancemovement in CNC machine tools. ELECTRONICS LETTERS,2000,36(8):766-768.