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