本发明属于机弹载设备控制领域,涉及一种机弹载嵌入式软件快速升级的方法。
背景技术:
1、随着电子通讯技术的发展,机弹载系统也愈发复杂,涉及1/4/10m 1553(b)、can/canfd、rs422/rs485等多型总线接口,机弹载设备也由单处理器发展至多处理器集成的硬件架构。
2、传统弹载设备软件升级均需在单机状态下进行,各设备更新软件必须先进行拆弹处理,将设备返回各承研单位进行软件升级,耗时耗力。这种升级方式已远远无法满足多型总线互联,多设备、多处理器的复杂机弹载系统的软件升级需求。
3、在新研机弹载设备中,已有部分机弹载设备实现了软件在线升级的功能,主要采用以下方案:主控计算机通过1553b总线与外界传输文件数据,各机弹载设备与主控计算机通过rs422总线通讯,主控计算机通过1553b总线收到外界的文件数据后,通过rs422总线转发给各机弹载设备,实现各机弹载设备的软件升级。这种方案存在如下局限性:
4、(1)升级时间长。由于软件升级数据先经过1553b总线传输至主控计算机,主控计算机再通过rs422总线传输给各机弹载设备,软件数据经过两次通讯传输,导致各设备软件升级时间较长。
5、(2)无法满足多型号通用化需求,仅支持1553b单一总线模式下的软件升级需求,无法适配1/4/10m 1553(b)、can/canfd、rs422/rs485等多型总线接口,兼容性差,扩展性弱。
技术实现思路
1、本发明解决的技术问题是:克服现有技术的不足,提供了一种机弹载设备软件敏捷升级系统及方法,以满足目前多设备、多处理器、复杂总线互联的机弹载系统中多软件快速敏捷升级的技术需求。
2、本发明的技术解决方案是:一种机弹载设备软件敏捷升级系统,包括通讯总线、外部软件升级设备、主控计算机以及两个及以上的机弹载设备,其中:
3、所述的通讯总线包括1/4/10m 1553(b)总线,can/canfd总线及rs422/rs485总线;
4、所述的外部软件升级设备,包括gpio模式状态配置模块,用于总线模式、透传模式和混合模式的选择配置;所述的总线模式为对内对外全是1553(b)总线或者全是can/canfd总线的机弹载系统信息传输方式;所述的透传模式为对外是1553(b)总线和rs422/rs485总线,内部是rs422/rs485总线的机弹载系统信息传输方式;混合模式为对外是1553(b)总线,内部全是can/canfd总线,或者内部是can/canfd总线和rs422/rs485总线的机弹载系统信息传输方式;
5、所述的主控计算机用于根据外部软件升级设备的gpio模式状态,按照选取的模式为相应的机弹载设备发送升级信息;
6、所述的机弹载设备根据主控计算机传来的升级信息进行软件升级。
7、进一步的,所述的主控计算机包括通用性接口ip核和可重构软件升级ip核,所述的通用型接口ip核,包括gpio接口模块、1553(b)接口模块、can/canfd接口模块、rs422/rs485接口模块,其中gpio接口模块用于获取外部软件升级设备的gpio模式状态,1553(b)接口模块用于1553(b)数据的接收和发送,can/canfd接口模块用于can/canfd数据的接收和发送,rs422/rs485接口模块用于rs422/rs485数据的接收和发送;所述的可重构软件升级ip核包括模式识别模块、数据缓存转发模块、串口转换模块,其中模式识别模块用于对gpio接口模块的数据进行逻辑判断,确定当前软件升级模式,数据缓存转发模块用于对接收的总线数据进行缓存和转发,串口转换模块将对外rs422/rs485总线转接至待进行软件升级的机弹载设备。
8、一种利用机弹载设备软件敏捷升级系统进行软件升级的方法,总线模式下对内对外全是1553(b)总线的软件升级流程包括:
9、(301)gpio模式状态配置模块将模式状态设置为总线模式,各机弹载设备与外部软件升级设备均连接1553(b)总线;
10、(302)gpio接口模块读取gpio模式状态,模式识别模块根据gpio模式状态进行模式识别,确定模式状态为总线模式;
11、(303)各机弹载设备等待接收来自1553(b)接口模块的各机弹载设备通讯指令;
12、(304)外部软件升级设备通过1553(b)总线发送机弹载设备软件升级请求,所述的机弹载设备软件升级请求包括一个软件升级指令、一个待升级设备的机弹载设备id号、一个机弹载设备处理器id号;
13、(305)各机弹载设备对收到的机弹载设备软件升级请求进行解析,获取到软件升级指令、待升级设备的机弹载设备id号以及处理器id号;
14、(306)相应的机弹载设备通过1553(b)总线接收更新文件并根据对应机弹载设备处理器id号将数据传输给对应处理器,接收到数据的处理器进行软件在线升级,由此完成该机弹载设备的软件升级。
15、透传模式下的软件升级流程包括:
16、(401)gpio模式状态配置模块将模式状态设置为透传模式,各机弹载设备连接rs422/rs485总线,外部软件升级设备连接1553(b)总线和rs422/rs485总线;
17、(402)gpio接口模块读取gpio模式状态,模式识别模块根据gpio模式状态进行模式识别,确定模式状态为透传模式;
18、(403)1553(b)接口模块等待接收来自1553(b)总线的通讯指令;
19、(404)外部软件升级设备通过1553(b)总线发送机弹载设备软件升级请求,所述的机弹载设备软件升级请求包括一个软件升级指令、一个待升级设备的机弹载设备id号、一个机弹载设备处理器id号;
20、(405)主控计算机对收到的机弹载设备软件升级请求进行解析,获取到软件升级指令、待升级设备的机弹载设备id号以及处理器id号;
21、(406)串口转换模块根据获取到的机弹载设备id号进行串口转换,将对外rs422/rs485串口总线转接至待升级软件的机弹载设备;
22、(407)外部软件升级设备通过rs422/rs485串口总线发送机弹载设备软件升级请求;
23、(408)各机弹载设备对收到的机弹载设备软件升级请求进行解析,获取到软件升级指令、待升级设备的机弹载设备id号以及处理器id号;
24、(409)相应的机弹载设备通过rs422/rs485串口总线接收更新文件并根据对应机弹载设备处理器id号将数据传输给对应处理器,接收到数据的处理器进行软件在线升级,由此完成该机弹载设备的软件升级。
25、混合模式下对外为1553(b)总线、内部为can/canfd总线和rs422/rs485总线的升级流程包括:
26、(501)gpio模式状态配置模块将模式状态设置为混合模式,各机弹载设备根据自身接口分别连接can/canfd总线或rs422/rs485总线,外部软件升级设备连接1553(b)总线;
27、(502)gpio接口模块读取gpio模式状态,模式识别模块根据gpio模式状态进行模式识别,确定模式状态为混合模式;
28、(503)1553(b)接口模块等待接收来自1553(b)总线的通讯指令;
29、(504)外部软件升级设备通过1553(b)总线发送机弹载设备软件升级请求,所述的机弹载设备软件升级请求包括一个软件升级指令、一个待升级设备的机弹载设备id号、一个机弹载设备处理器id号;
30、(505)主控计算机对收到的机弹载设备软件升级请求进行解析,获取到软件升级指令、待升级设备的机弹载设备id号以及处理器id号;
31、(506)数据缓存转发模块从1553(b)总线接收更新文件并根据对应机弹载设备处理器id号,将机弹载设备id号对应为can/canfd总线的软件升级数据经can/canfd接口模块转发给can/canfd总线模式的机弹载设备,将机弹载设备id号对应为rs422/rs485总线的软件升级数据经rs422/rs485接口模块转发给rs422/rs485总线模式的机弹载设备;
32、(507)相应的机弹载设备通过can/canfd总线或rs422/rs485总线接收更新文件并根据对应机弹载设备处理器id号将数据传输给对应处理器,接收到数据的处理器进行软件在线升级,由此完成该机弹载设备的软件升级。
33、本发明与现有技术相比的优点在于:
34、(1)适配多型总线接口,系统兼容性高。本发明以机弹载设备整机软件敏捷升级为出发点,从架构设计、方法优化和软硬件系统集成三个维度,围绕多设备、多处理器、复杂总线互联等问题,构建了可重构、可裁剪的敏捷升级系统,通过设计通用型接口ip核、可重构软件升级ip核的方法,实现兼容1/4/10m1553(b),can/canfd、rs422/rs485等多型不同接口形式的复杂机弹载系统软件敏捷升级功能,满足多型号、多任务通用化、标准化的使用需求,提高软件在线更新的可靠性;
35、(2)缩短软件升级时间。本发明在总线模式和透传模式下,数据仅经过一次通讯传输,减少了软件升级数据的传输转换次数。在总线模式、透传模式、混合模式三种模式下,均可实现整机、整弹模式下的软件更新,各机弹载设备无需返厂即可进行软件升级操作。本发明可大大缩短软件升级时间,尤其是在多机弹载设备含有多处理器的复杂系统中,效果显著。