1. TDR概述与基本原理

大家好,我是你们的信号完整性讲师。这节课,咱们聊聊TDR——时域反射计。这玩意儿,搞高速设计的人基本绕不开。说白了,它就是给传输线做CT扫描的仪器。它能告诉你,哪儿的阻抗不对劲,哪儿焊点虚了,哪儿线宽变了。

我先说个我自己的经历。早些年我做一块10Gbps的背板,眼图测试始终通不过,排查了好久找不到原因。最后实在没办法,借了台TDR,一测,发现一个过孔的阻抗从50Ω跳到42Ω。嗯,就是这里出的问题。从那以后,我再设计高速通道时,TDR就是必测项。

TDR的原理,一点都不玄乎。你想,往一根水管的这头打个脉冲进去,如果水管通畅,压力波就平稳传过去。如果中间堵了或者裂了,就会反射回来。TDR干的就是这个事,只不过它用的是电信号。

1.1 什么是TDR

TDR的全称是Time Domain Reflectometry。它是在时域工作的。给被测传输线送一个阶跃电压或者快沿脉冲,然后盯着反射回来的信号,以此判断传输线的特性。

举个例子:你对着山谷喊一声,如果对面是峭壁,回声很快且很响;如果是开阔地,回声就弱很多,甚至没有。TDR里的“回声”,就是反射信号。它的幅值和极性,直接告诉你阻抗变了多少、是变大了还是变小了。

TDR的两大核心能力

  • 反射点识别:找到阻抗变化的位置
  • 阻抗测量:计算出变化点处的具体阻抗值

我记得有次跟一个年轻工程师聊,他问我TDR和VNA的区别。我说:TDR是时域,直观,适合找断点和短路;VNA是频域,擅长测S参数。当然现在的仪器很多都能互转,但做故障定位,我还是更喜欢TDR。它就像万用表一样,一接上去,波形都给你,清清楚楚。

1.2 TDR工作的四大要素

TDR要工作,必须依赖下面四个部分。我习惯把这四个要素放在一起理解,缺一个都跑不起来。

要素 作用 关键指标
阶跃信号发生器产生上升沿极快的脉冲上升时间 (Tr)
定向耦合器/高速开关把发射信号和反射信号隔离开方向性
高速采样器捕获反射电压随时间的变化采样率、带宽
阻抗计算器(软件)按公式算出反射系数和阻抗计算精度

为什么会强调上升时间?你想想,如果台阶的边缘很缓,那遇到短小的阻抗变化,它根本反射不出明显的信号。上升时间越短,分辨率越高,看到的物理细节越小。但是更快的上升时间对系统带宽的要求也更高。

另外,这里面定向耦合器的方向性也很重要。我曾经就因为用了方向性差的耦合器,反射波和发射波混在一块,测出来的阻抗曲线全是毛刺。换了个高方向性的器件,波形马上干净了。嗯,这里要注意。

下面是TDR算法的大致流程。我写一段伪代码给你们看看,虽然你不一定亲自写,但理解这个过程有好处。

// TDR 核心算法伪代码
// 输入:采样得到的 V_reflected(t)、V_incident
// 输出:阻抗 Z(t)、反射系数 ρ(t)

1. 对每个采样时刻 t_i:
   ρ(t_i) = V_reflected(t_i) / V_incident

2. 计算每个时刻的瞬态阻抗:
   Z(t_i) = Z0 * (1 + ρ(t_i)) / (1 - ρ(t_i))

3. 计算反射点相对于发射端的时间延迟:
   τ = t_i / 2          // 信号来回双倍时间,要除以2

4. 将时间延迟转为距离:
   Distance = τ * Vp     // Vp 是信号在介质中的传播速度,Vp = c / sqrt(εr)

这里注意,Vp的计算跟介电常数εr的平方根成反比。我见过有的朋友直接用真空光速去算距离,结果差了一大截。记住,FR4里信号速度大约只有真空中的一半。

1.3 关键参数深度理解

1.3.1 上升时间与分辨率

TDR的分辨率,直接由上升沿的快慢决定。经验公式是这样的:

ΔL_min ≈ (Tr * Vp) / 2

举个例子,如果系统上升时间是50ps,在FR4介质中(Vp ≈ 1.5×10⁸ m/s):

上升时间 Tr 理论分辨率 ΔL_min 可识别的物理长度
50 ps3.75 mm焊盘短截线
150 ps11.25 mm连接器焊接区
500 ps37.5 mm过孔反焊盘

