王宏斌,剡宇航,何严飞
(兰州工业学院 电子信息工程学院,甘肃 兰州 730050)
随着电子通信及网络的高速发展,连接电子设备内部或电子设备之间的电缆的屏蔽性能正受到越来越多的关注[1]。同轴电缆现已广泛应用于电力传输[2]。目前隧道中一般通过铺设漏泄同轴电缆来完成通信网络的覆盖[3]。因此,在实际工程布线中,希望能快速精确地测量1盘电缆的长度,因此对同轴电缆长度的测量具有重要意义。
传统的电缆长度测量通过测量电信号在单位长度同轴电缆中通过的时间,得到电信号在同轴电缆中的传播速度,基于此可测得不同长度电缆中电信号传播时间,从而算得电缆长度。此方案缺点是电信号在电缆上传播所经历时间极短,一般在10-19~10-7s范围内,要做到准确测量十分困难。
根据同轴电缆的结构和原理可知,电缆的内导体(芯线)与周围外导体间构成许多小电容(不考虑分布电感和电阻),在静态情况下,这些小电容对外电路呈现为一个可测的电容(静电容)[4]。电容的大小由式(1)计算,即
(1)
式中:ε为介电常数;S为极板的面积;d为两极板的距离。对于某一种电缆,介电常数ε和极板距离d是固定的,极板的面积正比于电缆的长度。
同轴电缆规格不同,其单位长度内的静电容是不同的。但是对任一种规格的电缆,单位长度的静电容量是相同的,这说明电缆的总静电容量与电缆的长度成正比。对电缆长度的测量转换为对电容的测量。选用555定时器接成多谐振荡电路,将被测量电缆一端的芯线和屏蔽层接入振荡电路的电容端。由于电缆静电容与其长度呈线性关系,从而建立长度与频率的关系。频率f通过式(2)计算,固定R1和R2,则频率与电容值成反比,即
(2)
通过尺度变换,将电缆长度变换成与长度相对应的频率信号,测量这个频率就能得到相应电缆的长度。系统总体框图如图1所示。同轴电缆和555定时器构成多谐振荡电路,输出的方波信号送入GD32处理器,通过测量频率,计算出同轴电缆的长度。串口屏实现测量控制与结果显示。
图1 系统总体框图
硬件电路主要由电源电路、555多谐振荡电路、GD32主控电路、时钟电路、复位电路、GD_link下载电路、串口接口电路等组成。
电源电路原理如图2所示,系统由5 V的直流电源供电,GD32电源电压为3.3 V,因此对输入的5 V电源,通过AMS1117-3.3稳压芯片转换成3.3 V给GD32供电。
图2 电源电路原理
555多谐振荡电路硬件原理见图3,同轴电缆通过P4端口接入电路,构成多谐振荡电路,方波信号从PB8口送入GD32处理器进行频率测量。
图3 555多谐振荡电路硬件原理
GD32主控电路如图4所示,主要是给主控芯片的5对电源地供电,参考电压供电,备用电源供电,引出各个网络标号端子,和对应的硬件模块连接。本系统中主控芯片为GD32E103VBT6。此芯片是基于ARM Cortex-M4内核的32位微控制器,内核包含一个浮点运算器(FPU),可提高单精度浮点运算速度,并支持所有ARM单精度指令和数据类型。主频120 MHz,采用嵌入式Flash,64~128 K Flash,20~32 K SRAM。
图4 GD32主控电路
时钟电路如图5所示,晶振频率为8 MHz,并接2个20 pF的电容和1个1 M的电阻,接入GD32处理器的OSC_IN和OSC_OUT引脚。
图5 时钟电路
复位电路如图6所示,低电平复位,通过NRST引脚接入GD32,可实现上电复位和手动复位。
图6 复位电路
GD_link下载电路如图7所示,SWD接口电路,可通过J-link或ST-link实现程序的下载。
图7 GD_link下载电路
串口接口电路如图8所示,通过此接口连接串口屏,实现测量结果的显示。
图8 串口接口电路
软件程序部分主要由主程序、串口中断服务程序和定时器中断服务程序组成。主程序流程如图9所示,初始化部分完成系统时钟初始化、GPIO口初始化、定时器TIMER9设置为周期技术模式,使能上升沿捕获中断、周期上溢中断,配置为高优先级中断,优先保障计数的准确性。串口USART0配置主要设置串口数据格式,波特率,使能串口接收中断,配置为低优先级中断。主循环部分测量标志length_bt_flag;有效则根据定时器中断计数的频率值,计算出电缆长度,并通过串口发送,显示在串口屏上;标志无效则循环等待。
图9 主程序流程
串口中断服务函数流程如图10所示,进入中断服务函数,判断是否是串口接收中断,不是则中断返回,是则接收数据,判断数据是否为0x23(当串口屏按下开始测量按键是,会向GD32串口发送0x23),是则取反标志位length_bt_flag,不是则中断返回。
图10 串口中断服务函数流程
定时器中断服务函数流程如图11所示,进入中断服务函数,判断是否是边沿捕获中断,是则n1存储上一上升沿捕获的计数值,n2存储当前上升沿捕获的值,计算2次上升沿之间的计数值,计算原理如图12所示。t1时刻的计数值为n1,t2时刻的计数值为n2,在他们之间上溢中断出现了 iCount次,每上溢1次,计数65 536次,则2次上升沿之间的计数值num可由式(3)计算,上溢中断次数iCount清零,再计算出方波频率frq;不是边沿捕获中断,则判断是不是上溢中断,是则上溢次数+1,清除标志位;否则中断返回。
num=65 536*iCount+n2-n1.
(3)
图11 定时器中断服务函数流程
图12 上升沿之间计数值计算原理
串口屏选用淘晶驰T1系列4.3寸串口屏,显示界面如图13所示,按钮组件用于启动和停止检测,每按下回向GD32串口发送0x23;2个文本框用于显示工作状态和电缆长度,GD32控制显示的代码如下。
printf("t1.txt="%s"xffxffxff","结果保持");
printf("t2.txt="%s"xffxffxff",bnc_length_string);
图13 串口屏显示界面
系统实物如图14所示,接入不同长度的电缆,测得方波频率如表1所示。以频率为横坐标,长度为纵坐标,拟合的曲线如图15所示。理想情况电缆的长度与频率成反比,实际情况受电缆均匀性、测量电路参数等影响,为非线性关系,这里用对数曲线拟合较为接近。
图14 系统实物
表1 长度频率对照
图15 频率长度拟合曲线
本文给出了一种测量同轴电缆长度的方法,以同轴电缆为电容进行测量,设计了硬件电路,完成了软件程序的设计,通过系统联合调试,达到了较好的测量效果,检测相对误差的绝对值不大于2%,具有一定的应用参考价值。