陈 凯,王广龙,王 成
(1.66008部队,天津 300250;2.军械工程学院纳米技术与微系统实验室,河北 石家庄 050003)
基于北斗/iNEMO的航姿测量系统设计
陈 凯1,王广龙2,王 成2
(1.66008部队,天津 300250;2.军械工程学院纳米技术与微系统实验室,河北 石家庄 050003)
基于北斗接收机和iNEMO惯性传感器模块,设计了一种可用于载体运动姿态方位解算的传感信息采集微系统。针对两个导航单元存在输出数据格式、速率和接口完全不同的问题,采用双CPU+FPGA+Flash的硬件架构,并由两个处理器协同工作完成了多路大容量导航参数的实时采集、处理和存储。同步计数器将北斗输出的1PPS脉冲作为清零信号,同时考虑到iNEMO没有固定的时间参考系,在iNEMO数据中加入北斗时标信息,由硬件逻辑电路实现了子单元数据在整秒时刻的同步。试验验证了北斗1PPS秒脉冲信号的同步偏差不会影响后续滤波的精度,且该模块能稳定地输出带时间标记的三轴加速度、陀螺传感器和磁传感器数据。通过解算可得到载体位置、速度、姿态等信息。该系统体积小、功耗低、鲁棒性好,设备可重复使用,不仅能够满足单一飞航装备测试的要求,还可以结合多传感器信息融合技术,进一步提高多目标导航定位的时空精度。
北斗系统; 嵌入式系统; 传感器; 无人机; 遥感技术; FPGA; 时间同步
在导弹、制导炮弹、无人机等飞航装备的研制和生产过程中,都需要对其飞行方位和姿态进行实时动态测试[1]。而现在普遍采用的遥测技术是一种间接测量方式,遇到山脉等遮蔽物时会丢失目标,无法实现全空域跟踪;空间电磁波的干扰会降低其测试精度,且传输带宽的限制也会导致载体自身的大量数据无法实时回传。存储测试的方式是:将飞行过程中各传感器的输出量采集存储到介质中,事后回收并由计算机处理和再现测试信息。试验飞行范围不受限制,无需布设大量的遥测台,用来辅助测量的地面设备少[2-3]。而任何单一测量系统在精度、可用性、可靠性等方面都存在一定的缺陷,因此各类组合式测量系统成为存储测量的主要发展方向。捷联惯性/卫星组合系统是目前军民领域应用广泛的一种高精度、低成本导航系统[4-6]。
我国自主研发的“北斗二代卫星导航系统”的测量精度已与GPS处在同一水平[7-8],其接收机在功耗、体积等方面也能满足嵌入式系统的要求[9]。iNEMO惯性模块是一种基于微机电系统(micro electro mechanical system,MEMS)技术的微型惯性测量单元。但不同于一般的惯性测量单元,其输出数据为全数字信号,不再需要进行A/D转换,极大地降低了设计的复杂度[10-12]。
本文在北斗接收机和iNEMO惯性传感器模块这两个测量单元的基础上,采用存储测试的方式,设计并实现了一种大容量导航数据实时采集处理与存储系统,以满足装备测试微型化、低成本、集成化的要求。
系统由北斗接收机、iNEMO惯性模块、主/从处理器、FPGA、无线指令模块等组成,采用双CPU+FPGA+Flash的硬件架构。系统总体框图如图1所示。
图1 系统总体框图
由于北斗接收机和iNEMO惯性模块两个导航单元的输出数据格式、速率和接口完全不同,使用两个处理器(CPU)分类采集信号,能提高程序执行效率。FPGA可以很方便地实现时序逻辑电路功能。
测试系统的启动指令可由远端监控站通过无线方式发送或者由被测载体自身通过点火等信号进行触发。系统工作时,北斗接收机由UART接口每秒输出一次1PPS定时信号和NEMA0813导航信息,iNEMO惯性模块由SPI接口输出实时测得的线性加速度、角速度和磁场强度三个分量的原始数据。协处理器从北斗接收机输出的导航信息中提取有效信息并暂存入FPGA中。FPGA包含一个双口RAM存储器和一个高精度的计数器。双口RAM存储器通过可变静态存储控制器(flexible static memory controller,FSMC)总线,实现主从处理器间的数据交换。为防止北斗/iNEMO惯性模块存在的时标差随系统工作时间的递增而累积,计数器将北斗输出的1PPS脉冲作为清零信号,同时考虑到iNEMO没有固定的时间参考系,需要向iNEMO数据加入北斗时标信息,并将其转化到北斗时间基准中,从而实现两个子单元数据在整秒时刻同步[13-14]。
为保障各个器件的协同工作,同时考虑到时钟驱动电流的限制,有源晶振的Clock信号作为系统唯一的频率基准输出到FPGA中,由FPGA对其分频,为各器件提供时钟。主处理器负责系统的总体控制和测试数据融合,并根据FPGA的触发信号产生中断,读取有效的北斗导航信息、iNEMO惯性模块时标信息和原始数据,在若干读写周期之后将数据存入Flash中。完成测试后,对设备进行回收。数据处理终端通过USB接口读取储存于Flash中的数据并进行解算。
2.1 北斗和iNEMO惯性模块
北斗接收机采用和芯星通公司的UM220-III N芯片,这是一种北斗/GPS双系统模块,能够同时支持 BD2 B1、GPS L1 两个频点。定位精度(均方根值)为2.5 m,测速精度(均方根值)为0.2 m/s(北斗)、0.1 m/s(GPS/双模),1PPS同步精度(均方根值)为20 ns。采用UART接口输出NMEA0183格式的ASCⅡ码,数据更新率为1 Hz。
第四,文化重视程度不同。随着时代的进步,世界文化的交流的日益密切,越来越多的中国人选择了学习西方国家的饮食方式,并且由于日常工作的繁忙,人们进入了“快餐时代”,渐渐地忘记了中国优秀传统文化的传承,许多的优秀文化在逐渐被遗忘,而韩国却十分的注重传统文化的继承与发展,相比较于中国韩国对文化的重视程度更高,对人们礼节上的要求更为严格。
iNEMO惯性传感器模块采用的是意法半导体(ST)公司的LSM9DS1芯片。该芯片是基于MEMS工艺的9轴运动位置传感器模块,内置一个3轴加速度计、一个3轴陀螺仪和一个3轴磁强计。这3种传感器分别检测线性加速度、角速度和磁场强度,满量程输出分别为±16 g、±2 000 (°)/s、±16 gauss,输出数据速率(output data rate,ODR)可调,加速度计/陀螺仪ODR最高可达952 Hz,磁强计ODR最高可达80 Hz。采用SPI或I2C输出16 bit数据。本系统中使用SPI总线输出数据,其比使用I2C总线传输速率快且控制更为简单。但需要注意的是,当采用SPI总线输出数据时,需要使用2个SPI总线的片选和输出数据端口。这是由于模块内各传感器的ODR是不同的,其本身就采用2个SPI端口分别输出数据。其中一个端口输出线性加速度和角速度数据,另一端口输出磁场强度数据。
北斗接收机和iNEMO惯性传感器模块都是SoC芯片,集成度高、功耗低,周边只需安装若干贴片电感、电阻、电容和二极管,非常适用于对尺寸、功耗要求高的嵌入式测试系统。
2.2 主/从处理器
主/从处理器分别选用了ST公司基于ARM内核的32位微控制器STM32F405(记为ARM1)、STM32F103(记为ARM2)。这两款芯片都具有较好的处理速度和能效比,内部集成了大容量的Flash和SRAM存储器,拥有丰富的应用接口,中断、时钟控制灵活,抗干扰能力好,适用于嵌入式系统设计。STM32F405作为主处理器,可进行快速中断处理,有较强的多任务管理能力,能够满足系统的高实时性要求。本系统中,ARM1的2个SPI接口、ARM2的UART接口分别与iNEMO惯性模块、北斗接收机相连并接收数据。2个芯片都具有可变静态存储控制器(FSMC),能够匹配不同类型外部存储器的存储和读取速率,产生相应的数据/地址/控制信号,与FPGA互联可方便地完成大容量数据的高速传输。
2.3 FPGA逻辑电路设计
FPGA选择的是Xilinx公司芯片XC6SLX75。FPGA逻辑电路如图2所示。
图2 FPGA逻辑电路框图
接收到启动电平指令后,32位的高精度计数器开始循环计数。当ARM2判断北斗接收机的输出有效时,即置TEN端口为低电平,以接收北斗1PPS脉冲信号。计数器检测到1PPS脉冲信号的上升沿时,该计数器即刻被清零,清零后重新计数。有源晶振的时钟输入(OSC_CLK)为8 MHz。当1PPS秒脉冲信号无效时,计数器也可持续工作536 s。同时,为了保持系统的同步,会将计数器的时标信息作为ARM1读数的标志。若设定iNEMO惯性模块加速度计/陀螺仪、磁强计的采样速率分别为100 Hz、10 Hz,计数器每隔80 000个、800 000个时钟脉冲,会分别将此时刻的32位计数值(时标信息1、2)存入SRAM中,同时通过单脉冲发生器产生上升沿信号触发ARM1的外部中断端口EXTI1、EXTI2,驱动ARM1分别读取加速度/角速度、磁场强度。
3.1 ARM程序设计
ARM2主要负责从北斗接收机UART接口输出的NEMA0813格式的数据串中提取解算处理所需的信息,并将其存入FPGA的双口RAM中。UART接口的传输速率较慢,而NNMEA-0183协议定义的输出语句却非常多。UM220-III模块的输出在该协议的基础上进行了拓展,ARM2需要从 GGA、GSA、GSV、RMC、VTG、GLL、NAVPOS、NAVVEL、NAVTIME等类型的语句中提取导航解算所需的UTC时间、位置、速度、定位状态等信息。若接收机定位无效,将TEN端口置高电平,屏蔽1PPS秒脉冲信号输出;若接收机定位有效,则将TEN端口置低电平,使能1PPS秒脉冲信号,并通过FSMC总线将提取出的信息写入到FPGA双口RAM的单元3中,同时产生一个低电平脉冲触发ARM1读取北斗信息的中断响应。ARM2通过串口提取北斗信息并存入FPGA内。ARM2提取北斗信息子程序流程图如图3所示。
图3 ARM2提取北斗信息子程序流程图
ARM1是系统的主处理器。程序设计的关键是管理FPGA产生的外部中断,并完成对应数据的读取和存储操作。FPGA会产生3类电平指示信号,其上升沿触发ARM1的中断寄存器,分别对应ARM1的EXTI1、EXTI2和EXTI3引脚。ARM1响应外部中断子程序流程图如图4所示。
图4 ARM1响应外部中断子程序流程图
3个外部中断优先级相同。当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理,以防止数据存储出现混乱。其中,EXTI1中断驱动ARM1读取惯性模块的线性加速度/角速度及FPGA存储的时间标志信息1,EXTI2中断驱动ARM1读取惯性模块的磁场强度及FPGA存储的时间标志信息2,EXTI3中断驱动ARM1读取FPGA存储的北斗提取信息。ARM1读取FPGA双口RAM的数据时使用FSMC总线,读取iNEMO惯性模块数据时分别使用了2个SPI总线端口。ARM1读出的数据都暂存入内部RAM中,每次读取时标信息2后都要进行判断。该值若为0或为系统时钟频率的整数倍,即将所有数据页写入NAND Flash中(1次/s)。
3.2 数据存储格式
每次页写入Flash中的数据包含一组北斗提取信息、若干组加速度/角速度信息、若干磁场强度信息,以及校验码和头尾指示。其中,北斗提取信息包括定位状态、UTC时间、北斗位置、北斗速度,加速度/角速度信息和磁场强度信息均包含对应的时标信息。Flash数据存储基本格式如图5所示。
图5 数据存储基本格式示意图
4.1 北斗1PPS信号偏差分析
本模块中1PPS秒脉冲信号的偏差将直接影响后续滤波的精度。使用示波器同步触发功能,对两个模块输出的1PPS上升沿信号的时间差进行了测试。以其中一个模块的输出为基准,采集了70组连续的数据,得到了如图6所示的试验结果。
图6 1PPS信号对比试验结果
经测试,2个功能模块之间上升沿信号的偏差控制在±100 ns的范围内,均方根误差为31.8 ns,而系统数据的最大采样频率为100 Hz。该北斗接收机输出的秒脉冲完全达到性能指标,符合系统的使用要求。
4.2 iNEMO惯性模块数据分析
本文采集了系统中的iNEMO惯性模块传感器的原始测量参数,设定加速度计/陀螺仪、磁强计的采样频率分别为100 Hz、10 Hz,将系统依次沿X-Y-Z轴进行顺时针旋转。数据处理终端根据数据的头尾指示分离出各秒的数据,将各秒数据进一步分离为带时间标记的三轴加速度、三轴陀螺传感器、三轴磁传感器数据。在初始瞄准状态下,载体初始姿态在0附近跳变。在后续的数据处理中,利用iNEMO惯性模块传感器的输出,并结合北斗导航数据,通过Kalman滤波器等方法,可以进一步实现初始对准和航姿解算的功能,得到精度较高的载体位置、速度、姿态(方位角、俯仰角、横滚角)等信息[15-17]。
本系统以双CPU+FPGA+Flash的数字硬件电路为核心,完成多通道导航数据的连续检测和实时存储。系统有机结合了卫星和惯性两种导航技术,可进行全天候、实时测姿,误差不随时间累积。当北斗接收机的信号受到干扰时,iNEMO惯性模块在短时间内的工作也不受影响,具有很强的鲁棒性。该方法方便快捷、功耗小、成本低,设备可重复使用,不仅适用于各类弹载飞行试验,也可应用于异构多无人机等需要精确时间同步的领域。
[1] 黄成功,吴军辉,陈前荣,等.红外/毫米波复合末端制导弹药作战效能仿真评估[J].红外与激光工程,2013,42(10):2702-2706.[2] WANG W,ZHANG Z J.The intelligent storage recording system based on cluster bombs testing and the data analysis[J].Open Electrical and Electronic Engineering Journal,2015,9(1):530-533.
[3] 李杰,马幸,刘俊,等.小型惯导系统数据实时采集处理与存储设计[J].中国惯性技术学报,2008,16(3):274-277.
[4] 王巍.惯性技术研究现状及发展趋势[J].自动化学报,2013,39(6):723-729.
[5] 杨宗霖,姚速瑞,张浩峰.卫星/惯性组合定位系统中的数据采集单元设计[J].电子器件,2015,38(2):452-457.
[6] 吴甜甜,张云,刘永明,等.北斗/GPS组合定位方法[J].遥感学报,2014,18(5):1087-1097.
[7] 杨元喜,李金龙,王爱兵,等.北斗区域卫星导航系统基本导航定位性能初步评估[J].中国科学:地球科学,2014,44(1):72-81.
[8] 敖翔,崔晓伟,吕鹏,等.GNSS 姿态测量接收机性能分析[J].传感器与微系统,2015,34(2):65-68,72.
[9] 周晓,郑定超,方玖琳.基于UM220的北斗接收机及WEB终端设计[J].计算机测量与控制,2016,24(3):238-240.
[10]李伟,孙书鹰,刘江义,等.基于LSM9DS0的姿态测量系统设计[J].计算机测量与控制,2014,22(9):2726-2729.
[11]朱文杰,王广龙,高凤岐,等.MIMU和磁强计组合在线定姿算法研究[J].自动化仪表,2013,34(11):21-25.
[12]李世光,王文文,申梦茜,等.基于STM32的姿态测量系统设计[J].现代电子技术,2016,39(9):12-14,16.
[13]曾桓涛,余志,张辉,等.GPS/INS组合导航数据同步时标的计算方法研究[J].传感技术学报,2012,25(4):515-518.
[14]李倩,战兴群,王立端,等.GPS/INS 组合导航系统时间同步系统设计[J].传感技术学报,2009,22((12):1752-1756.
[15]笪良龙,王文龙,孙芹东,等.一种微型矢量水听器姿态测量系统[J].中国惯性技术学报,2016,24(1):20-25.
[16]GEORGY J,NOURELDIN A,KORENBERG M J,et al.Modeling the stochastic drift of a MEMS-based gyroscope in gyro/odometer/GPS integrated navigation[J].Intelligent Transportation Systems,2010,11(4):856-872.
[17]祝燕华,蔡体菁,杨卓鹏.MEMS-IMU/GPS 组合导航系统的实现[J].中国惯性技术学报,2009,17(5):552-556,561.
Design of the Attitude and Heading Measurement System Based on Beidou/iNEMO
CHEN Kai1,WANG Guanglong2,WANG Cheng2
(1.66008 Unit of PLA,Tianjin 300250,China; 2.Laboratory of Nanotechnology and Microsystems,Mechanical Engineering College,Shijiazhuang 050003,China)
Based on Beidou receiver and iNEMO inertial sensor module,the sensing information acquisition micro system is designed for solving the carrier motion attitude azimuth.Due to the differences of the output data format,rate and interface for the two navigation units,the hardware architecture of double CPU+FPGA+Flash is adopted;by collaborative operation of two processors,the real time acquisition,storage,and storage of the large volume of multichannel navigation parameters is completed.The output IPPS pulse of Beidou is used as the zeroing signal,and considering that iMEMO has no fixed time reference system,the Beidou time scale information is added for iNEMO data,so the synchronization for data of sub units at the moment of each second sharp is implemented by the hardware logic circuit.The test results verify that the synchronization deviation of Beidou 1PPS second pulse signal will not affect the accuracy of subsequent filtering,and the module can stably output data with time stamp for the 3D accelerometer,3D gyroscope and 3D magnetometer,and the information of carrier,such as the position,velocity and attitude,etc.,can be obtained by the solution.The system has many advantages,such as small size,low power consumption,good robustness and reusing of the equipment.It is not only qualified to the test requirements of the single aerodynamic weapon,but also further improves the space-time testing precision of multiple targets navigation,by combining with the multi-sensor information fusion technology.
Beidou navigation system; Embedded system; Sensor; Unmanned plane; Remote sensing technology; FPGA; Time synchronization
国家自然科学青年基金资助项目(61501493)
陈凯(1983—),男,硕士,工程师,主要从事测试计量技术及仪器的研究。E-mail:chenkai094@sina.com。
TH-39;TP274+.2
A
10.16086/j.cnki.issn1000-0380.201705013
修改稿收到日期:2016-12-15