0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ARM和FPGA的硬件平臺實(shí)現(xiàn)了具有高開放性特征的嵌入式數(shù)控系統(tǒng)

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-06-04 08:00 ? 次閱讀

引言

現(xiàn)有的數(shù)控系統(tǒng)中多采用工控機(jī)加運(yùn)動控制卡的計(jì)算機(jī)數(shù)控系統(tǒng)方案進(jìn)行運(yùn)動控制器的設(shè)計(jì)。隨著工控機(jī)整體功能日趨復(fù)雜,對運(yùn)動控制系統(tǒng)的體積、成本、功耗等方面的要求越來越苛刻?,F(xiàn)有計(jì)算機(jī)數(shù)控系統(tǒng)在運(yùn)動控制方面逐漸呈現(xiàn)出資源浪費(fèi)嚴(yán)重、實(shí)時性差的劣勢。此外,數(shù)控系統(tǒng)的開放性、模塊化和可重構(gòu)設(shè)計(jì)是目前數(shù)控技術(shù)領(lǐng)域研究的熱點(diǎn),目的是為了適應(yīng)技術(shù)發(fā)展和便于用戶開發(fā)自己的功能。本文基于ARMFPGA硬件平臺,采用策略和機(jī)制相分離的設(shè)計(jì)思想,設(shè)計(jì)了一種具有高開放性特征的嵌入式數(shù)控系統(tǒng)。該數(shù)控系統(tǒng)不僅具備了以往大型數(shù)控系統(tǒng)的主要功能,還具備了更好的操作性和切割性能,而且在開放性方面優(yōu)勢更為突出,使數(shù)控系統(tǒng)應(yīng)用軟件具有可移植性和互換性。

1 基于ARM和FPGA的嵌入式數(shù)控系統(tǒng)整體方案

基于ARM和FPGA的嵌入式數(shù)控系統(tǒng)結(jié)構(gòu)如圖1所示。按照模塊劃分的思想,本文將控制器分為人機(jī)交互、插補(bǔ)算法通信三部分。系統(tǒng)中ARM采用三星公司推出的16/32位RISC微處理器S3C2440A,它采用了ARM920T內(nèi)核,核心頻率高達(dá)400MHz。FPGA采用Xilinx公司Spartan 3E系列的XC3S250E。

基于ARM和FPGA的硬件平臺實(shí)現(xiàn)了具有高開放性特征的嵌入式數(shù)控系統(tǒng)

2 S3C2440A控制系統(tǒng)

ARM作為數(shù)控系統(tǒng)的控制核心主要負(fù)責(zé)對從數(shù)據(jù)存儲器中讀取或直接從上位PC或網(wǎng)絡(luò)獲得的零件加工代碼和控制信息進(jìn)行譯碼、運(yùn)算、邏輯處理,完成加工數(shù)據(jù)的粗插補(bǔ)以及人機(jī)界面和數(shù)據(jù)通信。ARM系統(tǒng)是整個數(shù)控系統(tǒng)的控制核心,在嵌入式操作系統(tǒng)的管理下,采用分時處理的方式實(shí)現(xiàn)整個系統(tǒng)的信息處理和粗插補(bǔ)運(yùn)算,通過鍵盤、觸摸屏等輸入裝置輸入各種控制指令,對數(shù)控系統(tǒng)的實(shí)時運(yùn)行狀態(tài)通過LCD、指示燈等顯示,實(shí)現(xiàn)人機(jī)友好交互?;赟3C2440A控制器有各種通信接口,包括RS232、RS485、以太網(wǎng)口、USB接口模塊。通過這些接口實(shí)現(xiàn)文件傳輸和網(wǎng)絡(luò)控制。

嵌入式數(shù)控的軟件系統(tǒng)總體結(jié)構(gòu)如圖2所示。系統(tǒng)的軟件結(jié)構(gòu)主要分為兩部分:操作系統(tǒng)軟件和數(shù)控應(yīng)用軟件。由于數(shù)控系統(tǒng)是個實(shí)時多任務(wù)系統(tǒng),實(shí)時性要求很高,為保證各個任務(wù)的協(xié)調(diào)執(zhí)行,本系統(tǒng)采用了μC/OS-II實(shí)時操作系統(tǒng)作為軟件平臺。

基于ARM和FPGA的硬件平臺實(shí)現(xiàn)了具有高開放性特征的嵌入式數(shù)控系統(tǒng)

