双模导引头高度定位系统的研究与实现
2017-05-03易义芬安学智程晓莉
易义芬, 安学智, 袁 霖, 程晓莉, 王 诚, 陈 亮
(1 西安现代控制技术研究所, 西安 710065; 2 西安应用光学研究所, 西安 710072;3 西北工业大学软件与微电子学院, 西安 710065)
0 引言
双模导引头飞行高度精确测量与控制在目标搜索与识别、战场环境侦查、导引头航姿遥测等飞行任务中起着至关重要的作用,主要由高度定位系统实现。传统的高度测量系统多数采用静压传感器的压差膜盒对大气静压进行探测,输出大气压模拟信号,并转换为相应海拔高度值,并未考虑地面大气温度、湿度等因素,以至于输出的静态大气压值与真实大气压值之间有偏差[1],存在测量精度低、一致性差等问题。另一方面随着电子科技迅速发展、战场环境复杂多变、信息对抗与反对抗不断增强,对导引头在现实环境中的适应性、生存力提出严格的要求,小型化、集成化、智能化、模块化是导引头发展必然趋势[2-3],然而传统高度测量系统大多数存在电子集成度低、体积大和功耗高、环境适应性弱、实时同步性差等问题。
针对上述问题,研究一种电子器件集成小型化和模块化、测量精准度高、环境适应性强的高位测量系统成为亟需解决的问题。文中设计并实现了一种具有大气压与温度测量、温度补偿、大气压滤波、大气压高度转换、与经纬度测量数值实时同步的高度定位系统,该系统将电源组件模块、大气压与温度采集模块、数据处理模块、存储与通讯模块高度集成于一体。其集成电路结构简单、功耗和成本低、大气压高度转换率高、响应速度快、输出数据可靠稳定等特点,适合双模导引头飞行海拔高度的测量和操控。
1 系统硬件设计
高度定位系统由电源组件模块、大气压与温度采集模块、数据处理模块、存储模块和通讯模块组成,其硬件组成见图1。电源组件模块包括FPGA与FLASH供电单元、存储器与MS5534B供电单元,分别输出1.8 V、3.3 V和5 V稳定电压;大气压与温度采集模块感应大气压和温度差分模拟信号,经过ADC转换和数据滤波处理输出数字信号;存储模块存储备份海拔高度和采集时间,供双模导引头地面遥测系统查看与使用;数据处理模块是高度定位系统的处理核心,获取绝对非补偿的大气压、温度以及补偿参数,进行温度补偿、软件滤波和大气压高度转换间接得到测量高度数据;通讯模块包括SPI通讯单元和RS422通讯单元,完成高度定位系统与数字压力传感器、双模导引头飞行操控系统之间数据传输与控制、采集时间实时同步等功能。
图1 硬件系统组成框图
1.1 数字压力传感器
MS5534B是瑞士Intersema公司生产的一款集成有压阻式压力传感器和ADC接口的SMD混合集成电路,内部集成了压阻式压力传感器、电阻式温度传感器、数字选择器、15 bit模数转换器、数字滤波器及数据存储器模块[4],其结构见图2。大气压和温度测量使用同一个Σ-Δ型15 bit ADC,测量大气压时,ADC转换传感器的差分模拟输出电压,测量温度时,ADC则感应和转换传感器电桥的电阻,在两种测量期间,传感器通过多路选择开关(Input MUX)用很短的切换时间完成。经过ADC分别将大气压和温度的差分模拟信号转换为数字信号,再通过数字滤波器(Digital Filter)抑制干扰,然后将16 bit大气压和温度数据存贮在数字IC模块中。针对大气压测量和温度测量分别在MS5534B的PROM中写入出厂标定的4个16 bit校正字WORD1~WORD4,其中逐位逻辑移位组合6个参数C1~C6,主要用于修正由温度变化引起实际大气压与测量大气压之间存在的误差。
图2 MS5534B内部结构图
1.2 FPGA微处理器
FPGA微处理器采用Xilinx公司生产的Spartan-6系列XC6SLX45T芯片,具有功耗低、速度快、可配置逻辑模块多等特点。通过管脚配置成各种通讯标准I/O接口,可以与MS5534B、MAX3940、K9LCG08U1A-M和FLASH管脚直接连接,不需要额外添加电容和电阻,进一步简化电路设计、降低功耗和成本、减小体积、减轻重量。与FPGA微处理器配套使用的FLASH芯片选用XCF16PVO48I。
1.3 电源组件
选用TI公司生产的TPS70345和TPS76818两种芯片分别给FPGA微处理器和FLASH闪存提供管理电源解决方案,其中TPS70345产生FPGA所需的3.3 V I/O接口电平和1.2 V内核电平,该芯片最大可提供3.3 V电平1 A的输出电流能力和1.2 V电平2 A的输出电流能力;TPS76818主要提供FLASH芯片的1.8 V电平,该芯片可提供1.8 V电平1 A的输出电流能力。选用TI公司的REG117-3.3芯片分别给K9LCG08U1A-M存储芯片和MS5534B数字压力传感器提供管理电源解决方案,该芯片输出固定3.3 V电平,最大电流可达800 mA。
2 系统软件设计
系统软件采用模块化设计架构,主要由初始化模块、SPI通讯模块、数据处理模块、数据存储模块和串口通讯模块组成,主程序以周期循环方式实现对各模块调用控制。高度定位系统上电后调用初始化模块,配置各芯片逻辑单元;通过SPI通讯模块向MS5534B写入复位序列和读取温度补偿参数、测量大气压和温度值,并写入FPGA微处理器的FLASH;通过数据处理模块算出温度补偿后的测量大气压值,采用软件滤波算法抑制噪声干扰,经过大气压高度转换算法得到测量高度;通过数据存储模块将测量高度值和采集时间写入/读取存储芯片;通过串口通讯模块完成了双模导引头飞行操控系统对高度定位系统操作控制,系统软件运行流程图见图3。
图3 系统软件运行流程图
2.1 温度补偿设计
2.1.1 标准温度补偿
MS5534B主要功能是将压阻式压力传感器感应的非补偿差分模拟电压换成测量大气压值,然而在实际测量过程中实际大气压与测量大气压之间存在误差,见图4。1)在相同温度条件下,传感器输出测量大气压与实际大气压之间存在线性关系;2)在不同温度且同一实际大气压条件下,传感器输出测量大气压之间存在差异。因此为了消除差异,需要通过补偿温度传感器感应的测量温度,修正因温度变化引起压力传感器的零漂和灵敏度,从而修正测量大气压与实际大气压的偏差[5],进一步提高测量大气压精准度和灵敏度。
压力传感器的温度补偿需要外部微处理器完成,首先通过三线SPI接口向MS5534B发送复位序列启动MS5534B,其次从MS5534B的PROM读取4个校正字WORD1-WORD4并逐位提取6个参数C1~C6,最后写入FPGA微处理器的FLASH。系统测量高度时,FPGA微处理器从MS5534B读取大气压D1和温度D2,并根据FLASH中的参数C1~C6,用MS5534B用户手册提供的算法对测量大气压进行标准温度补偿[6],得到温度补偿后的测量大气压P。
图4 实际大气压与测量大气压误差图
1)计算标定温度
标定温度:UT=8×C5+20 224
2)计算实际温度
实际温度与参考温度之差:dT=D2-UT
实际温度:TEMP=200+dT×(C6+50)÷212
(0.1 ℃分辨率)
3)计算温度补偿气压值
实际温度偏差:
OFF=C2×4+((C4-512)×dT)÷212
实际温度灵敏度:
SENS=C1+(C3×dT)÷210+24 576
X=(TSENS×(D1-7 168))÷214-OFF
温度补偿大气压:
P=X×10÷25+250×10(10 Pa分辨率)
通过上述标准温度补偿算法消除因温度传感器输出线性关系导致的误差,但是在很低或很高温度环境中仍然存在误差,通过二阶温度补偿可以进一步减小由温度变化导致的测量误差。
2.1.2 二阶温度补偿
为了在整个温度变化范围内获得最佳校正误差,系统采用二阶温度补偿算法[6]消除因温度传感器输出非线性问题导致误差,此算法根据测量温度,在不同范围采取不同算法算出温度和大气压补偿参数,然后用MS5534B输出的测量温度和大气压减去补偿参数,算出经过二阶温度补偿的温度TEMP和大气压P。
1)低温补偿方式(TEMP<200 ℃):
T2=11×(C6+24)×(200-TEMP)2÷220
P2=3×T2×(P-3 500)÷214
2)不需要补偿(200 ℃ T2=0 P2=0 3)高温补偿方式(450 ℃ T2=3×(C6+24)×(450-TEMP)2÷220 P2=T2×(P-10 000)÷213 4)计算测量大气压和温度: TEMP=TEMP-T2 P=P-P2 在温度很低或者很高的环境中,二阶温度补偿方式尤为有效,可以大幅度减少误差,见图5。从图中得出在正负极端温度范围内,测量误差从10 ℃以上降至1 ℃以内,温度补偿效果非常明显。 图5 二阶温度补偿效果 为了满足高精度、高稳定性和高可靠性的要求,需要通过数字滤波器抑制噪声扰动,即将普通硬件RC低通滤波器的微分方程用差分方程表示,便可用软件算法模拟硬件滤波的功能[7],低通滤波算法为: Yn=αXn+(1-α)Yn-1 (1) 式中:Yn为本次滤波器输出值;Xn为MS5534B读出的测量值;Yn-1为上次滤波器输出值;α是介于0~1的滤波系数。滤波系数的选择要兼顾数据的稳定性和海拔高度变化时数据的响应速度,如果α值太小,提高了数据的稳定性,但降低了海拔高度变化的响应速度[1]。因此滤波系数α最合适的取值,需要根据双模导引头飞行的实际情况来确定,经过50 h以上不同海拔高度飞行测试论证,最终确定α值为0.25,则低通滤波算法简化为: Yn=0.25Xn+0.75Yn-1 (2) 2.3.1 标准海拔高度 大气压高度转换原理是根据在重力场中大气压随着海拔高度升高逐渐衰减的规律设计。但是大气压随海拔高度的变化关系受到譬如大气密度、温度、湿度等诸多因素响应,公开资料表明海拔高度每升高1 km,相对大气压大约降低12%,大气密度降低20%,绝对湿度随海拔高度的升高而降低;海拔高度每升高1 km大气温度下降5 ℃,最高温度会降低5 ℃,平均温度下降5 ℃。因此国际上普遍采用美国颁布的《标准大气》,该标准将25 km高度以下大气的大气层分成两个区域:对流层和同温层。在对流层以内海拔高度与大气温度呈线性关系,它的平均海拔高度下限为0 km,而在同温层大气温度则是一个常值,它的平均海拔高度下限为11 km。标准大气压高度计算方程如式(3)、式(5),其中β为大气温度垂直梯度,温度越高标准海拔高度越低,不同高度层对于不同温度梯度,如表1所示。PH为测量大气压,不同标准海拔高度对应不同测量值。 表1 大气温度垂直梯度对应表 1)当大气温度垂直梯度β不为0,标准海拔高度与大气压、温度的关系为: (3) 根据式(3)中:Pb=101.325×103Pa为标准海拔高度0 km的标准大气压(平均海平面标准大气压);R=287.052 78 m2/(Ks2)为空气气体常数;gb=9.806 65 m/s2为自由落体重力加速度;β=-0.006 5 K/m为大气温度垂直梯度;Tb=288.15 K为标准海拔高度0 km的标准大气温度。可以得出标准大气压高度近似式: (0 km≤H≤11 km) (4) 2)大气温度垂直梯度β为0,标准海拔高度与大气压、温度的关系为: (5) 根据式(5)中:Pb=226.32×103Pa为标准海拔高度11 km的标准大气压;β=0.00 K/m为大气温度垂直梯度;Tb=216.65 K为标准海拔高度11 km的标准大气温度。gb和R与式(3)相同,可以得出标准大气压高度近似式: (11 km≤H≤25 km) (6) 2.3.2 修正标准海拔高度误差 标准大气压高度转换公式,是假设大气压在垂直方向和水平方向没有流动的理想标准大气压条件下推导得出的。若在双模导引头飞行区域的大气压与标准大气压不符合的情况下,大气压高度转换的测量海拔高度与平均海拔高度存在原理性的误差,主要由于基准平面大气压变化、温度变化、温度梯度变化造成,原理性误差可由标准压高公式的增量方程式(7)求得: (7) 通过式(8)、式(9)修正由基准平面大气压变化、温度变化引起的高度误差,即提高大气压变化量ΔHP0和温度变化量ΔHT0的测量灵敏度,降低标准大气压高度误差,提高海拔高度测量的分辨率和精准度。 (8) (9) 图6 测量高度与大气压力和温度图 验证方法是通过火箭撬将携带激光测距机的双模导引头抛向高空,通过地面遥测监视系统对双模导引头飞行航姿进行控制,同步录制高度定位系统测量高度值与采集时间、激光测距机测量高度值与采集时间,同时经过无线通信模块下传到地面遥测监视系统,以下截取2~3 km部分数据进行说明。图6中的横坐标表示测量高度,纵坐标表示大气压力,得出测量高度随大气压和温度的降低而升高;图7中横坐标表示大气压,纵坐标表示测量高度(包括激光测量高度、传统压力高度、补偿压力高度),得出压力高度随大气压降低而升高;图8中横坐标表示高度误差,纵坐标表示激光测量高度,传统压力高度与激光测量高度平均误差(≤±6 m),补偿压力高度与激光测量高度平均误差(≤±2 m)。激光器厂商给出激光测距在3 km以下单次照射最大误差±50 mm,11 km以下连续照射最大误差±1 m左右,从而得出高度定位系统与激光测距机的高度误差在3 km以下最大误差±2.05 m,11 km以下的最大误差±3 m,因此高度定位系统的测量高度在3 km以下为最大误差±2.05 m,11 km以下的最大误差±4 m,符合双模导引头提出的海拔高度精度要求。 图7 测量高度对比图 图8 测量高度误差图 文中通过硬件和软件设计,实现了一种基于双模导引头的高度定位系统。在某型双模导引头外场飞控综合性能测试和模拟打靶功效测试的过程中,对高度定位系统与飞行操控系统在操控实时响应速度、复杂环境适应性能、各系统之间电磁干扰等方面进行综合实效测试,进一步验证了高度定位系统能够满足当前条件下双模导引头提出的集成化、小型化、智能化等需求,具有一定的使用价值和参考性。同时暴露出在硬件和软件设计方面存在缺陷,将在某改型多模导引头研发过程中逐步进行完善。 参考文献: [1] 杨成顺, 杨忠, 马俊, 等. 基于MS5540C的无人机高度传感器设计 [J]. 应用科技, 2010, 37(8): 26-30. [2] 徐春夷. 国外导引头技术现状及发展趋势 [J]. 制导与引信, 2012, 32(2): 11-15. [3] 赵超, 杨号. 红外复合制导技术概述 [J]. 制导与引信, 2007, 28(2): 1-7. [4] 王志刚, 唐飞, 王晓浩, 等. 基于MS5534B的压力高度计系统的设计 [J]. 微纳电子技术, 2008, 45(6): 351-355. [5] 倪秀辉, 马庆锋, 王芳. 基于MS5534B的微功耗气压数据采集模块 [J]. 国外电子元器件, 2008(6): 49-51. [6] Intersema Sensoric SA. MS5534B barometer module data sheet [[EB/OL]. (2005-02-28)[2016-10-16]. http: ∥www.intersema.ch. [7] 沈建华, 杨艳琴, 翟骁曙. MSP430系列16位超低功耗单片机原理与应用 [M]. 北京: 清华大学出版社, 2004: 43-87.2.2 大气压滤波设计
2.3 大气压高度转换设计
3 试验验证
4 结论