工程师必读! 3 个最常被忽略的 TDR 测试关键细节与原理

news2025/5/14 9:44:53

 

TDR真的是一个用来看阻抗跟Delay的好工具,通过一个Port的测试就可以看到通道各个位置的阻抗变化。 可是使用上其实没这么单纯,有很多细节需要非常地小心,才可以真正地看到您想看的信息!

就让我们整理3个极为重要的TDR使用小细节,让您在看TDR阻抗图时可以看到最正确的信息,使用上更为得心应手!

TDR读阻抗不是只看绝对值! 教您利用正确的方法判读阻抗!

我们很常遇到EE或是同业工程师在判读TDR阻抗时,直接透过TDR阻抗图的数值来判断对象或是设计的阻抗大小,我们必须讲,这其实是不对的!

我们之前提到,传输线的TDR因为步阶波会变成稳态的关系,所以最后的阻抗会是传输线的特性阻抗加上其本身的直流电阻,因此我们会在TDR图上看到阻抗有爬坡的上升特性,而差动对又因为两两互相参考的关系,所以爬升的阻抗还会再多一倍:

 

透过TDR图判断传输线的真实阻抗,我们要看的是起头这个点,这个点的阻抗位置才是传输线的真实特性阻抗,后续的任何爬升都不应该视为传输线的真正阻抗。

 

TDR阻抗是透过相对值来判断,而不是绝对值!

但也因为这个爬坡的特性,所以会造成通道内其他物件的阻抗判读有所变化。 下图是一张真实的TDR测试图,中间那段较为平滑的位置为传输线,前后各两个阻抗掉落点,第一个我们称作A-1,掉了10Ohm,阻抗读值为82Ohm,第二个称作A-2,掉了8Ohm,阻抗读值为87Ohm。

一般而言,大家都会觉得阻抗就是以读值为定,所以A-1的阻抗就是82Ohm,A-2则为图上显示的87Ohm,但其实并不然,由于阻抗的爬升效应,使得A-2的参考阻抗已从传输线设计的92Ohm变成大约95Ohm。 也就是说,A-1由于是在传输线的起头所掉落的,从92Ohm掉到82Ohm,我们可以说对于92Ohm的通道而言,它是82Ohm的设计; 而对于A-2来讲,由于是从95Ohm掉下来的,对于同样的92Ohm通道,它的阻抗不会是图上的87Ohm,而是84Ohm,换句话说,我们会对这条传输线的阻抗做归一化(Re-normalization)至92Ohm!

 

其实与其说去知道这些阻抗掉落点的真实阻抗,我们在看这些设计时,主要看的会是相对阻抗,而不是绝对阻抗,也就是到底掉了几欧姆,或是抬升了几欧姆。 尽量避免通道上阻抗的变化,以求一个Transparent的通道,将Return loss控制到最佳状况,降低反射现象,以求最佳的SI表现!

分辨率 – 注意TDR步阶波的上升时间

在使用TDR时,要非常注意分辨率(Resolution)这个非常关键的概念,它决定了你能不能看得清楚一个高速通道里的每一个细节与其带来的阻抗变化。

简单来说,TDR的分辨率可以视为最小可以分辨的空间距离,假如这个分辨率是100mil,那你就可以看到大于100mil的物件是否有剧烈的阻抗变化。

 

TDR的分辨率,主要受到步阶波上升时间(Rise time)的限制。 因为步阶波越快,代表它的信号前缘越陡峭,这样它就可以在更短的距离内被反射回来,让示波器或是网络分析仪接收到反射信号,我们就可以透过数据分辨出非常近的两个结构,或是看到更为细致的微小结构。

TDR分辨率的计算

TDR分辨率可以简化成这样的算法:

Resolution=v×tr2

v为电磁波在介质中的传递速度v=c/√DK,c为光速3×108m/s,tr为上升时间。

主要就是利用距离d=v \times t这个算式求得,要再除以2的原因是因为TDR是反射的原理,所以这段时间包含了讯号「来回」的距离,对我们而言只需要一半就好。 

 

举个例吧:一般我们常用的TDR仪器或是网络分析仪的默认Rise time是35ps,在介电常数为4(DK=4)的材料里,它的TDR分辨率大约是:

3×108/√4×35/2=100mil

