基于ARMCortex-M3的舰船电子横摇指示记录系统设计*
2016-04-15郑振宇朱世杰
郑振宇 张 榆 朱世杰
(1.海军大连舰艇学院航海系 大连 116018)(2.海军大连舰艇学院学员旅 大连 116018)
基于ARMCortex-M3的舰船电子横摇指示记录系统设计*
郑振宇1张榆2朱世杰2
(1.海军大连舰艇学院航海系大连116018)(2.海军大连舰艇学院学员旅大连116018)
摘要为了实时测量舰船浮态及摇摆周期等稳性指标的变化,开发了一种电子横摇指示记录系统。系统以ARMCortex-M3微处理器为核心,利用MEMs惯性器件与磁阻传感器构建姿态敏感单元,采用旋转矢量姿态更新算法与频域周期测量方法,配合SD卡存储单元与FATFS Module文件系统,实现了舰船摇摆角、摇摆周期的实时测量与数据存储。测试实验表明:在2个小时内水平姿态解算精度为0.1°,周期测量精度约为0.1s,独立供电待机时长可达30天,并具有测量稳定、实时性强、功耗小、成本低等优点,具有较强的工程应用价值。
关键词横摇指示; Cortex-M3; MEMs惯性器件
Marine Electronic Roll Indicator and Recorder Based on ARM Cortex-M3
ZHENG Zhenyu1ZHANG Yu2ZHU Shijie2
(1. Department of Navigation, Dalian Navy Academy, Dalian116018)
(2. Brigade of Student, Dalian Navy Academy, Dalian116018)
AbstractIn order to measure ship’s buoyancy state and the period of sway, the marine electronic roll indicator and recorder is developed based on 32-bit MCU which has an ARM Cortex-M3 core. The attitude measurement unit is built by MEMs inertial component and magnetism sensors and the rotation vector attitude update algorithm is adopted. The period of ship sway is calculated by FFT period measure method on frequency domain. SD card memory unit and file system of FATFS Module the system can save the calculate data. Measurement tests verify that the algorithm achieve the precision of level attitude of 0.1° in 2 hours and the precision of period measurement of 0.1s. The system can work steadily and continuously for about 30 days with the advantage of low power, real-time and low cost. Therefore the system has the engineer application values.
Key Wordsship roll indicate, Cortex-M3, MEMs inertial sensor
Class NumberTU976.3
1引言
航行安全是舰船的日常航行训练与水面舰艇作战的基本前提与保障,尤其是近年来频繁发生的沉船事故,再一次给世界航运业与各国海军敲响了警钟。舰艇的浮性、稳性与不沉性一定程度上决定了舰船的安全属性,是舰船生命力的重要指标[1]。
舰船在货物装载、油水使用过程中都会造成舰船的浮态及稳性指标的偏移,主要体现为舰艇横摇角与摇摆周期的变化。一般情况下,舰船驾驶台安装有横摇指示器一定程度上可以指示舰船摇摆角度的变化,其原理相当于一个重力摆,通过机械指针指示横摇角度,长期使用摩擦系数增大,精度下降严重。同时,利用其测量舰船的摇摆周期,需通过秒表等计时工具辅助采用人工多次计量取平均值的方式进行,费时费力,精度不高。本文介绍了一种电子横摇指示记录系统,可对舰船航行姿态、横摇周期、横摇幅度以及频率特性进行实时测量、显示与记录。
2系统组成与工作流程
系统组成如图1所示。系统以低功耗高性能微处理器(MCU)为核心,以三轴MEMS加速度计、陀螺仪惯性测量元件,辅助磁阻传感器作为姿态测量传感器组,采用OLED屏幕为外显单元,以高速大存储量SD卡为存储媒介,内嵌FATFS文件系统,存储文件格式选用二进制文件,以提高存储速度与存储效率。考虑到舰船出航对系统提出的带电时间要求与独立性要求,采用锂电池独立供电,专门设计充放电路,一次充电可连续工作30天。
图1 系统组成图
其中,MCU采用基于ARM Cortex-M3内核的32位单片机STM32F103RET6。系统的具体工作流程如下:系统初始化后通过陀螺仪、加速度计和地磁传感器进行设备初始对准;初始化完毕,MCU模块通过I2C数字接口采集加速度计、陀螺仪以及地磁传感器数据,基于捷联航姿与组合导航算法对姿态进行实时解算,同时由SPI总线把计算后得出的各类数据发送到OLED显示屏显示,并通过FATFS文件系统以SD卡为媒介进行数据存储。由于显示单元显示空间有限,通过按键实现显示界面的切换功能。
3硬件设计
3.1MCU模块
综合考虑系统总体性能要求与成本要求,处理器选用STM32F103RET6型号芯片,该芯片属于STM32F103系列微控制器,可用于高度集成与低功耗的嵌入式应用场合[2~3]。芯片具有64个引脚,其中I/O口数目为51个,具有如下特点:
1) 先进的内核结构:Cortex-M3内核;
2) 优秀的功耗控制,具有高效率的动态耗电机制,代码在Flash中全速运行频率为72MHz,如果外部时钟开启,处理器仅消耗27mA电流,电池供电时,可在2.0V~3.6V间低电压供电;
3) 通信接口广泛,包括五个USART,三个SPI,两个I2C,USB、CAN、SDIO各一个;
4) 高达512KB的片内Flash程序存储器;
5) 四个通用定时器,两个基本定时器,两个高级控制定时器;
6) 高度集成整合,最大程度集成实现,尽量减小对外部器件要求,它内嵌有电源监控器,具有上电复位、掉电检测等诸多功能。
3.2加速度计传感器
根据实际工作环境,选用具有低功耗、量程可变、高分辨率、抗冲击等良好特性的ADXL345三轴加速度计。该传感器不但可以在倾斜敏感应用中测量静态重力加速度,还可以在运动甚至振动环境中测量动态加速度,目前主要应用于微小型导航设备、手机、硬盘保护、运动健身器材、数码照相机等移动设备。传感器采用MEMS技术,大小相当于小拇指指甲盖的1/3;具有SPI和I2C两种数字信号输出功能,数字输出数据为16位二进制补码格式,在本系统中采用了I2C数字接口进行数据访问。
电源电压范围:2.0V~3.6V,I/O电压范围:1.7V~VS,待机模式下功耗电流仅为0.1μA。抗冲击力可达到10000g。此外,还集成了一个32级FIFO缓存器,可将主机处理器负荷降至最低。最大量程可达±16g,并可根据测量范围在±2、±4、±8g量程范围内实现动态切换。分辨率可随带宽自动按比例切换,包括10位固定分辨率、全分辨率,±16g时分辨率高达13位,本系统采用固定的4g/LSB分辨率模式,在该模式下可测得0.25°的倾角变化。
3.3陀螺仪传感器
陀螺仪选用MPU-3050数字运动处理(Digital Motion Processor,DMP)硬件加速引擎的三轴陀螺仪。该传感器延用传统惯性传感器结构,但是内建数字运动处理器(DMP)与FIFO,不仅能减轻主机应用程序处理器之高频运动演算,也能减少中断次数与主机每秒运算指令数,进而改善整体系统效能。MPU-3050电原理图如图2所示。
配合16-bit的模拟/数字转换器与可程控的数字滤波器,加之出厂前校准至1%的敏感度,使三轴角速率传感器实现了高精度、大动态范围的数字方式输出,具有±250~±2000°/s的全格感测范围,同时,内嵌的温度传感器可与陀螺仪数据同步输出温度。内部嵌入多个感测组件融合算法技术,可利用第二个I2C接口链接外接加速度器来实现六轴运动处理能力。10000g的耐震容忍度及6.5mA的低工作电流可满足船载、长航时的环境需求。
图2 MPU3050电路原理图
3.4地磁传感器
地磁传感器选用霍尼韦尔HMC5883L磁阻传感器,它是一款具有数字接口的弱磁传感器芯片,采用了霍尼韦尔独有的各向异性磁阻(AMR)技术,并附带霍尼韦尔专利的集成电路包括放大器、自动消磁驱动器、偏差校准、高进度的12位模数转换器,在低磁场传感器行业中是灵敏度最高和可靠性最好的传感器,主要应用于低成本罗盘和磁场检测领域。12-bit ADC与低干扰AMR传感器,能在±8高斯的磁场中实现5毫高斯分辨率,传感器能在强磁场环境中罗盘航向精度达到1°~2°。内置驱动电路,采用I2C数字接口,内置自检功能,磁场测量范围广,从毫高斯到8高斯,最大输出频率可达160Hz。
3.5供电模块
由于MCU以及OLED均采用3.3V以下的电压进行供电,而锂电池在充满电的情况下电压为4.2V,为了使用3.7V锂电池供电,为系统设计了一个专门的锂电池供电模块,采用PS7516同步升压整流芯片将输入的4.2V电压转换为5V-1A的输出,PS7516属于一种工作频率固定550KHz频率的current mode PWM高效率升压DC-DC转换器,它是专用于锂电池升压5V-1A的高效率产品升压系统。专门设计充放电路,一次充电可连续工作30天。
3.6存储模块与文件系统
为了实现对姿态信息及周期信息的记录功能,系统以SD卡为存储媒介设计数据存储单元。SD卡有SDIO和SPI两种通信模式。其中SDIO方式采用6线制,使用CLK、CMD、DAT0~DAT3进行数据通信,而SPI方式采用4线制,使用CS、CLK、DIN、DOUT进行数据通信。由于ARM芯片自带SPI接口,在速度满足要求的前提下,本系统采用SPI模式与SD卡进行通信。为了减少SD卡的读写次数,系统将实时解算完数据先存入缓存区,再按照1Hz的频率存入SD卡中。SD卡存储模块电原理图如图3所示。
图3 SD卡存储模块电原理图
系统采用FATFS Module文件系统模块,它是一种完全免费开源的FAT文件系统模块,专门为小型的嵌入式系统而设计。它完全用标准C语言编写,且完全独立于I/O层,可以移植到8051、PIC、AVR、SH、Z80、H8和ARM等系列单片机上,支持FAT12、FAT16和FAT32,支持多个存储媒介,有独立的缓冲区,可以对多个文件进行读/写。
4软件设计
4.1软件工作流程
图4 系统软件流程
系统软件工作流程如图4所示。首先通过对加速度计、陀螺仪以及磁阻传感器进行同步数据采集,对其进行低通滤波滤除高频噪声影响,以磁阻传感器输出横、纵摇角与航向角构建初始姿态信息,采用捷联惯性姿态更新算法对该姿态进行更新计算,实时获得舰船横、纵摇姿态信息[4~5]。由于惯性姿态更新计算得到的姿态信息存在累积误差,因此,利用磁阻传感器输出的姿态信息周期性对其进行修正。
4.2姿态更新模型
为了提高姿态初始对准速度,以磁阻传感器输出三轴姿态为初始姿态,并转化为姿态四元数Q(t0)。选用等效旋转矢量姿态更新算法,更新迭代模型为
(1)
为了检测姿态解算精度,系统调试时借助三轴摇摆台进行摇摆试验,以摇摆台输出姿态为基准,根据式(1)姿态解算模型计算各姿态角误差,2个小时的误差数据如图5所示。显然,在2个小时解算时间内,横、纵摇角误差均小于0.1°,可以满足横摇指示器短期精度解算要求。
图5 姿态角解算误差曲线
4.3摇摆周期计算模块
系统主要检测舰船的横摇周期,周期解算采用频域计算法[7,10]。频域方法需要对连续采集的数据进行截取即开设时间窗。不同舰船类型的摇摆周期存在一定差异,水面舰艇的摇摆周期在6s~10s,客船一般在8s~12s[1]。为了更全面地分析有限数据的频域信息,系统选取20s时间数据作为频域解算的时间窗长度。系统解算周期为0.01,因此,需要一次性存储2000个横摇角数据点作为分析解算的原始数据。数据截取后,采用快速傅里叶算法对数据进行频域转换,转换后利用求极值算法得到主频率值,该值对应的周期即为舰船瞬时横摇周期。
5结语
本文介绍了一种以ARM Cortex-M3微控制器为核心,基于多传感器同步采集与实时姿态、周期解算的低成本、低功耗电子横摇指示记录设备。该设备可实时解算舰船横摇角度、横摇周期、摇摆幅度,角度测量精度可达0.1°,周期指示精度可达0.1s,可为船舶驾驶人员实时掌握船舶浮态与稳性指标提供可靠、准确的信息支撑。同时,系统具备信息存储功能,利用存储的横摇信息,事后可对数据进行统计、频域及时间序列分析[8~9],为开展船舶摇摆运动建模与预报等相关研究提供数据支持,具有较强的工程应用价值。
参 考 文 献
[1] 迟卫.船舶性能与原理[M].北京:海潮出版社,2014.
[2] ARM公司Cortex-M3技术参考手册[EB/OL].2009:1-10
[3] ARM公司Cortex-M3用户指导用书[EB/OL].2009:1-9.
[4] 梁勇.基于MEMS的航姿系统的设计与实现[D].哈尔滨:哈尔滨工程大学,2011.
[5] 杜继永,黄国荣,张凤鸣,刘华伟.基于低成本MEMS器件的捷联航姿系统设计[J].传感技术学报.2010,23(11):1662-1666.
[6] David H T, John L W. Strapdown inertial navigation technology[M]. 2nd Edition. Hampshire, UK: Institute of Electrical Engineers,2004.
[7] Bar-Itzhack I. Y, Oshman Y. Attitude Determination from Vector Observations: Quaternion Estimation[J]. IEEE Transactions on Aerospace and Electronic Systems,1985,21(1):128-135.
[8] 赵希人,彭秀艳,沈艳,等.舰船运动极短期建模预报的研究现状[J].船舶工程,2002(3):4-9.
[9] 马洁,李国斌.船舶横摇运动的时间序列预报[J].北京机械工业学院学报,2006,21(1):4-7.
[10] iXSea Ltd. imo-octans-type-certificate-b0.pdf[EB]. www.ixsea.com,2005,8:2.
中图分类号TU976.3
DOI:10.3969/j.issn.1672-9730.2016.03.011
作者简介:郑振宇,男,博士,工程师,研究方向:MEMs捷联航姿系统开发。张榆,女,研究方向:舰船稳性计算。朱世杰,男,研究方向:单片机开发与应用。
基金项目:国家自然科学基金项目(编号:51309059);海军大连舰艇学院2110三期学术课题项目资助。
收稿日期:2015年9月1日,修回日期:2015年10月22日