當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于ARM設(shè)計的嵌入式數(shù)控系統(tǒng)方案

摘要:本文介紹了基于ARM嵌入式數(shù)控系統(tǒng)。該系統(tǒng)為主從式結(jié)構(gòu),上位機(jī)以ARM9為核心,實現(xiàn)人機(jī)交互,下位機(jī)以ARM7為核心,結(jié)合FpGA實現(xiàn)機(jī)床的運動控制,上下住機(jī)通過CAN總線進(jìn)行通信。

    傳統(tǒng)的數(shù)控系統(tǒng)通常是在通用計算機(jī)或工控機(jī)的基礎(chǔ)上加裝運動控制卡,使用Windows操作系統(tǒng),并安裝昂貴的數(shù)控軟件構(gòu)成的。此類系統(tǒng)成本高,功耗大,不太適合中小規(guī)模的應(yīng)用場合。而嵌入式產(chǎn)品具有系統(tǒng)結(jié)構(gòu)精簡、功耗低等特點,能彌補傳統(tǒng)數(shù)控系統(tǒng)的不足。

    目前,嵌入式數(shù)控系統(tǒng)主要有兩種形式:完全依靠嵌人式處理器控制的系統(tǒng)以及嵌入式處理器和運動控制芯片相結(jié)合的系統(tǒng)。與前者相比,后者南于采用了專業(yè)的運動控制芯片,在實時性和精度等方面的表現(xiàn)更好,因而成為未來的一個發(fā)展方向。本文介紹了一種基于ARM控制器和FPGA運動控制芯片的主從式數(shù)控系統(tǒng),希望能為AR M在嵌入式數(shù)控系統(tǒng)中的應(yīng)用提供一些參考。

1 總體設(shè)計

    本系統(tǒng)為主從式結(jié)構(gòu)。上位機(jī)以S3C2410 ARM9控制器為核心,移植Linux系統(tǒng)和QT/Embedded圖形庫,主要實現(xiàn)G代碼文件處理、加工位置的顯示、手動控制等人機(jī)交互功能。下位機(jī)以$3C44B0 ARM7控制器為核心,斯邁迪的SM5004 FPGA芯片為運動控制器,實現(xiàn)電機(jī)驅(qū)動、冷卻液開關(guān)、緊急停止等機(jī)床控制功能。上下位機(jī)通過CAN總線通信。

2 硬件設(shè)計

2.1CAN接口設(shè)計

    由于S3C2410和S3C44B0不帶CAN接口,所以必須對其進(jìn)行擴(kuò)展。S3C2410的CAN 擴(kuò)展接El如圖1所示,S3CA4B0的CAN接口與其相似。

 

    系統(tǒng)的CAN控制器使用MCP2510芯片。MCP2510的復(fù)位引腳RESET與$3C2410的復(fù)位引腳nRESET相連,片選引腳CS與S3C2410的GPH0相連。OSC1和OSC2引腳連接一個16M 的晶振作為時鐘源。SI、SO和SCK分別與S3C2410的SPI El MOSIO、MISO0和SPICLKO相連。如果SPI口被其它設(shè)備占用,也可用其它的I/O El代替,但要編寫軟件算法來模擬SPI的讀寫操作。系統(tǒng)采用中斷方式讀寫MCP2510,因此它的INT引腳與S3C2410的外部中斷引腳EINT4相連。在外部中斷引腳資源比較緊張的情況下,也可使用查詢方式讀寫MCP2510,此時INT可以懸空。

    系統(tǒng)的CAN 收發(fā)器使用TJA105O芯片,該芯片的TXD和RXD與MCP2510的TXCAN和RXCAN相連,Rs引腳連接的斜率電阻為1K。

    TJAlOS0輸出CANH、CANL差分信號,通過J1001插口接人物理線路。

2.2輸入輸出接口設(shè)計

    S3C44B0 ARM 和SM5004 FPGA芯片提供了很多通用輸入輸出接口,為了有效的防止干擾進(jìn)入系統(tǒng),這里采用了光耦隔離,如圖2所示。

    在低速開關(guān)量中,由圖2(a)可以看出,這里采用貼片低速光耦MOCD217一M。它是Motorola公司的產(chǎn)品,是具有低輸入電流的雙路光耦。之所以這里在接人輸入口之前加入電阻R3,是因為ARM 中的部分I/0 口是開漏式的,防止在輸入輸出過程中電流過大,將相應(yīng)口燒壞。如圖2(b)在高速開關(guān)量中,采用HC—PL0661雙路光耦進(jìn)行擴(kuò)展,它是Agilent Technologies公司的產(chǎn)品,其開關(guān)速率可達(dá)到1O M左右,可應(yīng)用于各種高速脈沖輸入輸出的場合。[!--empirenews.page--]

3 軟件設(shè)計

