基于1553B总线的星载嵌入式软件在轨升级方法*

2022-02-11 08:02刘世佳马宏业
遥测遥控 2022年1期
关键词:总线程序升级

胡 萍,刘世佳,马宏业

基于1553B总线的星载嵌入式软件在轨升级方法*

胡 萍,刘世佳,马宏业

(北京遥测技术研究所北京 100076)

针对星载嵌入式软件在轨升级难的问题,提出了基于1553B总线的星载嵌入式软件在轨(线)升级方法。通过1553B总线接收升级程序、固化程序和升级程序分区独立存储、启动程序和应用程序互相配合的方式,实现软件升级、部分传输异常时补丁升级及升级异常情况下的版本回退。在某星载固态存储设备上对方法进行了试验验证,结果表明,方法可对星载固态存储设备的软件进行在轨(线)升级,升级程序异常情况下可通过设备开关电自动回退版本,部分出错时上注补丁量少,提高了星载嵌入式软件测试维护和在轨维护的效率和可靠性。

1553B总线;星载软件;软件升级

引 言

随着航天器寿命的增长、任务难度的加大、研制周期的缩短和星载软件复杂度的提高,测试中发现问题或需求变更后升级软件的需求也越来越多。常规的软件升级方法是,通过相关CPU芯片(例如BM3803、DSP等)的调试接口将上位机准备的程序文件烧写至存储芯片中。此方法需要将产品从卫星平台拆离取回至研制单位,大多还需要将产品机壳打开,程序升级[1,2]后再次安装产品并补充试验,操作繁琐、升级周期长,难以满足用户对研制进度的要求。因此,用户对星载产品软件不开盖且不依赖于调试接口实现在线升级的需求越来越迫切。

同理,随着卫星寿命的延长,卫星发射入轨后,对软件在轨升级以实现错误修正或提升软件能力的需求也越来越多。目前,大部分在轨产品不具备软件在轨升级能力,少量软件虽然可以进行在轨升级,但在升级过程中需要操作人员实时对上注的每包程序的接收情况进行判读,一旦错误需要马上重新上注或全部重新上注,升级时间长、效率低,而每次星地测控时间短,需要多个星地测控时段才能完成[3],严重影响卫星在轨任务的执行。

通常,星载设备组装完成并交付卫星使用后,仅有专用数据接口和1553B通信接口,而其中只有1553B总线上的控制器能接收地面上注数据,因此,通过地面测试设备将升级程序上注至卫星1553B控制器后,由其将升级程序通过1553B总线发送至升级设备来完成升级。

1 升级方案

基于1553B总线实现在线(轨)升级方案的主要思路是:设备在地面测试过程中,在线升级通过地面测试设备模拟星上1553B总线控制器功能,由其将升级程序发送至待升级设备;卫星在轨运行时,通过地面测控设备将升级程序上注至卫星的1553B总线控制器,并通过1553B总线将升级程序发送至待升级设备。程序升级完成后通过指令选择使用程序,并与Boot程序配合完成程序升级。地面系统在线升级和在轨升级的工作原理框图分别如图1和图2所示。

实现基于1553B总线的星载软件在线(在轨)升级,需要完成以下几个方面工作:①存储程序的硬件可分区独立存储;②编写相应的Bootloader引导程序,能根据需要从不同的存储空间加载程序,实现软件版本回退;③应用软件中具备从1553B总线接收并处理上注程序的功能。

着重针对以上三点具体的实现方式进行详细的阐述及讨论。

图1 地面系统在线升级工作原理框图

图2 地面系统在轨升级工作原理框图

与传统的程序升级方法比较,通过1553B总线实现星载软件的在线(在轨)升级,其优势在于:

①星载设备硬件平台无需更改,充分利用已有硬件接口和存储芯片,可避免产品重新设计带来的技术风险和质量风险,无需增加硬件成本;

②合盖产品升级周期短,产品上星后在地面升级无需拆除和打开机壳,升级验证时间从几天缩短至几十分钟,大大提高了升级和验证效率;

③升级自动完成且自动上报错误包,地面对错误包进行补充上注,无需地面操作员多次操作和实时判读,提高了升级效率和可靠性;

④1553B总线上的终端设备,在存储空间满足需求的条件下,均可使用此方法进行在线(轨)升级;

⑤此方法对在轨升级同样适用,且升级时间短,通过星地测控通道进行升级,不占用升级设备过多的任务时间;

⑥可靠性高,不会因为升级程序异常而导致产品失效。

2 升级产品的软硬件设计

