?

嵌入式經濟型數控系統的設計

2012-02-20 09:07朱道明
裝備制造技術 2012年2期
關鍵詞:驅動程序數控系統寄存器

朱道明,雷 攀

(桂林電子科技大學機電工程學院,廣西 桂林 541004)

近年來,嵌入式技術和數控技術相結合,成為了現代數控系統的研究熱點。本文基于嵌入式ARM9微處理器S3C2440和DSP專用的運動控制芯片MCX314As,并結合源代碼開放的實時Linux操作系統,通過軟硬件的自主開發,設計了一種嵌入式經濟型數控系統。

1 系統的硬件設計

本系統選用了ARM9高性能開發板TQS3C2440做主控板,用于人機交互界面、加工程序編輯、數控譯碼、外部通訊等工作;設計了由專用DSP運動控制芯片MCX314As及其外圍電路組成的運動控制板,以運動控制板為下位機,根據主控板傳輸來的命令和數據進行處理,并根據處理結果輸出控制脈沖,從而控制伺服電機的運轉。該系統的硬件結構圖如圖1所示。

圖1 數控系統硬件結構圖

1.1 運動控制芯片的性能

ARM9的S3C2440芯片,具有集成度高、運算速度快、功耗低等優點,主頻高達400 MHz[1]。這樣高的主頻,使處理器能夠輕松地運行數控軟件,以及進行復雜的信息處理,從而使數控系統能夠保持較高的工作效率。

MCX314As是專為精密控制伺服電機或步進電機而設計的DSP運動控制芯片。其有8/16位數據總線接口,4位地址總線接口,通過總線對MCX314As的命令、數據及狀態寄存器進行讀寫,實現四軸三聯動的運動控制和實時監控,實現直線、圓弧、位元三種模式的插補方式,輸出脈沖頻率達4 MHz,精度低于±0.1%PPS[2]。

采用這種的專用運動控制芯片,能夠很大程度上減輕研發數控插補算法的工作量,縮短開發周期。實際工作中,MCX314As芯片主要用來處理極其復雜的實時運動控制工作,而這些工作僅需主控板通過總線向MCX314As芯片發出一些簡單的控制信息便能實現。

1.2 S3C2440與MCX314As的接口設計

在主控板上預留了總線接口電路,該電路將S3C2440芯片上的一些數據線、地址線、片選信號和讀寫控制信號線等引出,方便用戶擴展應用電路[3]。運動控制芯片MCX314As與S3C2440處理器的連接,就是通過該總線接口電路,將兩者的數據線、地址線、讀寫控制線、片選信號和中斷等信號連接起來(如圖2所示)。

圖2 芯片連接圖

MCX314As運動控制器的性能,直接影響系統的整體性能。其所有功能都是通過特定的寄存器控制的,如命令寄存器、數據寄存器、狀態寄存器和配置寄存器。圖中S3C2440的A1-A3與MCX314As的地址線A0-A2相連接,用于產生MCX314As內部寄存器的地址。當MCX314As控制器從主控板得到加工信息的基本數據后(如直線的起始點、進給速度、刀具參數等),在理論輪廓的起終點之間自動計算出若干中間點,將工件輪廓描述出來,并為系統提供運動控制的驅動速度及運動軌跡,從而實現其運動插補功能。

為了使數控系統運行穩定,從圖2中可以看出,在MCX314As芯片向外界輸出的脈沖信號或者外界伺服系統給MCX314As反饋的信號之間,都用光耦進行了光電的隔離,并使用了一些電阻和電容組成RC電路,來進行電路信號的濾波??傊?,整個數控系統的硬件在接地電路、數字電路和模擬電路的設計上,都力求達到工業控制上所要求的高穩定和高可靠性要求。

2 數控系統軟件設計

數控系統的軟件,是數控系統的重要組成部分,在數控系統的軟件開發中,主要任務是操作系統、MCX314As驅動程序及應用軟件的設計與開發。

2.1 實時操作系統的設計

本數控系統選用Linux作為其操作系統,因為Linux具有運行可靠、源代碼開放、支持多任務等優點,而且Linux具有模塊化的結構,這樣可以根據不同的使用場合,對其進行裁剪和定制。然而,Linux是一種分時操作系統,可以滿足數控系統多任務的要求,但其實時性不能滿足數控系統硬實時性的要求。為此,對Linux操作系統進行了實時化改造。

