一种适用于水下惯导设备的软件升级方法技术

技术编号:17387411 阅读:69 留言:0更新日期:2018-03-04 12:10
本发明专利技术涉及一种适用于水下惯导设备的软件升级方法,引入包式传输协议,克服了流式传输在水声通讯中的弊端,高效地进行数据传输完成软件升级;引入备份升级机制,避免了在升级过程中系统意外掉电或水声通讯中断等原因导致的升级中断发生;引入升级密钥验证机制,避免系统异常进入升级模式;支持“启动时升级”、“运行时升级”两种方式,使得软件升级更加便捷。

A software upgrading method for underwater inertial navigation equipment

The invention relates to a method for underwater inertial navigation equipment software upgrade method, introducing the packet transmission protocol, overcomes the disadvantages of streaming transmission in underwater acoustic communication, efficient data transmission software upgrade; introducing backup upgrade mechanism to avoid in the process of upgrading the system accidentally cause electric or acoustic communication interruption upgrade interrupt; introducing upgrade key authentication mechanism, to avoid the abnormal system in the upgrading mode; support \start upgrading\, \run the upgrade\ in two ways, which makes the software upgrade more convenient.

【技术实现步骤摘要】
一种适用于水下惯导设备的软件升级方法
本专利技术属于嵌入式应用领域,涉及一种适用于水下惯导设备的软件升级方法。
技术介绍
在水下导航领域,惯性导航设备与甲板控制单元通过声波进行通讯。水声通信通常会受到水中的波浪、鱼类、舰船等产生的噪声干扰,同时也会受到多径效应、多变效应造成的信号模糊或信号干扰。水声通信的难点在于声波信号经过远距离传播后衰减严重,信噪比很低,如果处理不当,就会造成传输过程中误码率高,甚至无法正常通信。通常情况下,惯导设备通过有线连接方式(例如UART、以太网等)同维护系统(例如主控设备)连接,而Bootloader(嵌入式系统在加电后执行的第一段代码,在它完成对CPU和相关硬件的初始化后,再将操作系统或固化的嵌入式应用程序加载到内存中然后跳转到操作系统所在的空间,启动操作系统运行)常采用流式传输进行软件升级。有线连接方式的优点是传输可靠,误码率极低,待数据全部传输完毕后,做一次整体校验。而水下导航设备在软件升级过程中,因采用声波通信的方式,会存在较高的误码率,而任何一个字节的传输错误,都会造成最后的校验错误,进而导致升级失败。鉴于此,为了应对水下苛刻的通信环境,提高严酷通信环境下升级应用程序的成功率,本专利技术实现了一种适用于水下惯导设备的软件升级方法。该方法支持“启动时升级”、“运行时升级”两种IAP(InApplicationProgramming,程序运行中编程)逻辑,升级结束后,系统会自动重启,解决了常规惯导设备升级软件后需对全系统下电的要求。引入“数据重传”、“备份升级”等安全机制,使得在水下声波通信环境下软件一次升级成功率达到100%,同时克服了软件升级失败后系统无法运行的难题。
技术实现思路
本专利技术的目的是提供一种能够提升严酷通讯环境下升级惯性导航设备软件成功率的方法。本专利技术的技术方案是:一种适用于水下惯导设备的软件升级方法,包括以下步骤:步骤1:进入升级模式;步骤2:传输软件升级包数据;步骤3:固化备份APP分区;步骤4:迁移APP分区数据;步骤5:退出升级模式。所述的一种适用于水下惯导设备的软件升级方法,步骤1中所述进入升级模式包括启动时升级和运行时升级;所述启动时升级具体步骤包括:步骤1.1a惯导设备上电时,向维护系统发送系统启动信号,如需软件升级,维护系统向惯导设备发送软件升级信号;步骤1.2a惯导设备收到软件升级信号后向维护系统发送确认升级信号,维护系统下发软件升级信息;步骤1.3a惯导设备将维护系统下发的升级密钥同密钥区存储的数据比对,如一致,则立即进入升级模式,执行步骤2;否则执行正常引导启动;所述运行时升级具体步骤包括:1.1b惯导设备在正常运行模式下,如需软件升级,维护系统向惯导设备发送软件升级信号;1.2b惯导设备收到软件升级信号后向维护系统发送确认升级信号,维护系统下发软件升级信息;1.3b惯导设备将维护系统下发的升级密钥同密钥区存储的数据比对,如一致,则立即进入升级模式,并关闭系统外部中断,禁用除升级软件所用的接口以外的其余全部外部接口,执行步骤2;否则继续正常运行模式。2.根据权利要求1所述的一种适用于水下惯导设备的软件升级方法,其特征在于,所述步骤2具体包括以下步骤:步骤2.1惯导设备进入升级模式后,惯导设备等待接收维护系统下发的软件升级数据包,若接收到,则执行步骤2.2,否则查询等待;步骤2.2惯导设备收到软件升级数据包后,进行CRC校验,若校验一致,向维护系统发送ACK确认信息,并执行步骤2.3;否则向维护系统发起数据重传请求,后执行步骤2.1;步骤2.3惯导设备判断帧标志字:若帧标志字内容为软件升级包,则执行步骤3;若帧标志字内容为停止帧,则执行步骤3。所述的一种适用于水下惯导设备的软件升级方法,所述步骤3具体包括:惯导设备将CRC校验一致的软件升级数据包固化至备份APP分区。所述的一种适用于水下惯导设备的软件升级方法,全部数据传输完毕并完成整包校验后,若校验成功,则自动将备份APP分区中的数据复制到APP分区,并报告升级成功,执行步骤5;若校验不成功,不会执行复制操作,并报告升级失败。所述的一种适用于水下惯导设备的软件升级方法,步骤1中所述的软件升级信息包括软件升级数据包的整包长度及升级密钥。本专利技术的有益效果:随着惯性导航设备在水下导航领域的应用井喷式发展,后期软件维护与升级日趋频繁,维护成本也变得非常高昂。本专利技术能极大地降低软件升级成本,提升软件升级效率。附图说明图1为启动时升级流程。图2为运行时升级流程。图3为FLASH分配,规定了Bootloader起始地址及大小。图4为RAM分配,规定了密钥的存储空间及大小。图5为软件数据包接收处理流程。具体实施方式下面结合说明书附图对本专利技术做详细说明,具体步骤如下:1.进入升级模式:“启动时升级”模式,如附图1:1.1a惯导设备上电时,向维护系统发送系统启动信号,如需软件升级,维护系统向惯导设备发送软件升级信号;1.2a惯导设备收到软件升级信号后向维护系统发送确认升级信号,维护系统下发软件升级信息(包含待升级软件的长度及升级密钥);1.3a惯导设备将维护系统下发的升级密钥同附图5中所示密钥区存储的数据比对,如过一致,则立即进入升级模式,执行步骤2;否则执行正常引导启动。“运行时升级”模式,如附图2:1.1b惯导设备在正常运行模式下,如需软件升级,维护系统向惯导设备发送软件升级信号;1.2b惯导设备收到软件升级信号后向维护系统发送确认升级信号,维护系统下发软件升级信息(包含待升级软件的长度及升级密钥);1.3b惯导设备将维护系统下发的升级密钥同附图5中所示密钥区存储的数据比对,如过一致,则立即进入升级模式,并关闭系统外部中断,禁用除升级软件所用的接口以外的其余全部外部接口,执行步骤2;否则继续正常运行模式。注1:惯导设备密钥:如附图4(以STM32F405举例)所示,该Bootloader在RAM中开辟了一片专门的区域,用于存储升级密钥(为16字节静态密钥,唯一并同具体设备号绑定)。2.传输软件升级包数据,如附图5所示:2.1惯导设备进入“升级模式”后,惯导设备等待接收维护系统下发的软件升级数据包,若接收到,则执行步骤2.2,否则查询等待。维护系统向惯导设备下发软件升级数据包。包式传输协议包含帧开始标志、帧序号、帧标志字、数据字节、校验字节,其中,帧序号从00开始直到255,然后又从00开始,对于不大于255K字节的数据包,它的帧序号是唯一的;数据字节的长度为1024;校验方式为循环冗余码(简称CRC16)校验;2.2惯导设备收到软件升级数据包后,进行CRC校验,若校验一致,向维护系统发送ACK确认信息,并执行步骤2.3;否则向维护系统发起数据重传请求,后执行步骤2.1;2.3惯导设备判断“帧标志字”:帧标志字为0xAA,代表该数据帧内容为软件升级包,并执行步骤3;帧标志字为0x55,代表该数据帧为停止帧,并执行步骤3。注1:流式传输:无固定数据格式的字符流。注2:包式传输:为克服流式传输在水声通讯中的弊端,特引入包式传输协议。相对流式数据,有固定的帧格式,数据链路层定义了协议数据单元,包括三部分:帧头、数据部分、帧尾。注3:数据重传:水声通信过程中,不可避免地会出现误码,为高效地进行数据传输本文档来自技高网
...
一种适用于水下惯导设备的软件升级方法

