赵 宽,马游春,刘鹏媛,赵 阳
(1.中北大学 微米纳米技术研究中心,太原 030051;2.中北大学 仪器科学与动态测试教育部重点实验室,太原 030051)
对炮弹爆炸进行高速摄像采集是研究炮弹爆炸过程和毁伤威力的重要手段,在军工领域有着重要的作用。高速摄像机采集存储的数据量十分巨大,而内存空间有限,因此需要定点触发高速摄像采集系统,以保证完整记录炮弹落地的过程。对于一个实验采集系统来说,系统的触发电路是否稳定可靠,决定了采集系统能否顺利实现功能。若系统没有顺利完成触发,误触发或者延迟触发,都会令采集系统采集到的数据出现缺失或错误,得不到正确的实验数据,甚至造成采集实验的失败,轻则带来巨大的经济损失,重则延误武器研发的进程。因此,一定要提高采集触发系统的稳定与可靠,选择正确合理的触发方式。
目前,常用的触发方式主要有内触发、光学触发、断线触发和电磁触发,这些触发方式都是通过炮弹撞击地面,才给出的触发条件,这样高速摄像机就无法记录下炮弹快落地时爆炸前的画面。为防止记录范围不够全面,需要在炮弹落地前提前触发该系统。目前采用的就是无线触发来人为的提前预触发。无线触发电路的主要功能是在收到相应的无线信号后产生触发脉冲。而人为预触发因为是人通过计算时间来给出的触发信号,难免会有不稳定性,为了能定量的进行预触发,提高触发系统的稳定性和可靠性,引入了UWB无线测距系统,UWB(ultra wide band)技术具有功耗低[1],对信道衰落不敏感,抗干扰能力强等优点[2],该系统对炮弹与地面站的距离实时监测,一旦到达预定距离时,给出触发信号,即可精准地完成提前触发,保证每一次实验都稳定可靠。
该触发系统主要有炮弹标签与地面基站两部分组成。炮弹标签为UWB移动标签,地面基站为UWB定位基站。在炮弹发射之前,将炮弹标签安装在炮弹上,定位基站放置在高速摄像机处,并将定位基站的触发信号线接在高速摄像机的触发接口上,炮弹发射后,定位基站检测到与炮弹的距离小于指定距离时,触发系统会自动触发,高速摄像机启动,完成实验。无线触发系统如图1所示。
图1 无线触发示意图
无线触发系统的触发原理为:在地面站UWB系统内预设一个距离值,然后标签与地面基站进行数据传输,地面基站会实时测量基站与标签的数据到达时间并采用测距算法对两者距离进行实时计算监测,一旦检测到距离值小于预设距离,基站会输出一段3.3 V的高电平脉冲,高速摄像机接收到脉冲信号即开始启动,采集炮弹落地到爆炸的过程,即完成提前触发的任务。距离信息也可以由串口实时显示在上位机上[3-4]。
UWB系统的硬件构成主要由主控模块、射频收发模块、天线收发模块、存储模块、电源模块、时钟模块、发射与接收双路放大模块组成,如图2所示。FPGA作为主控制器,对DW1000模块进行电平信号的发送和数据的接收,并通过串口接收来自上位机的指令和将距离信息上传至上位机。DW1000作为测距模块,对基站与标签进行实时测距。发送接收放大电路用于延长发射距离和提高信号性能。
图2 基站硬件框图
与单片机相比,FPGA得益于其内部并行处理数据流的架构,拥有更快的处理数据的能力,同时成本相对较低,开发速度更快,因此选择FPGA作为主控芯片。选择Xilinx公司推出的Spartan3 系列XC3S400 芯片,封装为 PQG208。该芯片内部有74 880个逻辑单元,不仅性能出色,功耗也十分低[5]。编程用VHDL硬件描述语言,拥有更强的行为描述能力,丰富的仿真语句和库函数。内部集成Chipscope在线逻辑分析仪,可直接调用,提高调试系统的效率。控制器模块是硬件平台的核心,是定位基站与定位标签的控制器,为 DW1000 电路提供相应时序、控制以及数据交互功能,且能够衔接通过无线通信模块或串口通信模块与 PC 机中上位机进行数据交互,并完成对整个硬件系统的复位功能。
在整个测距系统中,DW1000、FPGA、Flash等模块需要1.8 V与3.3 V电压,功率放大器的启动电压为5 V,DW1000的控制信号为3.3 V,因此在用于控制射频模块和功率放大器之前,必须将其电平转换为5 V,FPGA的内核电压为1.5 V,因此还需要1.5 V的电压输出,以上所需要的电压分别由4个电源模块提供,电源模块的原理如图3所示。
目前市场上使用最为广泛的UWB 射频收发模块为DecaWave 公司研制的DW1000[6],它是第一块UWB无线收发器,具有功耗低、成本低、抗干扰能力强的特点,可实现高精度定位,定位精度可达±10 cm,其遵循IEEE802.15.4-2011 UWB 标准[7]。支持TOA(到达时间)、TDOA(到达时间差)、TWR(双向测距)等多种算法,所支持的射频波段宽,可支持3.5~6.5 GHz超宽频定位,数据传输速率最高可达6.8 Mbps,有效通信距离为300 m左右[8-9]。数据交互接口采用SPI接口。其定位原理类似卫星定位,需要有基站、标签及中心控制器,通过基站发送的UWB脉冲信号进行基站与标签之间的距离测试,达到指定距离时进行后续操作[10]。该芯片有较强的抗多径能力和射频功率可编程的功能,可在恶劣环境下保持通信的稳定。其外围电路设计如图4所示。
图3 电源模块原理图
图4 DW1000外围设计电路图
查阅芯片资料可知,该模块需要搭载一个38.4 MHz的外部晶振。时钟管理部分主要包括三部分:晶体振荡器、时钟锁相环和射频PLL。时钟锁相环以外部晶振为参考时钟输入,用来产生SPI通信使用时钟和数字后端使用时钟,RF锁相环用于提供接收链下发射链上变频的本地振荡器的时钟,也以该外部晶振作为参考。
该模块内部带有一次性可编程存储器,用于存储校准数据,如TX功率电平、天线延迟值、晶体初始频率误差调整、测距范围精度调整等,当使用时需要对这些参数进行调整时,可自行检索调整[11]。当片上电压调节器被禁用时,存储器可以在最低功耗状态下保持DW1000的配置数据。
在无线通信系统中,影响通信的因素都有:发射功率级、发射机天线增益、传播通过程中的损耗、接收机天线增益、接收机灵敏度。为了增强信号的收发性能,同时延长与标签之间的通信距离,在DW1000后增加了增益电路。将外部功率放大器连接DW1000来增加发射功率,将低噪声放大器与DW1000连接来提高接收机灵敏度,从而提高通信最远距离[12-13]。
2.4.1 发射路径放大电路设计
图5 功率放大电路原理图
图6 低噪声放大电路原理图
在发送路径上外加一个放大器,当处于发送模式时,通过配置GPIO4引脚,将其更改为使用EXTPA(外部放大器),来启用外部功率放大器,开启射频通道,外部PA使能;当处于接收模式时,外部PA被禁用,GPIO设置直接使DW1000开启射频通道。图5为发射路径外部功率放大电路图,74HC1G04为逆变器,可以避免TXRX两条路径同时启用的情况,cmd_tx为发射信号,从射频开关U8的公共射频端口VC2,通过RF2端口到功率放大器U7的3引脚,再通过功率放大器的6引脚输出放大信号至射频开关U6的RF1端口,最后从公共射频端口7到天线。原理图中最右端cmd_tx为接收信号,由天线经过U6的公共射频端口VC2返回至RF2端口,再从RF2端口到U8的RF1端口,最后通过RFC端口到达巴伦。
2.4.2 接收路径放大电路设计
接收路径放大电路原理如图6所示。当处于接收模式状态时,将射频路径切换成包括LNA的路径,在发送模式下,LNA从电路中移除。图中较低的射频路径即为接收路径,由天线到U1上的公共射频端口,再通过LNA与衰减器到达RF2端口,最后到达巴伦。图中较高的射频路径为发送路径,从公共射频端口进入,从RF1端口到达RF2端口,通过公共射频端口最后到达天线。
测距算法一般为通过测量标签和地面基站之间的到达时间、角度、强度等物理量,然后通过相应的测距算法计算出标签与基站的具体距离。常用的测距技术有AOA(基于信号到达角度)、RSSI(基于信号接收强度)、TOA(基于信号到达时间)等,考虑到测距成本、传输距离、环境条件,选择TOA测距算法作为本文的测距方法。
TOA算法可分为单边单向测距和双向测距,由于单向测距对于时钟的同步要求较高,因此选择双向测距算法,其测距原理如图7所示。
图7 单边双向测距
在Ta1时刻,设备A首先向设备B发出一个数据包,设备B在Tb1时刻收到数据包,等待Treply时刻后,设备B给A发送确认消息,此时的发送时间可计算为Tb2=Tb1+Treply,在设备A收到数据包后记录此时的时刻值Ta2。由式(1)~(2)可得到电磁波在空中的飞行时间Tprop,两个设备间的距离即为飞行时间乘电磁波的飞行速度。
Triybd=Ta2-Ta1
(1)
Triybd=Tb2-Tb1
(2)
(3)
由于设备A和设备B使用自己的时钟,时钟会存在一定的漂移,以eA、eB分别表示设备A和B的时钟漂移(以ppm为单位),则测量的Tprop为:
(4)
然后,测得的飞行时间与实际飞行时间之间的误差为:
(5)
因为Treply远远大于Tprop,则上述公式可以化简为:
(6)
由此可见当B很长时间之后回复A时,测距的误差也会增大,如当Treply为2 ms,时钟漂移为80 ppm时,测得的时间误差为80 ns,乘以光速,计算出的距离误差可达到24 m,为了减少时钟漂移的影响,提出了一种优化算法[14],该算法增加了设备A和设备B之间的信息传输。其基本原理如图8所示。
图8 双边双向测距
这种测距算法称为双边双向测距。首先设备A在T1时刻将数据包发给设备B,设备B在T2时刻收到该数据包,在收到该数据包后,B等待Treply1的时间发送确认信息,此时该时刻记为T3,设备A收到确认信息的时间为T4,A收到确认信息后等待Treply2时刻,再次向设备B发送数据包,该时间即T4+Treply2记为T5,设备B在T6时刻接收该数据包[15]。
由于:
TROUND1=Treply1+2TPROP
(7)
TROUND2=Treply2+2TPROP
(8)
TROUND1×TROUND2-Treply1×Treply2=
4TPROP+2TPROP×Treply1+2TPROP×Treply2
(9)
TROUND1+TROUND2+Treply1+Treply2=
4TPROP+2Treply1+2Treply2
(10)
电磁波在空中的飞行时间为:
(11)
由于每个独立设备有自己的时钟,考虑到时钟漂移eA和eB的影响,Tprop的测量值为:
TPROP=
(12)
则可以得到真实值和实际测量值的误差为:
(13)
化简可得:
(14)
因为Tprop太小可省略,于是化简得:
(15)
即:
(16)
从上式可以看出Treply1和Treply2对误差的影响很小,因此这种算法可以优化时钟漂移带来的影响[16]。
UWB通信基于SPI通信协议进行数据收发,其工作模式可通过GPIO.5和GPIO.6来决定,选择模式0,在时钟的第一个上升沿启动发送。表1显示了UWB帧的一般结构,它由包括前导码(Preamble)和帧定界符的开始(SFD)的同步首部开始,之后PHY首标(PHR)定义该帧的数据有效载荷部分的长度和数据速率。
表1 UWB通信帧结构
3.2.1 标签DW1000数据收发
标签DW1000进行数据发送前要进行一系列配置。首先要对硬件DW1000进行复位,并将SPI通信速率设置为2 MHZ左右,设置完成后对DW1000进行初始化,此时将SPI速率设置为高速模式,并将预定义好的config结构体写入DW1000完成对其的配置。对于发送过程,需对寄存器TX_BUFFER(传输数据缓冲器)、TX_FCTRL(传输帧控制)进行设置,并设置前导码监测超时时间。将发送数据写入数据寄存器,并配置发送端参数,启动发送后数据开始传输,等待数据传输完成,读取DW1000发送寄存器状态,发送完成将该位置1,然后接收对方返回的确认包,成功接收后,帧计数加一,将状态寄存器的RXFGG标志位和错误位清除,并对接收到的数据的长度和内容进行校验,对数据包发送时间和确认包接收时间进行记录。准备发送二次确认数据包,首先设置二次确认数据包的发送时间T5,将所有的时间戳(T1、T4、T5)写入二次确认数据包中,不断查询芯片状态直到发送完成。
3.2.2 基站DW1000数据收发
基站部分在数据接收前也需要与标签端一样进行前期初始化及芯片配置,当开始接收数据时,将DW1000的接收使能打开,检查SYS_STATUS寄存器的RXFCG和ERR位,来判断芯片状态,直到成功接收或者发生错误,读取DW1000接收寄存器状态,保证数据接收完成,在SYS_STATUS寄存器中清除标志位RXFCG,分别读取寄存器RX_FINFO和RX_BUFFER来获得接收到的数据长度和接收数据,判断所接收到的数据是否是初始发送数据,如果数据正确则获得初始发送数据的接收时间T2,并将数据写入BUFFER中,将接收状态寄存器的值置1清除该位,准备发送确认数据包,首先设置确认数据包的发送时间T3,其次设置发送完成后对方开启接收的延迟时间、设置接收超时时间,之后发送确认数据包,重复上述操作,等待二次接收,判断接收到的数据是否为二次确认数据包,获得接收数据包时的时间T6,从接收的二次确认数据包中可以读取到T1、T4、T5,至此计算电磁波在空中飞行时间所需的6个时间节点实现全部接收。程序设计流程如图9所示。
图9 DW1000收发程序设计流程图
对测距系统进行误差测量,在静态环境下,测量4个基站分别到25个标签的距离,在东南西北个放置一个基站,为A1,A2,A3,A4,4个基站围成一个正方形区域,在区域内布满25个测试点为T1至T25,将标签上电,并将基站通过串口连接至上位机,上位机即可实时显示基站与测试点的距离。4个基站与25个标签的初始位置如图10所示。
图10 4个基站和5个标签的初始距离
为了能直观地观测到测距误差,将测试得到的100个距离信息文件导入Matlab软件,通过编写程序,仿真得出测距误差的热度,如图11所示。
图11 测距误差热度图
由误差热度图分析可以得到,T11,T12,T14,T15处对应的误差值为0~20 cm,说明这些位置误差相对较小。面积最大的区域对应的误差为20~40 cm,说明测距误差大部分分布在20~40 cm。
在与某单位进行的炮弹落地测试实验时,将该系统作为采集记录装置的触发系统,进行了3次实验,均完成了对高速摄像机的提前触发,记录下完整的炮弹落地爆炸的过程,成功地完成了实验。实验设置距离参数为300 m以内触发,实验结束后,将测试后的距离信息文件进行分析,得到触发时基站与炮弹的距离如表2所示。
表2 触发时基站与炮弹的距离表
实验结果测得触发时距离误差在10 m左右,满足对高速摄像机提前触发的需求。在实际应用中,为了防止环境和人为因素影响精度,应将基站天线安装与地面垂直,远离墙壁、玻璃、树木等遮挡物,炮弹上标签的天线也应当露出[17]。
本文设计了一种基于UWB模块的无线触发系统,利用UWB的测距算法精确实现了对记录装置的提前触发,可有效解决记录系统的记录数据的完整性问题,硬件上直接采用UWB模块,极大地降低了设计难度,同时对传统TOA算法进行改进,消除了UWB的时延问题。进行程序编写,通过进行实验测距来验证整体系统的可行性。通过使用Matlab软件进行误差分析,得到误差热度图,可以得到系统的测距误差为20~40 cm,在实际的靶场测试环境中得到的触发时距离数据,误差在10 m左右,进一步验证了系统的有效性及可靠性。测试结果表明,该系统误差小,稳定性高,满足工程需求,具有很强的现实使用价值。