基于JTAG接口實現(xiàn)ARM的FPGA在線配置
在驅(qū)動程序中,與操作系統(tǒng)的write和read調(diào)用相對應(yīng)的jtag_write和jtag_read的函數(shù)如下(這兩個函數(shù)實現(xiàn)了JTAG輸入輸出信號的具體操作過程):
Jam Player中調(diào)用該驅(qū)動時,在buffer中只提供TMS和TDI信號,如圖5(a)所示。根據(jù)硬件設(shè)計,系統(tǒng)使用的是S3C24lO的GPB端口的7、8、9、10引腳,GPB數(shù)據(jù)寄存器(GPBDAT)的結(jié)構(gòu)如圖5(b)所示。所以將buffer[0]的內(nèi)容寫到GPBDAT寄存器時,需要左移7位;讀取TDO信號時,僅需返回第10位數(shù)據(jù)。
4.2.4 JTAG在線配置的性能和時間
由于使用JTAG配置不支持配置信息的壓縮形式,JTAG配置的時間只與目標芯片的型號有關(guān),而與具體應(yīng)用無關(guān)。我們在PC系統(tǒng)中已驗證:一個源程序為10行的與門操作應(yīng)用和一個源程序超過6 000行的IEEE802.16物理層實現(xiàn)的應(yīng)用,在QuartusII中使用JTAG下載時,下載配置的時間相同。
根據(jù)上述嵌入式系統(tǒng)設(shè)計,Jam Player運行在基于S3C2410處理器的Linux環(huán)境中,時鐘頻率為200 MHz,一次配置EP2C70的時間約為70 s。在相同的Jam Player運行環(huán)境下,盡管不同應(yīng)用的Jam文件的大小不同,其配置時間是一樣的。要減少配置時間,可以有3種方法:一是提高運行Jam Player系統(tǒng)的CPU速率;二是修改JamPlayer源程序的代碼,使其執(zhí)行效率更高;三是根據(jù)自身系統(tǒng)設(shè)計,在滿足JTAG引腳時序的前提下,減少驅(qū)動程序的延時操作。
結(jié) 語
本設(shè)計實現(xiàn)了一種基于ARM處理器的、在嵌入式Linux系統(tǒng)下通過FPGA的JTAG接口對其進行在線配置的方案。該方法設(shè)計簡單,只需將JTAG的4個必需引腳連接;成本低廉,無需額外的配置芯片和設(shè)備(如AlteraEPC系列和EPCS系列);使用靈活,通過ARM對FPGA進行在線配置;系統(tǒng)無需重啟就可動態(tài)更新FPGA應(yīng)用。在我們的實驗系統(tǒng)環(huán)境中,一次配置的時間約為70s。
參考文獻:
[1].EP2C70datasheethttp://www.dzsc.com/datasheet/EP2C70_1438351.html.
[2].Devicedatasheethttp://www.dzsc.com/datasheet/Device_1397784.html.
fpga相關(guān)文章:fpga是什么
評論