1 LVDS概述
LVDS(Low Voltage Differential Signaling)是一種小振幅差分信號技術,它使用非常低的幅度信號(100Mv~450mV)通過一對平行的PCB走線或平衡電纜傳輸數據。在兩條平行的差分信號線上流經的電流及電壓振幅相反,噪聲信號同時耦合到兩條線上,而接受端只關心兩信號的差值,於是噪聲被抵消。由於兩條信號線周圍的電磁場也相互抵消,故差分信號傳輸比單線信號傳輸電磁輻射小得多。此外,該傳輸標准采用電流模式驅動輸出,不會產生振鈴和信號切換所帶來的尖峰信號,具有良好的EMI特性。由於LVDS差分信號技術降低了對噪聲的關注,所以可以采用較低的信號電壓幅度。這個特性非常重要,它使提高數據傳輸率和降低功耗成為可能。低驅動振幅意味着數據可更塊地反轉。由於驅動器是恆流源模式,功耗幾乎不會隨頻率而變化,而且單路的功耗非常低(LVDS25標准2mAx250mV=0.5mW)。
因此,采用這種技術后,只要保證一對平行傳輸線的長度足夠一致,並在接受端提供良好的匹配端接阻抗技術,以減小反射信號的產生,就可以提供非常高的數據傳輸率。目前,不用經行復雜和特殊的處理,提供840MHz的數據傳輸速率已經非常容易。
由於LVDS具有這些優良的特性,使得其應用越來越普及。特別是在器件與器件之間以及器件與板級之間的高速串行數據通信中,已作為首選的標准。目前,Xilinx FPGA的每個輸入輸出引腳都支持這種信號標准。
2 LVDS的使用
LVDS的發送和接受通常為點到點結構,如下圖所示:
在芯片與芯片之間交換數據時,傳統的應用是采用TTL,LVCMOS等單端接口標准,這種通信方式不僅易受干擾,而且數據傳輸率無法提高。如果要提高帶寬(數據傳輸速率),必須提供足夠的數據通道。這樣,不僅提高了系統成本,而且需要處理復雜和棘手的數據同步問題。然而,如果采用LVDS標准,可有效地解決這些問題。實現的方法是,利用可編程邏輯器件的特性,將寄存器的數據輸出經過串化處理,並由LVDS接口輸出,在接受端再將數據利用解串流程恢復,如下圖所示:
采用上述方法處理后,將原有的32條數據線變成了4對差分輸出線,並可達到或超過單端輸出的帶寬,且更容易實現,功率更低。
2x50MHz(單端輸出) = 4x400MHz(差分輸出)
在上述的應用中,需要注意的是隨路時鍾(同步控制時鍾)的處理。為了保證接收端時鍾與數據的同步,可以采用如下圖的時鍾方案。
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));