通常情況下,模擬輸入信號通過高速ADC的量化輸出的數(shù)字信號需要交給FPGA進行處理。如果高速ADC采用LVDS輸出,那么經(jīng)量化處理過的數(shù)字信號將會有非常多的LVDS數(shù)據(jù)差分對。而LVDS數(shù)據(jù)接收端,接收到的LVDS差分數(shù)據(jù)對相互之間可能會存在非常小的一個時間差異,該時間差異往往是皮秒級別的,而隨著高速ADC采樣率的提升,目前大多數(shù)的高速ADC采樣速率已經(jīng)達到GSPS級別。
因此皮秒級別的時間差異也會對采集到的數(shù)據(jù)產(chǎn)生影響。這種情況的發(fā)生,往往可能是由于LVDS數(shù)據(jù)差分對走線長度的不匹配所造成的,這種數(shù)據(jù)傳輸中的時間差異對于高速數(shù)據(jù)傳輸來說,可能會造成某些數(shù)據(jù)位的值發(fā)生變化,這就相當于向FPGA提供了錯誤的ADC數(shù)據(jù)。
因此,無論是在高速ADC芯片的測試評估還是在其應用當中,對這些數(shù)據(jù)傳輸所造成的時間差異均要進行預先的處理。
數(shù)據(jù)傳輸差異的處理
對于數(shù)據(jù)傳輸?shù)臅r間差異可以有兩種方式來解決,一種方法是通過ADC本身的LVDS特性來改變LVDS數(shù)據(jù)傳輸?shù)难舆t,這通常與LVDS的輸出時鐘有關。另外一種方法是使用FPGA內(nèi)部的延遲功能來實現(xiàn)。
ADC內(nèi)部延遲
對于ADC的LVDS數(shù)據(jù)輸出,可以通過ADC內(nèi)部集成的某些控制來改變輸出時鐘沿,從而達到傳輸延遲的目的。這種方式,不能做到有選擇的對特定的LVDS數(shù)據(jù)差分對進行專門的延遲,但是,只是改變輸出時鐘沿是可行的。這將有助于改變所有LVDS數(shù)據(jù)差分對相互之間的傳輸時間關系。
FPGA內(nèi)部延遲
另一種解決數(shù)據(jù)傳輸時間差異的方式,是通過調(diào)節(jié)FPGA內(nèi)部的延遲特性,F(xiàn)PGA對于每個LVDS差分對都有一個延遲單元。FPGA中有稱之為IDELAY的一個延遲單元,它可以來用對每個LVDS數(shù)據(jù)差分對分別進行延遲調(diào)節(jié)。FPGA的IDELAY非常靈活,可以在ADC輸出到FPGA之間的任何一對LVDS差分對之間進行調(diào)節(jié)。同樣,由ADC本身所帶來的LVDS數(shù)據(jù)差分對的時間偏離,也可以通過FPGA的IDELAY延遲單元來進行補償。
IDELAY延遲單元的使用并不是必須的,除非板卡設計和布局并沒有進行數(shù)據(jù)對的長度匹配。
Pattern功能檢查數(shù)據(jù)傳輸錯位
為了進行設置和保持時間的驗證,系統(tǒng)設計人員可以采用測試模式來生成可以在FPGA中驗證的特定Pattern。在測試模式下,可以使用用戶自定義的Pattern對每個上升沿和下降沿進行位翻轉。這是用來測試FPGA和ADC的LVDS數(shù)據(jù)接口之間傳輸狀況的最好方法。
這種測試方法確定了ADC和FPGA之間傳輸?shù)暮脡摹H绻麥y試模式數(shù)據(jù)傳輸完美的匹配每個時鐘周期的測試pattern的位翻轉,那么對于實際輸入的設置和保持時間即是可信的。如果測試模式通過,則可以認為ADC的LVDS數(shù)據(jù)和FPGA之間的傳輸是合適的。
數(shù)據(jù)傳輸?shù)恼{(diào)整
在pattern測試模式下,生成的眼圖的連續(xù)的。因此,任何一個眼圖窗口都可以用來對數(shù)據(jù)傳輸進行校準。
FPGA內(nèi)部的IDELAY單元可以對輸出傳輸進行微調(diào),以防止由于PCB的走線或FPGA本身代碼編譯時的時間約束,造成的數(shù)據(jù)線之間的傾斜。
對于大多數(shù)高速ADC來說,測試pattern和數(shù)字化輸入數(shù)據(jù)都來自同一個LVDS串行模塊,這個模塊可以維護輸出時鐘和輸出數(shù)據(jù)之間的時間關系,因此,測試pattern和正常輸入的數(shù)字化數(shù)據(jù)之間沒有什么差異。但是,如果由于板卡走線,造成輸出數(shù)據(jù)行之間有一定數(shù)量的耦合。那么,如果測試pattern和實際輸入信號量化的數(shù)據(jù)不同于輸出翻轉的pattern,時間可能會略有不同。
數(shù)據(jù)傳輸調(diào)整的基準
通常情況下,每一個ADC的LVDS數(shù)據(jù)差分對都可以用來作為數(shù)據(jù)傳輸調(diào)整的基準,并以此作為其他LVDS數(shù)據(jù)差分對的參照來進行微調(diào)。
由于數(shù)據(jù)傳輸?shù)牟町?,測試pattern生成的眼圖并不一定會是從一個完整的眼圖起始。因此,如果采用第一個眼圖來進行校準,可能會出現(xiàn)所有LVDS數(shù)據(jù)輸出差分對得窗口不相一致。所以,第二個眼圖窗口將會是建議的首選,該眼圖必然是完整的采樣窗口。
確定采樣窗口
通常情況下,每對LVDS差分數(shù)據(jù)的傳輸延遲相差不會太大,因此,我們只需要對第一對LVDS差分數(shù)據(jù)進行分析。如前文所述,第一個眼圖有可能是不完整的眼圖,因此,我們選擇第二個眼圖作為參考。
確定調(diào)整起始值
將第一對LVDS差分輸出的第二個眼圖的開始時間值作為參考,當作其他所有LVDS差分數(shù)據(jù)采樣窗口掃描的起始值,對所有的LVDS差分數(shù)據(jù)進行掃描。并與該參考值進行比對,計算出每對LVDS差分數(shù)據(jù)延遲值,并將該延遲通過IDELAY單元加在ADC的LVDS數(shù)據(jù)差分輸出和FPGA之間。
-
FPGA
+關注
關注
1650文章
22205瀏覽量
626787 -
數(shù)據(jù)傳輸
+關注
關注
9文章
2050瀏覽量
66891 -
adc
+關注
關注
100文章
6812瀏覽量
552042
原文標題:高速AD中的LVDS和FPGA
文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
無線數(shù)據(jù)傳輸模塊的實際應用
DMA進行數(shù)據(jù)傳輸和CPU進行數(shù)據(jù)傳輸的疑問
數(shù)據(jù)傳輸介質(zhì)
基于FPDP的高速數(shù)據(jù)傳輸系統(tǒng)設計

IDE數(shù)據(jù)傳輸模式
RAID卡的數(shù)據(jù)傳輸速度
數(shù)據(jù)傳輸,數(shù)據(jù)傳輸的工作方式有哪些?
數(shù)據(jù)傳輸速率是什么意思
差異數(shù)據(jù)傳輸有什么區(qū)別?
單端與差異數(shù)據(jù)傳輸到底有什么區(qū)別

評論