一种捷联惯组测温通讯软件的设计与实现

2016-05-18 09:18董彦维
导弹与航天运载技术 2016年1期
关键词:捷联队列测温

卫 瑞,康 冰,赵 琳,董彦维,任 驰

(北京航天发射技术研究所,北京,100076)

一种捷联惯组测温通讯软件的设计与实现

卫 瑞,康 冰,赵 琳,董彦维,任 驰

(北京航天发射技术研究所,北京,100076)

设计的测温通讯软件可实现多点温度数据的实时采集和滤波,保证宽温域的温度测量精度,实现大数据量多路数据通讯,实时性地周期接收GpS定位和导航数据,快速准确接收星历信息。软件设计了一种合适的程序流程,采用算术平均结合滑动平均滤波的方法,实现对温度信号的解算、去噪消抖;使用基于循环队列技术的数据采集模式,实时准确接收串口数据。经应用验证:测温通讯软件测温重复性精度高于0.05 ℃,能够及时、准确地向火控计算机发送组合导航数据,满足2 s内连续接收处理几千字节星历数据不丢数据的客户需求,为激光捷联惯组进行温度补偿、数据融合和对外信息交互提供途径。

宽温域;滑动平均滤波;数据融合;循环队列

0 引 言

1 测温通讯软件

随着捷联惯组产品的快速发展和广泛应用,满足客户多样化的需求成为目前工作的重点。适用于现场总线控制器局域网络(controller area Network, caN)接口的通讯方式、融合GpS信息的组合导航方式、实现宽温域范围内的导航精度稳定是一种普遍需求[1]。设计一款满足以上需求的通用产品,对提升激光捷联惯组的竞争力具有重要意义。

本文提出一种捷联惯组测温通讯软件设计方案,该方案的工程实现与应用满足了捷联惯组在宽温域应用环境下的精密温控[2]或温度补偿需求,扩展了捷联惯组在发射车或弹体应用时的通讯方式,提高了捷联惯组长时间的定位精度。

测温通讯软件以某型号激光捷联惯组应用为需求牵引,利用英飞凌公司(Infineon)的Xc164的片上功能,主要有以下功能:

a)宽温域范围内多点温度数据[3]的采集和滤波,以1 Hz的频率将处理后的温度数据通过RS422串口实时发送到主控板进行惯性器件的温度补偿;

b)以10 Hz的频率接收处理主控板发送的导航信息以及GpS接收板传送的定位信息,将信息融合后通过caN接口实时发送到火控计算机;

c)接收到火控计算机要求星历数据的指令后,向GpS接收板请求发送星历,并通过串口接收三千多字节的星历数据,根据用户要求打包星历信息后通过caN接口发送到火控计算机。

测温通讯软件在测温通讯板上运行,其与主控板、GpS接收板、火控计算机和惯性测量单元(Inertial Measure Unit, IMU)组件的结构如图1所示。

图1 测温通讯软件结构

测温通讯软件具有以下特征:

a)实时工作情况下,需要对信息做出足够快的反应;

b)大数据量的星历信息,应能在5 s内准确完成转发功能;

c)不带操作系统,全部软、硬件资源的分配、调度、控制和协调均靠软件实现。

2 测温通讯软件的设计

2.1 软件结构

测温通讯软件完成的功能包括:上电初始化、温度传感器模数(analogous digital, ad)采集、对主控板的通讯数据的发送与接收(RS422串口)、对GpS接收板的通讯数据的发送与接收(RS232串口)、火控计算机指令的处理与响应(caN接口)。

软件由主程序、定时器中断模块、程序初始化模块、队列处理模块、ad采集模块、caN接口配置模块、caN接收及发送模块、GpS数据接收模块、GpS信号处理模块、主控板数据处理模块、温度梯度计算模块、温度信号滤波处理模块、温度数据发送模块等软件单元组成。

a)主程序模块是整个软件的入口程序,协调整个软件的工作流程和工作时机;

b)定时器中断模块在1 ms定时中断触发后进行ad信号的数据采集;

c)程序初始化模块设置单片机程序运行时的初始环境、温度修正参数的读取;

d)队列处理模块完成循环队列的初始化、入队、出队等操作;

e)ad采集模块采集100次指定通道的ad采集值并对其取平均值;

f)caN接收及发送模块接收火控计算机指令,根据指令要求完成处理后向火控计算机发送响应指令;

g)GpS数据接收模块接收GpS接收板通过RS232串口向测温通讯板发送的数据;

h)GpS信号处理模块判断接收的GpS数据是否符合GGa格式,校验通过则进行相应信息的解算,否则不做处理;

i)主控板数据处理模块接收主控板的数据,并进行数据解析;

j)温度梯度计算模块根据采集的温度进行温度梯度的计算;

k)温度信号滤波处理模块进行温度及温度梯度数据的滑动平均滤波处理;

l)温度数据发送模块向主控板定时发送处理后的温度及温度梯度数据。