31人機(jī)交互與G代碼解釋

    人機(jī)交互界面如圖3所示。陔界面是用QT/Embedded嵌人式罔形庫設(shè)計的。QTEmbedded 是由-rroll—tech公司的嵌入式GUI開發(fā)T具,控件豐富,并且支持虛擬幀緩沖。通過該界面可以實現(xiàn)編輯G代碼,語法檢查、預(yù)覽加1 軌跡、與下位機(jī)通信等功能。

 

    G代碼解釋的原理如同4所示。程序中定義了兩個數(shù)據(jù)結(jié)構(gòu)PreGCode和GCode分別用來保存語法檢查后的中間結(jié)果和數(shù)據(jù)分析后生成的G代碼類型、節(jié)點坐標(biāo)、圓弧半徑等數(shù)據(jù),供仿真和加工使用。

3.2CAN通信

    本系統(tǒng)使用CAN控制器MCP2510完成CAN總線幀的發(fā)送和接收任務(wù)。通信數(shù)據(jù)分為命令幀和數(shù)據(jù)幀兩種。通信協(xié)議利用了CAN總線的29位擴(kuò)展標(biāo)識符保存了一些協(xié)議中必要的信息,如表1所示。由于CAN支持多主機(jī)和多從機(jī)模式,所以為源設(shè)備和目的設(shè)備地址分配了ID,以區(qū)分?jǐn)?shù)據(jù)的來源和目的地。數(shù)據(jù)幀的數(shù)據(jù)量較大,必須分批傳送,所以標(biāo)識符里還包含了數(shù)據(jù)包分組號,用來排序。

 

    系統(tǒng)使用中斷模式傳輸數(shù)據(jù),共開啟4項中斷,分別為錯誤消極中斷、錯誤報警中斷以及發(fā)送中斷和接收中斷。如果為前兩種中斷,程序?qū)?fù)位MCP2510芯片。如果為發(fā)送中斷,則表示發(fā)送完畢,程序?qū)⒅梦话l(fā)送中斷標(biāo)志位以通知主程序。如果為接收中斷,程序?qū)z查標(biāo)識符的ID28一ID21,判斷該幀的類型,然后根據(jù)幀的類型分別進(jìn)行處理。

3.3插補算法

    SM5004芯片是斯邁迪公司的一款高性能運動控制FPGA芯片,能夠?qū)崿F(xiàn)4軸聯(lián)動,驅(qū)動脈沖頻率高達(dá)5MPPS,插補精度高達(dá)0.5I SB,單次輸出脈沖數(shù)高達(dá)2G,支持4種插補模式:直線插補、圓弧插補、連續(xù)插補和位模式插補。

    對于直線和圓弧,SM5004有自己的插補算法,只要提供終點坐標(biāo)、速度等插補所需的參數(shù),SM5004就能自動完成插補。

    位模式插補是把高位CPU計算的插補數(shù)據(jù)以數(shù)據(jù)包的方式接收后,以指定的驅(qū)動速度連續(xù)輸出插補脈沖。位模式插補的原理是在每個寄存器上2軸或3軸的+/一方向驅(qū)動脈沖設(shè)定為1位1脈沖,輸出驅(qū)動脈沖時設(shè)定為1,不輸出脈沖時設(shè)定為0。位模式插補提供了一種靈活的插補機(jī)制,用戶可以自己編寫直線、圓弧、樣條曲線、函數(shù)曲線等各種曲線的插補算法。程序使用數(shù)字積分的方法實現(xiàn)了直線和二次曲線的插補。數(shù)字積分插補(又稱DDA插補)的原理如圖5所示。通過將積分區(qū)間[a,b]分割成足夠小的區(qū)間△f,將函數(shù)y=f(t)的積分運算變?yōu)樽兞康那蠛瓦\算,即  

數(shù)字運算時,At一般取最小單位“1”,即一個脈沖當(dāng)量,則:[!--empirenews.page--]    數(shù)字積分法插補器的關(guān)鍵部件是累加器和被積函數(shù)寄存器,每一個坐標(biāo)方向就需要一個累加器和一個被積函數(shù)寄存器。一般情況下,插補開始前,累加器清零,被積函數(shù)寄存器分別寄存X和Y ;插補開始后,每來一個累加脈沖△£,被積函數(shù)寄存器里的內(nèi)容在相應(yīng)的累加器中相加一次,相加后的溢出作為驅(qū)動相應(yīng)坐標(biāo)軸的進(jìn)給脈沖Ax(或Ay),而余數(shù)仍寄存在累加器中;當(dāng)脈沖源發(fā)出的累加脈沖數(shù)m恰好等于被積函數(shù)寄存器的容量2 時,溢出的脈沖數(shù)等于以脈沖當(dāng)量為最小單位的終點坐標(biāo),刀具運行到終點。數(shù)字積分法插補第1象限直線的程序流程圖如圖6所示,插補軌跡如圖7所示。

 

4 結(jié)束語

    ARM 結(jié)合FPGA 運動控制芯片的方式,既能發(fā)揮ARM 運算速度快、硬件資源豐富的優(yōu)勢,又能利用FPGA出色的運動控制功能。相比與傳統(tǒng)的純ARM 控制的數(shù)控系統(tǒng),在實時性、控制精度等方面更具優(yōu)勢,是未來嵌入式數(shù)控系統(tǒng)的一個發(fā)展方向。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