ARM設計的FPGA可重構配置方法的實現及應用
{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可重構特性,實現模塊化機器人控制器的設計.模塊化機器人結構復雜,控制電機數量多,而且針對不同構形控制策略也有差別,如四自由度串聯式機器手構形和全向移動小車構形(圖4所示)從控制策略到控制電機數量都有很大的不同,這就要求控制器可以根據不同構形動態的改變控制策略,也即控制器的可重構.為此,在模塊化機器人可重構控制模塊結構設計中,提出基于ARM和FPGA的動態可重構的模塊化機器人控制系統方案,充分利用嵌入式ARM核微處理器高性能、低功耗、資源豐富等方面的性能和FPGA內部邏輯可重構的特性,由主處理器根據機器人當前構形選擇不同的控制策略并對FPGA內部邏輯進行動態重配,以適應不同構形及應用的需要.結構設計框圖如圖5所示。
ARM模塊選用s3c241Ox運行 C/OS—II實時操作系統,負責運行控制軟件,完成模塊化機器人運動規劃,實時監控系統運行狀態,實現人機交互功能及對FPGA內部邏輯實時重構.FPGA內部運行軟核處理器,負責與模塊化機器人運動控制相關的任務,如舵機控制、直流電機控制、系統IO控制、傳感器數據采集等任務.
對FPGA配置采用上述基于ARM的PS配置方法,平臺充分利用了FPcA內部邏輯可重構的特性,可組成多種不同構形,不同構形具有不同的物理結構和控制方式,以滿足不同任務需求.其重構方法采用:
(1)根據具體構形規劃系統硬件資源種類,如構形需要的直流電機數量、舵機數量、系統I/,O數量以及各種傳感器的數目.
(2)根據硬件資源種類修改FPcA內部邏輯,實現硬件層次的“重構”.
(3)根據FPGA邏輯的變化,進行軟件的開發,實現軟件層次的“重構”.
(4)將FPGA配置文件下載到ARM的存儲器中,系統上電后,ARM結合需求通過讀取相應存儲區的配
置文件對FPGA進行配置,實現控制系統的動態重構.
經過實驗驗證,利用ARM的實時處理功能,對FPGA內部邏輯進行動態重配,所設計的控制平臺可以滿足可重構配置的性能要求.
4 結語
文中給出了基于ARM的FPGA的Ps加載配置方案,該方法電路結構簡單、易于實現,充分利用ARM處理器功能強、速度快、應用廣的特點,在系統中可預先包含多個不同功能的配置文件,根據現場的需要進行相應的配置,實現在線更新FPGA功能,既節省了開發成本,又滿足了一些特殊的系統設計要求,也充分顯示出FPGA現場升級、靈活運用的設計理念,方案的提出,對嵌人式數字系統設計具有相當的借鑒意義.
評論