2.2 软件接口及数据

计算机软件配置项(computer Software configuration Item, cScI)外部接口如图2所示,外部接口系统定义如表1所示。

图2 cScI外部接口

表1 外部接口系统定义

cScI数据流图如图3所示,反映了数据流的方向及过程中进行的处理。

图3 cScI数据流图

2.3 软件流程设计

测温通讯软件主程序流程如图4所示。

图4 软件主程序流程

测温通讯软件完成变量和函数初始化功能后,进入主循环查询有无接收到星历接收标识(SatRxflag),若没有接收到火控计算机的请求星历要求,则定时采样温度数据、GpS接收板发送的定位数据、主控板发送的导航信息,并根据火控计算机的指令判断是否发送相应的信息;若接收到请求星历要求,则在主循环中关闭定时器中断,向GpS接收板发送请求星历的指令、然后接收、处理星历信息,并通过caN接口向火控计算机发送星历信息。

其中,对于SatRxflag的设定,程序初始化完成后将SatRxflag置1,进入主循环中先检测SatRxflag是否为1,如果为1则进入if(SatRxflag==1)分支处理,期间如果caN通道接收到请求星历指令,SatRxflag将被置为0,但是不会立即跳出该分支,直至完成温度函数发送后结束;如果SatRxflag为0则进入星历数据处理分支if(SatRxflag==0),处理接收到的星历数据,处理结束后将SatRxflag置1,然后返回主循环继续执行。2.4 软件的优化设计

软件设计上采用以下方法优化设计:

a)用中断替代查询。测温通讯软件使用定时中断、caN接口接收中断、caN接口发送中断、串口发送中断等,定时中断1 ms作为定时时基,1 ms定时到则采集温度数据,10 ms定时到则接收、处理GpS接收板和主控板的数据,串口发送中断将温度数据和其他指令发送到GpS接收板和主控板,caN接口接收中断和发送中断实现与火控计算机的信息交互。若所有中断响应完成,则不进行任何操作,一方面保证了火控计算机指令的及时响应,另一方面避免了查询方式的中央处理器(central processing Unit, cpU)反复对输入/输出端口(Input/Output, I/O)寄存器进行访问而损失额外的功耗。用定时器定时代替延时子程序定时,在每个时间段上分配相应的工作,避免了毫无实际意义的空操作指令,减轻了cpU的工作量[4]。

b)中断优先级的合理安排。测温通讯软件有定时中断、caN接收中断、caN发送中断等多个中断源。根据客户需求caN接收外部指令最为关键,在设计中断优先级时将caN接收中断设为最高,定时中断次之,其次串口发送中断,caN发送中断的优先级最低。

3 关键软件技术的实现

3.1 数字滤波处理

由于外界存在随机干扰(外部环境干扰、噪声干扰等),需对温度信号进行连续多次采样,然后求其算术平均值作为有效采样数据,以达到抑制随机干扰的效果。一般情况下连续采样次数越多,抑制随机干扰的效果越好[5]。但对于宽温域范围内的测温系统,要保证测温的实时性,不能无限增加采样次数,因此可采用算术平均和滑动平均滤波相结合的方法处理采样温度值[6]。

算术平均滤波以1 ms的温度采样数据为基础,对1 s内的1 000组温度数据计算其平均值。为避免大数据占用随机存取存储器(Random access Memory, RaM)空间过大,在软件实现上先对每10 ms的数据进行均值处理,再将100个10 ms的均值再次平均得到1 s内的温度平均值。

滑动平均滤波的数学描述为

式中 xn-m+1~xn共m个采样值为当前滑动窗口中包含的数据样本;yn为第n次采样后滑动平均滤波算法的输出结果。

综合比较多台捷联惯组的温度补偿效果,结合可用的单片机RaM存储空间大小,最终设定m=30。软件实现上先设置一个长度为30的数组,当n<30时,计算n次的温度算术平均值作为输出;当n≥30时,取最近30 s的温度数据算术平均值作为输出。

通过算术平均滤波抑制子采样周期内的随机干扰,滑动平均滤波进一步抑制随机干扰并保证采样的实时性,按此方法处理后测温的重复性精度高于0.05 ℃,为建立正确的惯性器件温度模型提供了支撑。

3.2 基于循环队列技术的数据采集

队列即普通的顺序队列,是一种先进先出的线性表,它只允许在表的一端进行插入,而在另一端删除元素。由于被删除结点(出队结点)的空间永远不能使用,使用顺序队列会出现“假上溢”。为克服假上溢,测温通讯软件串口接收和发送的数据采用循环队列进行处理[7]。循环队列是将顺序队列设想为一个首尾相接的圆环,即数组首字节(data[0])接在数组尾字节(data[maxsize-1],maxsize为数组长度)之后,当尾指针指向数组的上界(maxsize-1),再作入队操作时,令尾指针指向数组的下界(0),这样就能克服假上溢现象。

