基于FPGA的可重構(gòu)嵌入式運(yùn)動(dòng)控制卡設(shè)計(jì)與實(shí)現(xiàn)
引言
本文引用地址:http://2s4d.com/article/128892.htm運(yùn)動(dòng)控制系統(tǒng)廣泛應(yīng)用于數(shù)控機(jī)床、機(jī)器人、自動(dòng)生產(chǎn)線等各類工業(yè)裝備的控制過程。隨著現(xiàn)代制造業(yè)走向高速化、柔性化,對(duì)于運(yùn)動(dòng)控制系統(tǒng)不但要求具備高性能的控制能力,而且需要具備一定的重配置能力,以適應(yīng)控制對(duì)象的變化。
本文針對(duì)上述需求,提出了一種基于FPGA技術(shù)的可重構(gòu)嵌入式運(yùn)動(dòng)控制卡的設(shè)計(jì)方案。該方案采用ARM Cortex-M3控制器和Xilinx Spartan-3A器件為核心,即可實(shí)現(xiàn)多個(gè)電機(jī)軸獨(dú)立運(yùn)行,也可以實(shí)現(xiàn)多軸聯(lián)動(dòng)控制。作為與以往基于軟件實(shí)現(xiàn)的運(yùn)動(dòng)控制系統(tǒng)不同,通過在系統(tǒng)引入FPGA,不但能夠輔助CPU實(shí)現(xiàn)各種控制功能,減少CPU的運(yùn)算負(fù)擔(dān),而且能夠在用戶現(xiàn)場(chǎng)實(shí)現(xiàn)硬件邏輯的重構(gòu),實(shí)現(xiàn)運(yùn)動(dòng)控制系統(tǒng)的靈活配置、升級(jí)。
運(yùn)動(dòng)控制卡結(jié)構(gòu)
圖1是本文設(shè)計(jì)的運(yùn)動(dòng)控制卡總體結(jié)構(gòu)示意。該運(yùn)動(dòng)控制卡以基于ARM Cortex-M3內(nèi)核的STM32微控制器為CPU,實(shí)現(xiàn)用戶命令的解釋、運(yùn)動(dòng)軌跡規(guī)劃及PLC程序執(zhí)行等功能。由于運(yùn)動(dòng)控制涉及大規(guī)模數(shù)據(jù)處理,因此擴(kuò)展了512K x 16位(1M字節(jié))的高速SRAM作為擴(kuò)展內(nèi)存。運(yùn)動(dòng)控制卡與上位機(jī)的通訊通過雙端口RAM實(shí)現(xiàn),上位機(jī)和板上CPU可通過兩個(gè)獨(dú)立的操作接口對(duì)雙端口RAM進(jìn)行異步讀寫操作,具有極高的通訊效率。同時(shí),雙端口RAM提供了忙信號(hào)、信號(hào)量、郵箱等通訊機(jī)制,保證訪問的可靠性。
在運(yùn)動(dòng)控制卡中,FPGA集成了電機(jī)運(yùn)動(dòng)軌跡的精插補(bǔ)、參考點(diǎn)位置捕捉、編碼器信號(hào)解碼、I/O擴(kuò)展、總線接口等自主設(shè)計(jì)的IP核,實(shí)現(xiàn)運(yùn)動(dòng)控制所需的各項(xiàng)功能。CPU通過其16位并行總線與FPGA進(jìn)行通訊,可以隨機(jī)訪問FPGA中各IP核的配置及狀態(tài)寄存器。FPGA可通過配置芯片在上電時(shí)自動(dòng)配置,也可以通過CPU進(jìn)行配置。
fpga相關(guān)文章:fpga是什么
評(píng)論