張占昭
摘要:隨著嵌入式系統(tǒng)的深入發(fā)展,在工業(yè)控制的每個(gè)系統(tǒng)應(yīng)用越來(lái)越廣泛,數(shù)控系統(tǒng)也不列外。本文從數(shù)控系統(tǒng)的軟件和硬件兩個(gè)方面入手,分析對(duì)比了ARM系列產(chǎn)品的優(yōu)缺點(diǎn),并選型了ARM9,分上下兩層進(jìn)行了設(shè)計(jì);進(jìn)而實(shí)現(xiàn)了基于Linux數(shù)控系統(tǒng)軟件,分別描述了數(shù)控系統(tǒng)軟件總體的架構(gòu)、開(kāi)發(fā)方式的設(shè)想以及軟件開(kāi)發(fā)的具體步驟,通過(guò)硬件和軟件的具體實(shí)現(xiàn),旨在提升數(shù)控系統(tǒng)的效率。
關(guān)鍵詞:Linux;數(shù)控系統(tǒng);ARM
中圖分類(lèi)號(hào):TG659 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)11-0062-01
數(shù)控技術(shù)從產(chǎn)生到發(fā)展壯大已經(jīng)有60多年的歷史,同時(shí)隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,基于PC計(jì)算機(jī)的數(shù)控系統(tǒng)得到了前所未有的發(fā)展壯大,但同時(shí)帶來(lái)了一系列問(wèn)題,其中最大的問(wèn)題是智能化、智慧化程度不夠,換句話(huà)說(shuō)就是基于PC計(jì)算機(jī)的數(shù)控系統(tǒng)無(wú)論從硬件設(shè)計(jì)還是軟件開(kāi)發(fā)環(huán)境都不能滿(mǎn)足智慧數(shù)控系統(tǒng)的要求,本文旨在利用計(jì)算機(jī)方面的ARM和Linux技術(shù)來(lái)解決上述問(wèn)題,同時(shí)提升數(shù)控系統(tǒng)的性能以滿(mǎn)足市場(chǎng)需求。
1 基于ARM的數(shù)控系統(tǒng)硬件實(shí)現(xiàn)
通過(guò)對(duì)ARM系列產(chǎn)品對(duì)比分析,在本系統(tǒng)中我們選擇了ARM9,它可以完全滿(mǎn)足硬件系統(tǒng)設(shè)計(jì)的需要,并且具備高性?xún)r(jià)比和低功耗等特點(diǎn),技術(shù)上采用哈佛架構(gòu),存儲(chǔ)器和寄存器統(tǒng)一編址,指令更加節(jié)??;高速Cache容量更大,流水線級(jí)數(shù)更多,指令由原先的16位升級(jí)為32位,處理能力更強(qiáng); ARM9支持流行的實(shí)時(shí)操作系統(tǒng)諸如:Linux各種版本。
系統(tǒng)硬件設(shè)計(jì)采用上下兩層設(shè)計(jì)方式,底層采用ARM的最小工作模式,盡量減少底層硬件設(shè)計(jì),這樣做的好處是如果以后系統(tǒng)升級(jí)將十分方便,也就是說(shuō),系統(tǒng)升級(jí)時(shí)盡量不動(dòng)底層硬件設(shè)計(jì),用戶(hù)只需調(diào)整自己產(chǎn)品部分即可,方式是將ARM9核心部分用外部總線和用戶(hù)產(chǎn)品連接在一起,用戶(hù)產(chǎn)品通過(guò)各種接口與產(chǎn)品的功能模塊(如觸摸屏、鍵盤(pán)、液晶顯示、USB等)進(jìn)行對(duì)接。
數(shù)控系統(tǒng)通過(guò)接口將現(xiàn)場(chǎng)數(shù)據(jù)信息輸入輸出,與ARM9通訊,這是整個(gè)系統(tǒng)設(shè)計(jì)的關(guān)鍵,其次是沖頭、電機(jī)位置、速度、計(jì)算插補(bǔ)、數(shù)據(jù)輸入/輸出整個(gè)數(shù)控系統(tǒng)流程。數(shù)據(jù)輸入/輸出的方式采用將ARM9的三總線(數(shù)據(jù)總線、地址總線、控制總線)、讀寫(xiě)控制邏輯、中斷控制系統(tǒng)、定時(shí)計(jì)數(shù)器系統(tǒng)等封裝起來(lái)作為一個(gè)總接口與外界聯(lián)系,數(shù)控系統(tǒng)的網(wǎng)絡(luò)接口采用工業(yè)總線的方式傳送。數(shù)據(jù)信息的采集用的是各種傳感器如位置、速度等。
2 基于Linux的數(shù)控系統(tǒng)軟件實(shí)現(xiàn)
數(shù)控系統(tǒng)需要有良好的交互性和友善的圖形界面,所以這里選擇MiniGui這個(gè)能給Linux系統(tǒng)提供良好圖形界面的軟件,MiniGui軟件由著名開(kāi)發(fā)商開(kāi)發(fā),支持圖形界面的所有GUI ,且得到了大量Linux嵌入式系統(tǒng)開(kāi)發(fā)者的認(rèn)可,技術(shù)上給予了支持,MiniGui和C++的函數(shù)庫(kù)能夠無(wú)縫的對(duì)接,函數(shù)庫(kù)可以很好支持圖形界面設(shè)計(jì),對(duì)幾乎所有的智能設(shè)備,特別是一些手持設(shè)備以及智能路由網(wǎng)絡(luò)設(shè)備。MiniGui軟件在占用數(shù)控系統(tǒng)硬件資源中是最小的一個(gè),使用內(nèi)存空間可控制在1M左右,這對(duì)于圖形界面系統(tǒng)十分理想,也是其他軟件無(wú)法達(dá)到的;MiniGui軟件接口設(shè)計(jì)可以和數(shù)控硬件系統(tǒng)接口無(wú)縫連接,圖形化接口更簡(jiǎn)單、快捷,處理圖形操作效率更高,非常適合工業(yè)自動(dòng)化控制;MiniGui軟件通過(guò)配置可以實(shí)現(xiàn)跨操作系統(tǒng)操作,簡(jiǎn)單來(lái)說(shuō)就是移植性極強(qiáng),方式是兼容性極強(qiáng)的API接口。
在這里要提出一個(gè)Linux嵌入式系統(tǒng)新開(kāi)發(fā)方案,為了提升開(kāi)發(fā)效率,最好的解決方法是使用C/S模式,傳統(tǒng)開(kāi)發(fā)Linux嵌入式系統(tǒng)是每個(gè)程序員需要在PC機(jī)上要么裝Linux操作系統(tǒng),要么在虛擬機(jī)下裝Linux操作系統(tǒng),然后開(kāi)發(fā)出的程序分別調(diào)試運(yùn)行,在放在一起調(diào)試運(yùn)行,這樣既浪費(fèi)人力物力,效率還低,如果采用C/S模式即服務(wù)器/客戶(hù)機(jī),方法是架設(shè)一臺(tái)Linux服務(wù)器,程序員通過(guò)局域網(wǎng)連接在一起,程序可以及時(shí)互通,協(xié)議可使用FTP,然后服務(wù)器通過(guò)串口、模擬串口、USB接口亦或者點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)將已經(jīng)通過(guò)GCC或者M(jìn)ake編譯的文件下載到宿主機(jī),這樣一來(lái),所有程序員開(kāi)發(fā)的程序出口就統(tǒng)一了,大大提升了程序開(kāi)發(fā)效率。
Linux嵌入式數(shù)控系統(tǒng)第一步從Linux官方網(wǎng)站下載一個(gè)符合要求的(網(wǎng)站上有具體說(shuō)明),然后初始化裁剪、配置、編譯運(yùn)行;第二步將Linux嵌入式系統(tǒng)移植到之前設(shè)計(jì)好的ARM硬件上;第三步數(shù)控系統(tǒng)硬件驅(qū)動(dòng)程序開(kāi)發(fā),包括字符型硬件、網(wǎng)絡(luò)型硬件、塊型硬件(之前已經(jīng)被描述為文件);第四步開(kāi)發(fā)Linux數(shù)控系統(tǒng)軟件中的API,就是一些模塊功能函數(shù);第五步人機(jī)圖形界面的開(kāi)發(fā),利用MiniGui軟件;第六步每個(gè)功能模塊具體算法攻堅(jiān),如插補(bǔ)算法、 3D圖形描繪算法等。
3 結(jié)語(yǔ)
本文實(shí)現(xiàn)了基于ARM與Linux的開(kāi)放式數(shù)控系統(tǒng),結(jié)合ARM與Linux在嵌入式系統(tǒng)中的具體優(yōu)勢(shì),在普通PC計(jì)算機(jī)的平臺(tái)下,給出了具體實(shí)施開(kāi)放式數(shù)控系統(tǒng)的解決方案和策略,目的是提升現(xiàn)行數(shù)控系統(tǒng)性能的同時(shí),給數(shù)控系統(tǒng)的技術(shù)研究加入新的計(jì)算機(jī)技術(shù)(ARM與Linux),使其更加智能化智慧化。
參考文獻(xiàn)
[1]張愛(ài)玲.現(xiàn)代數(shù)控原理與控制系統(tǒng)[M].北京:國(guó)防工業(yè)出版社,2008.
[2]馬廣云.ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2007.
[3]張春曉.基于實(shí)時(shí)Linux平臺(tái)的CNC系統(tǒng)研究與實(shí)現(xiàn).南京航空航天大學(xué)[D].2003.
[4]蔡光起,史家順.開(kāi)放式數(shù)控系統(tǒng)的現(xiàn)狀與發(fā)展[J].機(jī)械制造,2005,43(6):18—21.
Abstract:With the development of embedded system, more and more widely used in industrial control system, CNC system is not out of the list. This paper from two aspects of hardware and software of CNC system, advantages and disadvantages of the ARM series of products, and the selection of ARM9, divided into two layers of the design; so as to realize the NC system software based on Linux, describes the specific steps of CNC system software architecture, development ideas and software the development, through the realization of hardware and software, to enhance the efficiency of CNC system.
Key Words:Linux;Numerical control system;ARMendprint