也就是说,大于100mil的结构才比较能被35ps的TDR给捕捉到,小于这个尺寸,或许你能看到阻抗的变化,但你不知道这个阻抗变化是来自于这个对象的哪里!

TDR分辨率 vs Rise time and DK

根据这个算式,我们整理了信号在不同DK的介质内,Rise time与Resolution的关系,并列出一些结构适用的Rise time区间,例如连接器,大概是1-2mm(40-80mil),所以Rise time小于25ps都是可以看得清楚的,而尺寸小如Solderball或是uVia,就会需要更小的Rise time,大约10ps, 也就是说系统层级上,如果要考虑到Solderball的效应,至少要到112G-PAM4以上的速度会比较明显,当然这不是说在这以下的速度不需要考虑,而是这个性价比可能不高!

 

总结,如果你要看穿一个Via里的小变化(特别是Via pad and Via barrel),或者想知道微型连接器的阻抗跳动,则TDR分辨率就变得非常重要。 如果分辨率不够高,那么这些问题就会被「模糊掉」,根本看不出来。 这也是为什么高速板在做TDR测试时,会选择Rise time更短的脉冲来源,例如30ps甚至20ps的TDR系统,因为你想看的变化,往往就在1mm之内。

就像这张PCB Via的TDR模拟结果,10ps时就可以很明显看到在1.5ns左右有一个跳动点,而其它较慢的Rise time则没有办法看出这个地方有阻抗变化!

 

依照实际状况设定正确的Rise time

不过也不要太过勉强自己,为了要做到最好的设计,看到最细微的位置,而选用过小的Rise time,这会使得你的设计会太过Overdesign。 我们建议针对你的高速信号带宽来做设定,如下表格,列出常见的一些高速接口的Data Rate、对应的Nyquist Frequency、带宽、以及Rise time,供各位参考。

 

Rise time不是一成不变,变慢的Rise time导致误判TDR阻抗

你知道高速讯号通道其实是一个低通滤波器吗? 你们看到的通道Insertion loss应该都是长这样吧? 低频能量传递几乎100%,高频损耗越来越大,能量衰减越多。

所以妥妥一个低通滤波器!

 

低通滤波器有一个特征:输入信号的Rise time,会随着损耗增加而上升(或者说变缓)。

原因是讯号的高频成分是由Rise time所组成的,越快速的Rise time,则高频成分越多(也就是为什么越高速的讯号会带来更高的带宽)。 所以当高频成分被滤除时,Rise time就会变缓变慢。

高速信号的Rise time是由许多高频谐波组合而成的:

 

Rise time 随着通道损耗增加而变缓变慢:

 

再次强调,TDR测试,起头的阻抗最准确

我们先来看一个简单的公式:

VTDR(t)=Vincident(t)(dvdt)∗h(t)

Vincident(t)是入射的步阶波,VTDR(t)是TDR仪器收到的反射讯号,h(t)则是待测物的Impulse response,*这个符号在做卷积(Convolution)这个动作。

不用想得太复杂,想象信号入射波跟通道的频率响应做类似相乘的动作,就可以得到反射信号。

所以如果入射波的Rise time变大,则收到的反射波形的变化也会跟着变小,阻抗变化也会变小。 一样的这张图就可以看出这种现象!

 

我们也可以透过带宽来解析,越快的上升时间会带来较宽的带宽:

BW=0.35RT

所以当测试用探棒的带宽越宽,等效的上升时间越小,TDR就可以看得越清楚(更多的内容可以参考这里):

 

藉由这些观念,我们就可以知道,利用TDR做阻抗测试,最准确的时间点就是讯号刚打进去的那个点,也就是讯号的起头。 当讯号走远之后,Rise time会越来越慢,测到的阻抗变化就会越来越小,原本假设阻抗差异要5Ohm,可是Rise time变慢之后,可能就只剩4Ohm。

我们透过一种极为简单的模拟来看这个现象,在Clarity里头,我们跑模拟都要设定Wave port,这个Wave port有一个很好的功能叫De-embedded,预设是没开启的,当我们打开之后,可以填线长,这是在说Wave port可以平移多少走线长度,假设模拟待测物是500mil的传输线,则这个De-embedded长度如果是+300mil,那模拟结果会马上变成200mil的结果,如果我们填入-500mil,则结果会变成1inch的数据。

 

 

