TDR信号debug应用

探索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文件中能查出来,如果遇到纯粹加工导致的短路断路问题,我们通过时延的测试方法定位到具体位置,这样切片也能查找到问题,挽回不必要的损失。

 

 

 

 

 

 

 

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高速信号TDR(Terminated Differential Signal)作为一种补偿技术,可以在传输中补偿信号的延迟、失真和幅度损耗,提高信号的传输质量。以下是一些常见的补偿方法: 1. 预加重和均衡:通过在发送端对信号进行预加重,调整信号的频谱,使得在传输过程中频率响应更加平坦,减小信号的失真。在接收端进行均衡,对信号进行滤波和补偿,恢复信号的原始形态。 2. 引脚布局和信号线设计:优化PCB布局,减小信号线的长度和延迟,减小信号的幅度损耗。采用差分线对信号进行传输,提高抗干扰能力和传输质量。同时,在高速信号传输线上采用合适的终端匹配电阻,减小信号的反射和幅度损耗。 3. 时钟补偿和节拍对齐:在高速信号传输中,时钟信号的同步非常重要。通过在接收端引入时钟补偿电路,使得时钟信号与数据信号保持同步,提高信号的抗干扰能力和传输质量。 4. 信号整形和增益控制:对于长距离传输的信号,可能会存在失真和幅度衰减。可以通过增加信号的增益,在接收端对信号进行整形和补偿,使信号恢复到原始的幅度和形态。 综上所述,补偿高速信号TDR主要是通过预加重和均衡、引脚布局和信号线设计、时钟补偿和节拍对齐以及信号整形和增益控制等方法来提高信号的传输质量。这些方法的应用可以减小信号的失真和衰减,提高信号的抗干扰能力,保证高速信号的稳定传输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值