要實(shí)現(xiàn)該操作系統(tǒng)在S3C2440A微處理器平臺上的正常運(yùn)行,需要修改與處理器類型有關(guān)部分的代碼,操作系統(tǒng)移植需要完成的工作是改寫三個文件,即改寫文件0S_CPU.H、0S_CPU_A.ASM和OS_CPU_C.C。其中0S_CPU.H包括了用#define語句定義的,與處理器相關(guān)的變數(shù)、宏和類型。0S_CPU_A.ASM中定義了幾個匯編語言函數(shù),包括中斷服務(wù)程序的中斷向量地址等。如果某些C編譯器允許在C語言中直接插入?yún)R編語言語句,就不一定需要,用戶可以把所需的匯編語言代碼直接放到OS_CPU_C.C文件中。

3 ARM和FPGA的接口設(shè)計(jì)

為使系統(tǒng)能夠按照預(yù)期設(shè)計(jì)良好工作,首先要從硬件上實(shí)現(xiàn)ARM和FPGA之間的可靠通信。本文采用的方案是在FPGA上實(shí)現(xiàn)SRAM時序,將FPGA作為一塊特殊的內(nèi)存設(shè)備掛接到ARM的內(nèi)存地址空間。這樣在ARM端只需要編寫SRAM的驅(qū)動程序就可以實(shí)現(xiàn)對FPGA端的數(shù)據(jù)寫入和讀取。

3.1 SRAM時序

SRAM時序分為讀時序和寫時序兩種。當(dāng)CPU對SRAM進(jìn)行讀操作時,首先會在地址線上寫入正確的地址信號,接著是對SRAM芯片的片選信號,然后是對芯片的讀信號,之后經(jīng)過一定的振蕩期后CPU在數(shù)據(jù)線上讀到穩(wěn)定的有效數(shù)據(jù)。

當(dāng)CPU對SRAM進(jìn)行寫操作時,首先會在地址線上寫入正確的地址線號,接著是對SRAM芯片的片選信號,然后是對芯片的寫信號,在寫信號上升沿之前CPU會在數(shù)據(jù)線上準(zhǔn)備好有效數(shù)據(jù),以供SRAM芯片在寫信號上升沿將數(shù)據(jù)寫入相應(yīng)的地址單元。

3.2 FPGA端SRAM實(shí)現(xiàn)

ARM和FPGA的通信需要的接口信號有地址線A0-A15、數(shù)據(jù)線D0-D15、片選信號nCS,讀信號nRD和寫信號new,每次需要實(shí)現(xiàn)16位數(shù)據(jù)的讀寫。用Verilog硬件語言描述SRAM時序如下:

基于ARM和FPGA的硬件平臺實(shí)現(xiàn)了具有高開放性特征的嵌入式數(shù)控系統(tǒng)

可知只有在片選信號、讀信號都拉低而寫信號仍為高的情況下,才在data線上輸出地址線上對應(yīng)單元的數(shù)值,其他情況下FPGA都將data線置為高阻態(tài),放棄對data線的控制。

4 基于FPGA的DDA精插補(bǔ)器設(shè)計(jì)

隨著FPGA器件及其開發(fā)技術(shù)的日臻成熟,采用FPGA實(shí)現(xiàn)運(yùn)動控制的方案顯示出巨大的潛力。由于FPGA的設(shè)計(jì)是并行的、多線程,而且具有在線可編程能力,兼?zhèn)淞怂俣瓤旌统杀镜偷膬?yōu)點(diǎn),同時克服了專用處理器靈活性方面的不足?;贔PGA的DDA精插補(bǔ)器相對傳統(tǒng)的軟件插補(bǔ)具有強(qiáng)大的優(yōu)勢。

4.1 數(shù)字積分插補(bǔ)算法

目前比較成熟的數(shù)控插補(bǔ)算法有逐點(diǎn)比較法、最小偏差法和數(shù)字積分法等,數(shù)字積分法又稱數(shù)字微分分析器(Digital Differential Analyzer,DDA)。采用該方法進(jìn)行插補(bǔ),具有運(yùn)算速度快、邏輯功能強(qiáng)、脈沖分配均勻等特點(diǎn),可實(shí)現(xiàn)一次、二次甚至高次曲線插補(bǔ),易于實(shí)現(xiàn)多軸聯(lián)動。