当我们在跑传输线时这个功能非常好用,因为这样我们就不用耗费一大堆时间在等待长传输线的模拟结果。

透过这种方式,我们延长了PCB via的馈入线,可以看到阻抗变化随着走线距离越长,而变得更小。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2375272.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++中的各式类型转换

隐式转换&#xff1a; 基本类型的隐式转换&#xff1a; 当函数参数类型非精确匹配&#xff0c;但是可以转换的时候发生 如&#xff1a; void func1(double x){cout << x << endl; }void func2(char c){cout << c << endl; }int main(){func1(2);//…

Nacos源码—9.Nacos升级gRPC分析七

大纲 10.gRPC客户端初始化分析 11.gRPC客户端的心跳机制(健康检查) 12.gRPC服务端如何处理客户端的建立连接请求 13.gRPC服务端如何映射各种请求与对应的Handler处理类 14.gRPC简单介绍 10.gRPC客户端初始化分析 (1)gRPC客户端代理初始化的源码 (2)gRPC客户端启动的源码…

【计算机视觉】基于深度学习的实时情绪检测系统:emotion-detection项目深度解析

基于深度学习的实时情绪检测系统&#xff1a;emotion-detection项目深度解析 1. 项目概述2. 技术原理与模型架构2.1 核心算法1) 数据预处理流程2) 改进型MobileNetV2 2.2 系统架构 3. 实战部署指南3.1 环境配置3.2 数据集准备3.3 模型训练3.4 实时推理 4. 常见问题与解决方案4.…

【图像处理基石】什么是油画感?

在图像处理中&#xff0c;“油画感”通常指图像呈现出类似油画的块状纹理、笔触痕迹或色彩过渡不自然的现象&#xff0c;表现为细节模糊、边缘不锐利、颜色断层或人工纹理明显。这种问题常见于照片处理、视频帧截图或压缩后的图像&#xff0c;本质是画质受损的一种表现。以下是…

AD PCB布线的常用命令

PCB布线顺序&#xff1a;先信号&#xff0c;再电源&#xff0c;再GNG 1.多根走线的应用 将IC上的引脚分类 更改一类引脚以及引线的颜色&#xff0c;画出走线&#xff08;将脚引出&#xff09; 选中这些走线&#xff0c;点击‘交互式总线布线’&#xff0c;便可以多根拉线 shi…

【3-2】HDLC

前言 前面我们提到了 PSTN&#xff08;Public Switched Telephone Network&#xff09; &#xff0c;今天介绍一种很少见的数据链路层的协议&#xff0c;HDLC&#xff01; 文章目录 前言1. 定义2. 帧边界3. 零比特填充4. 控制字段4.1. 信息帧&#xff08;I帧&#xff09;4.2. …

MySQL 学习(八)如何打开binlog日志

目录 一、默认状态二、如何检查 binlog 状态三、如何开启 binlog3.1 临时开启&#xff08;重启后失效&#xff09;3.2 永久开启&#xff08;需修改配置文件&#xff09;3.3 验证是否开启成功3.4 查看 binlog 内容 四、高级配置建议五、注意事项六、开启后的日常维护 知识回顾&a…

OpenCV进阶操作:光流估计

文章目录 前言一、光流估计1、光流估计是什么&#xff1f;2、光流估计的前提&#xff1f;1&#xff09;亮度恒定2&#xff09;小运动3&#xff09;空间一致 3、OpenCV中的经典光流算法1&#xff09;Lucas-Kanade方法&#xff08;稀疏光流&#xff09;2&#xff09; Farneback方…

4. 文字效果/2D-3D转换 - 3D翻转卡片

4. 文字效果/2D-3D转换 - 3D翻转卡片 案例&#xff1a;3D产品展示卡片 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><style type"text/css">.scene {width: 300px;height…

【AI News | 20250513】每日AI进展

AI Repos 1、iap-diffusion-labs 从零开始带我们构建完整的扩散模型。通过三个精心设计的实验练习&#xff0c;循序渐进地引导我们实现流匹配和扩散模型&#xff0c;从基础 SDE 到条件图像生成&#xff0c;每一步都有详尽指导和完整代码&#xff0c;让复杂理论简单易懂。主要内…