以某卫星的固态存储设备为例说明,该产品为卫星提供数据存储服务,对外接口有专用数据接口和1553B总线控制接口(接收测控指令和发送遥测等数据),采用CPU与FPGA配合工作方式实现数据的存储和检索读出等功能,CPU程序在SDRAM中运行,MRAM和PROM存储重要数据和程序。

2.1 软件设计

软件设计有2个程序,Bootloader引导程序和应用程序。Bootloader引导程序固化在PROM中,CPU加电时即运行Bootloader程序,根据上次加电选择的程序标志选择固化程序或升级程序,然后立即将程序选择标志清除,随后加载至程序运行区并启动执行。完成所属产品功能的应用程序存储在MRAM中,包括1553B总线的初始化、接收、处理和发送,以及产品功能实现模块等。软件功能框图如图3所示。

图3 软件功能框图

2.2 硬件设计

星载软件嵌入在CPU(如BM3803)芯片中运行,所在硬件平台包括PROM、SDRAM、MRAM等存储芯片,通过1553B总线与卫星计算机通信,与FPGA配合完成产品的相应功能。其中,用于存储应用程序的MRAM有两组:一组用于存储卫星发射前版本,在地面固化程序并通过相应的硬件处理使该组MRAM在轨不会被误写而导致在轨固化版本被破坏(即必须确保在轨产品硬件不失效的情况下有正确的软件版本可以运行);另一组MRAM作为升级版本存储空间,可以多次保存升级程序。硬件接口图如图4所示。

图4 硬件接口框图

3 BOOT功能设计与实现

产品加电或复位后,CPU启动,从0x0地址的Bootloader程序开始运行。Bootloader程序首先检测程序加载选择标志(应用程序根据地面上注指令设置,并在MRAM中冗余保存,避免出现异常错误),根据标志选择加载固化程序还是升级程序,选择后立即将该标志清除(写入默认标志,表示默认为从固化程序加载);然后加载所需程序运行。若本次升级程序在线(在轨)运行异常,则可通过断电再次加电操作,Bootloader程序加载默认的固化程序运行,保证不会因为升级程序有误而导致产品在轨失效。

4 应用程序在线升级程序的设计与实现

应用程序数据拆分成若干个程序分包,每个分包中根据协议添加包头、包序号以及包校验值并按整星上注块协议封装[4],以上功能由地面测试程序完成。

应用软件在运行空闲状态下,1553B总线收到程序升级指令,程序进入升级状态,不再接收其他指令,仅接收上注的升级程序。根据上注通信协议,首先对上注的程序分包进行校验检测,若通过检测则根据数据包中的包序号计算在专用MRAM中存储空间的地址,将本次分包程序写入MRAM中;若检测不通过,则记录本次分包程序的包序号。每接收1包分包程序则接收计数加1,每检测发现1错误包则错误包计数加1。地面设备将所有分包程序上注完后发送升级结束指令,若发现错误包计数不为0,则发送相应指令获取相应的错误包的包序号列表,并将错误包再次上注。上注过程中无需地面操作人员进行判读和干预,大大缩短了升级所需的时间;错误包可单独再次上注,避免出错时大量数据重复上注,提高了升级效率。程序升级流程如图5所示。

图5 程序升级流程图

5 试验验证与应用情况

基于某卫星固态存储器平台测试环境,对所提出的基于1553B总线嵌入式星载软件在线(在轨)升级方法进行试验,主要针对程序更新和异常情况进行测试。

5.1 试验情况

①原始版本(V1.00)应用程序固化在MRAM中,通过1553B总线上注V1.01版本,目标代码为128KB,按协议每包上注248B,分拆包后每包上注间隔为200 ms,通过传统的在轨上注块上注至星载计算机模拟设备,由其通过1553B转发至固态存储器,上注时长约15 min,完成后接收包计数正确,错误包计数为0,表明程序上注正常;若出现上注包错误则补注错误包;考虑到一般在轨测控弧度小于15 min,可分多次上注,完成上注前将已上注的部分程序在MRAM中冗余保存,避免因单粒子效应的空间环境影响出现异常错误。上注完成后发送切换程序指令,产品断电再重新上电,通过1553B总线下传数据可发现V1.01版程序运行正常。

②上注程序中某包分拆程序校验错误,上注至该包数据时,1553B下传数据中错误包计数加1,上注完成后通过指令将错误包序号下传至地面测试设备,重新上注该包程序,然后切换程序,产品断电再重新上电,通过1553B总线下传数据可发现V1.01版程序运行正常。

上注程序中有错误(无法运行),分拆上注完成后切换程序,产品断电再重新上电,程序无法正常运行。复位后V1.00程序正常运行,实现版本回退。

