简介:2023年全国大学生电子设计竞赛本科组B题《同轴电缆长度与终端负载检测装置》官方赛题PDF,面向电子类参赛学生与指导教师,用于快速掌握竞赛任务、设计指标与评分细则。文档完整收录了装置任务描述、基本要求,如长度1000至2000cm、误差不超过5%、5秒内完成检测,以及发挥部分对1%精度、100cm短电缆和电阻电容参数测量的要求;同时涵盖信号源与测量处理电路的设计要点、测试规定,并以表格形式列出了设计报告和作品评分标准。压缩包内仅含1个PDF文件,整体约353KB,便于存储、打印与传阅。已有1183人学习下载,适合备赛阶段作为任务拆解、方案论证和报告撰写的参考依据,尤其利于明确误差公式、盲区长度、测试流程等关键边界条件,有助于在电赛有限时间内有针对性地开展设计与测试。
1. 同轴电缆长度与终端负载检测装置,到底在解决一个什么工程问题
同轴电缆长度与终端负载检测装置的常见场景是:整盘电缆入库时不想拆盘数米数,或者机房布线结束后想知道末端到底是悬空、短路还是已经接到设备上。时域反射(TDR)用同一根电缆、同一条回波路径,把这两个问题一次解决:反射波回来的时间对应长度,反射波的极性和幅度对应终端阻抗。
做这类装置的人,大多是电子竞赛队伍、线缆产线测试岗和仪表开发工程师。我的结论很直接:按 TDR 路线搭一套窄脉冲源加等效采样链路,先实现 5 米到 100 米量程,再花一半精力在标定上,长度误差就能压到 1% 以内。真正卡人的不是原理,是速度因子、零点扣除和小反射提取这些细节。
2. 时域反射的底子:反射系数、速度因子与精度上限
2.1 反射系数怎么把开路、短路、匹配分开
TDR 的核心是反射系数:末端阻抗 ZL 和电缆特征阻抗 Z0 不相等时,入射波会弹回来,弹回比例 Γ=(ZL−Z0)/(ZL+Z0)。Γ 的数值大小决定回波幅度,正负决定回波极性,这两条信息就是判断终端负载的依据。
| 终端状态 | ZL | Γ | 回波极性 | 幅值 |
|---|---|---|---|---|
| 开路 | ∞ | +1 | 同相 | 最大 |
| 短路 | 0 | −1 | 反相 | 最大 |
| 匹配 | Z0 | 0 | 无反射 | 0 |
| 纯电阻 R | R | (R−Z0)/(R+Z0) | 同相 | 依阻值减小 |
注意这里的“极性”是指回波相对发射脉冲的方向:开路是同向叠加,短路是反向回弹。示波器上看,开路回波是一个正峰,短路回波是一个负峰,匹配时除起始脉冲外几乎看不到尾巴。实际装置只要在 ADC 采集序列里判断第一反射峰的符号,就能区分短路和开路,这是负载检测里最稳的一步。
常见翻车点是只看“有反射”就报开路。75Ω 负载的 Γ 只有 0.2,回波幅度不大但极性同相;100Ω 负载 Γ 约 0.33。如果阈值定得太高,会把这类纯电阻失配漏掉;定得太低,噪声会误触顶。后面第 4 章会讲怎么用电平窗口而不是单阈值来分类。
2.2 长度公式与速度因子:误差从哪来
长度测量用的公式很简单:L = v·t/2,t 是脉冲从发射到回波到达的时间,v 是电缆里的电磁波速度。v 不是光速,而是光速乘速度因子 VF,常见同轴电缆 VF 在 0.66 到 0.85 之间,取决于绝缘介质的介电常数。就拿 VF=0.67 算,100 米电缆往返时间约 1μs,这个信号用普通单片机定时器几乎测不准,必须靠高速采样或专用时间测量电路。
长度误差主要来源有三个:时间测量误差、VF 不准、零点没扣干净。时间测量误差靠等效采样或时间数字转换器解决,能压到几十皮秒,对应毫米级;真正拉开差距的是 VF。举个例子,同样测一段 50 米电缆,VF 写成 0.66 和 0.69,长度结果差了约 4.5%,也就是 2 米以上,比任何计时误差都大。
所以做这类装置,第一步不是画板子,而是先确认手头电缆的 VF 到底是多少。厂家手册给出的往往是一个范围,出厂批次、温度和老化都会影响。最靠谱的做法是用已知长度的电缆反推 VF,也就是第 6 章要讲的两段标定法。这里先记住一个结论:标定 VF 的优先级,高于提高 ADC 采样率。
2.3 TDR 与 FDR 两条路,为什么多数人先做 TDR
除了时域反射,还有频域反射法(FDR):对电缆扫频,观察驻波比随频率的周期变化来算长度。FDR 在高精度、强噪声场景有优势,但需要稳定的扫频源和混频链路,还要做频域转时域处理,对单片机的算力和模拟前端都是负担。如果这是某电子设计竞赛的 B 题,通常只要 5 到 100 米量程、终端状态三分类,TDR 正好覆盖,没必要上 FDR。
| 对比项 | TDR | FDR |
|---|---|---|
| 带宽要求 | 脉冲窄,靠等效采样 | 扫频范围宽,难做小 |
| ADC 要求 | 可用等效采样降低 | 需要混频后采集 |
| 硬件成本 | 低,几颗比较器就能起 | 高,扫频源加混频 |
| 盲区 | 脉宽决定,短缆有盲区 | 依赖扫频范围 |
| 典型场景 | 产线分拣、故障定位 | 长距离高精度测量 |
给我的判断是:这题按 TDR 做最稳。TDR 逻辑直观,反射波形可以直接在屏幕上看到,调试时能看到回波的远近、高低、极性,脑子里很快能建立直觉。FDR 的优势要到几百米以上、环境干扰强时才体现出来,对课堂题目来说属于吃力不讨好。
要留意 TDR 的盲区。脉冲宽度越窄,盲区越小,但窄脉冲的幅度和驱动能力都会下降。工程上把脉宽压在 5ns 到 20ns 之间,对应空间分辨力大概 0.5 米到 2 米,短于这个长度的电缆,回波会叠在发射脉冲尾巴里,需要专门的扣除算法。这一点在第 5 章单独讲。
3. 核心硬件链路:窄脉冲源、定向耦合与等效采样
3.1 脉冲源:射频比较器加反馈延时,搭出 5ns 窄脉冲
发射脉冲是整个装置的心脏。常见做法是用一颗上升沿很陡的射频比较器,输入端反复翻转,输出端就得到一个窄脉冲。我一般这样搭:比较器的正相端接一个由 MCU 控制的电平,反相端接一个 RC 延迟网络;正端电平先跳高、反端随后跟上时,比较器输出一个宽度由 RC 决定的负脉冲,脉宽可以做到 5 到 10ns。
脉宽决定盲区和分辨力,最好能切换。同一块板子上留两档,比如短缆用 5ns,长缆用 20ns,靠 MCU 的 DAC 输出不同比较电平来切换。别想着用软件把脉宽调得很准,这类电路的脉冲宽度主要靠元件值。比较器输出级还要加一级缓冲驱动,因为比较器直接驱动 50Ω 电缆的能力有限。
这里有个玄学:很多人觉得脉冲输出直接接电缆就行,结果波形上全是振铃。原因很简单,比较器输出阻抗和电缆阻抗不匹配,我一般串联一个 50Ω 电阻做源端匹配,代价是幅度减半,但波形干净得多。后面所有反射测量都建立在波形可重复上,这一步很值——毕竟回波幅度本来就只有发射幅度的几分之一,波形乱掉以后怎么标定都是白做。
3.2 回波拾取:T 型桥与定向耦合器的取舍
发射脉冲幅度通常在 1V 以上,而末端回波可能只有几十毫伏,两者走同一根电缆,接收端必须把大脉冲压住、把小回波留出来。最简单的是三电阻 T 型桥:发射端、电缆、接收端通过三个 50Ω 电阻相连;发射脉冲会分压到接收端,反射波从电缆回来时同样经过电阻网络,信号有 6dB 以上损耗。收益是电路简单、成本低,适合第一版调通。
想要更好的信噪比,就用定向耦合器。定向耦合器按方向区分入射波和反射波,隔离度能到 20dB 以上,但设计带宽要覆盖脉冲频谱,耦合线和端接电阻的一致性对新手不友好。我的建议是:如果两周内要看到波形,先用 T 型桥把链路跑通;如果板子面积和调试时间都充裕,再换成 PCB 耦合线做的定向耦合器。
T 型桥还有一个隐性好处:它天然提供了一个发射脉冲参考,接收端用差分输入做减法,可以把发射馈通对消掉,回波波形干净不少。注意减法要在模拟端做,或者用高速 ADC 同时采两路再在数字域相减,不要在放大级叠加直流偏置来消,否则温度一变就漂,测出来的负载状态会跟着变。
3.3 等效时间采样:低成本 ADC 也能测 ns 级回波
真正的难点在这里:回波时间在纳秒量级,直接采要 1GSa/s 以上的 ADC,贵而且难调试。等效时间采样可以绕开:脉冲是周期重复的,每个周期只采一个点,采样时刻相对发射时刻逐次增加一个很小的延迟,几千个周期后就能拼出一条完整的等效波形。采样率是等效的,但波形格式是真的,等效采样率能做到 20GSa/s 以上。
实现时需要一个可编程延迟线。常见做法是用 FPGA 内部的进位链做延迟线,步进能做到几十皮秒;没有 FPGA 也可以用单片机加外部延迟芯片,但步进粗一些,波形会显得毛糙。触发抖动是这个方案的死穴,触发沿抖动超过 1ns,等效波形的上升沿就彻底糊了,所以发射脉冲必须由稳定的硬件定时器触发,不要用中断去抖。
等效采样对 ADC 本身的采样率要求很低,10Msps 到 100Msps 的芯片就够,前提是采样保持前端带宽足够。这里一定要看数据手册里的模拟带宽,别只看采样率。A同学第一次做就是把低带宽的片子上上去,测出来每米都多算十几公分,换带宽匹配的片子立刻正常——前端带宽不够,回波前沿被充慢,时间读数整体偏大。
// 顺序等效采样:每次发射后延迟 delay_target 拍再取一次 ADC reg [31:0] delay_cnt; reg sample_start; always @(posedge clk_200m) begin if (pulse_trig) begin delay_cnt <= delay_target; // 上位机写定的延时值 sample_start <= 1'b0; end else if (delay_cnt != 0) begin delay_cnt <= delay_cnt - 1; end else begin sample_start <= 1'b1; // 延时到,启动 ADC 取样 end end逻辑说明:pulse_trig 是发射脉冲同步信号,delay_target 是上位机每次递增的延时设置。每个发射周期只采集一个点,采完上位机把 delay_target 加一,再做下一次发射,循环几百次拼成一条完整回波波形。参数说明:clk_200m 是主时钟,200MHz 对应单拍 5ns 步进;要拿到更高时间分辨力,用进位链或外部延迟芯片把步进降到 50ps 量级,等效采样率就是 20GSa/s。
4. 算法与标定流程:从原始波形到长度和负载结论
4.1 零点标定:把测试线和连接器时延扣掉
拿到波形后第一步不是算长度,而是标定零点。发射脉冲起点到电缆入口之间还有测试线、连接器、板内走线的延迟,这些都是固定偏移,如果不扣,短缆测量误差会大得离谱。常见做法是接一根已知长度的标缆,记录回波时间 t_ref,再用它算出零偏;或者先测一个标准长度,把偏差作为软件校准量存起来。
我一般会在固件里保存两个参数:零偏时间 td,单位 ns,还有速度因子 VF。第一次使用时用一段 10 米左右的标缆校准零点,再用一段 50 米标缆校准 VF,之后的日常测试直接调用。注意零点标定和 VF 标定不能分开独立做,因为两次测量里都混有 td,必须联立解算,具体公式见第 6 章代码。
标零之后,长度读取的流程就是:找反射沿的采样下标,换算成时间 t,套用 L = VF × c × (t − td) / 2。这里全程用浮点或定点数计算,不要把时间量纲转成整数再转回来,ns 级别的截断误差在 100 米电缆上会差出几十公分,白瞎了前面辛苦做的等效采样。
4.2 判峰算法:前沿检测比峰值定位更稳
反射峰在屏幕上很显眼,但程序判峰没那么简单。回波经过长电缆衰减后会被拉宽,峰值点位置会往后移动,如果找的是峰值,长度读数会随距离变大而偏大。改用前沿检测,也就是找波形从噪声底越过阈值的第一个采样点,对脉宽变化不敏感,稳定性好很多。
#define THR 300 // 在等效波形里找回波前沿:从前一个点低于阈值、当前点高于阈值的采样点 int find_edge(const uint16_t *buf, int n, int *edge_idx) { for (int i = 1; i < n; i++) { if (buf[i] >= THR && buf[i-1] < THR) { *edge_idx = i; return 1; } } return 0; }逻辑说明:buf 是等效采样重建后的回波序列,THR 是阈值。函数从第二个点开始判断上升沿,找到第一个越过阈值的点就返回,找到的是前沿起点而不是峰顶,长度计算用前沿时间。参数说明:THR 不要写死,建议在每次测量前采集一段纯噪声,按噪声均值和标准差动态设置,取 mean 加 5 倍标准差,这样长缆小反射场景不容易漏判。
阈值判沿还有一个边界坑:如果反射波前沿刚好落在两个采样点之间,判出的点在时间轴上会差一个采样步进。缓解办法是对前沿附近三个点做线性插值,用插值后的过阈值时间作为 t 值。等效采样步进 1ns 时,插值能把长度误差从小一米压回几十厘米内。
4.3 终端负载分类:极性、幅度加阻抗回算
负载状态判断先看极性,再看幅度。开路和匹配的区别是回波幅度,一个接近满幅,一个趋近于零;但纯电阻负载的幅度是连续变化的,必须回算阻抗。回波幅度 Vr 和入射幅度 Vi 的关系是 Vr = Γ×Vi,因此 Γ = Vr/Vi,再反解 ZL = Z0×(1+Γ)/(1−Γ)。
实现上把 Vi 定义为校准时的发射脉冲幅度,Vr 取回波前沿之后三个点求平均,避免单点噪声。算出来的 ZL 落在哪一档,就报哪一档:ZL 大于 3 倍 Z0 报近似开路,小于 0.3 倍报近似短路,其余按阻值显示。不要用严格的等于判断,电缆有损耗,长缆短路回波幅度会变小,但极性仍是负的,不会反成开路。
损耗补偿可以做一版简单修正:根据已知长度 L 和电缆衰减常数 α,把 Vr 除以 10^(αL/20) 再算 Γ。α 可以从两段已知长度电缆的两次回波幅度差求出来,原理和标 VF 一样。做完补偿后,100 米缆末端 75Ω 失配也能识别出来,这个进阶点在答辩时很加分。
5. 同轴电缆检测装置的避坑与常见问题排查
5.1 现象:10 米短电缆测出 14 米,误差久久调不下去
原因:零点没标。测试线、连接头、板内走线的时间全被算进电缆长度里。10 米短缆往返时间约 100ns,连接头加 0.5 米测试线就能贡献几纳秒,对应半米到一米误差,再叠上连接不良带来的二次反射,读数会越测越长。
解决:先接一段已知标缆测真实回波时间,把零偏时间存下来;每次换测试线或转接头后重新标定。还有一种常见误用,是把 VF 按查表值直接写死,同一批线缆 VF 可能有 1% 以上的波动,短缆不明显,长缆直接放大,务必用实测值。
5.2 现象:开路和匹配分不清,回波幅度忽大忽小
原因:长电缆末端回波经过衰减后幅度很小,如果阈值固定写死,20 米时还能判,60 米时小反射已经沉到噪声里。另一个原因是发射脉冲幅度本身有抖动,回波幅度归一化时没有除以当次发射幅度,结果每次都不同。
解决:阈值动态化,用噪声统计代替固定值;归一化时拿回波峰值除以当次发射脉冲峰值,而不是用校准时的固定值。这两招下去,之前感觉像玄学一样飘的回波幅度会稳定很多,排查到最后往往就这两个原因。
5.3 现象:波形上出现好几个峰,分不清哪个是末端
原因:末端回波到达前,沿途阻抗不连续也会产生小反射,最常见的是转接头处、电缆中间的挤压弯折,以及测试线本身的阻抗偏差。这些假峰幅度小、位置固定,但会干扰前沿判沿。
解决:先做空载基线,记录不接被测电缆时的反射波形,实测时把基线和当前波形对齐后做差,能去掉相当一部分固定寄生反射。真假峰的另一个判据是距离连续性:换不同长度的标缆,位置上随之移动的才是末端回波,固定不动的多半是接头硬伤。
5.4 现象:上午校准好的装置,下午读数漂了几十公分
原因:温度变化改变速度因子 VF 和电路延迟。聚四氟乙烯绝缘的 VF 温度系数相对小,普通发泡 PE 绝缘对温度更敏感;板上的高速比较器和延迟线延迟也会随温度漂移。这类问题最隐蔽,因为它不报错,只有对比记录才能看出来。
解决:固件里加一个温度补偿表,用板载温度传感器查表修正 VF,修正项通常只有千分之几,但对 100 米量程来说能救回几十公分的精度。如果跨温差大,至少要在开机后做一次自动零点校准。省掉这一步,长缆测量会留下一个看不出来的系统漂移。
5.5 现象:脉冲打出去,盲区内完全看不清,短于 1 米的线测不了
原因:TDR 盲区由发射脉冲宽度决定。5ns 脉宽对应空间长度约 0.5 米,末端回波叠在发射脉冲尾巴里,比较器饱和期间接收通路被压住,前端还没恢复,短缆回波被吞掉。
解决:在硬件上给接收通道加发射隔离窗口,用开关在发射瞬间断开前级,等脉冲结束、接收通路恢复后再接入。数字域再做一次发射脉冲模板扣除,把残尾减掉。如果题目很少要求测 1 米以下的短缆,也可以接受盲区,但在答辩时要能说清楚盲区大小和产生原因,这反而能体现你对系统底层的理解。
6. 进阶验证与收尾技巧:两段标定法把长度误差压到 1% 以内
6.1 两段已知长度标缆联立解 VF 和零点
标定最怕的是 VF 和零偏相互耦合。用两段已知长度 L1、L2 的标缆,分别测到往返时间 t1、t2,列出两个方程,消掉零偏 td,就能同时解出 VF 和 td。公式:VF = 2(L2−L1) / [c(t2−t1)],td = t1 − 2L1/(VF·c)。选 L1、L2 时差值越大越好,但 L1 要避开盲区,L2 要在量程内。
# 两段已知长度标缆联立求解 VF 与零偏 td c = 2.99792458e8 L1, t1 = 9.8, 99.6e-9 # 第一段标缆:长度 9.8m,实测往返 99.6ns L2, t2 = 49.6, 485.9e-9 # 第二段标缆:长度 49.6m,实测往返 485.9ns vf = 2 * (L2 - L1) / (c * (t2 - t1)) td = t1 - 2 * L1 / (vf * c) print(f"VF={vf:.3f} td={td*1e9:.1f}ns")逻辑说明:t1、t2 是前沿判沿得到的往返时间,代入联立方程解出 VF 和零偏 td,之后任意被测电缆长度用 L=VF·c·(t−td)/2 计算。参数说明:只要 t1、t2 判沿误差控制在 2ns 内,VF 误差就能落在 0.5% 以内,100 米电缆误差压到 1% 内不成问题。做完记得用第三段未知长度线盲测一次,别只做拟合不做验证。
6.2 自检模式与量程自动切换
成品里加一个自检流程:开机后先接内部 50Ω 标准电阻,确认回波接近零,再提示用户接标缆。量程切换按预计长度自动选脉宽和采样步进,短量程用窄脉宽、小延迟步进,长量程用宽脉宽、大步进,避免采太多点拖慢速度。这个切换逻辑代表了你对盲区和分辨力的理解,比把量程写死更有说服力。
6.3 把原始等效波形留一个缓存
固件里建议保留最近几次测量的原始等效波形,带时间戳存进 Flash 或通过串口上报上位机。不要只存长度和负载结果,波形才是排查误判的唯一证据。当时我在这上面吃过亏,只存了结论,客户说数据不对时根本没法反向定位问题,后来改成波形加结论一起上送,排查效率高了很多,希望帮到你。
本文还有配套的精品资源,点击获取