ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LVDS差分信号示波器实测指南:从探头选型到眼图分析

LVDS差分信号示波器实测指南:从探头选型到眼图分析 1. 为什么原理图看懂了板子还是点不亮画过LVDS接口的硬件工程师大概都有过这种体验原理图翻来覆去检查了七八遍差分对走线等长、阻抗控制、端接电阻一个不差PCB也按3W原则拉开了间距结果上电之后屏幕就是不出图。这时候如果还抱着原理图死磕基本等于缘木求鱼——问题大概率出在信号完整性上而信号完整性的问题只有示波器能告诉你答案。LVDS全称Low-Voltage Differential Signaling低电压差分信号是当前液晶屏、摄像头、工业相机、FPGA高速互联里最常见的一种物理层接口。它的核心思路很简单用一对线传一个信号一条走正相一条走反相接收端取两者的差值来判断逻辑0和1。理论上差分传输对共模噪声有天然的抑制能力所以能跑得很快、传得很远。但“理论上”这三个字恰恰是坑最多的地方。我写这篇东西的目的很直接把用示波器实测LVDS差分信号这件事从探头怎么选、示波器怎么设、波形怎么读、异常怎么判断一步步讲清楚。适合已经能看懂LVDS原理图、但一上示波器就发懵的硬件工程师也适合做FPGA的LVDS收发调试、或者用RK3566这类主控点屏时遇到问题的朋友。看完之后你至少能做到拿起探头就知道该测哪里看到波形就知道问题出在发送端、传输线还是接收端。2. 测LVDS之前先把这几件事想明白2.1 LVDS差分信号到底长什么样很多人第一次测LVDS看到示波器上两条线各自在0.3V到1.4V之间跳差值大概350mV第一反应是“这信号怎么这么小”。没错LVDS的摆幅就是这么小。标准LVDS的差分电压Vod典型值是350mV共模电压Vcm典型值是1.2V。也就是说正相线在1.2V上下摆动±175mV反相线反着摆两条线的交叉点就在1.2V附近。这个特性决定了你测LVDS时最关心的不是单根线的绝对电压而是两条线之间的差值。单端探头一根一根测你只能看到两条各自跳动的波形还得自己脑补差值差分探头直接给你差值波形一眼就能看出眼图质量。所以如果条件允许优先用差分探头。但现实情况是差分探头贵很多实验室不一定有。那用两个单端探头做数学运算行不行可以但有前提两个探头的延迟必须匹配地线要尽量短否则算出来的差值波形会失真。我试过用两个普通无源探头测LVDS结果算出来的差分波形上升沿明显变缓后来换成两个同型号的有源探头才勉强能用。所以如果只能用单端探头尽量选同品牌同型号的并且把探头的地线弹簧换掉鳄鱼夹减少环路面积。2.2 示波器带宽和采样率怎么选LVDS的速率范围很宽从几十Mbps到几Gbps都有。液晶屏常用的LVDS一般是7倍时钟的数据速率比如时钟频率50MHz数据速率就是350Mbps。FPGA的LVDS收发可能跑到800Mbps甚至更高。选示波器带宽有个经验公式带宽 ≥ 信号基频的3到5倍。注意这里说的是基频不是数据速率。对于350Mbps的LVDS基频大概是175MHz所以带宽至少要有525MHz保险起见选1GHz。如果示波器带宽不够你看到的上升沿会被严重平滑眼图闭合误判成信号质量问题。采样率方面至少要满足奈奎斯特采样定理的5倍以上。350Mbps的信号采样率建议2GSa/s以上。很多入门级示波器标称1GSa/s测低速LVDS勉强够用但测高速信号就力不从心了。我手头一台老款DSO138带宽只有200kHz测LVDS完全是开玩笑连时钟都看不到。所以别拿玩具示波器测LVDS至少得是主流品牌的入门级数字示波器比如Rigol DS1000系列或者Siglent SDS1000系列起步。2.3 探头怎么选、怎么接测LVDS的探头选择直接决定了你看到的是真实波形还是“艺术创作”。差分探头当然最好但价格摆在那里。如果只能用单端探头记住三个原则第一用有源探头不用无源探头。无源探头的输入电容通常在10pF以上接上去之后对LVDS这种高速信号就是加载效应波形会变差。有源探头输入电容可以做到1pF以下对信号影响小得多。第二地线要短。探头的地线鳄鱼夹大概有10cm长这个长度在几百MHz的频率下就是一个天线会引入大量噪声。换成地线弹簧长度控制在1cm以内波形会干净很多。第三两个探头要校准。用示波器的探头校准功能把两个单端探头的延迟对齐否则算出来的差分波形会有相位误差。注意测LVDS时千万不要把探头地线夹到差分对的任意一根线上那样会短路掉一半的信号。地线必须接到板子的GND。3. 手把手实操从接线到出波形3.1 找到测试点LVDS的测试点通常有三个位置可选发送端芯片输出引脚、传输线中间、接收端芯片输入引脚。这三个位置测出来的波形含义完全不同。发送端测的是驱动器输出反映的是芯片本身的驱动能力。如果这里波形就不好那问题在发送端可能是芯片配置不对、供电不稳、或者驱动器本身有问题。接收端测的是经过传输线之后的信号反映的是信号完整性的最终结果。如果发送端好、接收端差那问题在传输线上可能是阻抗不匹配、走线太长、或者端接电阻不对。传输线中间一般不测因为探头接上去会破坏传输线的阻抗连续性测出来的波形没有参考价值。我的习惯是先测发送端确认芯片输出正常再测接收端对比两者差异。如果发送端和接收端波形差不多说明传输线没问题如果差异明显就往传输线上找原因。3.2 示波器设置以Rigol DS1000系列为例设置步骤如下第一步通道设置。如果用的是差分探头直接接一个通道探头衰减比设成10:1或者100:1根据探头型号来。如果用两个单端探头接CH1和CH2两个通道的衰减比要一致。第二步垂直档位。LVDS差分摆幅只有350mV单端摆幅大概±175mV所以垂直档位设成100mV/div或者200mV/div比较合适。如果设成1V/div波形只有一点点看不清细节。第三步时基设置。根据LVDS的时钟频率来定。比如时钟50MHz周期20ns时基设成5ns/div屏幕上大概显示4个周期。如果想看眼图细节时基可以再快一点设成2ns/div。第四步触发设置。LVDS是差分信号触发源选差分通道或者其中一个单端通道都行。触发类型选边沿触发触发电平设在共模电压附近也就是1.2V左右。如果波形不稳定可以试试触发释抑Holdoff功能把释抑时间设成时钟周期的整数倍。第五步如果用的是两个单端探头打开示波器的数学运算功能选CH1-CH2得到差分波形。有些示波器直接有差分运算选项选上就行。3.3 实测波形分析接好线、设好示波器按一下Single键抓一帧波形下来。正常的LVDS差分波形应该长这样差分电压在350mV和-350mV之间跳变上升沿和下降沿对称交叉点在0V附近。单端波形则是两条线各自在1.2V上下摆动交叉点在1.2V。如果波形满足这几个条件说明信号质量基本OK。但实际测出来的波形往往没那么完美。下面几种异常波形是我在调试中经常遇到的第一种上升沿变缓。正常的LVDS上升沿应该在几百皮秒量级如果测出来上升沿有2ns甚至更长说明传输线的寄生电容太大或者驱动器驱动能力不足。这时候要检查走线是否太长、是否有过孔太多、端接电阻是否匹配。第二种过冲和下冲。波形在跳变之后出现明显的过冲说明阻抗不匹配能量反射回来了。这时候要检查传输线阻抗是否控制在100Ω端接电阻是否是100Ω。第三种共模电压偏移。正常的共模电压是1.2V如果测出来是1.5V或者0.9V说明发送端和接收端的共模电压不匹配可能是接收端没有正确偏置或者地电位不一致。第四种眼图闭合。如果抓很多帧波形叠加起来发现眼图的张开度很小说明抖动很大可能是时钟质量不好或者电源噪声太大。3.4 参数计算实例假设你测到一个LVDS时钟频率是65MHz数据速率是455Mbps。示波器带宽至少需要455Mbps对应的基频227.5MHz的3倍也就是682.5MHz所以选1GHz带宽的示波器。采样率至少需要455Mbps的5倍也就是2.275GSa/s所以选2.5GSa/s以上的示波器。垂直档位方面差分摆幅350mV如果想让波形占屏幕的3格每格大概117mV所以设成100mV/div。时基方面时钟周期是1/65MHz≈15.4ns如果想看4个周期屏幕宽度是61.5ns10格的话每格6.15ns所以设成5ns/div。触发电平设在共模电压1.2V触发类型选上升沿。如果波形不稳定把释抑时间设成15.4ns的整数倍比如30.8ns。4. 那些年我踩过的坑和排查技巧4.1 探头接地不良导致的假波形有一次测一个RK3566点LVDS屏的项目发送端波形怎么看怎么不对上升沿特别缓还有振铃。换了三个探头、调了半天示波器设置都没用。后来发现是探头地线夹没夹紧接触电阻太大导致地环路噪声串进来了。重新夹紧地线之后波形立刻干净了。这个坑的教训是测LVDS之前先用示波器自带的校准信号确认探头和地线没问题。如果校准信号都不干净那测什么都是白搭。4.2 差分对走线不等长导致的时序偏差还有一次FPGA的LVDS接收端一直报错但发送端波形看着挺好。后来用两个单端探头同时测差分对的两根线发现正相和反相的交叉点偏离了0V说明两根线到达接收端的时间不一致。查PCB发现差分对走线差了大概5mm对应的时间偏差大概是30ps虽然不大但在高速LVDS里已经足够导致接收端采样错误了。解决办法很简单在PCB上把差分对走线补等长。但如果是已经打样的板子就只能降速使用或者换用容错能力更强的接收芯片。4.3 电源噪声耦合到LVDS信号上LVDS的摆幅只有350mV电源上哪怕只有50mV的噪声耦合到信号上就是14%的误差。我遇到过好几次LVDS波形上叠加了周期性的纹波查来查去发现是开关电源的开关频率耦合进来的。解决办法是在LVDS驱动器的供电引脚旁边加一个1uF和0.1uF的退耦电容尽量靠近引脚放置。4.4 常见问题速查表现象可能原因排查方法解决措施差分波形上升沿缓传输线寄生电容大测发送端和接收端波形对比缩短走线、减少过孔、换低电容探头波形过冲/下冲阻抗不匹配检查端接电阻端接100Ω电阻、控制走线阻抗共模电压偏移收发端地电位不一致测两端GND之间的电压差加共模扼流圈、统一地平面眼图闭合抖动大测时钟质量和电源噪声优化时钟源、加退耦电容波形有周期性纹波电源噪声耦合测电源纹波加退耦电容、换LDO供电接收端报错但发送端正常差分对不等长测两根线的延迟差补等长、降速使用4.5 几个容易被忽略的细节第一个细节示波器的输入阻抗。大多数示波器的输入阻抗是1MΩ但LVDS传输线的阻抗是100Ω。探头接上去之后相当于在100Ω的传输线上并联了一个1MΩ的负载影响不大。但如果用的是50Ω输入阻抗的示波器那就相当于并联了一个50Ω的负载会严重拉低信号幅度。所以测LVDS时示波器输入阻抗要设成1MΩ。第二个细节探头的带宽。探头带宽必须大于示波器带宽否则探头会成为瓶颈。比如示波器是1GHz带宽探头至少也要1GHz。我见过有人用100MHz的无源探头测500Mbps的LVDS测出来的波形完全不能用。第三个细节触发模式。测LVDS时建议用Normal触发模式不用Auto。Auto模式下示波器会不断自动调整触发电平波形会跳来跳去看不清细节。Normal模式下触发电平固定波形稳定。第四个细节如果测的是多路LVDS比如3路RGB接口转LVDS要注意各路之间的 skew。用多通道示波器同时抓多路波形对比各路之间的延迟差。如果skew太大接收端可能会采样错误。5. 从波形到结论怎么判断信号能不能用测到波形之后怎么判断这个LVDS信号能不能用我的经验是看三个指标眼高、眼宽、抖动。眼高就是眼图张开的高度对应的是差分电压的裕量。如果眼高小于200mV说明噪声裕量不足接收端可能会误判。眼宽就是眼图张开的宽度对应的是时序裕量。如果眼宽小于时钟周期的50%说明时序裕量不足。抖动分为随机抖动和确定性抖动。随机抖动是热噪声引起的服从高斯分布理论上无界但实际上可以用BER误码率来衡量。确定性抖动是周期性噪声、占空比失真等引起的有界。如果总抖动超过眼宽的20%说明信号质量堪忧。具体怎么测眼图很多中高端示波器自带眼图模板测试功能直接选LVDS模板示波器会自动统计眼高、眼宽、抖动并给出通过/不通过的结果。如果没有眼图功能可以手动抓多帧波形叠加目测眼图的张开度。我个人的经验是如果眼高大于250mV、眼宽大于时钟周期的60%、抖动小于眼宽的15%这个LVDS信号基本可以放心用。如果达不到这个标准就要找原因优化。6. 进阶FPGA的LVDS收发调试要点如果你是用FPGA做LVDS收发除了上面说的信号完整性问题还有几个FPGA特有的坑。第一个坑IO标准配置。FPGA的LVDS收发需要正确的IO标准配置比如Xilinx的LVDS_25、LVDS_33Altera的LVDS。如果IO标准配错了要么不工作要么波形异常。配置的时候要注意Bank电压和VREF电压是否匹配。第二个坑内部端接。很多FPGA的LVDS接收器内置100Ω端接电阻但需要手动使能。如果忘了使能接收端就没有端接信号会反射。在约束文件里加上端接使能的配置就行。第三个坑时钟约束。LVDS的时钟和数据之间有时序关系需要在FPGA的约束文件里正确设置input delay和output delay。如果约束不对时序分析会报错实际跑起来也不稳定。第四个坑如果MCU没有USB差分信号数据引脚怎么办。这个问题其实和LVDS无关但热词里出现了顺便说一句USB差分信号需要专用的USB PHY如果MCU没有可以用外置的USB转串口芯片或者用GPIO模拟低速USB但高速USB基本不可能用GPIO模拟。7. 工具和耗材清单最后列一下我测LVDS常用的工具和耗材供参考示波器Rigol DS1000系列或Siglent SDS1000系列起步带宽至少500MHz采样率至少2GSa/s差分探头如果预算允许买一个差分探头比如Micsig DP10013性价比不错有源单端探头如果只能用单端探头选输入电容小于2pF的有源探头地线弹簧替换鳄鱼夹减少地环路校准件示波器自带的校准信号就行端接电阻100Ω用于验证传输线端接退耦电容1uF和0.1uF用于电源退耦这套配置下来入门级大概几千块专业级几万块。如果只是偶尔测一下LVDS可以找实验室借用没必要自己买。我在实际调试中发现很多LVDS的问题其实不是信号本身的问题而是测量方法的问题。探头没接好、示波器没设对、测试点选错了都会导致误判。所以每次测LVDS之前先花五分钟检查探头和示波器设置比事后花五小时排查问题划算得多。
返回列表