基于FPGA與ADSP TS201的總線(xiàn)接口設(shè)計(jì)方案
在雷達(dá)信號(hào)處理、數(shù)字圖像處理等領(lǐng)域中,信號(hào)處理的實(shí)時(shí)性至關(guān)重要。由于FPGA芯片在大數(shù)據(jù)量的底層算法處理上的優(yōu)勢(shì)及DSP芯片在復(fù)雜算法處理上的優(yōu)勢(shì),DSP+FPGA的實(shí)時(shí)信號(hào)處理系統(tǒng)的應(yīng)用越來(lái)越廣泛。ADI公司的TigerSHARC系列DSP芯片浮點(diǎn)處理性能優(yōu)越,故基于這類(lèi)DSP的DSP+FPGA處理系統(tǒng)正廣泛應(yīng)用于復(fù)雜的信號(hào)處理領(lǐng)域。同時(shí)在這類(lèi)實(shí)時(shí)處理系統(tǒng)中,F(xiàn)PGA與DSP芯片之間數(shù)據(jù)的實(shí)時(shí)通信至關(guān)重要。
TS201 DSP的外部總線(xiàn)接口有兩種協(xié)議:慢速協(xié)議和高速流水協(xié)議。流水線(xiàn)協(xié)議適合與快速同步設(shè)備連接,文中采用此協(xié)議,實(shí)現(xiàn)DSP與FPGA之間的通信。
1 DSP流水線(xiàn)協(xié)議
流水線(xiàn)協(xié)議用來(lái)提供流水線(xiàn)方式的數(shù)據(jù)傳輸。在該傳輸協(xié)議下,每個(gè)時(shí)鐘周期可以傳輸一個(gè)數(shù)據(jù)??刂屏魉€(xiàn)協(xié)議進(jìn)行數(shù)據(jù)傳輸?shù)闹饕盘?hào)包含以下引腳:
RD——數(shù)據(jù)傳輸讀信號(hào);
WRH和WRL——數(shù)據(jù)傳輸寫(xiě)信號(hào);
BRST——突發(fā)方式數(shù)據(jù)傳輸指示;
ADDR——地址總線(xiàn);
DATA——數(shù)據(jù)總線(xiàn)。
流水線(xiàn)協(xié)議數(shù)據(jù)傳輸有兩種方式:普通流水線(xiàn)協(xié)議和突發(fā)流水線(xiàn)協(xié)議。ADSP TS201的數(shù)據(jù)總線(xiàn)位寬可以通過(guò)SYSCON寄存器設(shè)置為32位或者64位,但是有時(shí)候需要傳輸?shù)臄?shù)據(jù)位寬可能是32位,64位或者128位,這樣就有可能出現(xiàn)數(shù)據(jù)總線(xiàn)位寬和數(shù)據(jù)位寬不一致的情況,如果總線(xiàn)位寬小于數(shù)據(jù)位寬,DSP采用突發(fā)流水協(xié)議傳輸,否則采用普通流水線(xiàn)協(xié)議。
1.1 普通流水線(xiàn)協(xié)議
圖1是DSP使用普通流水協(xié)議,寫(xiě)FPGA內(nèi)部寄存器時(shí)序圖,流水深度為1,在時(shí)鐘沿1地址線(xiàn)、WRx(WRH和WRL)同時(shí)有效,一個(gè)時(shí)鐘周期后,在時(shí)鐘沿2數(shù)據(jù)線(xiàn)有效,地址線(xiàn)、WRx無(wú)效。
1.2 突發(fā)流水線(xiàn)協(xié)議
因?yàn)閿?shù)據(jù)總線(xiàn)位寬小于數(shù)據(jù)位寬,那么它只能通過(guò)兩次傳輸來(lái)完成。但是如果DSP沒(méi)有任何指示信號(hào),F(xiàn)PGA并不知道當(dāng)前傳輸是高32位數(shù)據(jù),還是低32位數(shù)據(jù),這時(shí)候另外一個(gè)信號(hào)BURST就顯得尤為重要了。
引腳BRST可以用來(lái)指示多個(gè)傳輸過(guò)程合成一個(gè)傳輸過(guò)程,圖2是DSP通過(guò)32位數(shù)據(jù)總線(xiàn)寫(xiě)64位數(shù)據(jù)時(shí)序圖。
由圖2可以看出,數(shù)據(jù)傳輸機(jī)制與普通流水協(xié)議相同,只多了一個(gè)BRST指示信號(hào),它與地址1同時(shí)有效,表示本次數(shù)據(jù)沒(méi)有傳輸完畢,下次要傳輸?shù)臄?shù)據(jù)與本次傳輸?shù)臄?shù)據(jù)是一個(gè)整體,即BRST有效時(shí)傳輸是低32位數(shù)據(jù),無(wú)效時(shí)傳輸?shù)氖歉?2位數(shù)據(jù),這樣就實(shí)現(xiàn)了在32位數(shù)據(jù)總線(xiàn)上傳輸64位數(shù)據(jù),如果沒(méi)有BRST信號(hào),該過(guò)程會(huì)被認(rèn)為是2次32位傳輸。
同理,如果用32位數(shù)據(jù)總線(xiàn)傳輸128位數(shù)據(jù),在傳輸前3個(gè)32位數(shù)據(jù)的時(shí)候,BRST信號(hào)有效,傳輸最后一個(gè)32位數(shù)據(jù)BRST無(wú)效。
注意:使用流水協(xié)議時(shí),流水深度由傳輸類(lèi)型(讀數(shù)據(jù)還是寫(xiě)數(shù)據(jù))決定。在寫(xiě)數(shù)據(jù)傳輸中,流水深度固定為1;在讀數(shù)據(jù)傳輸中,流水線(xiàn)深度可由用戶(hù)編程決定,即由系統(tǒng)配置寄存器SYSCON決定,在1~4之間可變。
評(píng)論