現(xiàn)場(chǎng)可編程門陣列(FPGA)與模數(shù)轉(zhuǎn)換器(ADC)輸出的接口是一項(xiàng)常見的工程設(shè)計(jì)挑戰(zhàn)。本文簡(jiǎn)要介紹各種接口協(xié)議和標(biāo)準(zhǔn),并提供有關(guān)在高速數(shù)據(jù)轉(zhuǎn)換器實(shí)現(xiàn)方案中使用LVDS的應(yīng)用訣竅和技巧。 ?
接口方式和標(biāo)準(zhǔn)
現(xiàn)場(chǎng)可編程門陣列(FPGA)與模數(shù)轉(zhuǎn)換器(ADC)數(shù)字?jǐn)?shù)據(jù)輸出的接口是一項(xiàng)常見的工程設(shè)計(jì)挑戰(zhàn)。此外,ADC使用多種多樣的數(shù)字?jǐn)?shù)據(jù)樣式和標(biāo)準(zhǔn),使這項(xiàng)挑戰(zhàn)更加復(fù)雜。對(duì)于通常在200 MHz以下的低速數(shù)據(jù)接口,單倍數(shù)據(jù)速率(SDR) CMOS非常普遍:發(fā)送器在一個(gè)時(shí)鐘沿傳送數(shù)據(jù),接收器在另一個(gè)時(shí)鐘沿接收數(shù)據(jù)。這種方式可確保數(shù)據(jù)有充足的時(shí)間完成建立,然后由接收器采樣。在雙倍數(shù)據(jù)速率(DDR) CMOS中,發(fā)送器在每一個(gè)時(shí)鐘沿都會(huì)傳送數(shù)據(jù)。
因此,在相同的時(shí)間內(nèi),它傳輸?shù)臄?shù)據(jù)量是SDR的兩倍。然而,接收器正確采樣的時(shí)序更加復(fù)雜。 并行低壓差分信號(hào)(LVDS)是高速數(shù)據(jù)轉(zhuǎn)換器的常見標(biāo)準(zhǔn)。它采用差分信號(hào),每一位均有P線和N線;在最新的FPGA中,其速度可達(dá)DDR 1.6 Gbps或800 MHz。并行LVDS的功耗低于CMOS,但所需的線數(shù)則是CMOS的兩倍,因而布線可能比較困難。
LVDS常常用在具有“源同步”時(shí)鐘系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換器中,不過這并不是LVDS標(biāo)準(zhǔn)的一部分。在這種設(shè)置中,時(shí)鐘與數(shù)據(jù)同相,并且與數(shù)據(jù)一同發(fā)送。這樣,接收器就能使用該時(shí)鐘更輕松地捕捉數(shù)據(jù),因?yàn)樗F(xiàn)在知道數(shù)據(jù)傳輸何時(shí)發(fā)生。 FPGA邏輯的速度一般跟不上高速轉(zhuǎn)換器的總線速度,因此大多數(shù)FPGA具有串行器/解串器(SERDES)模塊,用以將轉(zhuǎn)換器端的快速、窄帶串行接口轉(zhuǎn)換為FPGA端的慢速、寬帶并行接口。針對(duì)總線中的每個(gè)數(shù)據(jù)位,此模塊輸出2、4或8位,但以?、?或1/8的時(shí)鐘速率輸出,從而有效地將數(shù)據(jù)解串。
數(shù)據(jù)由FPGA內(nèi)部的寬總線處理,其速度遠(yuǎn)低于連接到轉(zhuǎn)換器的窄總線。 LVDS信號(hào)標(biāo)準(zhǔn)也用于串行鏈路,大部分是用在高速ADC上。當(dāng)引腳數(shù)量比接口速度更重要時(shí),通常使用串行LVDS。常常使用兩個(gè)時(shí)鐘:數(shù)據(jù)速率時(shí)鐘和幀時(shí)鐘。并行LVDS部分提到的所有考慮同樣適用于串行LVDS。并行LVDS不過是由多條串行LVDS線組成。 I2C使用兩條線:時(shí)鐘和數(shù)據(jù)。它支持總線上的大量器件,而無需額外的引腳。I2C相對(duì)較慢,考慮協(xié)議開銷,速度為400 kHz至1 MHz。它通常用在慢速、小尺寸器件上。I2C也常常用作控制接口或數(shù)據(jù)接口。
SPI使用3到4條線:
時(shí)鐘
數(shù)據(jù)輸入和數(shù)據(jù)輸出(4線),或者雙向數(shù)據(jù)輸入/數(shù)據(jù)輸出(3線)
片選(每個(gè)非主機(jī)器件使用一條線)
可用片選線有多少,SPI就能支持多少器件。它的速度可達(dá)約100 MHz,通常用作控制接口和數(shù)據(jù)接口。 串行PORT (SPORT)是一種基于CMOS的雙向接口,每個(gè)方向使用一個(gè)或兩個(gè)數(shù)據(jù)引腳。對(duì)于非%8分辨率,其可調(diào)字長(zhǎng)能夠提高效率。SPORT支持時(shí)域復(fù)用(TDM),通常用在音頻/媒體轉(zhuǎn)換器和高通道數(shù)轉(zhuǎn)換器上。它提供每引腳約100 MHz的性能。 Blackn處理器支持SPORT,F(xiàn)PGA上可直接實(shí)現(xiàn)SPORT。SPORT一般僅用于數(shù)據(jù)傳輸,但也可以插入控制字符。 JESD204是一種JEDEC標(biāo)準(zhǔn),用于單一主機(jī)(如FPGA或ASIC等)與一個(gè)或多個(gè)數(shù)據(jù)轉(zhuǎn)換器之間的高速串行鏈路。最新規(guī)格提供每通道或每差分對(duì)最高3.125 Gbps的速度。未來的版本可能提供6.25 Gbps及更高的速度。通道采用8B/10B編碼,因而通道的有效帶寬降為理論值的80%。時(shí)鐘嵌入在數(shù)據(jù)流中,因此沒有額外的時(shí)鐘信號(hào)。多個(gè)通道可以結(jié)合在一起以提高吞吐量,數(shù)據(jù)鏈路層協(xié)議確保數(shù)據(jù)完整性。在FPGA/ASIC中,為實(shí)現(xiàn)數(shù)據(jù)幀傳輸,JESD204需要的資源遠(yuǎn)遠(yuǎn)多于簡(jiǎn)單的LVDS或CMOS。它顯著降低了接線要求,不過要求使用更昂貴的FPGA,PCB布線也更加復(fù)雜。
圖1?FPGA接口中的SERDES模塊和轉(zhuǎn)換器的高速串行接口 ? ?
一般建議
進(jìn)行ADC與FPGA的接口設(shè)計(jì)時(shí),下列一般建議會(huì)有所幫助。
使用接收器、FPGA或ASIC的外部電阻終端,而不要使用FPGA內(nèi)部終端,以免不匹配引起反射,致使超出時(shí)序預(yù)算。
如果系統(tǒng)使用多個(gè)ADC,請(qǐng)勿使用某個(gè)ADC的某個(gè)DCO。
布設(shè)連接到接收器的數(shù)字走線時(shí),請(qǐng)勿采用大量“轉(zhuǎn)接”(tromboning)來使所有走線保持等長(zhǎng)。
利用CMOS輸出端的串聯(lián)終端降低邊沿速率并限制開關(guān)噪聲。確認(rèn)所用的數(shù)據(jù)格式(二進(jìn)制補(bǔ)碼或偏移二進(jìn)制)正確。
采用單端CMOS數(shù)字信號(hào)時(shí),邏輯電平以大約1 V/nS的速度移動(dòng),典型輸出負(fù)載為10 pF(最大值),典型充電電流為10 mA/位。應(yīng)采用盡可能小的容性負(fù)載,使充電電流最小。這可以利用盡可能短的走線僅驅(qū)動(dòng)一個(gè)門來實(shí)現(xiàn),最好沒有任何過孔。在數(shù)字輸出端和輸入端使用阻尼電阻,也可以使充電電流最小。 阻尼電阻和容性負(fù)載的時(shí)間常數(shù)應(yīng)為采樣速率周期的大約10%。如果時(shí)鐘速率為100 MHz,負(fù)載為10 pF,則該時(shí)間常數(shù)應(yīng)為10 nS的10%,即1 nS。這種情況下,R應(yīng)為100 Ω。為獲得最佳信噪比(SNR)性能,1.8 V DRVDD優(yōu)于3.3 VDRVDD。然而,當(dāng)驅(qū)動(dòng)大容性負(fù)載時(shí),SNR性能會(huì)下降。CMOS輸出支持最高約200 MHz的采樣時(shí)鐘速率。如果驅(qū)動(dòng)兩個(gè)輸出負(fù)載,或者走線長(zhǎng)度大于1或2英寸,建議使用緩沖器。
圖2 典型CMOS數(shù)字輸出驅(qū)動(dòng)器 ADC數(shù)字輸出應(yīng)小心對(duì)待,因?yàn)樗矐B(tài)電流可能會(huì)耦合回模擬輸入端,導(dǎo)致ADC的噪聲和失真提高。 圖2所示的典型CMOS驅(qū)動(dòng)器能夠產(chǎn)生很大的瞬態(tài)電流,尤其是驅(qū)動(dòng)容性負(fù)載時(shí)。對(duì)于CMOS數(shù)據(jù)輸出ADC,必須采取特別措施以使這些電流最小,不致于在ADC中產(chǎn)生額外的噪聲和失真。 ?
典型示例
圖3 利用串聯(lián)電阻使CMOS數(shù)字輸出的充電電流最小 圖3顯示了一個(gè)16位并行CMOS輸出ADC的情況。每路輸出有一個(gè)10pF負(fù)載,用以模擬一個(gè)門負(fù)載加上PCB寄生電容;當(dāng)驅(qū)動(dòng)10 pF負(fù)載時(shí),各驅(qū)動(dòng)器產(chǎn)生10 mA的充電電流。因此,該16位ADC的總瞬態(tài)電流可能高達(dá)16 × 10 mA = 160 mA。在各數(shù)據(jù)輸出端增加一個(gè)小串聯(lián)電阻R,可以抑制這些瞬態(tài)電流。應(yīng)適當(dāng)選擇該電阻的值,使RC時(shí)間常數(shù)小于總采樣周期的10%。如果fs = 100 MSPS,則RC應(yīng)小于1 ns。C = 10 pF,因此最佳的R值約為100 Ω。選擇更大的R值可能會(huì)降低輸出數(shù)據(jù)建立時(shí)間性能,并干擾正常的數(shù)據(jù)捕捉。CMOS ADC輸出端的容性負(fù)載應(yīng)以單個(gè)門負(fù)載為限,通常是一個(gè)外部數(shù)據(jù)捕捉寄存器。任何情況下都不得將數(shù)據(jù)輸出端直接連到高噪聲數(shù)據(jù)總線,必須使用一個(gè)中間緩沖寄存器,使ADC輸出端的直接負(fù)載最小。
圖4 典型LVDS驅(qū)動(dòng)器設(shè)計(jì) 圖4顯示了CMOS中的一個(gè)標(biāo)準(zhǔn)LVDS驅(qū)動(dòng)器。標(biāo)稱電流為3.5 mA,共模電壓為1.2 V。因此,當(dāng)驅(qū)動(dòng)一個(gè)100 Ω差分終端電阻時(shí),接收器各輸入的擺幅為350 mV p-p,這相當(dāng)于700 mV p-p的差分?jǐn)[幅。這些數(shù)值來源于LVDS規(guī)范。
圖5 ANSI和IEEE LVDS標(biāo)準(zhǔn) LVDS標(biāo)準(zhǔn)有兩個(gè):一個(gè)由ANSI制定,另一個(gè)由IEEE制定。雖然這兩個(gè)標(biāo)準(zhǔn)類似且大致兼容,但并不完全相同。圖5比較了這兩個(gè)標(biāo)準(zhǔn)的眼圖和抖動(dòng)直方圖。IEEE標(biāo)準(zhǔn)LVDS的擺幅為200 mV p-p,低于ANSI標(biāo)準(zhǔn)的320 mV p-p,這有助于節(jié)省數(shù)字輸出的功耗。因此,如果IEEE標(biāo)準(zhǔn)支持目標(biāo)應(yīng)用及與接收器的連接,建議使用IEEE標(biāo)準(zhǔn)。
圖6 ANSI和IEEE LVDS標(biāo)準(zhǔn):走線超過12英寸 圖6比較了走線長(zhǎng)度超過12英寸或30厘米情況下的ANSI和IEEE LVDS標(biāo)準(zhǔn)。兩幅圖中,驅(qū)動(dòng)電流均采用ANSI版標(biāo)準(zhǔn)。右圖中,輸出電流加倍,這可以凈化眼圖并改善抖動(dòng)直方圖。 ?
圖7 FR4通道損耗的影響 圖7顯示了長(zhǎng)走線對(duì)FR4材料的影響。左圖顯示了發(fā)送器端的理想眼圖。在距離40英寸的接收器端,眼圖幾乎閉合,接收器難以恢復(fù)數(shù)據(jù)。 ?
故障排除技巧
ADC丟失第14位
圖8 AD9268 ADC丟失第14位 圖8中,數(shù)據(jù)位的VisualAnalog數(shù)字顯示表明,第14位從未跳變。這可能說明器件、PCB或接收器有問題,或者無符號(hào)數(shù)據(jù)不夠大,無法使最高有效位跳變。 ADC丟失第14位時(shí)的頻域曲線
圖9 AD9268 ADC丟失第14位時(shí)的頻域曲線 圖9顯示了上述數(shù)字?jǐn)?shù)據(jù)(其中第14位未跳變)的頻域視圖。該圖說明,第14位有意義,系統(tǒng)中的某個(gè)地方發(fā)生錯(cuò)誤。 ADC丟失第14位時(shí)的時(shí)域曲線
圖10 AD9268 ADC丟失第14位時(shí)的時(shí)域曲線 圖10為相同數(shù)據(jù)的時(shí)域曲線。它不是一個(gè)平滑的正弦波,數(shù)據(jù)發(fā)生偏移,波形中多個(gè)點(diǎn)處有明顯的尖峰。 ADC的第9位和第10位短接在一起
圖11 AD9268 ADC的第9位和第10位短接在一起 圖11所示不再是丟失一位的情況,而是兩位短接在一起,因此對(duì)于這兩個(gè)引腳,接收器始終接收到相同的數(shù)據(jù)。 ADC第9位和第10位短接在一起時(shí)的頻域曲線
圖12 AD9268 ADC的第9位和第10位短接在一起時(shí)的頻域曲線 圖12顯示了兩位短接在一起時(shí)的頻域視圖。雖然基頻音非常清楚,但噪底顯著低于預(yù)期。噪底失真的程度取決于短接哪兩位。 ADC第9位和第10位短接在一起時(shí)的時(shí)域曲線
圖13 AD9268 ADC的第9位和第10位短接在一起時(shí)的時(shí)域曲線 在圖13所示的時(shí)域圖中,問題相對(duì)不明顯。雖然在波峰和波谷處損失了一些平滑度,但當(dāng)采樣速率接近波形頻率時(shí),這是常見現(xiàn)象。 數(shù)據(jù)和時(shí)鐘時(shí)序無效時(shí)的時(shí)域曲線
圖14 AD9268數(shù)據(jù)和時(shí)鐘時(shí)序無效時(shí)的時(shí)域曲線 圖14顯示了一個(gè)因建立/保持問題而導(dǎo)致時(shí)序無效的轉(zhuǎn)換器的情況。上述錯(cuò)誤一般會(huì)在數(shù)據(jù)的每個(gè)周期中出現(xiàn),而時(shí)序錯(cuò)誤則不然,通常并不是持續(xù)存在。不太嚴(yán)重的時(shí)序錯(cuò)誤可能是間歇性的。這些圖顯示了不符合時(shí)序要求的數(shù)據(jù)捕捉的時(shí)域和頻域曲線。注意,各周期的時(shí)域錯(cuò)誤并不一致。還應(yīng)注意FFT/頻域的噪底有所提高,這通常表示有一位丟失,原因可能是時(shí)序?qū)R錯(cuò)誤。 數(shù)據(jù)和時(shí)鐘時(shí)序無效時(shí)的放大時(shí)域曲線
圖15 AD9268數(shù)據(jù)和時(shí)鐘時(shí)序無效時(shí)的放大時(shí)域曲線 圖15是圖14所示時(shí)域時(shí)序誤差的放大圖。同樣應(yīng)注意,各周期的錯(cuò)誤并不一致,但某些錯(cuò)誤會(huì)重復(fù)。例如,該圖中有多個(gè)周期的谷底上出現(xiàn)負(fù)尖峰。 聲明: ? 本文轉(zhuǎn)載自網(wǎng)絡(luò),如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)與工作人員微信(in0723mango)聯(lián)系,我們將在第一時(shí)間和您對(duì)接刪除處理! 投稿/招聘/廣告/課程合作/資源置換?請(qǐng)加微信:13237418207
FPGA開發(fā)流程:詳解每一環(huán)節(jié)的物理含義和實(shí)現(xiàn)目標(biāo)
編輯:黃飛
評(píng)論
查看更多