新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARMS和FPGA的嵌入式數(shù)控系統(tǒng)設(shè)計(jì)

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

作者: 時(shí)間:2013-05-17 來源:網(wǎng)絡(luò) 收藏

摘要:提出了一種基于的嵌入式設(shè)計(jì)方案。詳細(xì)介紹了系統(tǒng)的軟硬件設(shè)計(jì),基于的硬件精實(shí)現(xiàn)方法以及的加減速控制策略。該系統(tǒng)將運(yùn)行速度快、計(jì)算精度高的優(yōu)點(diǎn)和內(nèi)部邏輯的在線可重構(gòu)性等特點(diǎn)相結(jié)合,提高了資源利用率和實(shí)時(shí)性,增強(qiáng)了的靈活性。仿真和實(shí)踐結(jié)果表明,整個(gè)控制系統(tǒng)具有實(shí)時(shí)性好、低成本、高性能等優(yōu)點(diǎn)。
關(guān)鍵詞:ARM;FPGA;數(shù)控系統(tǒng);

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

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

本文引用地址:http://m.butianyuan.cn/article/148022.htm

a.JPG



2 S3C2440A控制系統(tǒng)
ARM作為數(shù)控系統(tǒng)的控制核心主要負(fù)責(zé)對(duì)從數(shù)據(jù)存儲(chǔ)器中讀取或直接從上位PC或網(wǎng)絡(luò)獲得的零件加工代碼和控制信息進(jìn)行譯碼、運(yùn)算、邏輯處理,完成加工數(shù)據(jù)的粗插補(bǔ)以及人機(jī)界面和數(shù)據(jù)通信。ARM系統(tǒng)是整個(gè)數(shù)控系統(tǒng)的控制核心,在嵌入式操作系統(tǒng)的管理下,采用分時(shí)處理的方式實(shí)現(xiàn)整個(gè)系統(tǒng)的信息處理和粗插補(bǔ)運(yùn)算,通過鍵盤、觸摸屏等輸入裝置輸入各種控制指令,對(duì)數(shù)控系統(tǒng)的實(shí)時(shí)運(yùn)行狀態(tài)通過LCD、指示燈等顯示,實(shí)現(xiàn)人機(jī)友好交互。基于S3C2440A控制器有各種通信接口,包括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)是個(gè)實(shí)時(shí)多任務(wù)系統(tǒng),實(shí)時(shí)性要求很高,為保證各個(gè)任務(wù)的協(xié)調(diào)執(zhí)行,本系統(tǒng)采用了μC/OS-II實(shí)時(shí)操作系統(tǒng)作為軟件平臺(tái)。

b.JPG


要實(shí)現(xiàn)該操作系統(tǒng)在S3C2440A微處理器平臺(tái)上的正常運(yùn)行,需要修改與處理器類型有關(guān)部分的代碼,操作系統(tǒng)移植需要完成的工作是改寫三個(gè)文件,即改寫文件0S_CPU.H、0S_CPU_A.ASM和OS_CPU_C.C。其中0S_CPU.H包括了用#define語句定義的,與處理器相關(guān)的變數(shù)、宏和類型。0S_CPU_A.ASM中定義了幾個(gè)匯編語言函數(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時(shí)序,將FPGA作為一塊特殊的內(nèi)存設(shè)備掛接到ARM的內(nèi)存地址空間。這樣在ARM端只需要編寫SRAM的驅(qū)動(dòng)程序就可以實(shí)現(xiàn)對(duì)FPGA端的數(shù)據(jù)寫入和讀取。
3.1 SRAM時(shí)序
SRAM時(shí)序分為讀時(shí)序和寫時(shí)序兩種。當(dāng)CPU對(duì)SRAM進(jìn)行讀操作時(shí),首先會(huì)在地址線上寫入正確的地址信號(hào),接著是對(duì)SRAM芯片的片選信號(hào),然后是對(duì)芯片的讀信號(hào),之后經(jīng)過一定的振蕩期后CPU在數(shù)據(jù)線上讀到穩(wěn)定的有效數(shù)據(jù)。
當(dāng)CPU對(duì)SRAM進(jìn)行寫操作時(shí),首先會(huì)在地址線上寫入正確的地址線號(hào),接著是對(duì)SRAM芯片的片選信號(hào),然后是對(duì)芯片的寫信號(hào),在寫信號(hào)上升沿之前CPU會(huì)在數(shù)據(jù)線上準(zhǔn)備好有效數(shù)據(jù),以供SRAM芯片在寫信號(hào)上升沿將數(shù)據(jù)寫入相應(yīng)的地址單元。

fpga相關(guān)文章:fpga是什么


c語言相關(guān)文章:c語言教程



上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