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));