TDR信号debug应用

本文探讨了TDR(时域反射计)在阻抗测试中的应用,以及它在解决内存训练故障中的神奇妙用。通过案例分析,TDR被用于检测信号质量问题和走线断线位置,揭示了在电路板制造过程中的问题定位能力。
摘要由CSDN通过智能技术生成

探索TDR的神奇妙用:

说到阻抗测试,那一定对TDR(时域反射计)不会陌生。是的,IPC-TM-650 规范正是推荐的这种阻抗测试方法。包括Intel早期也是推荐的泰克的TDR方案。

TDR是一种在时域中运行的仪器。它由一个高速示波器和一个采样模块组成,用于产生电压阶跃。电压阶跃沿着所研究的传输线向下传播。入射阶跃和反射电压波以代数方式相加,并由示波器在线路上的特定点进行监测。

其核心方法是差分TDR测试设备同时打出两个幅度相等、方向相反的阶跃脉冲,并通过这对差分信号的相互作用直接测出差分走线的阻抗。

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

640?wx_fmt=jpeg&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

原理:信号在某一传输路径传输,当传输路径中发生阻抗变化时,一部分信号会被反射,另一部分信号会继续沿传输路径传输。TDR是通过测量反射波的电压幅度,从而计算出阻抗的变化;同时,只要测量出反射点到信号输出点的时间值,就可以计算出传输路径中阻抗变化点的位置。

640?wx_fmt=gif&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

但是,泰克的TDR有一个很大的弊端,就是80E04模块非常容易被静电打坏,必须要专人专用,尽一切可能做好静电防护。一般PCB板厂可能会部署。否则坏一次就是2W美金,修到你不如买一台全新的。

现在常用的都是网分(VNA),以是德、罗德这两家为主。考虑到 TDR 和 VNA 都是昂贵的仪器,有时同一个实验室买不起两者,问题是:“对于所需的时域测量,哪种仪器更好?换言之,对于使用 VNA 的连接器制造商来说:“使用 VNA 进行的时域测量是否与使用 TDR 进行的相同测量具有可比性?

VNA是测量DUT的 S 参数,并在频域中显示结果。信号源发出一个连续扫频的正弦波,同时测量入射电压和反射电压的矢量比,获得DUT对频率函数的响应,然后进行IFFT逆傅里叶变换,得到时域上的冲激函数,把冲激函数积分,即可得到阶跃的TDR信号。

此前对同一块主板不同阻值的单端信号、差分信号分别使用泰克TDR(DSA8200)、Keysight(E5071C)、R&S(ZNB20)做过对比测试,三台仪器测试结果曲线趋势完全一致,高低值误差在2ohm以内。哪怕是同一家的两台仪器,也是有可能有这个误差值的。所以测试阻抗,选任何一家都是可以的。

前面简单介绍了一下阻抗测试,但这不是今天的主题。除了阻抗测试,TDR功能还能干什么呢?

以下通过一个真实的案例,来看看它的神奇妙用。

现象描述:某主板含8个DIMM内存槽。首批焊接的主板,出现固定一个槽位DIMM内存训练失败问题,直接表现现象为该槽插入内存则不开机。此板由上一版本改版过来,内存部分原理和线路完全没动,但是变更了叠层。上一版本已批量没有问题。

排查思路及过程:

遇到这个问题,首先肯定是要看内存训练的log,看看训练失败到底卡在哪里。

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

从log的指向来看,提示内存训练过程中没有找到DQS的上升边沿,怀疑是信号问题。

于是,开始测试DQS与DQ训练阶段信号,发现此异常槽DQS信号持续低电平,无法满足训练。(蓝色DQS,粉色DQ)异常。

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

对比测试正常的板子训练时DQS是和DQ一样有脉冲信号的,这确实符合log的提示,无法找到DQS的上升边沿。

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

再量测故障板DIMM槽DQS信号电压,两根P和N ,一个0.6V,一个1.2V,也确实是异常。

为确定是否真的是DQS异常,显然上述证据链还不够完善,量测故障板DIMM槽DQS对地阻抗,与正常槽位完全一致,说明在硬件通路上是没有问题的,软件完全一致,根据这个信息,确定DQS可以排除主板的异常。至于为什么DQS没有信号,怀疑是训练还没到DQS的Training就已经出现的异常,也有可能是主芯片问题,这个概率极低,先放下。

不是DQS,会不会是其他信号质量不行?如是做了一个最基本的操作:降频验证。软件降频到DDR4最低速率1600Mbps,现象依旧,可以排除SI信号质量问题。

