HMR3000电子罗盘与DSP的接口设计及编程
2010-06-05彭建新段智文熊益群
彭建新,段智文,万 明,熊益群
(1.衡阳北方光电信息技术有限公司 湖南 衡阳 421001;2.湖南交通工程职业技术学院 湖南 衡阳 421001;3.中国人民解放军总装驻衡阳地区军事代表室 湖南 衡阳421001)
美国Honeywell公司生产的数字罗盘模块HMR3000使用磁阻传感器和两轴倾斜传感器来提供航向信息,带有电子常平架的罗盘即使倾斜40°也能给出精确的航向。该电子罗盘广泛应用于航海、航天、测量系统等领域。HMR3000内部全部使用表面贴装元件,不含有任何的移动元件,所以非常可靠和坚固。这个低功耗、小体积的装置带有非铁磁性金属外壳,便于安装固定在任何一个平台上。允许用户对罗盘的输出进行组态,包括3类NMEA标准信息(HDG、HDT和 XDR),3类专用语句(HPR、RCD和 CCD)。该模块内置微处理器控制传感器的测量顺序,控制器操作的参数存储在EEPROM中,输出的语句满足NMEA0813标准[1]。
光电搜索侦察系统与后端武器打击系统通过有线或无线连接时,两个系统往往处于地球上不同的位置,如何将光电搜索系统搜索到的空中目标方位、俯仰位置传递到后端武器打击系统,成为后端武器打击系统有效打击目标的关键。一般而言,两个系统安装处于地球的水平面且有机械或电子调平装置,这样空中目标的俯仰位置对两个系统平台而言是相同的。但空中目标对于两个系统平台方位而言却存在不同,基于地理正北固定不变原理,通过获取系统相对地理正北顺时针夹角,即可将光电搜索侦察系统指向目标的方位值报告给后端武器打击系统。
电子罗盘在工程中获得了广泛的应用,文献[2]给出了基于单片机高级语言HMR3000编程的探讨,文献[3]给出了电子罗盘在载体上实时跟踪地球同步卫星的案例。安装于光电侦察搜索系统平台上的电子罗盘HMR3000具备航向输出信息,根据文献[1]给出的航向输出语句的格式及校正方法对电子罗盘进行有效编程及校正,可以获取系统相对地理正北顺时针夹角。通过考虑不同地区磁北的差异设计计算正北夹角的方法去完整实现地理正北沿顺时针相对系统指向夹角的获取。
1 HMR3000的硬件接口设计
1.1 功能特性
数字电子罗盘HMR3000可以为导航定位系统提供航向、俯仰、横滚等数据。其中航向的精度为±0.5°,分辨率为±0.1°。HMR3000有 4种工作模式:连续、选通、睡眠和校准。HMR3000可在连续和选通模式下工作。在连续模式下,HMR3000以可组态的速率输出罗盘主动提供的NMEA标准信息,而在选通模式下,则根据用户控制电路的申请输出。
1.2 控制特性
HMR3000电子罗盘控制特性如表1所示。
表1 HMR3000电子罗盘主要控制特性Tab.1 Main control features for HMR3000 e-compass
1.3 通信协议
对于HMR3000有两类输入:对于输出语句的请求,或设定一个组态参数;对于所有有效的输入,HMR3000都送出一个响应,带有正确的检查总数的值。HMR3000输出语句有3种标准的和3种专用的NMEA信息,以连续模式从HMR3000发送出来。HMR3000的串行通信是根据NMEA0813标准制定的简单的、异步ASCII协议。可以使用RS232或RS485接口电路。ASCII码的传输和接收使用1位停止位,8位数据位(低位在先)、无奇偶校验位(MSB永远为0)和1位停止位。每一个码有10位。波特率可以选择1200,2 400,4 800,9 600或 19 200。HMR3000支持NMEA0183和专用的信息。
1.4 接口硬件设计
1.4.1 电子罗盘信号接口定义
HMR3000采用标准的RS232接口,其信号定义如表2所示。
表2 HMR3000电子罗盘信号接口定义Tab.2 HMR3000 e-compass signal interface definition
1.4.2 硬件接口设计
电子罗盘与DSP接口电路如图1所示。电子罗盘有两个电源输入端,硬件设计时选择第9脚未稳压的电源作为输入,通过7812稳压电源模块把+15 V电源变为+12 V从第9脚输入。若选择稳压的第8脚+5 V电源作为输入的话,对电源的纹波、精度、稳定度都有很高的要求,稍有不慎就可能烧掉电子罗盘。
图1 电子罗盘与DSP接口电路Fig.1 Interface circuit of e-compass and DSP
电子罗盘RS232接口的RXD、TXD信号通过专门的RS232接口转换器MAX3243EAI[4]来实现与DSP的RS232(DSP有A口、B口,这里选B口)接口的连接。
MAX3243EAI在3.3V电源能稳健工作,这样就兼顾了DSP的3.3V信号电平。MAX3243EAI引脚FORCEIN,FORCEOFF,INVALID分别接高、低、低电平。在试验时发现这3个引脚不连接,DSP与罗盘的通信存在极大的不可靠性,并有死机现象。
电子罗盘标定时用到的信号要经过电平转换以实现与DSP的I/O信号的连接。DSP的信号电平为3.3 V,电子罗盘的信号是5 V,故选用SN74LS245实现电平转换,其电路连接如图2所示。
图2 电子罗盘电平转换电路Fig.2 Level conversion circuit of e-compass
2 接口软件设计
2.1 具体应用
开发的便携式红外搜索跟踪仪主要用来向指挥控制系统或后端武器打击系统报告空中来袭目标 (如飞机、导弹等),从而对来袭目标实施有效打击。便携式红外跟踪仪与后端武器打击系统及前端指挥系统针对来袭目标位置的融合需要依赖统一的大地地理坐标系,安装于系统的罗盘指向与系统的方位轴系存在固有的关系,依据电子罗盘的特性,可以有效获取大地地理正北指向沿顺时针相对电子罗盘指向的夹角。
2.2 DSP初始化
TI公司 DSP TMS320F2812的 RS232接口有 2个:A、B接口。利用B接口作为罗盘通信用。B接口被I/O接口与RS232接口复用,故DSP初始化时需将该接口设置为RS232接口。根据文献[5],DSP初始化(该口波特率、数据传输格式初始化略)该接口部分代码如下:
GpioMuxRegs.GPGMUX.all=0x0030;//设 置 G4/SCITXDB,G5/SCIRXDB为第二功能接口
2.3 电子罗盘接口软件在DSP端的实现
电子罗盘正向与地理正北夹角获取流程如图3所示。
图3 电子罗盘正向与地理正北夹角获取流程图Fig.3 Obtained flow chart of angle between e-compass forward direction and earth due north
通过 DSP的SCI-B接口与电子罗盘通信,遵循标准RS232协议,1个起始位,8个数据位,1个停止位,设定通信波特率为 19 200 b/s。DSP首先发送 “#FA0.4=1*21<CR><LF>”字符设定罗盘输出单位为度,然后发送“#FA0.3=0*27<CR><LF>”设定罗盘数据输出为选通输出方式,最后发送“$TNHCQ,HDG*27<CR><LF>” 查询罗盘输出的航向数据。DSP端获取罗盘输出涉及到“$”字符的判定问题,所以罗盘输出的数据存在一个截取过程。根据文献[6],DSP端软件实现部分代码如下:
2.4 获取平台相对地理正北夹角计算
为了获得罗盘正向与地理北的夹角值,存在一定的换算关系。机械安装保证罗盘正向与光轴指向一致,如存在偏向角,则还需叠加偏向角。我国除乌鲁木齐、南沙群岛、曾母暗沙群岛磁偏角位于磁北偏东以外,其他地区均处于磁北偏西。系统归零时,假定磁北(图4指示磁北在地理北以西,也可能在地理北以东)、地理北、光轴指向如图4所示。同时假定磁偏角为ξ,罗盘正向与磁北夹角为φ(角度以磁北顺时针命名,即磁航向),获取的罗盘正向与地理正北夹角为θ(相对地理北顺时针命名,即真航向)。根据每个地区ξ值的不同采用上位软件命令输入方式。磁北偏在地理北以西时,ξ为正值,磁北偏在地理北以东时,ξ为负值。设计时ξ始终取为正,但以标志作为正、负判断,则存在以下判据:
图4 系统指向图Fig.4 Point diagram of system
首先判 ξ值的符号位 compassflag,compassflag=1时为正,compassflag=0时为负。
1)compassflag=1 时
当φ<ξ时,即罗盘正向处于磁北与地理北之间时,则
当φ≥ξ时,即罗盘正向处于磁北与地理北之外时,则
2)compassflag=0 时
当360≥φ≥(360-ξ)时,即罗盘正向处于磁北与地理北之间时,则
当 φ<(360-ξ)时,即罗盘正向处于磁北与地理北之外时,则
3 结 论
HMR3000与外界通信若采用通常的汇编语言,其控制处理的灵活性差,而且语言本身的可移植性差。采用DSP高级语言处理克服了以上的缺点。以上利用高级语言处理的HMR3000部分接口程序在CCS 2.21环境下编译通过,其获取平台相对地理正北重复精度达±0.1°,且速度快,并在开发的项目中稳定运行。系统稳定运行需要注意磁场对电子罗盘的干扰。
[1]HoneywellInternationalInc.HMR3000digitalcompassmodule user's guide[EB/OL].[2009-08-05].http://www.ssec.honeywell.com/magnetic/datasheets/hmr3000_manual.pdf.
[2]张颖.基于高级语言的HMR3000模块接口编程[J].兵工自动化,2002,21(4):41-43.ZHANGYing.HMR3000moduleinterfaceprogrammingagainst senior language[J].War Industry Automation,2002,21(4):41-43.
[3]彭树生.数字电子罗盘HMR3000特性及应用[J].电子技术,2004,31(8):39-43.PENG Shu-sheng.Characteristic and application of HMR3000 e-compass[J].Electronic Tecnology.2004,31(8):39-43.
[4]Maxim Integrated Products.MAX3243 Data sheet[EB/OL].(2005-05).http://china.maxim-ic.com/quick_view2.cfm/MAX-3243.pdf.
[5]Texas Instruments Incorporated.TMS320C28X系列DSP的CPU与外设[M].张卫宁,译.北京:清华大学出版社,2004.
[6]卢有杰.C语言高级程序设计[M].北京:清华大学出版社,1991.