版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ARM設(shè)計(jì)的FPGA可重構(gòu)配置方法的實(shí)現(xiàn)及應(yīng)用摘要:文中詳述了FPGA被動(dòng)串行配置方式的時(shí)序,給出配置流程圖及實(shí)現(xiàn)的程序代碼,并通過(guò)實(shí)例驗(yàn)證了該方法的優(yōu)越性及應(yīng)用前景.通過(guò)介紹FPGA的各種配置方式,提出了一種基于ARM處理器的FPGA動(dòng)態(tài)配置方法,充分利用ARM處理器功能強(qiáng)、速度快、應(yīng)用廣的特點(diǎn),結(jié)合FPGA重配置特性,實(shí)現(xiàn)了對(duì)FPGA的動(dòng)態(tài)配置.
隨著半導(dǎo)體工藝技術(shù)的迅猛發(fā)展,現(xiàn)場(chǎng)可編程邏輯器件FPGA的集成度迅速提高,已達(dá)到百萬(wàn)門(mén)量級(jí),與此同時(shí),F(xiàn)PGA中的邏輯資源也日益豐富,使得基于FPGA的片上系統(tǒng)設(shè)計(jì)成為可能.基于FPGA的片上系統(tǒng)設(shè)計(jì)因其具有開(kāi)發(fā)周期短,設(shè)計(jì)成本低,軟硬件可編程,系統(tǒng)設(shè)計(jì)靈活、可裁減、可擴(kuò)充、可升級(jí)等優(yōu)點(diǎn)正在成為電子系統(tǒng)設(shè)計(jì)的研究熱點(diǎn),且已經(jīng)在通訊、工控等領(lǐng)域得到實(shí)際應(yīng)用.
目前FPGA從實(shí)現(xiàn)技術(shù)上進(jìn)行分類(lèi),可以分為基于查找表(LuT,k—uptable)技術(shù),SRAM工藝的FPGA、基于nash技術(shù)的FPGA和基于反熔絲(Anti—fuse)技術(shù)的FPGA,而使用最多的還是基于SRAM工藝的FPGA,如Altem的Cycl0ne和Stix系列、xilin)【的Spanan和Virtex系列.基于SRAM的FPGA片內(nèi)帶有存儲(chǔ)配置位流的sRAM,上電時(shí),將存儲(chǔ)在專(zhuān)用配置芯片中的配置信息加載到FPGA中,從而實(shí)現(xiàn)一定的邏輯功能,掉電時(shí)片內(nèi)SRAM中的配置數(shù)據(jù)遺失,需要下一次加電時(shí)重新加載配置.這種片內(nèi)易失存儲(chǔ)器存儲(chǔ)配置數(shù)據(jù)的結(jié)構(gòu),使得FPGA可以在線動(dòng)態(tài)的對(duì)其sRAM中的配置數(shù)據(jù)進(jìn)行更新,從而實(shí)現(xiàn)電路邏輯功能動(dòng)態(tài)改變.系統(tǒng)可重構(gòu)主要就是利用基于sRAM的FPGA這種動(dòng)態(tài)重配置特性才得以實(shí)現(xiàn)的,下面就以Altem公司CycloneII系列FPGA分析其配置方式及其可重構(gòu)應(yīng)用.1可重構(gòu)配置方法
根據(jù)FPGA在配置過(guò)程中的角色可把cycloneII系列FPGA的配置方式分為三種:FPGA主動(dòng)串行(As)方式、FPGA被動(dòng)串行(PS)方式和JATG方式.不同配置模式通過(guò)配置模式選擇管腳MsEL[1:0]進(jìn)行選擇,其中MsEL[1:0]=o0時(shí)選擇As模式,MsEL[1:O]=01時(shí)選擇PS模式,對(duì)于某些串行配置器件當(dāng)MsEL[1:0]=l0時(shí)為快速AS模式,配置速度比PS模式快一倍.CycloneII系列FPGA支持配置數(shù)據(jù)自解壓,將壓縮的配置數(shù)據(jù)存儲(chǔ)在配置器件或其它存儲(chǔ)器中,配置時(shí)傳送壓縮的位流數(shù)據(jù)到FPGA中,F(xiàn)PGA可實(shí)時(shí)的解壓縮并對(duì)內(nèi)部sRAM進(jìn)行編程,配置數(shù)據(jù)的壓縮比例可達(dá)35%-5O%,可有效節(jié)省配置存儲(chǔ)空間.
在As方式下,由FPGA主動(dòng)輸出控制和同步信號(hào)給專(zhuān)用串行配置芯片,配置芯片接收到配置命令后,就開(kāi)始將配置數(shù)據(jù)串行的發(fā)送至FPGA,完成配置工作.目前常用的專(zhuān)用串行配置芯片為容量為4Mb的EPCS4和16Mb的EPcS16等.AS配置模式主要用到四個(gè)信號(hào):串行數(shù)據(jù)輸入DcLK、控制信號(hào)輸入AsDI、片選信號(hào)ncs和串行數(shù)據(jù)輸出DATA.
在PS方式下,由系統(tǒng)中其它設(shè)備發(fā)起配置過(guò)程,F(xiàn)PGA在配置過(guò)程中只輸出應(yīng)答信號(hào),發(fā)起控制配置過(guò)程的設(shè)備可以是處理器、AltemEPC系列配置芯片、CPLD等功能設(shè)備.在下一小節(jié)將對(duì)PS配置方式做詳細(xì)的介紹.JTAG調(diào)試接口已經(jīng)作為一個(gè)標(biāo)準(zhǔn)接口集成在芯片內(nèi),主要用于芯片的測(cè)試,cycl0neII系列FPGA都支持JTAG方式對(duì)FPGA進(jìn)行配置,JrrAG方式具有比其它配置方式都高的優(yōu)先級(jí).JrI'AG接口定義了四個(gè)標(biāo)準(zhǔn)信H號(hào):●rI℃K測(cè)試時(shí)鐘,各種信號(hào)都需要與測(cè)試時(shí)鐘同步;●TDI測(cè)試數(shù)據(jù)輸入,測(cè)試數(shù)據(jù)串行輸入,數(shù)據(jù)在TCK上升沿傳送;●TDO測(cè)試數(shù)據(jù)輸出,測(cè)試數(shù)據(jù)串行輸出,數(shù)據(jù)在TCK下降沿傳送;●TMs測(cè)試模式選擇,決定JTAG電路內(nèi)部TAP控制器狀態(tài)機(jī)的變化.2基于ARM的配置方法及實(shí)現(xiàn)2.1PS配置原理
如圖l所示,利用s3c2410x作為主控制器采用被動(dòng)串行方式對(duì)EP2c20內(nèi)部邏輯進(jìn)行重構(gòu).FPGA的PS配置方式是比較常用的一種配置方式,可以有效實(shí)現(xiàn)FPGA的在線配置,其基本流程為:在系統(tǒng)中將FPGA被動(dòng)配置方式配置接口與ARM處理器的IO管腳相連,在處理器端通過(guò)軟件控制相應(yīng)管腳的高低電平將數(shù)據(jù)串行的發(fā)送到FPGA中.重構(gòu)程序運(yùn)行在ARM處理器中作為實(shí)時(shí)系統(tǒng)的一個(gè)任務(wù),當(dāng)需要重配FPcA內(nèi)部邏輯時(shí),調(diào)用相應(yīng)任務(wù),配置完成后,刪除當(dāng)前任務(wù)即可,因此,可將預(yù)先建立的配置文件庫(kù)存儲(chǔ)到ARM的nash中,由ARM處理器中運(yùn)行的配置程序來(lái)完成動(dòng)態(tài)重構(gòu)任務(wù)。FPGA與Ps配置方式有關(guān)的管腳功能如表l所示:
整個(gè)配置過(guò)程幾個(gè)關(guān)鍵信號(hào)的時(shí)序圖如圖2所示,配置過(guò)程可以分為復(fù)位、配置和初始化三個(gè)階段:在復(fù)位階段,微處理器首先在nc0NFIG信號(hào)線上產(chǎn)生一個(gè)寬度大于8s的負(fù)脈沖,然后開(kāi)始檢測(cè)nsTATus信號(hào)的狀態(tài).FPGA檢測(cè)到ncONFIG信號(hào)的下降沿后會(huì)迫使nsTATus和cONF—DONE信號(hào)拉低,使FPGA處于復(fù)位狀態(tài),當(dāng)ncONFIG變?yōu)楦唠娖綍r(shí),F(xiàn)PGA退出復(fù)位狀態(tài),釋放漏級(jí)開(kāi)路的nSTATUS管腳,nSTATuS在外部需要被l0K的上拉電阻拉高,nSTATUS管腳變?yōu)楦唠娖胶?,F(xiàn)PGA即進(jìn)人配置階段,此時(shí),F(xiàn)PGA已做好了接收配置數(shù)據(jù)的準(zhǔn)備.
FPGA的nsTATuS管腳變高后,延時(shí)5s左右,在DCLK的上升沿FPGA即可從DAL0管腳串行的接收配置數(shù)據(jù),配置數(shù)據(jù)按低位在先高位在后的順序從數(shù)據(jù)線上送出.當(dāng)所有數(shù)據(jù)都接收完后釋放漏級(jí)開(kāi)路的CONFIG—DONE管腳,CONFIG—DONE管腳在外部需要被10K的上拉電阻拉高,CONFIG—DONE管腳由低到高的跳變表明配置階段結(jié)束,F(xiàn)PGA進(jìn)入初始化階段.如果在配置過(guò)程中出現(xiàn)錯(cuò)誤,則nrATuS管腳將輸出低電平,F(xiàn)PGA在內(nèi)部自動(dòng)復(fù)位,處理器可以通過(guò)查詢(xún)ns1IATuS管腳狀態(tài)判斷在配置過(guò)程中是否有錯(cuò)誤發(fā)生,如果nsTATuS管腳在配置過(guò)程中變低則表明有錯(cuò)誤發(fā)生,如果在軟件中設(shè)置了錯(cuò)誤發(fā)生后自動(dòng)重新開(kāi)始配置選項(xiàng)則FPcA會(huì)延時(shí)一段時(shí)間后釋放nsTATuS,此時(shí)nsTATuS被外部上拉電阻拉高,CPu在nsTA—Tus上檢測(cè)到一個(gè)由低到高的跳變后重新開(kāi)始配置.若軟件中未設(shè)置“錯(cuò)誤發(fā)生后自動(dòng)重新開(kāi)始配置”選項(xiàng)則需要CPu首先將nCONFIC管腳置低再拉高以開(kāi)始重新配置.
在初始化階段,初始化時(shí)鐘可以是FPGA內(nèi)部時(shí)鐘或外部由CLKusR管腳提供的時(shí)鐘,本例使用了FPGA內(nèi)部時(shí)鐘,F(xiàn)PGA將為初始化提供時(shí)鐘,這樣,初始化階段不再需要外部時(shí)鐘.初始化階段完成后INIT—DONE管腳變?yōu)楦唠娖?,指示FPGA成功進(jìn)人用戶(hù)模式,配置過(guò)程結(jié)束.需要注意的是,若此時(shí)CONF—DONE或INIT_DONE未變?yōu)楦唠娖?,則表明此次配置過(guò)程不成功,需要cPu重新進(jìn)行配置.2.2配置程序設(shè)計(jì)
下面是完整的重構(gòu)程序及流程圖(圖3所示),作為s3c24lOxARM處理器μC/OS—II實(shí)時(shí)操作系統(tǒng)的一個(gè)任務(wù)運(yùn)行,但在工程應(yīng)用中要結(jié)合實(shí)際情況做適當(dāng)修改.基于μC/OS—II配置程序:U8Fpga~DownLoad(v0id){U8Bootaddr;U32CountNum=O柏:u8FpgaBu如;U16i:Bo0taddT:(u8)(O】(33ooooo0);/配置數(shù)據(jù)起始地址/SeI—Datao(O);seLnCONFIG(0);/_將ncONFIG置低電平/set—DCLK(O);hude1ay(10);/}延時(shí)1O/if(Re們一nSTATUS){prin(”err0r:nSTATuSis11”);retumO;}Set—nC0NFIG(1);while(!Read—nsTATUS);hudelay(5);pnd(”十cogIlreFPGA.-);while(c0untNum<=O)(24294)/}串行配置數(shù)據(jù)/{FpgaBu任er=(Bo0t&ddT+c0unum);if(!(CountNum%1O24))pdnd(”.”);f0r(._O;i<8;i++){Set—Data0(FpgaBu丘腳1);hudelay(1);seLDCLK(O);FpgaBu艉r>>=1;if(!ReaⅡ一ns1、ATUS){nEf(”\n、卜C0gureError:nsTATusis01、n);ren】mO;}Set—DCLK(1);}C0untNum++:}SeI—Datao(O);SeI—DCLK(O);if(!Reau—nsTATuS){pntf(”、n\r—ConfigureErmr:nsrATusisO!、n、r);retumO;}}elseif(Read—nC0NF—Done){pntf(”\n\卜-Coguresuccess!、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—configureEnr:nCOF—Doneis01”);retum0:}retuml:{3可重構(gòu)配置應(yīng)用
結(jié)合上述可重構(gòu)配置分析,我們利用了FPGA可重構(gòu)特性,實(shí)現(xiàn)模塊化機(jī)器人控制器的設(shè)計(jì).模塊化機(jī)器人結(jié)構(gòu)復(fù)雜,控制電機(jī)數(shù)量多,而且針對(duì)不同構(gòu)形控制策略也有差別,如四自由度串聯(lián)式機(jī)器手構(gòu)形和全向移動(dòng)小車(chē)構(gòu)形(圖4所示)從控制策略到控制電機(jī)數(shù)量都有很大的不同,這就要求控制器可以根據(jù)不同構(gòu)形動(dòng)態(tài)的改變控制策略,也即控制器的可重構(gòu).為此,在模塊化機(jī)器人可重構(gòu)控制模塊結(jié)構(gòu)設(shè)計(jì)中,提出基于ARM和FPGA的動(dòng)態(tài)可重構(gòu)的模塊化機(jī)器人控制系統(tǒng)方案,充分利用嵌入式ARM核微處理器高性能、低功耗、資源豐富等方面的性能和FPGA內(nèi)部邏輯可重構(gòu)的特性,由主處理器根據(jù)機(jī)器人當(dāng)前構(gòu)形選擇不同的控制策略并對(duì)FPGA內(nèi)部邏輯進(jìn)行動(dòng)態(tài)重配,以適應(yīng)不同構(gòu)形及應(yīng)用的需要.結(jié)構(gòu)設(shè)計(jì)框圖如圖5所示。
ARM模塊選用s3c241Ox運(yùn)行C/OS—II實(shí)時(shí)操作系統(tǒng),負(fù)責(zé)運(yùn)行控制軟件,完成模塊化機(jī)器人運(yùn)動(dòng)規(guī)劃,實(shí)時(shí)監(jiān)控系統(tǒng)運(yùn)行狀態(tài),實(shí)現(xiàn)人機(jī)交互功能及對(duì)FPGA內(nèi)部邏輯實(shí)時(shí)重構(gòu).FPGA內(nèi)部運(yùn)行軟核處理器,負(fù)責(zé)與模塊化機(jī)器人運(yùn)動(dòng)控制相關(guān)的任務(wù),如舵機(jī)控制、直流電機(jī)控制、系統(tǒng)IO控制、傳感器數(shù)據(jù)采集等任務(wù).
對(duì)FPGA配置采用上述基于ARM的PS配置方法,平臺(tái)充分利用了FPcA內(nèi)部邏輯可重構(gòu)的特性,可組成多種不同構(gòu)形,不同構(gòu)形具有不同的物理結(jié)構(gòu)和控制方式,以滿(mǎn)足不同任務(wù)需求.其重構(gòu)方法采用:(1)根據(jù)具體構(gòu)形規(guī)劃系統(tǒng)硬件資源種類(lèi),如構(gòu)形需要的直流電機(jī)數(shù)量、舵機(jī)數(shù)量、系統(tǒng)I/,O數(shù)量以及各種傳感器的數(shù)目.(2)根據(jù)硬件資源種類(lèi)修改FPcA內(nèi)部邏輯,實(shí)現(xiàn)硬件層次的“重構(gòu)”.(3)根據(jù)FPGA邏輯的變化,進(jìn)行軟件的開(kāi)發(fā),實(shí)現(xiàn)軟件層次的“重構(gòu)”.(4)將FPGA配置文件下載到ARM的存儲(chǔ)器中,系統(tǒng)上電后,ARM結(jié)合需求通過(guò)讀取相應(yīng)存儲(chǔ)區(qū)的配置文件對(duì)FPGA進(jìn)行配置,實(shí)現(xiàn)控制系統(tǒng)的動(dòng)態(tài)重構(gòu).
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新媒體營(yíng)銷(xiāo)(第三版) 課件 項(xiàng)目一 新媒體營(yíng)銷(xiāo)認(rèn)知
- 安防基礎(chǔ)知識(shí)培訓(xùn)(三星)
- 2024年貼牌生產(chǎn)與質(zhì)量協(xié)議3篇
- 外貿(mào)企業(yè)行政員工錄用協(xié)議
- 保險(xiǎn)公司平整施工合同
- 社區(qū)電動(dòng)車(chē)安全使用公約承諾書(shū)
- 電力搶修司機(jī)招聘協(xié)議書(shū)
- 電子產(chǎn)品招投標(biāo)操作流程
- 硝酸領(lǐng)用與研發(fā)創(chuàng)新
- 影視制作質(zhì)量管理典范
- 吉林省吉林市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)統(tǒng)編版期末考試(上學(xué)期)試卷及答案
- 2024年度鍋爐安全檢驗(yàn)與保養(yǎng)服務(wù)合同3篇
- 《政府經(jīng)濟(jì)學(xué)》期末考試復(fù)習(xí)題及答案
- 【MOOC】知識(shí)圖譜導(dǎo)論-浙江大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 中南大學(xué)《大學(xué)物理C(一)》2023-2024學(xué)年第一學(xué)期期末試卷
- 無(wú)人機(jī)任務(wù)規(guī)劃
- 2024年01月11042國(guó)際經(jīng)濟(jì)法期末試題答案
- 音樂(lè)行業(yè)在線音樂(lè)平臺(tái)開(kāi)發(fā)及運(yùn)營(yíng)策略方案
- GB/T 25042-2024膜結(jié)構(gòu)用玻璃纖維膜材料
- 高中生物課件
- 物業(yè)年會(huì)講話稿范文
評(píng)論
0/150
提交評(píng)論