测温通讯软件对循环队列的队空与队满情况区分采用少用一个结点空间,即头指针指向的空间不使用的办法。循环队列的运算包括下列步骤:

a)置队空:根据判断队空的方法,有一个结点空间是不使用的,可以在队空时,设定数组下标为0的空间不使用,因此置队空时,将头尾指针值设为0;

b)判队空:根据软件采用的队空与队满情况的区分方法,队空的判断条件是头指针等于尾指针;

c)取头结点:取出队列的头结点后,并不删除头结点,队列保持不变,如果队列是空队,则提示相关信息,由于操作的是循环队列,因此要考虑头指针从maxsize-1过渡到0的情况;

d)入队:入队时,将新结点插入到队尾,队尾指针加1,要考虑指针从maxsize-1过渡到0的情况以及队满不能入队的情况;

e)出队:出队时,删除队列的头结点,即移动头指针到头结点,取出头结点,要考虑队空不能出队的情况以及头指针移动时从maxsize-1过渡到0的情况。

结合单片机的可用RaM空间大小和接收处理串口数据的速度,测温通讯软件设定maxsize=250,即循环队列一次最多接收、存储250 Byte数据。通过使用循环队列进行串口数据的采集处理,测温通讯软件成功实现1 s内接收三千多字节的串口数据,并在2 s内完成caN接口发送到火控计算机的功能,满足火控计算机要求5 s内响应星历数据请求的需求,达到了快速响应火控计算机指令、接收大数据量不丢数的要求[8]。

4 结 论

测温通讯软件成功应用于某型激光捷联惯组中,试验验证实现了重复性精度为0.05 ℃的测温,进行温度补偿后全温域范围内激光陀螺零偏由补偿前的0.008 (°)/h提高到0.005 (°)/h,石英挠性加速度计零偏由补偿前2×10-4g提高到5×10-5g,有效提高了激光捷联惯组全温域的姿态、航向精度。接收大数据量的GpS定位及星历信息响应快而且不丢数,为捷联惯组与GpS的数据融合奠定了基础。

[1] 曹华. 光纤IMU误差标定及温度补偿技术的研究与实现[d]. 南京: 南京航空航天大学, 2008.

[2] 过润秋, 任晓强. 基于dSp的加速度计温度控制系统的硬件设计[J]. 国外电子元器件, 2006(4): 65-68.

[3] 卫瑞, 康冰, 孙谦. 基于光学捷联惯组的精密温控系统设计[J]. 导弹与航天运载技术, 2014(5): 78-81.

[4] 孙谦, 谢玲, 陈家斌, 刘星桥. 精密温控对惯性导航平台系统性能的影响[J]. 北京理工大学学报, 2002(6): 379-382.

[5] 黄卫权, 王磊. 加速度计温度控制系统设计与实现[J]. 应用科技, 2010(2): 37-41.

[6] 周航慈. 嵌入式系统软件设计中的常用算法[M]. 北京: 北京航空航天大学出版社, 2010.

[7] 陆玲, 周航慈. 嵌入式系统软件设计中的数据结构[M]. 北京: 北京航空航天大学出版社, 2008.

[8] 白瑞丰. 双核音频数字信号处理核心软件架构设计与实现[d]. 成都:电子科技大学, 2014.

A design of Temperature Measuring and Communication Software for SINS

Wei Rui, Kang Bing, Zhao Lin, dong Yan-wei, Ren chi
(Beijing Institute of Space Launch Technology, Beijing, 100076)

The temperature measuring and communication software is designed to gather and filter multiple temperature data, guarantee the measuring precision in a wide temperature range. It can receive position and navigation data of GpS in real time, and transmit satellite data well and truly in the rapid time. In the software, an appropriate process flow is designed, the calculating of temperature data and the noise eliminating are accomplished using the method of mean glide filtering in combination with the arithmetic average; Based on circular queue technology, the serial data can be

in real-time. application proves: the software has a repeatability precision higher than 0.05 ℃ in temperature measuring, can timely and accurately send navigation data to the fire control computer, and can meet the demand that receiving and handing ephemeris data of several KB in the 2s without data lose, therefore providing a way to realize temperature compensation, data fusion and external information interaction for LSINS.

Wide temperature range; Mean slide filtering; data fusion; circular queue

V556

a

1004-7182(2016)01-0103-04

10.7654/j.issn.1004-7182.20160124

2014-11-25;

2015-03-30

卫 瑞(1980-),女,高级工程师,主要研究方向为定位定向技术

猜你喜欢
捷联队列测温
某型捷联激光导引头网格化标定研究
队列队形体育教案
队列里的小秘密
基于多队列切换的SDN拥塞控制*
在队列里
弹道导弹的捷联惯性/天文组合导航方法
变压器光纤测温探头的安装固定
捷联惯性/天文/雷达高度表组合导航
红外测温技术在变电运维中的应用分析
基于DS18B20的单片机测温系统