FPGA+DSP的高速通信接口設計與實現
摘要:在雷達信號處理、數字圖像處理等領域中,信號處理的實時性至關重要。由于FPGA芯片在大數據量的底層算法處理上的優(yōu)勢及DSP芯片在復雜算法處理上的優(yōu)勢,DSP+FPGA的實時信號處理系統(tǒng)的應用越來越廣泛。ADI公司的TigerSHARC系列DSP芯片浮點處理性能優(yōu)越,DSP的DSP+FPGA處理系統(tǒng)正廣泛應用于復雜的信號處理領域。同時在這類實時處理系統(tǒng)中,FPGA與DSP芯片之間數據的實時通信至關重要。
TigerSHARC系列DSP芯片與外部進行數據通信主要有兩種方式:總線方式和鏈路口方式。鏈路口方式更適合于FPGA與DSP之間的實時通信。隨著實時信號處理運算量的日益增加,多DSP并行處理的方式被普遍采用,它們共享總線以互相映射存儲空間,如果再與FPGA通過總線連接,勢必導致FPGA與DSP的總線競爭。同時采用總線方式與FPGA通信,DSP的地址、數據線引腳很多,占用FPGA的I/O引腳資源太多。而采用鏈路口通信不但能有效緩解DSP總線上的壓力,而且傳輸速度快,與FPGA之間的連線相對也少得多,故鏈路口方式更適合于FPGA與DSP之間進行實時數據通信。
1 TS101和TS201的鏈路口分析與比較
TS101和TS210都是高性能的浮點處理芯片,目前兩者都廣泛應用于復雜的信號處理領域。TS201是繼TS101之后推出的新型芯片,核時鐘最高可達600MHz,其各類性能也相對優(yōu)于TS101,而且TS201的鏈路口采用了低壓差分信號LVDS技術,功耗更低、抗噪聲性能更好。表1列出了兩種芯片鏈路口性能的詳細比較,其中TS101核時鐘工作在250MHz,TS201核時鐘工作在500MHz。
由于TS101收發(fā)端共用一個通道,所以只能實現半雙工通信。而TS201將收發(fā)端做成兩個獨立通道,可實現全雙工通信,理論上數據的傳輸速率可以提高一倍。雖然TS201的鏈路口收發(fā)通道獨立,但實際上二者的收發(fā)機制大體相同,都是靠收發(fā)緩存和移位寄存器收發(fā)數據。然而FPGA內部的鏈路口設計不必拘泥于此,只要符合鏈路口通信協(xié)議并達成通信即可。
2 FPGA與DSP的鏈路口通信
2.1 鏈路口通信協(xié)議分析
TS101的鏈路口共有11根引腳,通過8根數據線(LxDAT[7..0],這里x可以是0、1、2或3,代表TS101或TS201的0號-3號鏈路口中的一個,以下同)進行數據傳輸,并采用3根控制線(LxCLKOUT、LxCLKIN、LxDIR)來控制數據傳輸時鐘、通信的握于和數據傳輸方向。其中LxDIR為通知鏈路口當前工作狀態(tài)是接收或發(fā)送的輸出引腳,可懸空不用。TS201的鏈路口共24根引腳,接收和發(fā)送各12根引腳,通過LVDS形式的數據線(LxDAT_P/N[3..0])和時鐘線(LxCLK_P/N)進行數據傳輸,并采用LxACK和LxBCMP#(‘#’代表信號低有效)來通知接收準備好和數據塊傳輸結束。
采用FPGA與DSP通過鏈路口通信的關鍵是令雙方通信的握手信號達成協(xié)議,促使數據傳輸的進行。實際上,如果考慮TS201的LVDS信號形式已經被轉換完畢,則TS101和TS201鏈路口傳輸的數據形式是一樣的,都是時鐘雙沿觸發(fā)的DDR數據,并且每次傳輸的數據個數都是4個長字(即128bit)的整數倍。鑒于以上兩種芯片鏈路口數據的共同點,所以采用FPGA與兩類芯片通信時,接收和發(fā)送的數據緩存部分的設計應該是很相近的,只是通信握手信號部分的設計應當分別加以考慮。下面分別給予介紹。
2.2 基于FPGA的TS101鏈路口設計
圖1給出了FPCA與TS101進行半雙工鏈路口通信的設計(對LxCLKOUT、LxCLKIN均以FPCA的角度來敘述),該接口由接收、控制和發(fā)送三部分組成。本設計FPGA時鐘為40MHz,TS101核時鐘上作在250MHz,鏈路口時鐘設定為DSP核時鐘的8分頻,FPGA與DSP的實際數據傳輸率為62.5MBps。
fpga相關文章:fpga是什么
通信相關文章:通信原理
評論