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