數(shù)字積分插補(bǔ)算法是將函數(shù)的積分運(yùn)算轉(zhuǎn)換成變量的求和運(yùn)算。如果所選擇的脈沖當(dāng)量足夠小,則用求和運(yùn)算代替積分所引起的誤差可以不超過允許的數(shù)值。采用兩個寄存器(函數(shù)寄存器和累加寄存器)和一個全加器構(gòu)成數(shù)字積分器,將單位周期選得足夠小,每單位周期都向累加器累加函數(shù)寄存器中的數(shù)值,如果累加器溢出,就向外發(fā)送脈沖,實(shí)時地改變函數(shù)寄存器的值,就可以完成步進(jìn)電機(jī)的調(diào)速。DDA插補(bǔ)控制器設(shè)計(jì)的硬件描述語言程序的流程圖如圖3所示。

基于ARM和FPGA的硬件平臺實(shí)現(xiàn)了具有高開放性特征的嵌入式數(shù)控系統(tǒng)

4.2 數(shù)字積分插補(bǔ)的FPGA實(shí)現(xiàn)

采用有限狀態(tài)機(jī)的設(shè)計(jì)方法,每個軸的數(shù)字積分插補(bǔ)均由一個三狀態(tài)機(jī)的積分累加器完成。本系統(tǒng)的FPGA開發(fā)環(huán)境為Xilinx公司的Xil inx ISE,并結(jié)合ModelSim仿真軟件對整個系統(tǒng)進(jìn)行了全面的功能驗(yàn)證。如圖4所示為DDA插補(bǔ)模塊的頂層RTL級原理圖,由圖5可知DDA插補(bǔ)模塊的輸入信號為各軸的起始坐標(biāo)以及時鐘信號和啟動信號,輸出信號為各軸的脈沖信號和方向信號。

基于ARM和FPGA的硬件平臺實(shí)現(xiàn)了具有高開放性特征的嵌入式數(shù)控系統(tǒng)

運(yùn)用ModelSim仿真軟件對DDA插補(bǔ)模塊進(jìn)行仿真驗(yàn)證。測試數(shù)據(jù)的起點(diǎn)坐標(biāo)為(0,0,0)終點(diǎn)坐標(biāo)為(8,15,11),仿真結(jié)果如圖5所示,顯示系統(tǒng)很好的完成了三軸的脈沖分配。

4.3 加減速控制模塊

加減速控制是數(shù)控系統(tǒng)的關(guān)鍵技術(shù)之一,也是實(shí)現(xiàn)數(shù)控系統(tǒng)高實(shí)時性的瓶頸。數(shù)控系統(tǒng)中,為了保證機(jī)床在啟動或停止時不產(chǎn)生沖擊、失步、超程或振蕩,必須對進(jìn)給電機(jī)的脈沖頻率或電壓進(jìn)行加減速控制。即當(dāng)機(jī)床加速啟動時,保證加在電機(jī)上的脈沖頻率逐漸增加;而當(dāng)機(jī)床減速停止時,保證加在電機(jī)上的脈沖頻率逐漸減小。目前,電機(jī)加減速的常用控制方法是梯形加減速控制和S形加減速控制。本次設(shè)計(jì)采用兩種控制方案以適應(yīng)不同工作場合的要求。

4.3.1 梯形加減速

梯形加減速是指在加減速過程中加速度為常數(shù),速度曲線為梯形的加減速過程。梯形加減速控制算法簡單、易于實(shí)現(xiàn),但在加減速過程中加速度曲線不連續(xù)會導(dǎo)致驅(qū)動機(jī)構(gòu)的振動和沖擊。正常情況下梯形加減速運(yùn)動過程如圖6所示分為加速段、勻速段和減速段三個階段。

基于ARM和FPGA的硬件平臺實(shí)現(xiàn)了具有高開放性特征的嵌入式數(shù)控系統(tǒng)

圖7所示為ModelSim對梯形加減速模塊的仿真結(jié)果,可以看到插補(bǔ)器輸出的脈沖速度曲線呈現(xiàn)梯形,輸出脈沖的頻率的大小隨速度的變化而變化,實(shí)現(xiàn)了電機(jī)的梯形調(diào)速。

基于ARM和FPGA的硬件平臺實(shí)現(xiàn)了具有高開放性特征的嵌入式數(shù)控系統(tǒng)

4.3.2 S形加減速

S形加減速是指在加減速時,加速度導(dǎo)數(shù)為常數(shù),速度曲線為S形曲線的加減速過程。通過控制加速度導(dǎo)數(shù)來避免加速度突變,減小加工過程中由于加速度突變引起的機(jī)械系統(tǒng)振動。S形曲線速度控制可以得到平滑的速度曲線,但算法復(fù)雜,運(yùn)算時間長。

