基于FPGA的高速DMUX設(shè)計
關(guān)鍵詞:數(shù)據(jù)分路器;信號完整性;模數(shù)轉(zhuǎn)換器;現(xiàn)場可編程門陣列
l 引言
隨著信號速率和帶寬的提高,信號采集的速率也相應(yīng)地不斷提高。如今模數(shù)轉(zhuǎn)換器的速率已經(jīng)達到1 GS/s。甚至2 GS/s。高速模數(shù)轉(zhuǎn)換器輸出數(shù)據(jù)流速率為赫茲千兆比特,會增加后端存儲器和數(shù)據(jù)處理器件的設(shè)計難度,因此降速分流成為解決這一問題的必要方法。
2 降速分流的方法
降速分流通常有兩種實現(xiàn)方案:一是使用DMUX專用集成器件,另一種是在FPGA上實現(xiàn)DMUX。
一般地說,這兩種方式都能很好地實現(xiàn)降速分流,在性能上并無優(yōu)劣之分。但是從整個系統(tǒng)考慮,第二種方式相對優(yōu)于第一種方式,原因如下:
(1)由于工藝方面的限制,DMUX專用集成器件工作模式比較單一,且不能改變。通常DMUX專用集成器件如TS81102(Atmel公司)可以實現(xiàn)1:8模式(將數(shù)據(jù)速率降為原先的1/8,并給出8路輸出)或者1:4模式(將速率降為原先的1/4,并給出4路輸出)。
(2)DMUX專用集成器件輸出的數(shù)據(jù)速率越低,其輸出占用的數(shù)據(jù)線就越多,而要減少數(shù)據(jù)線,其數(shù)據(jù)速率又會相應(yīng)提高,因此無論其采用何種工作模式,PCB設(shè)計難度都很大。
(3)DMUX專用集成器件功耗大(平均要高于5W),要使其正常工作,電源供電和散熱問題會增加設(shè)計成本和設(shè)計難度。
(4)DMUX專用集成器件屬于特殊芯片,不容易購買。
因此選用另一種方式來代替DMUX專用集成器件顯得很必要。
基于Altera公司FPGA就可以實現(xiàn)DMUX的功能。其最大的優(yōu)勢在于存儲模塊和數(shù)據(jù)處理模塊可以同時在FPGA中實現(xiàn),相比較DMUX專用集成器件+FPGA這樣的設(shè)計系統(tǒng)來說,結(jié)構(gòu)上簡化很多,而信號完整性卻在很大程度上得到提高。
下面就以1:8工作模式為例,對兩種方式的設(shè)計方案進行比較。
圖l所示是采用DMUX專用集成器件的設(shè)計方案。模擬信號經(jīng)過高速ADC轉(zhuǎn)換后,輸出高速率的8位數(shù)據(jù)和l位時鐘Clkl,這些信號經(jīng)過DMUX分流后再形成8路64位的數(shù)據(jù)和l位時鐘Clk2(此時鐘降為原先的1/8)。隨后FPGA用Clk2來采樣這些64位數(shù)據(jù),再在控制信號的控制下處理這些數(shù)據(jù)。
利用FPGA實現(xiàn)DMUX后,就可以將DMUX和FPGA整合到一起,如圖2所示。
與圖1相比,圖2在PCB設(shè)計上省略了DMUX和FPGA之間的64位數(shù)據(jù)線和1位時鐘線,而這些數(shù)據(jù)線和時鐘線通常會高于100 MHz,所以對PCB布線任何考慮不周都會造成信號完整性的嚴(yán)重下降。在圖2中,DMUX在FPGA內(nèi)直接實現(xiàn),這可以在很大程度上提高設(shè)計的成功率,關(guān)鍵就是看FP-GA能不能接收ADC的8位高速數(shù)據(jù)和1位高速時鐘。而實際上FPGA確實可以做到,下面就對其實現(xiàn)的各個方面分別加以介紹。
3 基于FPGA的DMUX實現(xiàn)的關(guān)鍵
3.1 器件的選擇
要在FPGA中實現(xiàn)DMUX,F(xiàn)PGA必須具備兩個條件:一是多個高速差分接收端口;二是FastDPLL(快速數(shù)字鎖相環(huán))。許多FPGA都能滿足此要求,如Xilinx的Virtex4、Virtex Pro系列,Altera的Stratix系列(Stratix GX、StratixⅡ和Stratix)。它們在應(yīng)用上各有特色,下面僅以Altera的Stratix系列為例來說明實現(xiàn)方式。
3.2 引腳的配置
要接收ADC的高速數(shù)據(jù)和時鐘輸出,必須將這些信號引腳配置到高速差分接收引腳上。但并不是所有的差分引腳都能作為高速差分接收引腳。數(shù)據(jù)接收引腳一般定義為DIFFIO_RX_P、DIF-FIO_RX_N,時鐘接收引腳一般定義為CLK_DIF-FIO_RX__P、CLK_DIFFIO_RX_N。
在引腳的設(shè)置位置上也有一定的要求,如Stratix GX器件只可以在BANKl、2的差分引腳上實現(xiàn);Stratix Ⅱ器件只可以在BANK3、4、7、8的差分引腳上實現(xiàn);而Stratix器件可以在BANKl、2、5、6的差分引腳上實現(xiàn)。如果接收ADC信號的引腳不是配置在這些引腳上,那么就不能在FPGA內(nèi)實現(xiàn)DMUX來接收這些高速信號。
對于時鐘引腳,也要配置在這些BANK的專用時鐘引腳上。如果有多個這樣的時鐘引腳可供選擇,則應(yīng)當(dāng)選擇那些Cload(負(fù)載電容)更小的引腳,這對于提高數(shù)據(jù)的接收速率很有幫助。
3.3 軟件設(shè)置
3.3.1 FPGA片上阻抗的實現(xiàn)
接收模數(shù)轉(zhuǎn)換器輸出的高速差分線一般都需要終端阻抗匹配,如果這些終端匹配電阻都依靠片外電阻實現(xiàn),就會增加PCB布局布線的難度和降低接收的信號完整性。FPGA的差分接收端口一般都帶有差分片上阻抗匹配,如圖3所示。
阻抗(RD)在100 Ω~170 Ω之間,其典型值為135 Ω,接近于差分線的差分阻抗。依靠這些片上匹配電阻,則不需要再外接電阻,并且會達到比外接電阻更好的效果。
軟件方面只需設(shè)置終端阻抗為Differential。
3.3.2 FPGA高速差分接收模塊的實現(xiàn)
在FPGA上主要是通過調(diào)用altlvds模塊來接收ADC輸出的高速差分?jǐn)?shù)字信號,如圖4所示。
altlvds模塊內(nèi)集成有Fast DPLL,通過它可以以45為一級精確地調(diào)整輸入時鐘沿與數(shù)據(jù)之間的關(guān)系,從而保證建立和保持時間能夠滿足要求。
altlvds模塊還利用輸入時鐘對輸入數(shù)據(jù)進行雙沿采集,將其轉(zhuǎn)換為并行的多路數(shù)據(jù)。
其輸入數(shù)據(jù)的通道數(shù)和分路比也可以通過軟件靈活設(shè)置。設(shè)置的接收數(shù)據(jù)通道數(shù)最多為44通道(受限于FPGA的高速差分接收引腳數(shù)),最多可設(shè)置的分路比為1:10模式。
此外,此模塊上可以設(shè)置接收的最高數(shù)據(jù)速率為840 Mb/s,最高接收時鐘為420 MHz。
3.4 軟件仿真
在Quartus Ⅱ中進行DMUX后的仿真結(jié)果如圖5所示,輸入數(shù)據(jù)(idata)為800 MHz,輸入時鐘(in-clk)為400 MHz。從仿真波形上可以看到,雖然輸出的數(shù)據(jù)不是對得很準(zhǔn),但是輸出的時鐘(kaniclkp)可以保證能夠完整地接收數(shù)據(jù)。
將輸入數(shù)據(jù)(idata)改為l 000 MHz,輸入時鐘(inclk)改為500 MHz,其仿真結(jié)果仍然不錯。
3.5 PCB設(shè)計
要使FPGA能夠很好地接收模數(shù)轉(zhuǎn)換器的輸出信號,首先應(yīng)該保證它們之間布線的差分阻抗?jié)M足要求。另外每對差分線要緊鄰并且近似等長。
此外要盡量將FPGA的高速差分接收引腳配置在FPGA的外圍,以保證模數(shù)轉(zhuǎn)換器和FPGA的連線上盡量沒有過孔。
PCB板材的選擇也很重要,要盡量保證它們之間的布線都布置在最外層,并且布線板層要盡量選介質(zhì)常數(shù)小的材料。
為了模塊中的內(nèi)部鎖相環(huán)能夠正常工作,還應(yīng)該將內(nèi)部鎖相環(huán)的供電電源與外部數(shù)字電源隔開。圖6中示出了一種電路連接方式,通過大電感將兩種電源隔開,再通過多個電容并聯(lián)濾波,以保證供給內(nèi)部鎖相環(huán)電源的穩(wěn)定性。
4 結(jié)束語
經(jīng)過實際測試,利用FPGA替代DMUX專用集成器件來接收模數(shù)轉(zhuǎn)換器輸出的信號,其接收的數(shù)據(jù)速率已經(jīng)超過1 Gb/s,高于器件資料上給定的840 Mb/s的最高速率,完全達到設(shè)計要求。
評論