重新检查原理与Layout设计,确认与上一版没有差异。

接着验证时钟信号,为什么要验证时钟信号?因为log指向DQS,毕竟DQS是参考时钟的,如果时钟有问题,说不定DQS也会有问题,从这个层面讲,还真是有关联的。测试后发现异常槽位的时钟信号有干扰,正常槽位没有。

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

此时,头脑一定要清醒,否则就又要怀疑时钟有问题了。那就走入了前面DQS没有信号一样的怪圈。

为什么说头脑要清醒,因为你必须要去思考到底是Clock异常导致了训练失败,还是训练失败导致芯片发出了异常的Clock信号?

做一个很简单的实验,将内存条的DQS信号遮盖,插在正常槽位,模拟内存训练失败场景,测试结果同样有异常CLK波形,所以确定此干扰应该是内存训练失败CPU自身发出,排除此异常。

说了这么多,跟TDR毫无关系。确实,这个案例本身就跟SI没有关系,当然不是去拿TDR去测那几百根DDR走线的阻抗。就算阻抗做得超出范围,那也不会出现这个故障。而且对于已经焊接的板子,测试阻抗也是很麻烦的。用TDR具体做什么,后面会讲清楚,先继续排查问题。

虽然这个案例不像是电源纹波引起的,但是还是需要去排查一下的,如是测试了内存相关的4个电,均正常。

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

既然电源、信号都没有遇到问题,那有么有可能是芯片虚焊了,导致某个信号没有连通呢?如是回炉重造,等待见证奇迹的时刻。

奇迹没有出现,故障依旧。

排查至此,同步也在跟芯片厂商沟通。从结果来看,确实同步沟通芯片厂商是非常有必要的。因为芯片厂商给我们开发的log是精简的,更高级的细节是不会开发给客户的,也就是说我们看到的问题指向只是一个粗略并不准确的方向。

使用厂商的debug固件,发现了训练log中更细节的提示。此前我们只能看到第二个红框的提示,给人的误导是DQS信号问题。仔细看正常通道的training过程,1D的基本步骤如下:

step1 控制器初始化

step2 slice内的ADDR/CMD时序调整

step3 ADDR/CMD 与CLK的时序调整

step4 DQS与CLK的时序调整

step5 slice内DQ时序调整

step6 DQ与DQS时序调整

step7 读DQ/DQS眼图调整

step8 写DQ/DQS眼图调整

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

报错的部分step1 控制器初始化已经完成,step2 slice内的ADDR/CMD时序调整没有继续,也就是说问题是出在这里。根据此信息训练失败还没到DQS信号,应该是更早的地址和命令信号。

于是量测所有的ADDR/CMD信号阻抗,发现异常槽ACT_N管脚阻抗无穷大,有异常。无穷大说明就没负载,CPU和内存槽就没连上。

排查到这里,只能确定这个信号没有连接上,到底是CPU内部故障、主板断线、内存插槽虚焊的问题?

没办法确定。

因此,TDR就派上用场了,只不过不是用它来测试Trace的阻抗值,而是利用TDR时延的原理,TDR的脉冲走到走线的末端开路后,会全部反射回来,这样一个来回的时间相当于2倍走线的时延。

通过TDR测试这条走线的时延,就能基本判断断线的位置。

对比量测故障板和正常板ACT_N信号,全长5797mil,发现故障板传输时延异常,确定故障板ACT_N信号在CPU侧断开,主板断线。

异常板时延1.684ns/2=842ps,这里起点是从-100ps开始,去掉上升沿时间,因此总共大概是912ps。

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

5797mil的走线大致时延应该是966ps。

正常板时延2.397ns/2=1.2ns, 1.2ns不全是主板走线的时延,还包含了CPU里面的一小段。

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

966-912=54ps,这是普通板材,介电常数约等于4,大约离CPU 324mil的位置。

排查到这里,可谓是铁证如山。当你把这证据甩到PCB加工板厂脸上,他们如何抵赖?这一批板子全部报废,损失可不小。

为什么会断线?再核查发给板厂的Gerber,是没有问题的。

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

而板厂投板的确是另一个版本。

640?wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

经量测,此位置距离CPU位置为374mil。

640?wx_fmt=jpeg&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1

这个案例正好是在板厂生产的CAM文件中能查出来,如果遇到纯粹加工导致的短路断路问题,我们通过时延的测试方法定位到具体位置,这样切片也能查找到问题,挽回不必要的损失。

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值