【技术保护点】
一种适用于水下惯导设备的软件升级方法,其特征在于,包括以下步骤:步骤1:进入升级模式;步骤2:传输软件升级包数据;步骤3:固化备份APP分区;步骤4:迁移APP分区数据;步骤5:退出升级模式。

【技术特征摘要】
1.一种适用于水下惯导设备的软件升级方法,其特征在于,包括以下步骤:步骤1:进入升级模式;步骤2:传输软件升级包数据;步骤3:固化备份APP分区;步骤4:迁移APP分区数据;步骤5:退出升级模式。2.根据权利要求1所述的一种适用于水下惯导设备的软件升级方法,其特征在于,步骤1中所述进入升级模式包括启动时升级和运行时升级;所述启动时升级具体步骤包括:步骤1.1a惯导设备上电时,向维护系统发送系统启动信号,如需软件升级,维护系统向惯导设备发送软件升级信号;步骤1.2a惯导设备收到软件升级信号后向维护系统发送确认升级信号,维护系统下发软件升级信息;步骤1.3a惯导设备将维护系统下发的升级密钥同密钥区存储的数据比对,如一致,则立即进入升级模式,执行步骤2;否则执行正常引导启动;所述运行时升级具体步骤包括:1.1b惯导设备在正常运行模式下,如需软件升级,维护系统向惯导设备发送软件升级信号;1.2b惯导设备收到软件升级信号后向维护系统发送确认升级信号,维护系统下发软件升级信息;1.3b惯导设备将维护系统下发的升级密钥同密钥区存储的数据比对,如一致,则立即进入升级模式,并关闭系统外部中断,禁用除升级软件所用的接口以外的其余全部外部接口,执行步骤2;否则继...

【专利技术属性】
技术研发人员:回永利刘武曹新强杨佳君侯国超何昊
申请(专利权)人:中国航空工业集团公司西安飞行自动控制研究所
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1