1 LVDS概述編程
LVDS(Low Voltage Differential Signaling)是一種小振幅差分信號技術,它使用很是低的幅度信號(100Mv~450mV)經過一對平行的PCB走線或平衡電纜傳輸數據。在兩條平行的差分信號線上流經的電流及電壓振幅相反,噪聲信號同時耦合到兩條線上,而接受端只關心兩信號的差值,因而噪聲被抵消。因爲兩條信號線周圍的電磁場也相互抵消,故差分信號傳輸比單線信號傳輸電磁輻射小得多。此外,該傳輸標準採用電流模式驅動輸出,不會產生振鈴和信號切換所帶來的尖峯信號,具備良好的EMI特性。因爲LVDS差分信號技術下降了對噪聲的關注,因此能夠採用較低的信號電壓幅度。這個特性很是重要,它使提升數據傳輸率和下降功耗成爲可能。低驅動振幅意味着數據可更塊地反轉。因爲驅動器是恆流源模式,功耗幾乎不會隨頻率而變化,並且單路的功耗很是低(LVDS25標準2mAx250mV=0.5mW)。工具
所以,採用這種技術後,只要保證一對平行傳輸線的長度足夠一致,並在接受端提供良好的匹配端接阻抗技術,以減少反射信號的產生,就能夠提供很是高的數據傳輸率。目前,不用經行復雜和特殊的處理,提供840MHz的數據傳輸速率已經很是容易。spa
因爲LVDS具備這些優良的特性,使得其應用愈來愈普及。特別是在器件與器件之間以及器件與板級之間的高速串行數據通訊中,已做爲首選的標準。目前,Xilinx FPGA的每一個輸入輸出引腳都支持這種信號標準。blog
2 LVDS的使用接口
LVDS的發送和接受一般爲點到點結構,以下圖所示:同步
在芯片與芯片之間交換數據時,傳統的應用是採用TTL,LVCMOS等單端接口標準,這種通訊方式不只易受干擾,並且數據傳輸率沒法提升。若是要提升帶寬(數據傳輸速率),必須提供足夠的數據通道。這樣,不只提升了系統成本,並且須要處理複雜和棘手的數據同步問題。然而,若是採用LVDS標準,可有效地解決這些問題。實現的方法是,利用可編程邏輯器件的特性,將寄存器的數據輸出通過串化處理,並由LVDS接口輸出,在接受端再將數據利用解串流程恢復,以下圖所示:class
採用上述方法處理後,將原有的32條數據線變成了4對差分輸出線,並可達到或超過單端輸出的帶寬,且更容易實現,功率更低。反射
2x50MHz(單端輸出) = 4x400MHz(差分輸出)方法
在上述的應用中,須要注意的是隨路時鐘(同步控制時鐘)的處理。爲了保證接收端時鐘與數據的同步,能夠採用以下圖的時鐘方案。im
ISE綜合工具能夠自動推論HDL代碼中的LVDS模塊,標準的可例化LVDS代碼以下。
1) 差分輸入時鐘緩衝器(IBUFDS)
IBUFDS instance_name (.O(user_O),
.I (user_I),
.IB(user_IB));
2)差分輸入的全局時鐘緩衝器(IBUFGDS)
IBUFGDS instance_name (.O(user_O),
.I (user_I),
.IB(user_IB));
3)差分輸出時鐘緩衝器(OBUFDS)
OBUFDS instance_name (.O(user_G),
.OB(user_OB),
.I(user_I));