ARM設計的FPGA可重構配置方法的實(shí)現及應用
{p ntf(”、n\r—Configure Ermr:nsrATus is O!、n、r );
retum O;}}
else if(Read—nC0NF—Done)
{p ntf(”\n\卜-Co gure success! 、n );}
fnr(i=O;i(5O;i++)/ 初始化 /
{Set—DcLK(1);
hudeIay(1);
Set— DCLK(O);
hude1.dy(1);} 、
if(!Read—nC0NF—D0ne)
{printf(”、r\n—configure En r:nCO F—Done is 0 1”);
retum 0:}
retum l:
{
結合上述可重構配置分析,我們利用了FPGA可重構特性,實(shí)現模塊化機器人控制器的設計.模塊化機器人結構復雜,控制電機數量多,而且針對不同構形控制策略也有差別,如四自由度串聯(lián)式機器手構形和全向移動(dòng)小車(chē)構形(圖4所示)從控制策略到控制電機數量都有很大的不同,這就要求控制器可以根據不同構形動(dòng)態(tài)的改變控制策略,也即控制器的可重構.為此,在模塊化機器人可重構控制模塊結構設計中,提出基于ARM和FPGA的動(dòng)態(tài)可重構的模塊化機器人控制系統方案,充分利用嵌入式ARM核微處理器高性能、低功耗、資源豐富等方面的性能和FPGA內部邏輯可重構的特性,由主處理器根據機器人當前構形選擇不同的控制策略并對FPGA內部邏輯進(jìn)行動(dòng)態(tài)重配,以適應不同構形及應用的需要.結構設計框圖如圖5所示。
ARM模塊選用s3c241Ox運行 C/OS—II實(shí)時(shí)操作系統,負責運行控制軟件,完成模塊化機器人運動(dòng)規劃,實(shí)時(shí)監控系統運行狀態(tài),實(shí)現人機交互功能及對FPGA內部邏輯實(shí)時(shí)重構.FPGA內部運行軟核處理器,負責與模塊化機器人運動(dòng)控制相關(guān)的任務(wù),如舵機控制、直流電機控制、系統IO控制、傳感器數據采集等任務(wù).
對FPGA配置采用上述基于A(yíng)RM的PS配置方法,平臺充分利用了FPcA內部邏輯可重構的特性,可組成多種不同構形,不同構形具有不同的物理結構和控制方式,以滿(mǎn)足不同任務(wù)需求.其重構方法采用:
(1)根據具體構形規劃系統硬件資源種類(lèi),如構形需要的直流電機數量、舵機數量、系統I/,O數量以及各種傳感器的數目.
(2)根據硬件資源種類(lèi)修改FPcA內部邏輯,實(shí)現硬件層次的“重構”.
(3)根據FPGA邏輯的變化,進(jìn)行軟件的開(kāi)發(fā),實(shí)現軟件層次的“重構”.
(4)將FPGA配置文件下載到ARM的存儲器中,系統上電后,ARM結合需求通過(guò)讀取相應存儲區的配
置文件對FPGA進(jìn)行配置,實(shí)現控制系統的動(dòng)態(tài)重構.
經(jīng)過(guò)實(shí)驗驗證,利用ARM的實(shí)時(shí)處理功能,對FPGA內部邏輯進(jìn)行動(dòng)態(tài)重配,所設計的控制平臺可以滿(mǎn)足可重構配置的性能要求.
4 結語(yǔ)
文中給出了基于A(yíng)RM的FPGA的Ps加載配置方案,該方法電路結構簡(jiǎn)單、易于實(shí)現,充分利用ARM處理器功能強、速度快、應用廣的特點(diǎn),在系統中可預先包含多個(gè)不同功能的配置文件,根據現場(chǎng)的需要進(jìn)行相應的配置,實(shí)現在線(xiàn)更新FPGA功能,既節省了開(kāi)發(fā)成本,又滿(mǎn)足了一些特殊的系統設計要求,也充分顯示出FPGA現場(chǎng)升級、靈活運用的設計理念,方案的提出,對嵌人式數字系統設計具有相當的借鑒意義.
評論