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