基于ARM和FPGA的硬件平臺實(shí)現(xiàn)了具有高開放性特征的嵌入式數(shù)控系統(tǒng)

S形加減速中加速度相對加速度導(dǎo)數(shù)的變化規(guī)律相當(dāng)于直線加減速中速度相對加速度的變化規(guī)律。如圖8所示為S形曲線加減速的曲線圖,圖中從上到下依次為速度曲線、加速度曲線以及減速度曲線。從圖中可以看出,正常情況下S形加減速分為:加加速段、勻加速段、減加速段、勻速段、加減速段、勻減速段和減減速段七個階段。加速度連續(xù),調(diào)速光滑,不會導(dǎo)致驅(qū)動機(jī)構(gòu)的振動和沖擊。

基于ARM和FPGA的硬件平臺實(shí)現(xiàn)了具有高開放性特征的嵌入式數(shù)控系統(tǒng)

圖9所示為ModelSim對S形加減速模塊的仿真結(jié)果,可以看到插補(bǔ)器輸出的脈沖速度曲線呈現(xiàn)梯形,輸出脈沖的頻率的大小隨速度的變化而變化,實(shí)現(xiàn)了電機(jī)的S形調(diào)速。

5 結(jié)束語

本文給出了一種基于ARM和FPGA的開放性的嵌入式數(shù)控系統(tǒng),突破了傳統(tǒng)的計(jì)算機(jī)數(shù)控系統(tǒng)架構(gòu),采用ARM處理器S3C2440A和FPGA器件XC3S25 0E和μC/OS-II嵌入式實(shí)時操作系統(tǒng)組成的數(shù)控系統(tǒng)軟硬件平臺,充分利用了ARM微處理器的高速運(yùn)算能力與FPGA的快速配置能力,大大減少了系統(tǒng)的外圍接口器件,并具有良好的穩(wěn)定性、模塊化、可擴(kuò)展性、可移植性等特點(diǎn),有利于實(shí)現(xiàn)數(shù)控系統(tǒng)的開放化和網(wǎng)絡(luò)化,有效地降低了系統(tǒng)成本,適合我國數(shù)控系統(tǒng)發(fā)展的需要,具有廣闊的應(yīng)用前景。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21639

    瀏覽量

    601358
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9030

    瀏覽量

    366564
  • 嵌入式
    +關(guān)注

    關(guān)注

    5060

    文章

    18983

    瀏覽量

    302310
