基于FPGA的LVDS高速差分板間接口應(yīng)用
隨著ADC器件性能和DSP處理能力的提高,板間數(shù)據(jù)傳輸需要更高的帶寬才能滿(mǎn)足應(yīng)用要求。以現(xiàn)在主流的工業(yè)CPCI總線(xiàn)為例,其傳輸帶寬最高為4 Gbit/s,而采用FDPD以及最新FDPDII標(biāo)準(zhǔn)的工業(yè)總線(xiàn),最大傳輸帶寬也僅僅達(dá)到1.2 Gbit/s和3.2 Gbit/s,遠(yuǎn)遠(yuǎn)無(wú)法滿(mǎn)足寬帶接收機(jī)的傳輸接口帶寬要求。因此,數(shù)字接收機(jī)內(nèi)部的傳輸接口速率成為了有一個(gè)影響寬帶數(shù)字接收機(jī)性能的瓶頸。
近年來(lái)出現(xiàn)的LVDS具有高速、低功率、抗干擾性能好的特點(diǎn),非常適合于作為板間數(shù)據(jù)傳輸接口的標(biāo)準(zhǔn)。
本文基于圖1實(shí)現(xiàn)了一種基于LVDS差分傳輸技術(shù),采用DDR雙倍數(shù)據(jù)率技術(shù)進(jìn)一步提高了數(shù)據(jù)傳輸速率,使接口數(shù)據(jù)速率最高可達(dá)到18.4Gbit/s的板間傳輸接口,而總線(xiàn)寬度僅僅為23位。并且采用了速率可靈活調(diào)整的時(shí)鐘產(chǎn)生電路,可實(shí)現(xiàn)200、400和800 MHz的DDR速率,完成了PCB布線(xiàn)及基于Xilinx Vertex2和Vertex4 FPGA的DDR收、發(fā)器綜合設(shè)計(jì)。并成功應(yīng)用在采用了55351—1259和54457-1258通用接插件的AD9218 ADC采集板與4處理器ADSP TS201數(shù)字信號(hào)處理板構(gòu)成的通用信號(hào)處理系統(tǒng)上。
1 發(fā)送端與接收端系統(tǒng)設(shè)計(jì)
1.1 發(fā)送與接收系統(tǒng)框圖
傳輸接口原理圖如圖2。
其中clkO和clkl80兩路反相時(shí)鐘由FPGA內(nèi)部的DCM模塊將板載時(shí)鐘芯片產(chǎn)生的100 MHz時(shí)鐘倍頻產(chǎn)生,時(shí)鐘可靈活配置為100、200和400 MHz從而滿(mǎn)足不同速率ADC數(shù)據(jù)流量傳輸,關(guān)于DCM的配置方法下文有詳細(xì)描述。
兩個(gè)FIFO為FPGA內(nèi)部的blockRAM軟FIFO,是為了緩存來(lái)自ADC采集的數(shù)據(jù)。
傳輸控制邏輯是為了產(chǎn)生對(duì)FIFO、ODDR以及各個(gè)傳輸控制信號(hào),其內(nèi)部狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換圖如圖3。
data-tx為INCMOS2.5標(biāo)準(zhǔn)的單端控制信號(hào),由該信號(hào)控制數(shù)據(jù)的傳輸與中止;ODDR模塊的作用是將來(lái)自于兩個(gè)FIFO的兩路SDR單速率信號(hào),轉(zhuǎn)換為一路DDR信號(hào)。其內(nèi)部原理下文有專(zhuān)門(mén)介紹。
DDR同步時(shí)鐘clktx最高可由兩級(jí)DCM倍頻產(chǎn)生400MHz的數(shù)據(jù)傳輸始終,從而達(dá)到單路800 MHz的DDR數(shù)據(jù)速率。該時(shí)鐘信號(hào)通過(guò)LVDS驅(qū)動(dòng)器差分傳輸給接收端,作為接收同步時(shí)鐘。
板間接插器一共分配了24路LVDS差分傳輸通道,其中一路分配給同步時(shí)鐘clktx,剩下的23對(duì)均可作為數(shù)據(jù)傳輸用,因此可以達(dá)到800 MHz×23×1 bit=18.4 Gbit/s的接口速率。接收端原理圖如圖4。
接收端接收到由發(fā)送端傳輸來(lái)的DDR數(shù)據(jù)信號(hào)、DDR同步時(shí)鐘clktx以及數(shù)據(jù)同步信號(hào)dma一tx。
傳輸端控制邏輯根據(jù)dma tx信號(hào)使能DDR接收器IDDR以及后端的FIFO。
DDR信號(hào)經(jīng)過(guò)IDDR模塊后生成兩路普通數(shù)據(jù)信號(hào)D1out(9:0)和D2out(9:0),經(jīng)過(guò)數(shù)據(jù)轉(zhuǎn)換模塊轉(zhuǎn)換為32位浮點(diǎn)數(shù),供給接收FIFO。
后端的四片ADSP TS201 DSP芯片通過(guò)SDRAM接口或者64位通用總線(xiàn)訪(fǎng)問(wèn)接收FIFO,提取AD采集的浮點(diǎn)數(shù)據(jù),完成快速測(cè)頻或者快速傅立葉變換等各種通用算法。
1.2 DDR信號(hào)產(chǎn)生電路:ODDR邏輯
DDR雙倍數(shù)據(jù)傳輸模式相較于SDR(singledma rate)在不改變時(shí)鐘信號(hào)前提下,可利用時(shí)鐘的雙沿(上升/下降沿)進(jìn)行數(shù)據(jù)采集傳輸,從而獲得接近于SDR兩倍的數(shù)據(jù)傳輸率,所以DDR技術(shù)優(yōu)勢(shì)顯而易見(jiàn),既可以保持時(shí)鐘信號(hào)不變及電路穩(wěn)定性,又可較大幅度提高數(shù)據(jù)傳輸速率。
在發(fā)送端模塊中,核心部分為ODDR模塊,該模塊的作用在于將兩路SDR的數(shù)據(jù)率信號(hào)轉(zhuǎn)換為DDR信號(hào),分別在上升沿和下降沿進(jìn)行傳輸。
ODDR模塊由兩個(gè)專(zhuān)用DDR寄存器和一個(gè)復(fù)用器組成,兩個(gè)寄存器采用反相時(shí)鐘輸入,且復(fù)用器模塊也由時(shí)鐘驅(qū)動(dòng)如圖5(a)。
系統(tǒng)接收端通過(guò)IDDR模塊將DDR信號(hào)分解為兩路普通速率信號(hào)輸出,由于在本應(yīng)用中傳輸?shù)腄DR信號(hào),上升沿為一路AD采集的信號(hào),下降沿為另外一路AD采集的信號(hào),把數(shù)據(jù)分為虛實(shí)兩部,并且在后端DSP進(jìn)行并行處理,需要兩路SDR數(shù)據(jù)輸出具有相同的相位,采取如圖5(b)所示結(jié)構(gòu)。
1.3 LVDS輸出端口配置
Xilinx的Vertex系列FPGA均在IO端口集成了LVDS收發(fā)器。要采用LVDS差分標(biāo)準(zhǔn)傳輸信號(hào),需要對(duì)FPGA的IO端口進(jìn)行配置,從而使綜合工具在FPGA布局布線(xiàn)流程中,將INDS驅(qū)動(dòng)器結(jié)合到IO端口上。
在發(fā)送端,應(yīng)在IO端口配置OBUFDS模塊(圖6)。
1.4 DCM時(shí)鐘模塊配置
本設(shè)計(jì)當(dāng)中,傳輸端AD板與接收端DSP板上的FPGA外部時(shí)鐘均為100 MHz,為了使用靈活可配置的接口工作速率,均采用DCM模塊對(duì)時(shí)鐘進(jìn)行分頻/倍頻操作,可以將模塊工作時(shí)鐘在50~400 MHz進(jìn)行靈活配置。
發(fā)送端采用Xilinx VertexlI XCl500 FPGA,速度等級(jí)為一5,DCM最高工作時(shí)鐘為420 MHz,接收端采用Xinlin Vertex4 SX55 FPGA,速度等級(jí)為一11,DCM最高工作頻率為450 MHz,經(jīng)過(guò)驗(yàn)證,在400MHz下工作良好。
為了得到最高400 MHz的時(shí)鐘頻率,須采取級(jí)聯(lián)DCM的方法,由第一級(jí)DCM產(chǎn)生50~200 MHz時(shí)鐘信號(hào),第二級(jí)DCM產(chǎn)生200~400 MHz時(shí)鐘信號(hào),BUFGCE為帶使能端的全局時(shí)鐘buffer,通過(guò)它選通200 MHz時(shí)鐘才能使第二級(jí)DCM中的DLL成功鎖定。
級(jí)聯(lián)及反饋方式原理圖如圖8,均采用DCM-ADV實(shí)例。
第一級(jí)DCM例化參數(shù)如下,輸入100 MHz,輸出200 MH2,低速率模式:
值得注意的是,當(dāng)傳輸模塊配置在最高時(shí)鐘頻率下工作時(shí),需要對(duì)整個(gè)模塊進(jìn)行比較細(xì)致的約束,才能使各模塊之間的延遲不至于引起傳輸數(shù)據(jù)錯(cuò)誤。其中最關(guān)鍵的約束在于時(shí)鐘周期的全局約束以及對(duì)各個(gè)輸入輸出引腳的延時(shí)進(jìn)行約束。限于篇幅,具體的約束方法不予贅述。
2 實(shí)現(xiàn)結(jié)果
以下為ChipScope 9在線(xiàn)邏輯分析儀軟件捕捉的接收端波形。
Data為DDR輸入信號(hào);D1in、D2in為經(jīng)過(guò)IDDR模塊后從DDR信號(hào)中分離的兩路SDR普通信號(hào);Data tx為傳輸控制同步信號(hào),該信號(hào)有效時(shí),傳輸開(kāi)始;Wr en為傳輸控制邏輯生成的FIFO寫(xiě)使能信號(hào),因?yàn)镈lin、D2in信號(hào)須經(jīng)過(guò)定點(diǎn)轉(zhuǎn)浮點(diǎn)模塊后再送到FIFO,所以FIFO寫(xiě)使能需要比D1in D2in延后一個(gè)周期圖9用chipscope軟件在400 MHz采樣頻率下截取,此時(shí)傳輸接口工作在200 MHz時(shí)鐘頻率下,單線(xiàn)傳輸速率400MBit/s,接口工作速率為9.2 Gbit/s。
系統(tǒng)硬件平臺(tái)由AD采樣板和DSP板組成,通過(guò)高速接口互聯(lián)的平臺(tái)如圖10。
3 結(jié)語(yǔ)
本文在實(shí)現(xiàn)了一種高速的LVDS差分標(biāo)準(zhǔn)的板間數(shù)據(jù)接口,提出了具體的發(fā)送端與接收端系統(tǒng)框圖并最終在Xilinx FPGA器件上進(jìn)行了實(shí)現(xiàn),在圖10所示硬件平臺(tái)上工作情況良好,該硬件平臺(tái)的AD板為AD9218 105MSPS 10 bit采樣芯片和XilinxVertexII FPGA構(gòu)成,信號(hào)處理板為Xilinx Vertex4FPGA和4片ADSP TS201 DSP芯片構(gòu)成。
當(dāng)采用最高系統(tǒng)時(shí)鐘400 MHz時(shí),由于傳輸接口帶寬高達(dá)18.4 Gbit/s,使得高速AD和信號(hào)處理機(jī)之間不再有數(shù)據(jù)傳輸瓶頸,因此對(duì)于數(shù)字接收機(jī)性能,如瞬時(shí)覆蓋帶寬、實(shí)時(shí)性的影響全部來(lái)自于A(yíng)D轉(zhuǎn)換器件性能和信號(hào)處理機(jī)的計(jì)算速度,從而解決了寬帶數(shù)字接收機(jī)內(nèi)部的數(shù)據(jù)傳輸問(wèn)題。