TDR也就是时域反射(Time-domain reflectometer),它可以通过观察导线中反射回来的电信号波形对导线长度进行测量,或者对传输导线的阻抗特性进行分析评估。
我们经常会碰到的TDR的典型应用一种是检测地下铺设的电缆的故障点位置,还有就是PCB高速信号走线的阻抗匹配分析。我们使用LOTO示波器的OSCH02型号,利用一些简单的随手可以找到的材料,测试一下电线的长度,演示一下TDR的原理和实测效果,以便大家直观理解。
就像一条水渠,如果充足的一股水流突然从水渠的入口涌进来,水波沿着水渠向前传播,当传到水渠的尽头没有渠道可以继续前行的话,会激起一个反弹的水波,又沿着水渠原路反向传回来。我们在水渠的开头会检测到这个回波。从水流涌入水渠入口,到水渠入口检测到反弹的回波,这个时间差乘以水流速度就是渠道长度的2倍。电信号在导体中传播是类似的道理。
如图所示,我们先不接被测线缆,直接测一个陡峭的上升沿信号,会在示波器上得到一个简单的上升沿波形。图中我们用的是一个400K的方波信号,这个边沿不是特别陡峭,不过还可以,也是我这边最方便得到的一个阶跃上升沿。真正要做专业点的TDR测试,是需要用更陡峭的边沿的,至少使用快速阶跃二极管做一个陡峭边沿。
我们把被测电线接上去对比下波形。我们找到了一段电线,里面有黑红绿白4芯,整体长5.86米。
我们把导线俩俩串联起来,这样就相当于11.92米的传输线长度,我们把线接入BNC转接头,直接连接到信号源端,同时示波器也并联上来。
我们来看下整体的接线情况:
我们会看到,这样接了传输导线后,原来简单的上升沿变成了阶梯状:
图中垂直光标a处是上升沿信号从传输线一端加入时,示波器测到的,垂直光标b处是信号从传输线尽头反弹回来后在示波器端测到的,所以ab之间的时间差,就是电信号跑完传输线一个来回的时间。
测得这个时间差是133ns左右。电信号在导体介质中的理论传播速度是光速。实际上不同的绞线方式和绝缘介质,会有不同的系数,并不真正达到光速。比如双绞线,平行线,同轴线,都会不同,一般系数是0.6到0.9之间。我并不知道我手里这根线的具体材质和系数,只能大概预估一下。这个线材比较便宜,质量一般,所以传输损耗应该属于比较大的一类,因此取比较低的系数0.6。
传输线的长度= (133ns* 30 0000千米/秒*0.6)/2 = 11.97米。跟我们事先手动测量的11.92米非常接近。我们目前使用的是250M采样率,所以测量的分辨率大概是4ns左右。采样率越高,时间差的测量分辨率越高。在测量公里级的真正电缆故障点的时候,其实由于反弹回来的信号边沿时间更长,也可以使用小一点的采样率。
也有其他示波器的小伙伴测出了类似结果:
这就是简单的TDR应用案例。在铺设电缆出线故障的时候,也就是利用这个案例的原理,在电缆的一段输入阶跃边沿信号,检测回波的时间差从而算出反射点到输入端的距离,于是就知道了电缆故障点的具体位置了。要做到更专业的TDR,我们需要更陡峭的上升边沿信号作为激励,也需要更高的采样率提高精度,本文只是抛砖引玉给大家直观展示,大家可以自行研究尝试。
如何用LOTO示波器TDR方法测试电线长度?的更多相关文章
- 如何用TDR来测试PCB板的线路阻抗
隔壁小王已经讲了TDR的原理以及如何确定TDR的分辨率.那么,我们要正确测量PCB板上的线路阻抗,还有哪些需要注意的地方呢? 1. 阻抗测试的行业标准 之前贴过好多张阻抗测试的图片,重新再贴一张给大家 ...
- 七中滤波方法测试matlab实现
http://blog.163.com/[email protected]/blog/static/1205282120132129471816/ 创建两个混合信号,便于更好测试滤波器效果.同时用七中滤波 ...
- JavaScript回调函数及数组方法测试
JavaScript回调函数及数组方法测试 具体代码如下: <!DOCTYPE html> <html lang="en"> <head> &l ...
- 【转】Unity3D Transform中有关旋转的属性和方法测试
Transform有关旋转个属性和方法测试 一,属性 1,var eulerAngles : Vector3 public float yRotation = 5.0F; void Update() ...
- mybatis-使用junit测试与main方法测试结果不一致问题
今天使用ieda写mybatis程序感觉太不友好了,而且也没找到问题所在.问题:写的user.xml中的语句与输出的语句不一样.尝试了各种办法都没有解决. mybatis配置的使用的查询实体.xml ...
- ES5新增数组方法测试和字符串常见API测试
首先是ES5新增数组方法测试: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...
- ASP.NET Core搭建多层网站架构【3-xUnit单元测试之简单方法测试】
2020/01/28, ASP.NET Core 3.1, VS2019, xUnit 2.4.0 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构[3-xUnit单元测试 ...
- Python Flask API实现方法-测试开发【提测平台】阶段小结(一)
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 本篇主要是对之前几次分享的阶阶段的总结,温故而知新,况且虽然看起来是一个小模块简单的增删改查操作,但其实涉及的内容点是非常的密集的,是非常 ...
- Go语言test之类方法测试
Go语言提供了完善的单元测试支持,开发人员可以方便的编写测试代码,保证自己代码的质量.在目前的例子中,一般看到都是普通函数的例子.下面我将通过类方法的单元测试例子来展示一下Go语言的魅力. 首先是代码 ...
- PHPUnit单元测试中类protected/private方法测试
这里首先有一个问题要考虑的是,这类方法是否要被测试? 理论上,这类方法都会被其它public类型的方法调用,只要对那些public的方法做充分的测试,就可以保证这些方法的可靠性,就没有必要再测了.好像 ...
随机推荐
- SSDB图形界面管理工具:phpssdbadmin安装部署
环境: 14.04.1-Ubuntu 1.安装Nginx apt-get install nginx ubantu安装完Nginx后,文件结构大致为: 所有的配置文件都在 /etc/nginx下: 启 ...
- php知识案列
n个不重复的随机数生成代码 <?php //range 是将1到100 列成一个数组 $numbers = range (1,100); //shuffle 将数组顺序随即打乱 shuffle ...
- 夺命雷公狗-----React---13--事件监听
在react中事件监听直接作为组建的属性来添加即可,就像DOM中的html操作 <!DOCTYPE> <html> <head> <meta charset= ...
- win7 AnkhSVN 安装报错
重装系统后,需要安装AnkhSVN,结果一直报如下错误 An error occurred during the installation of assembly"Microsoft.VC8 ...
- 80端口的烦恼:[3]清除NT Kernel占用80端口
链接地址:http://jingyan.baidu.com/article/f96699bbca15a1894e3c1bc4.html 当一台电脑安装了vs又安装了xampp时,可以能发生80端口号冲 ...
- centos设置svn开机自启动
安装好 svn 服务后,默认是没有随系统启动自动启动的, CentOS 7 的 /etc/rc.d/rc.local 是没有执行权限的, 系统建议创建 systemd service 启动服务 于是查 ...
- 设计模式 -- 迭代器模式(Iterator)
--------------------------------------------------------------------- 1.场景问题 考虑这样一个问题: 9个学生对象分别通过数组存 ...
- css横线中间放图片或者文字
效果图: 先贴代码 HTML: <div class="forshow middle"> <div class="flex"></ ...
- jdk的卸载及安装+环境变量的配置
一.卸载:在控制面板中删除.这是最基本的方式.2. 采用360安全卫士的软件卸载工具,记得将有关的注册表信息全部删除.3. 在“运行”中输入Regedit,打开注册表编辑器,找到HKEY_LOCAL_ ...
- rpm命令如何打印调试信息?
问题描述: 今天在做rpm相关操作的时候,发现报错,并且还不知道如何入手来解决问题,就左查右查的问题还是没有解决,后来就想,rpm能否打印debug信息,然后也百度了,也没有找到,后来想我为啥不看看r ...