王毛凯 ,赖富文 ,赵永峰 ,孔凡胜 ,王文廉
(1.中北大学 仪器科学与动态测试教育部重点试验室,山西 太原 030051;2.中北大学 电子测试技术国家重点试验室,山西 太原 030051;3.中国人民解放军63853 部队,吉林 白城 137000)
冲击波在传播的过程中不断衰减为声波、次声波[1-3]。对冲击波传播特性的研究是衡量弹药毁伤效果的重要手段。目前虽然着重于爆炸场近场冲击波特性研究[4-5],但是爆炸场远场的声波、甚至次声波的特性以及与测试节点空间位置信息的关系也逐渐引起人们的重视。可是现有的爆炸场近场冲击波测试方法难以适用于爆炸场远场的声波测量[6-7],如爆炸场近场的同步测试,可以采用断线同步法或者光信号同步法统一各测试节点的时基。但是对于大范围、远距离的声波测量,同步使用的电缆现场布设不便,并且干扰噪声大,使得断线同步法难以适用;爆炸光随着距离的衰减导致光电器件不能接收到稳定的爆炸光信号,并且需要排除地面反射光的干扰,使得光信号同步法也力不能及[8-10]。大范围带来的不仅仅是各个测试节点的时间同步问题,如何组建一个无线传感器网络也是一个巨大的考验,随着无线传感器网络的发展,大多数冲击波场无线测试系统都是采用ZigBee或WiFi 无线传感器网络原理[11-12]。基于ZigBee 的无线传感器网络传输速率低,距离近,只能适用于近距离的无线传输;基于WiFi 的无线传感网络虽然传输速率快,并且使用中继可以使传输距离增大,但是也难以实现爆炸场远场大范围的网络覆盖。
针对目前爆炸场远场声波无线测试系统的不足,本文提出一种基于北斗卫星导航系统(以下简称北斗系统)和LoRa 的大范围远距离分布式爆炸声波测试系统。该系统能够精确地在爆炸场远场处测量爆炸产生的各种声波参量,实现测试节点的时间同步并且还具有测试节点定位功能,同时实现大范围的网络覆盖。
大范围远距离分布式爆炸声波测试系统传感器网络结构如图1 所示,包括分布式测试节点、中继以及主控计算机。
测试节点分布在爆炸场远场处,其主要工作内容是接收爆炸场远场的声波信号,并且利用北斗卫星导航系统的授时、定位功能统一各节点时基、确定各节点位置坐标。与常规的无线传感网络不同,这里采用内部组建LoRa 网络传输信号实现了大范围的网络覆盖和低功耗的高效采集工作。主控计算机作为管理节点,为用户提供应用界面,通过上位机软件和外挂微控制单元(Microcontroller Unit,MCU)可与单个或者多个测试节点进行信息交互和数据传输。
信号的采集与存储是测试节点的核心工作,其结构原理图如图2 所示,测试节点主要由采集信号微机电系统(Micro-Electro-Mechanical System,MEMS)传声器、模拟信号调理电路、数据采集和存储电路、存储芯片、时钟晶振以及负责授时、定位功能的北斗模块和LoRa 无线模块等部分组成。
图2 测试节点结构图
MEMS 传声器具有低噪声、高灵敏度的特点,响应频率为6 Hz~20 kHz,适用于声波测量;A/D 转换器选用AD7482,可以完成12 bit 的信号采集;时钟采用20 MHz的有源晶振;FPGA 使用Xilinx Spartan-6 系列芯片,具有模块化多线程的工作模式,能够保证系统的工作效率和数据的传输速度;北斗授时、定位模块支持北斗卫星导向系统,模块本身的定位精度可达到2 m,配合时钟晶振时间精度可达到200 ns;LoRa 模块使用基于SX1268射频芯片的E22-400T22S 模块,符合IEEE 802.15.4g标准,最远传输距离可达到2 km,适用于大范围的网络覆盖。
分布在爆炸场远场处的测试节点以可编程控制器FPGA 芯片作为中心控制器,通过A/D 变换器将调理好的声音信号转化为数字信号;SDRAM 在FPGA 的控制下实现声波信息的存储与读取;同时完成北斗授时、定位模块的协议控制,配合时钟晶振获取声波的时间信息以及测试节点的位置信息。测试节点可以通过LoRa 模块与上位机软件进行信息交互,实现远距离状态检测以及存储数据的传输。
分布在爆炸场远场的各个测试节点之间是相互独立的,没有统一的时间基准,并且各个测试节点的精确位置也是未知的。为了对存储的数据进行系统分析,本系统利用北斗卫星导航系统的授时、定位功能统一各个测试节点的时间基准并记录下各个测试节点的位置信息。
北斗卫星导航系统是我国自行研制的全球卫星导航系统。北斗授时、定位模块是其用户段组成部分,其通信接口采用通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART),每秒会输出一次秒脉冲(Pulse Per Second,PPS)以及一组串行数据。串行数据遵从NMEA-0183 标准协议。采用ASCII 码来传递协调世界时(Universal Time Coordinated,UTC)以及位置等信息。
各个测试节点遵从UART 协议与北斗授时、定位模块进行通信,然后利用FPGA 模块化多线程的特点对北斗模块的输出信号串行数据、秒脉冲进行处理,具体工作状态转换图如图3 所示。
图3 测试节点工作状态转化图1
测试节点上电之后,首先对北斗模块进行初始化,结合北斗模块的输出特性,对接收的串行数据译码,获得UTC 时间(统一各个测试节点的时间基准)和位置信息。同时利用PPS 秒脉冲信号配合时钟晶振,每当检测到PPS 秒脉冲的上升沿时,晶振脉冲计数器(Counter,Cnt)清0,其余时刻保持自加状态,进一步提升时间精度。当检测到爆炸声波信号时,将精确的时间和位置信息存储下来。
为了使分布在爆炸场远场的测试节点能够实现远距离状态检测以及数据传输,必须形成大范围的网络覆盖。如图4 所示,本系统采用基于非授权频谱的LoRa 广域网通信技术,通过不断改变主机的地址实现对各个测试节点的控制,并且具有传输速率快、安全性高以及组网便捷等特点。
图4 LoRa 网络结构图
地面效应会降低无线信号的传输功率,改变天线的带宽和匹配电阻,降低数据传输距离、传输速率以及可靠性。LoRa 的调制解调器采用线性扩频调制提高接收机的灵敏度,从而获得较长的通信链路。同时还利用纠错编码技术,在传输信息中加入了冗余,能够有效地抵抗多径衰落,提高传输的可靠性。
为了保证系统能够长时间有效地工作,进一步降低功耗,避免发生网络拥堵现象尤为重要。为了实现这一目标,本系统对测试节点(从机)和主控计算机(主机)设置了不同的工作模式。对于测试节点(从机)而言,其工作状态转换图如图5 所示。
图5 测试节点工作状态转化图2
上电之后,loRa 模块处于传输模式,则测试节点一直处于监听状态。测试节点根据接收到的不同指令,进入不同的的工作状态。
当测试节点接收到功能指令时,如参数设置、状态检测、数据读取等,执行指令之后会回到监听状态;当测试节点接收到模式更改指令时,会改变输出引脚的高低电平,使得LoRa 进入休眠模式,此时工作电流为微安级,等到存储结束,LoRa 模块重新回到传输模式,使得测试节点再次进入监听状态,进而系统降低功耗。
在系统的工作过程中主控计算机需要与单个或者多个测试节点进行信息交互。为了使系统能够有条不紊地工作,避免发生网络拥堵无法通信的现象,主控的控制流程设计如图6 所示。
图6 主控控制流程图
根据LoRa 模块的特性,在保证LoRa(主控)模块与测试节点的LoRa 处于传输模式状态的情况下,MCU 根据控制软件发送的AT 指令,使得LoRa 模块进入配置模式,然后更改LoRa 主机地址,更改成功后,再次进入传输模式,然后将参数信息提取出来发送给指定的从机,通过对从机反馈回来的信息进行分析,判断指令是否执行完成。
为了验证系统可靠性,进行实验验证。首先进行同步性验证,实验原理图如图7 所示。利用信号发生器作为信号源对测试节点进行脉冲触发,读取触发时刻的时间信息。
图7 同步性实验原理图
进行了多次同步性实验,都获得了有效数据,取了3次实验数据,如表1 所示。
使用同一脉冲信号对3 个测试节点进行同时触发,同步性误差的主要来源为各个测试节点的PPS 秒脉冲上升沿之间的时间差与时间晶振的误差。由表1 可知,同步性误差的最大值为100 ns,很好地验证了系统的同步性。
表1 测试结果
现场实验如图8 所示,测试节点贴点,并且节点间的距离为100 m,中继与距离测试节点3 之间的距离1 km处,高度为3 m。主控计算机放置在距离中继1 km 处,形成2 km 的网络覆盖。
图8 现场实验示意图
通过主控计算机对现场测试节点进行参数设置和数据读取,得到3 个测试节点的位置坐标,如表2 所示。
表2 测试节点位置坐标 (°)
通过对实验所得的节点坐标进行处理,得到测试节点1 与测试节点2 之间的距离为101.9 m,测试节点2与测试节点3 之间的距离为102.0 m。与实验布置的节点间距最大误差为2 m,在北斗模块的位置精度范围内。并且对其中一个测试节点进行鞭炮触发,图9 为读取到的声波曲线以及触发的时间信息。可以清楚地看到声波压强值为38.3 Pa,正压持续时间0.22 s。与近场冲击波特性曲线相比较,超压明显减小,并且持续时间增长。
图9 测试声波曲线
针对目前远场爆炸声波特性的测试,本文设计并研制出基于北斗卫星导航系统和LoRa 无线通信技术的大范围远距离分布式爆炸声波测试系统,实现了2 km 的大范围网络覆盖以及分布式测试节点的准确定位,而且统一了时间基准(精度可达纳秒级)。最后,通过实验验证了系统的有效性。