你看,上升时间越短,能看清的细节就越小。我一般习惯用50ps或更快的上升沿去测微带线上的小焊盘区域。如果只是看看整段线缆有没有断裂,那500ps也够了。

1.3.2 反射系数与阻抗转换

反射系数ρ,用来衡量反射有多严重:

ρ = (Zx - Z0) / (Zx + Z0)

反过来:

Zx = Z0 * (1 + ρ) / (1 - ρ)

如果ρ=0,那就是完美匹配,没有反射。这当然是最理想的状态。不过在实际测试里,ρ的值永远不可能正好是0,我们追求的是把它控制在能接受的范围,比如±5%以内的阻抗偏差。

1.4 阻抗断点定位实战思路

TDR最大的用处,就是快速定位阻抗断点。我整理了几种典型的故障场景,你们可以对照着看。

故障类型 TDR波形表现 案例说明
短路反射先负跳变,幅值接近-1焊锡搭接,过孔短接
开路反射先正跳变,幅值接近+1焊点虚焊,线缆断裂
阻抗突变(高阻)正反射,幅值随阻抗差增大线宽收窄,介质变薄
阻抗突变(低阻)负反射,幅值随阻抗差增大线宽变宽,焊盘入
容性负载向下尖峰然后回平过孔未反焊盘优化
感性负载向上尖峰然后回平引线过长,stub过长

小技巧:定位断点时,建议先在已知良好通道上测一次,保存为基准波形。然后测有问题的通道,两者相减,就能把微小差异放大。我经常用这个办法找多层板内部的细微短路。

  1. Step 1:连接设备——确保TDR探头与被测线缆直接连接,尽量减少转接头。我以前测一根同轴线的中间断点时,多接了一个转接头,结果把转接头自己的反射当成故障点了。切记,能少一个连接就少一个。
  2. Step 2:设置参数——选择上升时间(一般用100ps或50ps),设定电压范围(通常200mV到500mV),开启平均次数(16次或32次)来降低噪声。
  3. Step 3:获取波形——跑出第一个波形,看看基线是否平。不平的话,可能前端的连接有问题,先处理干净。
  4. Step 4:标记位置——在波形上找到异常的跳变点,用光标量时间差,然后按Vp算出距离。
  5. Step 5:物理验证——切开或翻起线缆,确认断点位置。我曾经测了一根1.5米的同轴跳线,TDR显示故障点在0.87米处。切开后,确实在那个位置有一颗压痕。嗯,准得很。

1.5 常见的测试陷阱与避坑

我先说说我踩过的一个坑。有次测试一个柔性PCB的弯折区,TDR波形显示那里阻抗跳到了65Ω,我以为是设计问题。结果后来发现,探头没有完全压紧,导致接触电阻变大。重新处理好接触后,波形正常了。所以,TDR测试前的接触检查,比什么都重要。

几个必须避免的错误

  • 上升时间设置太慢,导致细节被淹没
  • 线缆损耗未补偿,远端阻抗读数偏低
  • 接头反复插拔,引入额外的串扰反射
  • 误判多重反射为真实故障,忽略末端匹配

再来一个:如果你看到波形上有多个跳变,不要急着都当故障点处理。先用“时间门控”剔除末端连接器的反射,然后再判断。我习惯的做法是先端接一个50Ω负载,看波形的末端是不是平的。末端不平,说明负载不匹配,那前面的反射要重新分析。

1.6 TDR知识体系总览

下面这张图,我把TDR的核心知识做了一个汇总。你们可以把它当作全章的脉络图,以后复习时一眼就能抓住重点。

TDR核心知识体系 TDR基本构成 阶跃信号源 定向耦合器 高速采样器 阻抗计算器 反射信号分析 反射系数ρ 阻抗计算Zx ρ=0 完美匹配 ρ=±1 断点短路 关键参数 上升时间 分辨率ΔL 传播速度Vp 介电常数εr 实际应用:阻抗断点定位 / PCB故障检测 / 线缆长度测量 / 信号完整性评估 说明 TDR的灵魂是反射系数ρ。所有参数都从ρ出发:Zx = Z0(1+ρ)/(1-ρ),定位距离 = c/√εr × Δt/2

以上,就是TDR的基本原理和阻抗断点定位的核心思路。这张图涵盖了三个模块:TDR的构成、反射信号分析、关键参数,以及它们如何汇合到实际应用中。我建议你把这张图记在脑子里,以后遇到TDR相关的活儿,直接套用这个框架,能省很多力气。