尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

高速信号眼图测试实战指南:从示波器设置到信号完整性分析

高速信号眼图测试实战指南:从示波器设置到信号完整性分析 1. 为什么做眼图测试信号完整性的第一课做高速数字电路设计迟早会遇到信号完整性问题。简单说信号从发送端到接收端中间经过PCB走线、连接器、线缆幅度会衰减、边沿会变缓、噪声会叠加到了接收端可能已经面目全非。眼图测试就是把这串“面目全非”的数字信号用示波器画成一张像眼睛一样的图形让我们一眼看出信号质量够不够用。先说个基本概念数字信号在示波器上是波形一堆波形叠在一起就是眼图。之所以叫眼图是因为当示波器把无数个比特周期的波形叠加显示时中间会形成一个类似眼睛的闭合区域。这个“眼睛”睁得越大、越清晰说明信号质量越好眼睛眯成一条缝甚至闭合说明信号已经烂到没法看了。USB、HDMI、PCIe、DDR这类高速接口的信号完整性测试眼图都是必测项目。这篇内容我按自己的实操经验来写适合刚接触信号完整性测试的硬件工程师、测试工程师也适合做嵌入式开发但被高速信号困扰的人。我会从示波器怎么选、眼图是怎么形成的、参数怎么读、掩码测试怎么做、常见问题怎么排查这几个维度展开尽量把每一步都讲透。你不需要有很深的示波器基础只要会用示波器看波形跟着操作一遍就能上手。2. 眼图背后的原理一堆波形叠在一起能看出什么2.1 从时域波形到眼图的形成过程眼图的形成原理并不复杂。假设你测的是一个串行数据信号比如1.5Gbps的LVDS差分信号示波器如果以数据率对应的周期为触发周期把每一次扫过的波形都叠加在屏幕上你就会看到一群波形轮廓。因为信号在0和1之间随机跳变把大量比特周期的波形叠在一起就会形成一个类似眼睛的图案。具体来说示波器会把一个UIUnit Interval单位间隔内的所有波形截取出来并叠放。一个UI就是一个比特的时长例如1.5Gbps对应的UI约为666.7ps。在这个UI内波形有从0到1的上升沿、从1到0的下降沿、保持高电平的区域和保持低电平的区域再加上可能存在的过冲、振铃、噪声和抖动最终展现在屏幕上就是“眼睛”的形状。眼睛的上下两条水平边对应高低电平的分布左右两侧交叉的斜边对应上升沿和下降沿的分布中间空白的菱形区域就是“眼睛”。如果信号完全理想眼图会是一个标准矩形但现实中受噪声和抖动影响眼图的边沿是模糊的、发散的。发散程度越大说明信号质量越差。这里有个关键点眼图是统计意义上的图形测试时间越长、叠加的波形越多眼图越能真实反映信号的长期特性。所以测试时不要测几秒钟就结束至少要让它跑几万个UI以上。2.2 时钟恢复眼图测试的核心机制眼图测试不能简单用示波器内部时钟触发因为串行数据是随机变化的没有固定的时钟信号和你选择的触发点对齐。示波器必须从数据信号本身恢复出一个时钟再以这个时钟为参考来叠加波形才能形成稳定的眼图。这个过程叫时钟恢复Clock Recovery。现代示波器处理眼图的方式是软件时钟恢复先从采集的长波形中提取数据边沿用锁相环算法从这些边沿恢复出时钟再按恢复的时钟把波形切分成一个个UI并叠加。这里有几个参数需要你关心PLL带宽、环路带宽、数据率、阈值电平。PLL带宽决定了恢复时钟的跟踪速度带宽太窄会滤掉真实的低频抖动带宽太宽会把噪声也当抖动跟踪进去导致测出的眼图过于悲观或乐观实际项目里要按协议规定的滤波器带宽来设置。如果示波器没有软件时钟恢复功能也可以用外部时钟触发或者用示波器内部的时钟恢复模块但精度和灵活性不如软件处理。我做DDR测试时习惯用示波器的软件时钟恢复功能配合数据率自动设置测出来的眼图一致性很好。顺带一提示波器的采样率和存储深度直接影响软件时钟恢复的效果采样率不够边沿细节被抹平眼图会显得比实际更差。2.3 眼图指标眼高、眼宽、抖动与交叉点眼图不是“看着像眼睛就行”它有严格的量化指标。最常用的几个是眼高Eye Height眼睛上下两条水平边之间的最小垂直距离单位是mV反映信号幅度余量。眼高越大接收端区分0和1越容易。眼宽Eye Width眼睛左右两条斜边之间的最小水平距离单位是ps或UI反映信号时间余量。眼宽越大采样时刻的选择越宽松。抖动Jitter边沿位置的不确定性单位是ps或UI眼宽变窄的根源通常就是抖动过大。交叉点Crossing Point上升沿和下降沿交点处的电平通常以百分比表示。对于差分信号交叉点应在50%附近偏离过多说明信号存在占空比失真或共模问题。这些参数一起决定了“眼图余量”够不够。眼高和眼宽综合在一起可以计算出一个叫做“眼图模板余量”的概念如果实际眼图能完全包住协议规定的模板区域并且还有富余那就说明信号质量合格。后面讲掩码测试时再细说。3. 测试前的准备示波器与探头选型3.1 示波器带宽和采样率怎么定眼图测试对示波器有硬性要求不是随便一台就能测准。核心指标有两个模拟带宽和采样率。模拟带宽决定示波器能不失真地测量多快的信号。一般认为示波器带宽至少应该是被测信号最高频率的3到5倍。对于数字信号最高频率不是数据率本身而是信号的上升沿对应的等效带宽。经验公式是带宽 0.35 / 上升时间10%-90%。如果信号的上升时间指标是100ps那等效带宽就是3.5GHz加上至少3倍的裕量示波器带宽应该选10GHz以上才靠谱。实际项目里测USB 2.0480Mbps上升沿约200ps至少要1GHz带宽的示波器测PCIe Gen38Gbps则需要13GHz以上带宽这个差距是很大的。采样率则决定了示波器能否准确捕捉边沿细节。按照奈奎斯特定理采样率至少要大于信号最高频率的两倍但实测中为了保证眼图的垂直和水平精度采样率通常要超过带宽的4倍。比如2.5GHz带宽的示波器采样率一般做到20GSa/s甚至更高。选示波器时带宽和采样率要一起看很多入门示波器标称100MHz带宽、1GSa/s采样率这种配置只能测低速信号测不了千兆位级的高速信号。3.2 探头的阻抗匹配和连接方式探头选错示波器再好也白搭。眼图测试一般用两种探头有源差分探头和无源探头。差分信号如USB、HDMI必须用差分探头否则你测不到真实的差分波形测到的只是单端信号无法评估共模噪声等关键参数。差分探头的共模抑制比CMRR会影响测试精度优质探头在高频段的CMRR能做到-20dB以下劣质探头在几百MHz就开始劣化。探头阻抗匹配是个容易被忽略的环节。多数有源差分探头是50欧姆差分输入阻抗直接接入被测信号端。而无源探头通常是1M欧姆输入阻抗配10倍衰减档位使用测量高频信号时会因为负载效应和接地引线电感导致波形失真。接入测试点时探头前端的地线尽量短理想情况是把探头直接焊在测试点上而不是用长地线夹子。地线越长测到的振铃和过冲越夸张那个“振铃”可能根本不是信号本身的特性而是探头地线电感造成的伪影。3.3 测试环境与连接器的影响眼图测量还有一个常被忽略的点测试夹具。如果你在连接器末端测量夹具的阻抗不连续、过孔寄生电容、连接器本身的损耗都会影响测量结果。严谨的做法是先在PCB设计时规划好测试点预留差分测试焊盘或SMA连接器测试时把探头接入测试座如果不是这样测出的眼图和实际接收端的信号质量往往有差距。4. 手把手实操示波器眼图测试全流程4.1 清零和校准探头的偏置与延迟校正拿到示波器和探头先别急着接信号。有源差分探头通常有偏置校准和延迟校正功能。接上探头后把探头两个输入端都接地观察示波器显示的偏置电压是否为零如果不为零需要手动调节偏移直到为零。这个步骤不做好测出的眼图在垂向上就是偏的眼高数据直接错误。接下来是延迟校正。差分探头的正负两个通道内部有延迟差异高频下这个差异会造成共模噪声被当成差模信号显示。多数示波器有探头延迟校正功能比如泰克的De-skew是德科技的Deskew校准。做眼图测试前建议先把探头接到校准信号源上用示波器提供的探头校准程序做一次完整校准确保两条通道的延迟差在皮秒级别。4.2 示波器关键设置从触发到时钟恢复面板上需要设置的几个关键地方触发模式设为上升沿或下降沿触发均可边沿触发的阈值最好设在信号幅度的50%附近。时基先不要设太大观察一下信号周期。一般让屏幕上显示几十个UI确认信号稳定。采集模式使用示波器的高分辨率或平均模式不一定适合眼图因为眼图本质是看统计分布需要保留所有波形细节不要用平均功能。时钟恢复设置找到示波器的眼图测试功能不同品牌位置不同常用的是Measure/RJ-DJ/Eye Diagram或专门的Serial Data Analysis选择“Clock Recovery”为软件PLL设置数据率为当前信号的数据率。如果示波器自动检测不到数据率手动输入比自动更可靠。设置完这些按下眼图测试开始按钮观察屏幕正常情况下你会看到眼图逐渐形成。这里有个技巧眼图要叠加足够多的波形才稳定所以第一次看到轮廓后别着急读数让它多跑一段时间。4.3 眼图参数读取与通用模板设置等眼图稳定后示波器会显示眼高、眼宽、上升时间、下降时间、抖动等参数。这些参数可以在测量结果面板里查看。新手容易犯的错误是只盯着眼高和眼宽看忽略了上升时间。实际上上升时间变缓往往比幅度减小更具破坏性因为它会直接压缩眼宽增加码间串扰ISI。掩码测试Mask Test是眼图测试的进阶用法。示波器里可以加载协议标准定义的眼图模板比如USB 2.0模板、千兆以太网模板、光模块模板等示波器会把测到的眼图和标准模板做对比一旦波形进入模板禁止区域立即计为一次模板违例。跑掩码测试时要设置测试时长或码流数量跑的时间越长结果越有统计意义。我看到一些项目中工程师测眼图只跑几秒钟就拍板说信号没问题这是非常冒险的。正确做法是至少连续跑几十秒甚至几分钟观察模板违例次数是否持续为0。特别是对于偶发的抖动问题测试时间短了根本捕捉不到。4.4 差分信号眼图测法与单端眼图测法区别差分信号测眼图接好差分探头后示波器显示的是差分电压随时间变化的波形眼图反映的是正负两线之差的信号质量。好处是能同时看到差模信号和共模分量差分眼图的交叉点可以用来判断信号是否平衡。单端信号测眼图比如PCB上的CMOS信号直接使用普通的单端探头或1M欧姆探头即可不过对于高速单端信号比如某些DDR地址信号单端探头会带来较明显的负载效应测量结果可能比实际偏慢。所以DDR测试中地址和命令信号有时也用差分探头把另一头接到被测信号相邻的参考地这样能减小负载效应测出来的眼图更真实。5. 常见问题与排查技巧实录5.1 眼图闭合的常见原因对照表眼图出现闭合、眼高变小、眼宽变窄原因往往不是单一的。我整理了一个常见原因对照表方便你排查现象常见原因检查方向眼高高度的整体降低链路损耗过大、接收端阻抗不匹配检查走线长度、通道损耗、端接电阻眼图上下沿发散、噪声明显电源噪声、地弹、参考层不连续检查电源纹波、去耦电容、参考平面眼图左右沿发散、抖动增大时钟抖动、串扰、锁相环带宽异常检查时钟源、邻近信号串扰、时钟恢复设置眼图左交叉点偏移占空比失真检查驱动芯片的占空比、上升与下降时间不对称眼图出现两个叠加轮廓数据率设置错误或分频错误核对数据率是否与真实信号一致5.2 探头接地和测量点位置导致的假眼图这个问题我踩过很多次坑。早期做测试用长地线夹子去夹差分探头的参考地测出来的眼图振铃巨大眼高明显偏小。换掉长地线直接使用探头自带的短地针眼图立刻改善了很多。测量点位置也很关键。很多人为了方便在板子边缘的测试点测量但这个位置如果靠近连接器或过孔反射和寄生参数比较严重测出的眼图可能比中间走线位置差很多。如果可能尽量在芯片引脚附近的测试点测量同时把测试点设计成差分测试座或者预留足够大的焊盘方便探头接触。5.3 软件时钟恢复参数选择不当导致误判软件时钟恢复的PLL带宽如果设置不对眼图会失真。比如测一个PCIe信号协议规定PLL带宽是10MHz如果你在示波器上误设成1MHz恢复的时钟会滤掉一部分真实抖动测出的眼图比实际乐观反过来设成100MHz会把噪声当成抖动叠加进去眼图比实际悲观。所以时钟恢复参数必须按协议规范设置或者根据被测系统的实际参考时钟特性来选择。如果示波器没有现成的PLL带宽设置至少确保数据率设置正确。数据率差一点点切分UI的位置就会逐渐偏移眼图会出现明显的“扫堂腿”纹理这种情况下先核对数据率。5.4 示波器采样率和存储深度的隐藏影响示波器采样率不够时眼图边沿会被“钝化”上升时间测出来偏大眼宽也会被低估。存储深度不够时示波器能保存的波形长度有限软件恢复时钟能参考的边沿数量就少抖动估计不准。实操建议设置示波器时先把存储深度调到最大或较大档位再设置合适的时间窗口。大多数现代示波器在启用眼图模式后会提示需要的采样率和存储深度不要忽略这些提示信息。我记得用某入门级示波器测眼图时它最大存储深度只有1M点测1Gbps信号时能覆盖的时间窗口非常有限测出来的抖动明显偏大换到高带宽示波器后结果完全不一样。所以如果测量结果异常先自查设备能力是否足够。6. 进阶从眼图到完整的信号完整性测试方案6.1 眼图、TDR与阻抗测试的配合眼图测试只解决一个问题信号在接收端长什么样。但它不直接回答“为什么长这样”。要定位链路中哪个环节出了问题通常还要配合TDR时域反射计测试测量走线特征阻抗、连接器阻抗不连续位置、线缆长度等。如果眼图显示反射很大往往TDR能直接看到阻抗突变点在哪个位置。实测中我经常这样组合先跑眼图确认信号质量如果眼图闭合再用TDR测关键走线的阻抗。例如某次排查一块DDR4单板眼图眼高偏小TDR测出数据线上的过孔处阻抗低至约70欧姆与目标100欧姆差分阻抗偏差较大重新优化过孔反焊盘设计后眼图明显好转。眼图和TDR配合才能把问题定位到具体网络。6.2 抖动分解随机抖动与确定性抖动眼图测出来抖动很大时需要进一步做抖动分解。示波器可以把总抖动分解为随机抖动RJ和确定性抖动DJ。RJ通常来自热噪声服从高斯分布是所有电气系统都有的部分只能尽量抑制难以根除。DJ是一些有规律的因素导致的比如码间串扰、串扰、电源噪声耦合、占空比失真只要找到根源一般都能改善。抖动分解还分Dual-Dirac模型等数学方法示波器可以自动完成。普通工程师不需要深入数学细节但看到示波器给出的RJ和DJ数值时能判断矛盾方向很关键。如果DJ明显偏大优先查串扰、电源、端接如果RJ大先看信号源芯片的底噪和参考时钟的相噪。6.3 眼图与误码率测试的关系眼图测量是评估性的误码率测试BERT才是最终判决。如果是产品量产前的高速链路验证比如PCIe、USB最终需要做误码率测试或链路训练测试。但眼图和BERT之间存在数学关系用示波器的眼图可以估算出某个采样时刻的误码率高端示波器也提供眼图轮廓预测误码率的功能比如用BER eye或轮廓外推的方法估算10^-12误码率下的眼图余量。这个预估功能在产品开发早期很有价值因为不需要专门的BERT设备就能对信号质量有个量化评估。不过它的前提是示波器自身带宽、采样率足够高且抖动模型假设合理最终认证还是靠专用测试设备。7. 一些实操心得最后把这几年来做眼图测试的一些体会总结一下。第一眼图测试是一门“统计学问”测试时间越长、样本数越多结果越可信别急着几秒钟出结论就下判断。第二探头和测量点是整个测试链路中误差最大的来源之一多在这两个环节花时间校准效果远好于换一台更贵的示波器。第三先把数据率、时钟恢复参数、模板标准这些基本信息核对清楚再开始测量很多时候“眼图差”只是参数设错了。第四眼图测试要结合TDR和频谱分析一起看眼图告诉你“跨没跨”TDR告诉你“哪里跨”电源纹波测试告诉你“是不是供电在捣乱”组合起来才是一套完整的信号完整性排查方案。如果你正在做高速接口的调试建议先在实验室里用已知质量较好的信号源练手把示波器各种设置和参数熟悉一遍再上自己的待测板。这样遇到异常时你能更快判断是设置问题还是信号本身问题。眼图测试的基本功不复杂但要做好、做准、做得有说服力还是需要不少实战积累的。
返回列表