收藏 人收藏

    評論

    相關(guān)推薦

    基于ARMFPGA嵌入式數(shù)控系統(tǒng)設(shè)計(jì)

    本文提出一種基于ARMFPGA嵌入式數(shù)控系統(tǒng)設(shè)計(jì)方案。該系統(tǒng)ARM運(yùn)行速度快、計(jì)算精度
    發(fā)表于 05-31 15:45 ?6301次閱讀
    基于<b class='flag-5'>ARM</b>和<b class='flag-5'>FPGA</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>數(shù)控系統(tǒng)</b>設(shè)計(jì)

    嵌入式數(shù)控系統(tǒng)有什么突破?

    策略和機(jī)制相分離的設(shè)計(jì)思想,設(shè)計(jì)一種具有開放性特征嵌入式
    發(fā)表于 08-23 08:17

    基于ARMFPGA嵌入式數(shù)控系統(tǒng)該怎么設(shè)計(jì)?

    逐漸呈現(xiàn)出資源浪費(fèi)嚴(yán)重、實(shí)時差的劣勢。此外,數(shù)控系統(tǒng)開放性、模塊化和可重構(gòu)設(shè)計(jì)是目前數(shù)控技術(shù)領(lǐng)域研究的熱點(diǎn),目的是為了適應(yīng)技術(shù)發(fā)展和便于用戶開發(fā)自己的功能。
    發(fā)表于 08-26 07:06

    什么是嵌入式數(shù)控系統(tǒng)硬件體系結(jié)構(gòu)?

    規(guī)則,可以構(gòu)建不同的嵌入式數(shù)控系統(tǒng),由數(shù)控系統(tǒng)集成到工控站,由工控站再到工控網(wǎng)絡(luò)乃至更復(fù)雜的系統(tǒng)。嵌入式
    發(fā)表于 09-02 06:36

    嵌入式操作系統(tǒng)μC/OS-Ⅱ在數(shù)控系統(tǒng)應(yīng)用怎么改進(jìn)?

    嵌入式操作系統(tǒng)μC/OS-Ⅱ是一個可裁剪、源碼開放、結(jié)構(gòu)小巧、搶先的實(shí)時多任務(wù)內(nèi)核,主要面向中小型嵌入式
    發(fā)表于 03-11 06:47

    開放式數(shù)控系統(tǒng)硬件平臺設(shè)計(jì)

    針對“PC+運(yùn)動控制器”的開放式數(shù)控系統(tǒng),分析開放式數(shù)控系統(tǒng)硬件
    發(fā)表于 06-03 09:35 ?23次下載

    基于ARM嵌入式數(shù)控系統(tǒng)

    介紹一種以32 位CPU 為控制器的嵌入式數(shù)控系統(tǒng)設(shè)計(jì),包括系統(tǒng)硬件設(shè)計(jì)和軟件設(shè)計(jì)。該系統(tǒng)選用
    發(fā)表于 09-01 09:50 ?17次下載

    開放式數(shù)控系統(tǒng)硬件平臺設(shè)計(jì)

    針對“PC+運(yùn)動控制器”的開放式數(shù)控系統(tǒng),分析開放式數(shù)控系統(tǒng)硬件
    發(fā)表于 10-13 09:05 ?73次下載

    基于ARM設(shè)計(jì)的嵌入式數(shù)控系統(tǒng)方案

    摘要:本文介紹基于ARM嵌入式數(shù)控系統(tǒng)。該系統(tǒng)為主從結(jié)構(gòu),上位機(jī)以
    發(fā)表于 07-21 15:00 ?1523次閱讀
    基于<b class='flag-5'>ARM</b>設(shè)計(jì)的<b class='flag-5'>嵌入式</b><b class='flag-5'>數(shù)控系統(tǒng)</b>方案

    基于ARMFPGA嵌入式數(shù)控系統(tǒng)設(shè)計(jì)

    基于ARMFPGA設(shè)計(jì)嵌入式數(shù)控系統(tǒng)。其ARM芯片采用Samsumg公司的基于
    發(fā)表于 07-25 18:22 ?74次下載
    基于<b class='flag-5'>ARM</b>與<b class='flag-5'>FPGA</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>數(shù)控系統(tǒng)</b>設(shè)計(jì)

    開放數(shù)控系統(tǒng)模型的建立及實(shí)現(xiàn)

    本文在開放數(shù)控模型的基礎(chǔ)上,提出了一個經(jīng)濟(jì)、高速的開放數(shù)控系統(tǒng)結(jié)構(gòu)模型。該數(shù)控系統(tǒng)在軟硬件
    發(fā)表于 08-28 18:02 ?1528次閱讀
    <b class='flag-5'>開放</b><b class='flag-5'>數(shù)控系統(tǒng)</b>模型的建立及<b class='flag-5'>實(shí)現(xiàn)</b>

    基于ARM嵌入式數(shù)控系統(tǒng)方案研究與應(yīng)用

    基于ARM嵌入式數(shù)控系統(tǒng)方案研究與應(yīng)用
    發(fā)表于 10-25 09:20 ?5次下載
    基于<b class='flag-5'>ARM</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>數(shù)控系統(tǒng)</b>方案研究與應(yīng)用

    基于ARMFPGA開放性計(jì)算機(jī)數(shù)控系統(tǒng)

    本文提出了一種基于 ARMFPGA嵌入式 數(shù)控系統(tǒng) 設(shè)計(jì)方案。詳細(xì)介紹ARM
    發(fā)表于 04-23 10:45 ?1034次閱讀
    基于<b class='flag-5'>ARM</b>和<b class='flag-5'>FPGA</b>的<b class='flag-5'>開放性</b>計(jì)算機(jī)<b class='flag-5'>數(shù)控系統(tǒng)</b>

    嵌入式數(shù)控系統(tǒng)設(shè)計(jì)

    數(shù)控系統(tǒng)具有一定的開放性,但這種體系結(jié)構(gòu)也存在很大的局限性,主要體現(xiàn)為:①系統(tǒng)實(shí)時和穩(wěn)定性較差,基于PC的
    發(fā)表于 03-16 15:12 ?17次下載

    基于ARMS和FPGA嵌入式數(shù)控系統(tǒng)設(shè)計(jì)原理

    電子發(fā)燒友網(wǎng)站提供《基于ARMS和FPGA嵌入式數(shù)控系統(tǒng)設(shè)計(jì)原理.pdf》資料免費(fèi)下載
    發(fā)表于 10-10 09:33 ?2次下載
    基于ARMS和<b class='flag-5'>FPGA</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>數(shù)控系統(tǒng)</b>設(shè)計(jì)原理