通过试验可知,本方法可以正确完成版本升级、补丁上注和版本回退。

5.2 应用情况

本方法已在某几个型号卫星存储设备中应用,并在系统联试中验证使用,128KB大小的程序升级时间仅约10 min,大大缩短了升级时间;无需打开产品机壳,不需要专用下载设备,使得程序升级简单可行,联试中修改程序并及时验证可缩短系统联试时间。同理,上注时长约10 min,即1~2次星地测控时段即可完成128KB大小的程序升级以及切换验证,说明本方法适用于卫星产品软件在轨升级,升级操作与地面在线升级基本相同。

6 结束语

本文提出了一种基于1553B总线的嵌入式星载软件在线(在轨)升级方法,该方法通过1553B总线接收地面系统上注程序并处理,与指令配合实现升级版本的切换与使用,传输异常情况下可补注,升级异常版本可回退。本方法具有通用性,升级效率高,可靠性高,适用于挂接在1553B总线上的各种星载设备在线(在轨)升级。

[1] 马振华, 张磊, 刘骁, 等. 浅谈基于串口通信的在线加载程序优化设计[J]. 信息通信, 2019, (3): 167–168.

MA Zhenhua, ZHANG Lei, LIU Xiao, et al. On the optimization design of online loader based on serial communication[J]. Information & Communication, 2019, (3): 167–168.

[2] 刘政华, 常培平. RS422总线的TMS320F2812软件在线加载方法[J]. 单片机与嵌入式系统应用, 2019, 19(5): 63–66.

LIU Zhenghua, CHANG Peiping. On-line software loading method for TMS320F2812 based on RS422 bus[J]. Microcontrollers & Embedded Systems, 2019, 19(5): 63–66.

[3] 韦涌泉, 董振辉, 张红军. 一种基于文件的嵌入式星载软件在轨升级方法[J]. 单片机与嵌入式系统应用, 2018, 18(5): 32–35.

WEI Yongquan, DONG Zhenhui, ZHANG Hongjun. Method of embedded onboard software upgrading based on file[J]. Microcontrollers & Embedded Systems, 2018, 18(5): 32–35.

[4] 何熊文. 一种通用遥控注入数据格式的设计与应用[J]. 航天器工程, 2008, 17(1): 94–99.

HE Xiongwen. Design an application of a common spacecraft telecommand data format[J]. Spacecraft Engineering, 2008, 17(1): 94–99.

Method of embedded onboard software upgrading based on 1553B bus

HU Ping, LIU Shijia, MA Hongye

(Beijing Research Institute of Telemetry, Beijing 100076, China)

In the paper, a method of onboard embedded software upgrade based on 1553B bus is proposed. In this method, the upgrade program is

by 1553B bus, the solidified program and the upgrade program are stored separately, and the Bootloader program and application program cooperation with each other to realize the software upgrade. When part of the transmission is abnormal, the patch is upgrade and the version is rolled backed when the upgrade is abnormal. The results show that the method can upgrade the software of the satellite storage device on orbit(on-line), and automatically back off the version by power on/off when the upgrade program is abnormal. When some errors occur, the patch is less. The maintenance efficiency and reliability of on-board embedded software are improved.

1553B bus; Onboard software; Software upgrade

V433

A

CN11-1780(2022)01-0066-04

10.12347/j.ycyk.20200815001

胡萍, 刘世佳, 马宏业. 基于1553B总线的星载嵌入式软件在轨升级方法[J]. 遥测遥控, 2022, 43(1): 66–69.

DOI:10.12347/j.ycyk. 20200815001

: HU Ping, LIU Shijia, MA Hongye.Method of embedded onboard software upgrading based on 1553B bus[J].Journal of Telemetry, Tracking and Command, 2022, 43(1): 66–69.

胡 萍 1978年生,本科,研究员,主要研究方向为嵌入式星载软件设计。

刘世佳 1991年生,硕士,工程师,主要研究方向为嵌入式星载软件设计。

马宏业 1982年生,硕士,高级工程师,主要研究方向为嵌入式星载软件设计。

基金项目:航天预研项目

2020-08-15

2021-01-18

Website: ycyk.brit.com.cn Email: ycyk704@163.com

(本文编辑:杨秀丽)

猜你喜欢
总线程序升级
时间触发通信总线监控技术研究
小投入,大升级 Polk Audio Monitor XT系列
关于CAN总线的地铁屏蔽门控制思路论述
给Windows添加程序快速切换栏
幸福,在“家门口”升级
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
第九章 升级!我的宠物
PCI9030及其PCI总线接口电路设计