基于DSP的FPGA配置方法研究與實(shí)現(xiàn)
2 硬件實(shí)現(xiàn)電路
2.1 硬件結(jié)構(gòu)
本文選用AD公司生產(chǎn)的ADSP-TS101這款芯片作為配置FPGA的主處理器。ADSP-TS101是一款極高性能的靜態(tài)超標(biāo)量處理器,同時(shí)支持浮點(diǎn)和定點(diǎn)處理,最高工作頻率為300 MHz,地址范圍4 GB,最大支持16MB的PROM。從地址的0x08000000~0xFFFFFFFF為外部存儲(chǔ)器空間的一部分,可以訪問獨(dú)立的外圍設(shè)備,完全可以滿足片外程序的尋址。為了完成配置FPGA的時(shí)序,需要DSP有靈活可控的引腳信號(hào)。而ADSP-TS101的4個(gè)標(biāo)志引腳信號(hào)FLAG3~FLAG0允許在ADSP-TS101和其他的設(shè)備之間傳遞位信號(hào)。任何一個(gè)標(biāo)志引腳既可以作為輸入也可以作為輸出,且ADSP -TS101的許多指令都可以以標(biāo)志引腳的輸入作為執(zhí)行條件,可以在多處理器和其他接口之間進(jìn)行高效的通信和同步。因此,可以將此4個(gè)管腳和FPGA進(jìn)行連接,模擬完成FPGA的配置時(shí)序。
存儲(chǔ)芯片選用Spansion公司的高性能FLASH芯片S29JL064H,最小訪問周期為55 ns,其可以配置成8M×8 b的存儲(chǔ)方式。而Virtex-Ⅱ系列FPGA的配置數(shù)據(jù)包括配置數(shù)據(jù)幀和配置寄存器數(shù)據(jù),配置寄存器數(shù)據(jù)都為40×32 b,即1 280 b,配置數(shù)據(jù)幀會(huì)因器件不同而有變化,對(duì)于XC2V1000器件來(lái)說(shuō),配置數(shù)據(jù)幀為4 082 592 b,總的配置數(shù)據(jù)不到4 Mb。所以,此存儲(chǔ)芯片完全可以滿足FPGA和DSP程序的存儲(chǔ)。對(duì)于FLASH存儲(chǔ)空間的劃分,采用一分為二的方法,DSP和FPGA程序各占一半空間。即,從地址0x00000~0x3FFFFF這4 MB空間用來(lái)存儲(chǔ)DSP程序,剩余的
4MB空間0x400000~0x7FFFFF存儲(chǔ)FPGA程序。本文引用地址:http://2s4d.com/article/149314.htm
系統(tǒng)的硬件結(jié)構(gòu)示意圖如圖1所示。由DSP的RD信號(hào)充當(dāng)FPGA的配置時(shí)鐘CCLK,F(xiàn)LAG0信號(hào)模擬FPGA的PROG_B信號(hào),F(xiàn)LAG1和FLAG2分別作為FPGA的DONE信號(hào)和BUSY信號(hào)的輸入。此系統(tǒng)在設(shè)計(jì)時(shí),采用了DSP,F(xiàn)PGA,F(xiàn)LASH共用數(shù)據(jù)總線的方式,所以當(dāng)DSP從FLASH芯片中讀取FPGA的加載數(shù)據(jù)并出現(xiàn)在總線上的時(shí)候,可以直接被FPGA抓取來(lái)完成FPGA程序的正常加載。
2.2 工作時(shí)序
系統(tǒng)上電后,DSP啟動(dòng)DMA通道0,從FLASH地址0開始,把一個(gè)256 word的程序塊傳送到內(nèi)部存儲(chǔ)器地址0x00~0xFF。然后,DSP開始從0x00執(zhí)行加載核,加載核將后續(xù)應(yīng)用代碼和數(shù)據(jù)加載至地址0xFF之后的內(nèi)部存儲(chǔ)器內(nèi)。最后,加載核啟動(dòng)一個(gè)256 word的DMA,使其自身被工作程序代碼覆蓋。至此,DSP即從地址0x00開始執(zhí)行工作程序。在工作程序中首先從FLASH存儲(chǔ)器中讀取FPGA的加載程序,并給出相應(yīng)的加載時(shí)序,完成FPGA程序加載。具體的工作時(shí)序,如圖2所示。
3 結(jié)語(yǔ)
隨著FPGA+DSP的系統(tǒng)結(jié)構(gòu)在電子設(shè)計(jì)領(lǐng)域中應(yīng)用的日益廣泛化,在不增加其它額外器件的前提下,依靠DSP模擬FPGA加載時(shí)序,對(duì)FPGA使用了被動(dòng)并行的配置方式。此方法在一定程度減少了設(shè)計(jì)冗余,實(shí)現(xiàn)了小型化和低成本。應(yīng)用于電路系統(tǒng)中,工作穩(wěn)定可靠,靈活高效。
評(píng)論