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方法测试电线长度?的更多相关文章

  1. 如何用TDR来测试PCB板的线路阻抗

    隔壁小王已经讲了TDR的原理以及如何确定TDR的分辨率.那么,我们要正确测量PCB板上的线路阻抗,还有哪些需要注意的地方呢? 1. 阻抗测试的行业标准 之前贴过好多张阻抗测试的图片,重新再贴一张给大家 ...

  2. 七中滤波方法测试matlab实现

    http://blog.163.com/xiaheng0804@126/blog/static/1205282120132129471816/ 创建两个混合信号,便于更好测试滤波器效果.同时用七中滤波 ...

  3. JavaScript回调函数及数组方法测试

    JavaScript回调函数及数组方法测试 具体代码如下: <!DOCTYPE html> <html lang="en"> <head> &l ...

  4. 【转】Unity3D Transform中有关旋转的属性和方法测试

    Transform有关旋转个属性和方法测试 一,属性 1,var eulerAngles : Vector3 public float yRotation = 5.0F; void Update()  ...

  5. mybatis-使用junit测试与main方法测试结果不一致问题

    今天使用ieda写mybatis程序感觉太不友好了,而且也没找到问题所在.问题:写的user.xml中的语句与输出的语句不一样.尝试了各种办法都没有解决. mybatis配置的使用的查询实体.xml ...

  6. ES5新增数组方法测试和字符串常见API测试

    首先是ES5新增数组方法测试: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

  7. 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单元测试 ...

  8. Python Flask API实现方法-测试开发【提测平台】阶段小结(一)

    微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 本篇主要是对之前几次分享的阶阶段的总结,温故而知新,况且虽然看起来是一个小模块简单的增删改查操作,但其实涉及的内容点是非常的密集的,是非常 ...

  9. Go语言test之类方法测试

    Go语言提供了完善的单元测试支持,开发人员可以方便的编写测试代码,保证自己代码的质量.在目前的例子中,一般看到都是普通函数的例子.下面我将通过类方法的单元测试例子来展示一下Go语言的魅力. 首先是代码 ...

  10. PHPUnit单元测试中类protected/private方法测试

    这里首先有一个问题要考虑的是,这类方法是否要被测试? 理论上,这类方法都会被其它public类型的方法调用,只要对那些public的方法做充分的测试,就可以保证这些方法的可靠性,就没有必要再测了.好像 ...

随机推荐

  1. SSDB图形界面管理工具:phpssdbadmin安装部署

    环境: 14.04.1-Ubuntu 1.安装Nginx apt-get install nginx ubantu安装完Nginx后,文件结构大致为: 所有的配置文件都在 /etc/nginx下: 启 ...

  2. php知识案列

     n个不重复的随机数生成代码 <?php //range 是将1到100 列成一个数组 $numbers = range (1,100); //shuffle 将数组顺序随即打乱 shuffle ...

  3. 夺命雷公狗-----React---13--事件监听

    在react中事件监听直接作为组建的属性来添加即可,就像DOM中的html操作 <!DOCTYPE> <html> <head> <meta charset= ...

  4. win7 AnkhSVN 安装报错

    重装系统后,需要安装AnkhSVN,结果一直报如下错误 An error occurred during the installation of assembly"Microsoft.VC8 ...

  5. 80端口的烦恼:[3]清除NT Kernel占用80端口

    链接地址:http://jingyan.baidu.com/article/f96699bbca15a1894e3c1bc4.html 当一台电脑安装了vs又安装了xampp时,可以能发生80端口号冲 ...

  6. centos设置svn开机自启动

    安装好 svn 服务后,默认是没有随系统启动自动启动的, CentOS 7 的 /etc/rc.d/rc.local 是没有执行权限的, 系统建议创建 systemd service 启动服务 于是查 ...

  7. 设计模式 -- 迭代器模式(Iterator)

    --------------------------------------------------------------------- 1.场景问题 考虑这样一个问题: 9个学生对象分别通过数组存 ...

  8. css横线中间放图片或者文字

    效果图: 先贴代码 HTML: <div class="forshow middle"> <div class="flex"></ ...

  9. jdk的卸载及安装+环境变量的配置

    一.卸载:在控制面板中删除.这是最基本的方式.2. 采用360安全卫士的软件卸载工具,记得将有关的注册表信息全部删除.3. 在“运行”中输入Regedit,打开注册表编辑器,找到HKEY_LOCAL_ ...

  10. rpm命令如何打印调试信息?

    问题描述: 今天在做rpm相关操作的时候,发现报错,并且还不知道如何入手来解决问题,就左查右查的问题还是没有解决,后来就想,rpm能否打印debug信息,然后也百度了,也没有找到,后来想我为啥不看看r ...