mybatisplus 集成逻辑删除

一开始&#xff0c;没去查资料&#xff0c;后面要被AI气死了&#xff0c;先看它的的话 一开始&#xff0c;看ai的描述&#xff0c;我还以为&#xff0c;不需要改数据库&#xff0c;mybatis-puls自动拦截集成就可以实现逻辑删除&#xff0c;c&#xff0c;最后还是要给数据库加一…

SimScape物理建模实例2--带控制的单质量弹簧阻尼系统

模型下载&#xff1a; 基于simscape&#xff0c;单质量系统带位置控制资源-CSDN文库 在实例1中&#xff0c;我们搭建了不带控制的单质量弹簧阻尼系统&#xff0c;该系统没有外界力量介入&#xff0c;只有弹簧的初始弹力&#xff0c;带着弹簧使劲弹来弹去。 SimScape物理建模实…

PyGame游戏开发(含源码+演示视频+开结题报告+设计文档)

前言&#xff1a; 大二小学期python课上基于pygame做的一个游戏小demo&#xff0c;当时老师花了一天讲解了下python基础语法后&#xff08;也是整个大学四年唯一学习python的时间&#xff09;&#xff0c;便让我们自学网课一周然后交项目&#xff0c;所以做的非常仓促&#xff…

拒绝flash插件打劫!如何在vscode上玩4399小游戏

现在电脑上玩4399都需要flash插件了 这也导致了很多人无法玩到小时候的游戏 今天介绍一款插件 功能强大 即安即玩 首先打开vscode 点开小方框&#xff08;拓展&#xff09;搜索4399 认准4399 on vscode点击安装 安装完毕后 按下 Ctrl Shift P , 输入 4399 on VSCode 或…

learning ray之ray核心设计和架构

我们每天都在处理海量、多样且高速生成的数据&#xff0c;这对计算能力提出了前所未有的挑战。传统的单机计算模式在面对日益复杂的机器学习模型和大规模数据集时&#xff0c;往往显得力不从心。更重要的是&#xff0c;数据科学家们本应专注于模型训练、特征工程、超参数调优这…

C语言while循环的用法(非常详细,附带实例)

while 是 C 语言中的一种循环控制结构&#xff0c;用于在特定条件为真时重复执行一段代码。 while 循环的语法如下&#xff1a; while (条件表达式) { // 循环体&#xff1a;条件为真时执行的代码 } 条件表达式&#xff1a;返回真&#xff08;非 0&#xff09;或假&#x…

JavaScript进阶(九)

第三部分:JavaScript进阶 目录 第三部分:JavaScript进阶 一、作用域 1.1 局部作用域 1. 作用域 2. 局部作用域 函数作用域 块作用域 1.2 全局作用域 1.3 作用域链 1.4 JS垃圾回收机制 1. 什么是垃圾回收机制 2. 内存的声明周期 3. 垃圾回收的算法说明 引用计数…

数据结构与算法分析实验11 实现顺序查找表

实现顺序查找表 1.上机名称2.上机要求3.上机环境4.程序清单(写明运行结果及结果分析)4.1 程序清单4.1.1 头文件4.1.2 实现文件4.1.3 源文件 4.2 实现展效果示 上机体会 1.上机名称 实现顺序查找表 顺序查找表的基本概念 顺序查找表是一种线性数据结构&#xff0c;通常用于存储…

获取高德地图JS API的安全密钥和Key的方法

要使用高德地图JavaScript API&#xff0c;您需要获取API Key和安全密钥(securityJsCode)。以下是获取步骤&#xff1a; 1. 注册高德开放平台账号 首先访问高德开放平台&#xff0c;如果没有账号需要先注册。 2. 创建应用获取Key 登录后进入"控制台" 点击"应…

JAVA研发+前后端分离,ZKmall开源商城B2C商城如何保障系统性能?

在电商行业竞争白热化的当下&#xff0c;B2C 商城系统的性能表现成为决定用户留存与商业成败的关键因素。ZKmall 开源商城凭借 Java 研发与前后端分离架构的深度融合&#xff0c;构建起一套高效、稳定且具备强大扩展性的系统架构&#xff0c;从底层技术到上层应用全方位保障性能…