2、LVDS电气特性:电压摆幅、共模电压与终端匹配
好,咱们接着聊LVDS的电气特性。这部分内容,说白了就是搞清楚LVDS信号在物理层面上是怎么“说话”的。你想想看,如果连信号的电压范围、共模点、阻抗匹配这些基本参数都搞不清楚,那板子画出来大概率是要出问题的。
我个人习惯,在开始一个LVDS项目之前,一定会先把这几项参数吃透。因为它们是整个链路设计的基础,就像盖房子打地基一样,地基不稳,后面全是白费功夫。
2.1 电压摆幅:为什么是350mV?
LVDS的全称是Low-Voltage Differential Signaling,低电压差分信号。这个“低电压”指的就是它的电压摆幅很小,典型值是350mV。
什么叫电压摆幅?就是差分信号正端(P)和负端(N)之间的电压差。当P比N高350mV时,代表逻辑“1”;当N比P高350mV时,代表逻辑“0”。
你可能会问:为什么非得是350mV?大一点不行吗?
嗯,这里有个权衡。摆幅越大,信号抗噪声能力越强,但功耗也越大,而且电磁辐射(EMI)会更严重。LVDS的设计初衷就是低功耗、低EMI,所以选择了350mV这个值。我在一个项目中试过把摆幅调到400mV,结果EMI测试差点没过,后来老老实实改回来了。
关键点:LVDS的差分电压摆幅典型值为350mV,最小250mV,最大450mV。设计时请确保接收器的输入阈值能覆盖这个范围。
2.2 共模电压:1.2V的玄机
共模电压,指的是差分对两根线上电压的平均值。对于LVDS来说,这个值固定在1.2V左右。
为什么是1.2V?因为LVDS驱动器通常采用电流源驱动方式,电流源输出接一个3.5mA的恒流源,经过100Ω的终端电阻,产生350mV的压降。而电流源的输出共模点,自然就落在了1.2V附近。
我记得有一次调试一块板子,LVDS信号眼图总是张不开。查了半天,发现是共模电压漂到了1.4V。后来发现是电源纹波太大,把共模点给带偏了。所以,共模电压的稳定性直接决定了信号质量。
小技巧:在PCB布局时,LVDS差分对附近不要走大电流的电源线,避免共模电压被干扰。如果条件允许,可以在接收端加一个共模扼流圈(Common Mode Choke)。
2.3 差分阻抗:100Ω的匹配艺术
LVDS要求差分阻抗为100Ω。这个阻抗不是随便定的,它是为了匹配传输线的特性阻抗,从而消除信号反射。
你想想看,信号在PCB走线上传输,就像水在管道里流动。如果管道粗细突然变化,水就会产生回波。同样,如果走线的阻抗和终端电阻不匹配,信号就会反射,导致眼图闭合、误码率上升。
在实际PCB设计中,控制差分阻抗到100Ω需要精确计算。我一般会用阻抗计算工具(比如Polar SI9000)来算,然后跟板厂确认叠层结构。曾经有一次,我偷懒没算,直接用了默认的走线宽度,结果板子回来测试,阻抗只有85Ω,眼图惨不忍睹。
| 参数 | 典型值 | 范围 | 说明 |
|---|---|---|---|
| 差分阻抗 | 100Ω | 90Ω ~ 110Ω | PCB走线需精确控制 |
| 单端阻抗 | 50Ω | 45Ω ~ 55Ω | 差分对每根线对地阻抗 |
| 终端电阻 | 100Ω | ±1% 精度 | 必须靠近接收器放置 |
2.4 终端匹配电阻:不能省的关键元件
LVDS接收器的输入端,必须在差分对之间跨接一个100Ω的电阻。这个电阻的作用就是吸收信号能量,防止反射。
有些新手会问:能不能用两个50Ω电阻串联到地?答案是:不行。LVDS是电流驱动的,终端电阻必须跨接在P和N之间,而不是对地。如果对地接电阻,会破坏共模电压,导致接收器无法正常工作。
警告:终端电阻必须尽可能靠近接收器引脚放置,走线长度不要超过5mm。否则,残留的走线会引入额外的阻抗不连续,影响信号质量。
我曾经在一个项目中,因为终端电阻放得离接收器远了点(大概1cm),结果信号在电阻和接收器之间来回反射,产生了明显的过冲。后来把电阻挪到紧贴引脚,问题就解决了。
2.5 驱动器与接收器结构
LVDS的驱动器,本质上是一个恒流源加一个H桥结构。恒流源输出3.5mA电流,通过H桥的切换,决定电流流向,从而在终端电阻上产生正负350mV的压降。
接收器则是一个高输入阻抗的比较器。它比较P和N两端的电压差,如果差值为正,输出高电平;为负,输出低电平。接收器的输入阻抗很高(通常大于100kΩ),所以几乎不从线上抽取电流。
这里有个细节:接收器的输入共模范围是0V到2.4V。也就是说,即使共模电压有波动,只要在0~2.4V之间,接收器都能正确判断差分电压的极性。这个宽共模范围,是LVDS能在恶劣环境下工作的关键。
总结一下:
- 驱动器:3.5mA恒流源 + H桥,输出差分信号
- 接收器:高阻抗比较器,检测差分电压极性
- 终端电阻:100Ω,跨接在差分对之间,靠近接收器
嗯,电气特性这部分就讲到这里。你把这些参数记牢了,后面设计PCB和调试的时候,心里就有底了。下一节,咱们聊聊LVDS在FPGA中的具体实现,包括如何例化原语、如何约束时序。到时候我会拿一个实际项目中的例子来拆解,保证干货满满。