基于FPGA的LVDS高速差分板間接口應(yīng)用
隨著ADC器件性能和DSP處理能力的提高,板間數(shù)據(jù)傳輸需要更高的帶寬才能滿足應(yīng)用要求。以現(xiàn)在主流的工業(yè)CPCI總線為例,其傳輸帶寬最高為4 Gbit/s,而采用FDPD以及最新FDPDII標(biāo)準(zhǔn)的工業(yè)總線,最大傳輸帶寬也僅僅達(dá)到1.2 Gbit/s和3.2 Gbit/s,遠(yuǎn)遠(yuǎn)無法滿足寬帶接收機(jī)的傳輸接口帶寬要求。因此,數(shù)字接收機(jī)內(nèi)部的傳輸接口速率成為了有一個(gè)影響寬帶數(shù)字接收機(jī)性能的瓶頸。
近年來出現(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的板間傳輸接口,而總線寬度僅僅為23位。并且采用了速率可靈活調(diào)整的時(shí)鐘產(chǎn)生電路,可實(shí)現(xiàn)200、400和800 MHz的DDR速率,完成了PCB布線及基于Xilinx Vertex2和Vertex4 FPGA的DDR收、發(fā)器綜合設(shè)計(jì)。并成功應(yīng)用在采用了55351―1259和54457-1258通用接插件的AD9218 ADC采集板與4處理器ADSP TS201數(shù)字信號處理板構(gòu)成的通用信號處理系統(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從而滿足不同速率ADC數(shù)據(jù)流量傳輸,關(guān)于DCM的配置方法下文有詳細(xì)描述。
兩個(gè)FIFO為FPGA內(nèi)部的blockRAM軟FIFO,是為了緩存來自ADC采集的數(shù)據(jù)。
傳輸控制邏輯是為了產(chǎn)生對FIFO、ODDR以及各個(gè)傳輸控制信號,其內(nèi)部狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換圖如圖3。
data-tx為INCMOS2.5標(biāo)準(zhǔn)的單端控制信號,由該信號控制數(shù)據(jù)的傳輸與中止;ODDR模塊的作用是將來自于兩個(gè)FIFO的兩路SDR單速率信號,轉(zhuǎn)換為一路DDR信號。其內(nèi)部原理下文有專門介紹。
DDR同步時(shí)鐘clktx最高可由兩級DCM倍頻產(chǎn)生400MHz的數(shù)據(jù)傳輸始終,從而達(dá)到單路800 MHz的DDR數(shù)據(jù)速率。該時(shí)鐘信號通過LVDS驅(qū)動(dòng)器差分傳輸給接收端,作為接收同步時(shí)鐘。
板間接插器一共分配了24路LVDS差分傳輸通道,其中一路分配給同步時(shí)鐘clktx,剩下的23對均可作為數(shù)據(jù)傳輸用,因此可以達(dá)到800 MHz×23×1 bit=18.4 Gbit/s的接口速率。接收端原理圖如圖4。
接收端接收到由發(fā)送端傳輸來的DDR數(shù)據(jù)信號、DDR同步時(shí)鐘clktx以及數(shù)據(jù)同步信號dma一tx。
傳輸端控制邏輯根據(jù)dma tx信號使能DDR接收器IDDR以及后端的FIFO。
DDR信號經(jīng)過IDDR模塊后生成兩路普通數(shù)據(jù)信號D1out(9:0)和D2out(9:0),經(jīng)過數(shù)據(jù)轉(zhuǎn)換模塊轉(zhuǎn)換為32位浮點(diǎn)數(shù),供給接收FIFO。
后端的四片ADSP TS201 DSP芯片通過SDRAM接口或者64位通用總線訪問接收FIFO,提取AD采集的浮點(diǎn)數(shù)據(jù),完成快速測頻或者快速傅立葉變換等各種通用算法。
1.2 DDR信號產(chǎn)生電路:ODDR邏輯
DDR雙倍數(shù)據(jù)傳輸模式相較于SDR(singledma rate)在不改變時(shí)鐘信號前提下,可利用時(shí)鐘的雙沿(上升/下降沿)進(jìn)行數(shù)據(jù)采集傳輸,從而獲得接近于SDR兩倍的數(shù)據(jù)傳輸率,所以DDR技術(shù)優(yōu)勢顯而易見,既可以保持時(shí)鐘信號不變及電路穩(wěn)定性,又可較大幅度提高數(shù)據(jù)傳輸速率。
在發(fā)送端模塊中,核心部分為ODDR模塊,該模塊的作用在于將兩路SDR的數(shù)據(jù)率信號轉(zhuǎn)換為DDR信號,分別在上升沿和下降沿進(jìn)行傳輸。
ODDR模塊由兩個(gè)專用DDR寄存器和一個(gè)復(fù)用器組成,兩個(gè)寄存器采用反相時(shí)鐘輸入,且復(fù)用器模塊也由時(shí)鐘驅(qū)動(dòng)如圖5(a)。
系統(tǒng)接收端通過IDDR模塊將DDR信號分解為兩路普通速率信號輸出,由于在本應(yīng)用中傳輸?shù)腄DR信號,上升沿為一路AD采集的信號,下降沿為另外一路AD采集的信號,把數(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)傳輸信號,需要對FPGA的IO端口進(jìn)行配置,從而使綜合工具在FPGA布局布線流程中,將INDS驅(qū)動(dòng)器結(jié)合到IO端口上。
在發(fā)送端,應(yīng)在IO端口配置OBUFDS模塊(圖6)。
超級電容器相關(guān)文章:超級電容器原理
評論