基于FPGA+DSP+ARM的數(shù)據(jù)傳送總線變換器
3 硬件設(shè)計(jì)
3.1.1 DSP TMS320C6416 HPI描述
TMS320C6416集成有一個(gè)16/32 bit寬主機(jī)接口HPI,HPI通過(guò)復(fù)位時(shí)的自舉和器件配置引腳HD5選擇采用HPI16還是HPI32。HPI具有兩條地址線HCNTRL[1:0],負(fù)責(zé)對(duì)HPI的內(nèi)部寄存器進(jìn)行尋址。HPI只有3個(gè)32 bit內(nèi)部寄存器,分別是控制寄存器HPIC、地址寄存器HPIA和數(shù)據(jù)寄存器HPID。用戶只需對(duì)上述3個(gè)寄存器進(jìn)行相應(yīng)的讀寫(xiě)操作,就能完成對(duì)DSP內(nèi)存空間的訪問(wèn)。
3.1.2 S3C4510B與TMS320C6416的接口電路
由于S3C4510B中沒(méi)有完全符合TMS320C6416 HPI接口時(shí)序的外部接口可以直接使用,因此選用S3C4510B中時(shí)序最接近HPI接口時(shí)序的外部I/O接口與TMS320-
C6416進(jìn)行連接。TMS320C6416與S3C4510B接口電路如圖2所示。TMS320C6416與S3C4510B通過(guò)單獨(dú)的32 bit數(shù)據(jù)線HD0~HD31和8條控制線進(jìn)行連接。S3C4510B通過(guò)HPI接口訪問(wèn)DSP內(nèi)部的RAM以及其他外部資源。在整個(gè)ARM微處理器與DSP芯片通過(guò)HPI接口通信和數(shù)據(jù)交換的過(guò)程中,除了中斷ARM和清除ARM發(fā)過(guò)來(lái)的中斷需要DSP本身參與外,其他操作DSP都處于被動(dòng)的地位,幾乎不用進(jìn)行其他的操作。所以對(duì)于ARM來(lái)說(shuō),DSP系統(tǒng)單元就相當(dāng)于一片外接的SDRAM。
在TMS320C6416中,HPI、GP[15:9]、PCI、EEPROM、McBSP2共用了一組引腳,DSP在復(fù)位時(shí)通過(guò)鎖存PCI_EN和McBSP2_EN引腳的值來(lái)選擇使用何種外設(shè)。在該系統(tǒng)中,將這兩個(gè)使能引腳都拉低。
3.2 FPGA與DSP的接口電路
3.2.1 DSP TMS320C6416 EMIF描述
TMS320C6416對(duì)外有2個(gè)EMIF總線接口,分別是64 bit的EMIFA和16 bit的EMIFB。EMIFA接口具備與8、16、32、64 bit系統(tǒng)接口的功能,EMIFB接口端口支持8 bit和16 bit系統(tǒng)。EMIFA為64 bit存儲(chǔ)器總線,分成ACE0~ACE3 4個(gè)存儲(chǔ)空間,每個(gè)存儲(chǔ)空間可以獨(dú)立配置,無(wú)縫接口具有多種類(lèi)型的存儲(chǔ)器,如SRAM、Flash RAM和DDR RAM等。
3.2.2 FPGA與TMS320C6416的接口電路
在該系統(tǒng)中,采用DSP TMS320C6416 EMIFA接口連接到FPGA的方法實(shí)現(xiàn)DSP與FPGA Block RAM的無(wú)縫連接。FPGA的雙端Block RAM的一端以存儲(chǔ)器模式與DSP通信,另一端與內(nèi)部FPGA邏輯通信。
鑒于EMIF具有靈活的時(shí)序參數(shù),只需要極少的FPGA邏輯,因此,只需最低限度的設(shè)計(jì)工作,F(xiàn)PGA就可以用做DSP協(xié)處理器。圖3 所示為T(mén)MS320C6416與FPGA的接口電路。
評(píng)論