通過Linux的實時內核補丁Xenomai,在硬件平臺上增加一個硬實時內核,將Linux內核當作Xenomai的優先級最低的任務執行,這樣Linux內核的任務,可以被其他的高優先級的任務搶占CPU,從而保證運動控制的實時性。該搶占機制使得其響應速度特別快。在ARM平臺上Xenomai的中斷響應時間,在內核態不會超過45μs,在用戶態中斷響應時間也在70μs以下[4],因此能夠滿足數控系統硬實時性的要求。

這樣,操作系統被分成了2個區域:非實時域和實時域,非實時域建立在普通Linux內核基礎上,而實時域建立在實時內核基礎之上。操作系統結構圖如圖3所示。

圖3 操作系統結構圖

數控系統的任務分為兩類:一類為實時任務,例如設備急停、故障檢測等,它們由實時內核負責完成;另一類為非實時任務,如加工信息顯示、加工信息譯碼等,它們由普通Linux內核來處理。兩個內核之間,可以通過管道、共享內存等方式相互通信,共同完成數控系統實時和多任務的要求。

2.2 MCX314As驅動程序設計

驅動程序是上層應用程序操作外部設備的一個橋梁,MCX314As驅動程序主要是由驅動程序的入口函數、出口函數、設備結構體以及file-operations結構體這4部分組成。其中,入口函數完成設備的注冊、中斷資源的申請和初始化工作;出口函數完成設備的注銷和中斷資源的釋放;file-operations結構體完成設備打開、讀、寫、I/O控制、釋放等函數等初始化。MCX314As驅動程序可以編譯成模塊,動態加載到Linux系統中。應用程序對MCX314As設備文件的讀寫操作,實際上就是對MCX314As芯片相應寄存器的讀寫操作,進而完成一系列數控操作。

2.3 應用軟件設計

應用程序主要包括人機交互界面、數控加工代碼譯碼、刀具補償、加工控制和刀具信息數據庫等模塊。通過人機交互模塊,可以新建加工文件,編輯加工程序,然后通過譯碼和刀補模塊將加工程序轉化為對MCX314As的操作信息,最后通過加工控制模塊來控制MCX314As的工作。

將功能強大的應用程序開發框架Qt4/Embedded用于數控系統應用軟件開發,Qt4/Embedded完全面向對象,與C++語言具有良好的兼容性,因此可以將應用程序中的每一功能模塊封裝為一個類,便于開發。圖4為開發的數控系統的實物圖。

圖4 數控系統實物圖

3 結束語

基于嵌入式S3C2440微處理器和MCX314As專用運動控制芯片的數控系統硬件設計方案,為經濟型數控系統的研制,提供了一個可選的較為合理的硬件基礎,以實時Linux為操作系統,同時滿足了數控系統硬實時性和多任務的要求,這種方案能夠大量地減輕研發任務量,提高研發速度。這種新型的嵌入式數控系統,是數控技術的發展方向之一,對企業開發高性能、低成本的經濟型數控系統具有一定的借鑒參考價值。

[1]Samsung Electronics.32-Bit CMOS Microcotroller User’s Manual Revision 1[DB/OL].http://www.samsung.com.

[2]葉佩青,汪勁松.MCX314運動控制芯片與數控系統設計[M].北京:北京航空航天大學出版社,2002.

[3]馮習賓.一種新型嵌入式局域網數控系統的研究[D].桂林:桂林電子科技大學,2010.

[4]韓首謙,裴海龍,王清陽.基于Xenomai的實時嵌入式Linux操作系統的構建[J].計算機工程與設計,2011,(1):96-98.

猜你喜歡
驅動程序數控系統寄存器
Lite寄存器模型的設計與實現
阻止Windows Update更新驅動程序
二進制翻譯中動靜結合的寄存器分配優化方法
計算機硬件設備驅動程序分析
移位寄存器及算術運算應用
基于FANUC 32i A數控系統的外部測量設計
西門子840D sl數控系統在SC125大型車銑鏜床技術改造中的應用
基于FANUC Oi mate TD數控系統的手動功能開發
數控系統中GUI軟件平臺設計和實現
Lx5280模擬器移植設計及實施
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合