CN111400018A - 一种不中断姿态测量的星敏感器软件在轨诊断和重构方法 - Google Patents

一种不中断姿态测量的星敏感器软件在轨诊断和重构方法 Download PDF

Info

Publication number
CN111400018A
CN111400018A CN202010315071.6A CN202010315071A CN111400018A CN 111400018 A CN111400018 A CN 111400018A CN 202010315071 A CN202010315071 A CN 202010315071A CN 111400018 A CN111400018 A CN 111400018A
Authority
CN
China
Prior art keywords
software
task
orbit
diagnosis
reconstruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010315071.6A
Other languages
English (en)
Other versions
CN111400018B (zh
Inventor
赵汝进
刘恩海
周武林
赵人杰
王进
周向东
韩维强
马跃博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Optics and Electronics of CAS
Original Assignee
Institute of Optics and Electronics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Optics and Electronics of CAS filed Critical Institute of Optics and Electronics of CAS
Priority to CN202010315071.6A priority Critical patent/CN111400018B/zh
Publication of CN111400018A publication Critical patent/CN111400018A/zh
Application granted granted Critical
Publication of CN111400018B publication Critical patent/CN111400018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Navigation (AREA)

Abstract

本发明公开了一种不中断姿态测量的星敏感器软件在轨诊断和重构方法,包括:步骤(1)、星敏软件多任务划分;步骤(2)、周期性多任务调度;步骤(3)、在调度周期内执行软件任务。本方法针对星敏软件在轨诊断、在轨重构与星敏姿态测量任务难以同步并行的难点。采用多任务并行技术,实现星敏测姿不中断条件下的星敏软件在轨诊断和在轨重构,保证了星敏测姿工作长期连续稳定的开展,提高了星敏感器软件在轨诊断、软件在轨重构功能的工程适用性。

Description

一种不中断姿态测量的星敏感器软件在轨诊断和重构方法
技术领域
本发明涉及一种星敏感器软件在轨诊断和重构方法,尤其涉及一种基于多任务调度的不中断姿态测量的星敏感器软件在轨诊断和重构方法。
背景技术
卫星星敏感器作为现代卫星核心单机设备之一,通过对星空成像跟踪识别等技术,为卫星导航与控制提供高精度的姿态测量数据,“指引”着卫星的方向。星敏感器作为一种以恒星为参考源的高精度光学敏感器,主要由光学镜头、遮光罩、箱体结构、电子线路等组成。光学镜头在空间中收集星空中光学信号,经过图像传感器光电转换为星图数据,再经过星敏感器软件对星图进行星点提取识别、姿态解算等处理,最终解算出卫星平台在惯性系下的姿态信息。
星敏感器软件是实现星敏测姿功能的关键环节,而星敏在轨运行期间将受到空间各种辐射粒子干扰,将可能引起电子器件单粒子翻转效应等,从而引起星敏软件代码发生改变,出现错误。而软件的在轨诊断和在轨重构技术是星敏应对代码错误,实现软件在轨可维护性、可靠性、灵活性的重要途径,对星敏感器长期在轨稳定工作起着必不可少的作用。
星敏感器软件在进行在轨诊断和在轨重构功能时,往往无法同时保持在轨测姿工作,即星敏软件在轨诊断或在轨重构往往需要星敏感器退出测姿模式,进入单独的诊断模式、重构模式等,而在这些工作模式下,无法实现测姿和诊断、重构同步工作,姿态信息无法获取。星敏在轨诊断和在轨重构时无法同时获取卫星姿态信息无疑增大了卫星在轨运行风险性,同时也降低了在轨诊断和在轨重构功能的工程实用性。如何实现不中断星敏测姿的星敏软件在轨诊断和重构是星敏感器软件在轨维护面临的一大挑战。
根据专利CN2014106974943中公开了一种星敏感器软件在轨维护方法,该方法中将星敏应用软件和在轨维护软件进行区分,并在星敏感器应用软件在轨异常时断电重启星敏感器,利用了DSP中BootLoader引导启动星敏感器在轨维护软件,实现星敏软件的烧写,但未涉及星敏感器软件测姿任务和软件在轨诊断、软件在轨维护同步并行。专利20181114071960公开了一种星敏感器软件在轨维护系统和方法,该方法中利用FPGA解析地面发送的指令,利用DSP完成在轨维护操作,但同样未涉及软件在轨测姿和在轨诊断、在轨重构如何同步并行。综上所述,上述方法均未涉及利用多任务并行调度策略,实现星敏感器软件在轨诊断、在轨重构功能和姿态测量功能的同步运行的方法。
发明内容
本发明解决的技术问题是:提供一种基于多任务调度的不中断姿态测量的星敏感器软件在轨诊断和重构方法。可以实现星敏软件在轨诊断、在轨重构功能和姿态测量功能的同步运行。步骤包括:(1)星敏软件多任务划分;(2)周期性多任务调度;(3)在调度周期内执行软件任务。本方法具有多任务并行优点,解决了星敏软件在轨诊断、在轨重构与星敏姿态测量任务难以同步并行的难点。保证了星敏测姿工作长期连续稳定的开展,提高了星敏感器软件在轨诊断、软件在轨重构功能的工程适用性。
本发明采用的技术方案如下:一种不中断姿态测量的星敏感器软件在轨诊断和重构方法,包括:
步骤(1)、星敏软件多任务划分。
所述步骤(1)具体为:
11、将星敏感器软件按在轨功能划分为姿态测量、软件重构、软件诊断等多个任务。
12、设置各个任务运行优先级,其中姿态测量任务优先级高于软件诊断任务和软件重构任务,软件诊断任务优先级高于软件重构任务。
13、在各任务中设置暂停运行的时间。
步骤(2)、周期性进行多任务调度。
所述步骤(2)具体为:
21、在星敏感器各软件任务执行中,通过嵌入式操作系统多任务并行调度机制,周期性暂停执行中的软件任务,并对各任务执行条件重新进行判断,决定继续执行哪个任务,实现周期性的对软件多任务调度;
22、任务调度周期小于姿态测量任务执行时间、软件在轨诊断任务执行时间、软件在轨重构执行时间。
步骤(3)、在调度周期内执行软件任务。
所述步骤(3)具体为:
31、开始在当前一轮调度周期内执行软件任务,判断姿态测量任务是否暂停,若暂停,进入步骤32;若未暂停,执行姿态测量任务。
32、判断软件在轨诊断任务是否暂停,若暂停,进入步骤33;若未暂停,执行软件在轨诊断任务,在轨诊断任务包括:在轨按地址分区计算FLASH内代码校验和值;计算的校验和与预存的校验和值进行比对;判断校验和是否一致,若一致,结束在轨诊断任务,若不一致,下传错误代码地址,结束在轨诊断任务
33、判断软件在轨重构任务是否暂停,若暂停,进入步骤34;若未暂停,执行软件在轨重构任务。在轨重构任务包括:判断SRAM是否接受到上传代码,若未接收到,结束软件在轨重构任务,若接收到,计算上传代码校验和值;判断计算的校验和是否和预存一致,若不一致,结束软件在轨重构任务,若一致,将上传代码从SRAM烧写进FLASH相应地址。
34、结束当前一轮调度周期内任务执行。
本发明与现有技术相比的优点在于:对星敏软件多任务进行划分,并设置各任务的优先级系数,运行暂停时间;通过操作系统进行周期性的并行多任务调度;星敏感器软件在调度周期内执行星敏软件任务。本方法针对星敏软件在轨诊断、在轨重构与星敏姿态测量任务难以同步并行的难点。采用多任务并行技术,结合操作系统对多任务的并行调度策略,实现星敏测姿不中断条件下的星敏软件在轨诊断和在轨重构,保证了星敏测姿工作长期连续稳定的开展,提高了星敏感器软件在轨诊断、软件在轨重构功能的工程适用性。
附图说明
图1为本发明一种不中断姿态测量的星敏感器软件在轨诊断和重构方法流程图;
图2为星敏感器软件运行空间(SRAM)和代码存储空间(FLASH)连接框图;
图3为星敏感器软件多任务划分图;
图4为周期性多任务调度示意图;
图5为软件在轨诊断任务流程图;
图6为软件在轨重构任务流程图。
具体实施方式
下面结合具体实施例,对本发明方法进一步说明。
本发明一种不中断姿态测量的星敏感器软件在轨诊断和重构方法,具体流程如图1所示,包括:
步骤(1)、星敏感器软件运行空间(SRAM)和代码存储空间(FLASH)与星敏感器处理器(CPU)连接框图如图2所示。将星敏感器软件任务划分为多个任务模块(如图3所示),包括姿态测量任务、软件在轨诊断任务、软件在轨重构任务;设置姿态测量任务优先级系数为α,软件在轨诊断任务优先级系数为β,软件在轨重构任务优先级系数为γ,且α>β>γ,优先级系数越大则任务优先级越高。设置姿态测量任务暂停时间为t1,软件在轨诊断任务暂停时间t2,软件在轨重构任务暂停时间t3,其中t1、t2、t3均小于各自任务运行时间。
步骤(2)、通过嵌入式操作系统多任务并行调度机制对软件各任务进行周期性多任务调度(如图4所示),调度周期设置为T,且T小于步骤(1)中t1、t2、t3。操作系统首先在星敏感器各软件任务执行中,每隔T就根据软件任务优先级从高到底,依次判断各任务是否处于步骤(1)所述任务暂停状态时间内,最终在T内继续执行优先级最高的,且未暂停的任务。
步骤(3)、在调度周期T内,根据步骤(1)设置的软件优先级α>β>γ和任务是否暂停执行任务:
31、首先判断姿态测量任务(优先级α)是否暂停,若暂停,进入步骤32;若未暂停,执行姿态测量任务。
32、判断软件在轨诊断任务(优先级β)是否暂停,若暂停,进入步骤33;若未暂停,执行软件在轨诊断任务(如图5所示),在轨诊断任务包括:在轨按地址分区计算FLASH内代码校验和值;计算的校验和与预存的校验和值进行比对;判断校验和是否一致,若一致,结束在轨诊断任务,若不一致,下传错误代码地址,结束在轨诊断任务。
33、判断软件在轨重构任务(优先级γ)是否暂停,若暂停,进入步骤34;若未暂停,执行软件在轨重构任务(如图6所示)。在轨重构任务包括:判断SRAM是否接受到上传代码,若未接收到,结束软件在轨重构任务,若接收到,计算上传代码校验和值;判断计算的校验和是否和预存一致,若不一致,结束软件在轨重构任务,若一致,将上传代码从SRAM烧写进FLASH相应地址。
34、结束当前一轮调度周期T内任务执行。
本发明未详述部分属于本技术领域的公知技术。以上所述仅为本发明的具体实例而已,并不用于以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种不中断姿态测量的星敏感器软件在轨诊断和重构方法,其特征在于,该方法包括如下步骤:
步骤(1)、星敏软件多任务划分;所述步骤(1)具体为:
11、将星敏感器软件按在轨功能划分为姿态测量、软件重构、软件诊断多个任务;
12、设置各个任务运行优先级,其中姿态测量任务优先级高于软件诊断任务和软件重构任务,软件诊断任务优先级高于软件重构任务;
13、在各任务中设置暂停运行的时间;
步骤(2)、周期性进行多任务调度;所述步骤(2)具体为:
21、在星敏感器各软件任务执行中,通过嵌入式操作系统多任务并行调度机制,周期性暂停执行中的软件任务,并对各任务执行条件重新进行判断,决定继续执行哪个任务,实现周期性的对软件多任务调度;
22、任务调度周期小于姿态测量任务执行时间、软件在轨诊断任务执行时间、软件在轨重构执行时间;
步骤(3)、在调度周期内执行软件任务;所述步骤(3)具体为:
31、开始在当前一轮调度周期内执行软件任务,判断姿态测量任务是否暂停,若暂停,进入步骤32;若未暂停,执行姿态测量任务;
32、判断软件在轨诊断任务是否暂停,若暂停,进入步骤33;若未暂停,执行软件在轨诊断任务;
33、判断软件在轨重构任务是否暂停,若暂停,进入步骤34;若未暂停,执行软件在轨重构任务;
34、结束当前一轮调度周期内任务执行。
2.根据权利要求1所述的一种不中断姿态测量的星敏感器软件在轨诊断和重构方法,其特征在于,所述步骤32中,软件在轨诊断任务具体应为:在轨按地址分区计算FLASH内代码校验和值;计算的校验和与预存的校验和值进行比对;判断校验和是否一致,若一致,结束在轨诊断任务,若不一致,下传错误代码地址,结束在轨诊断任务。
3.根据权利要求1所述的一种不中断姿态测量的星敏感器软件在轨诊断和重构方法,其特征在于,所述步骤33中,软件在轨重构任务具体应为:判断SRAM是否接受到上传代码,若未接收到,结束软件在轨重构任务,若接收到,计算上传代码校验和值;判断计算的校验和是否和预存一致,若不一致,结束软件在轨重构任务,若一致,将上传代码从SRAM烧写进FLASH相应地址。
CN202010315071.6A 2020-04-21 2020-04-21 一种不中断姿态测量的星敏感器软件在轨诊断和重构方法 Active CN111400018B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010315071.6A CN111400018B (zh) 2020-04-21 2020-04-21 一种不中断姿态测量的星敏感器软件在轨诊断和重构方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010315071.6A CN111400018B (zh) 2020-04-21 2020-04-21 一种不中断姿态测量的星敏感器软件在轨诊断和重构方法

Publications (2)

Publication Number Publication Date
CN111400018A true CN111400018A (zh) 2020-07-10
CN111400018B CN111400018B (zh) 2023-09-19

Family

ID=71435548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010315071.6A Active CN111400018B (zh) 2020-04-21 2020-04-21 一种不中断姿态测量的星敏感器软件在轨诊断和重构方法

Country Status (1)

Country Link
CN (1) CN111400018B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101830290A (zh) * 2010-02-12 2010-09-15 哈尔滨工业大学 小天体撞击探测自主导航与制导控制规划调度方法
CN102073495A (zh) * 2010-12-31 2011-05-25 哈尔滨工业大学 星务和姿态一体化星载计算机时序控制方法
CN107182255B (zh) * 2011-09-29 2014-09-10 上海新跃仪表厂 一种星敏感器信息处理方法
CN104536727A (zh) * 2014-11-26 2015-04-22 上海新跃仪表厂 星敏感器软件在轨维护方法
CN106643808A (zh) * 2017-01-22 2017-05-10 上海航天控制技术研究所 一种星敏感器在轨数据多级故障诊断方法
CN108932162A (zh) * 2018-06-14 2018-12-04 上海卫星工程研究所 基于一体化星载计算机的多任务综合管理系统及处理方法
CN109506656A (zh) * 2018-11-28 2019-03-22 上海航天控制技术研究所 一种高精度在轨姿态信息下传还原方法
US20190121665A1 (en) * 2017-10-20 2019-04-25 HawkEye 360, Inc. Hierarchical satellite task scheduling system
CN110411438A (zh) * 2019-07-12 2019-11-05 北京控制工程研究所 一种基于多星敏感器的自适应组合确定卫星姿态角的方法
CN110567485A (zh) * 2019-08-14 2019-12-13 北京控制工程研究所 一种多探头星敏感器在轨自主故障诊断与修复方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101830290A (zh) * 2010-02-12 2010-09-15 哈尔滨工业大学 小天体撞击探测自主导航与制导控制规划调度方法
CN102073495A (zh) * 2010-12-31 2011-05-25 哈尔滨工业大学 星务和姿态一体化星载计算机时序控制方法
CN107182255B (zh) * 2011-09-29 2014-09-10 上海新跃仪表厂 一种星敏感器信息处理方法
CN104536727A (zh) * 2014-11-26 2015-04-22 上海新跃仪表厂 星敏感器软件在轨维护方法
CN106643808A (zh) * 2017-01-22 2017-05-10 上海航天控制技术研究所 一种星敏感器在轨数据多级故障诊断方法
US20190121665A1 (en) * 2017-10-20 2019-04-25 HawkEye 360, Inc. Hierarchical satellite task scheduling system
CN108932162A (zh) * 2018-06-14 2018-12-04 上海卫星工程研究所 基于一体化星载计算机的多任务综合管理系统及处理方法
CN109506656A (zh) * 2018-11-28 2019-03-22 上海航天控制技术研究所 一种高精度在轨姿态信息下传还原方法
CN110411438A (zh) * 2019-07-12 2019-11-05 北京控制工程研究所 一种基于多星敏感器的自适应组合确定卫星姿态角的方法
CN110567485A (zh) * 2019-08-14 2019-12-13 北京控制工程研究所 一种多探头星敏感器在轨自主故障诊断与修复方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
叶培建;于萍;: "信息化技术在嫦娥一号卫星研制中的应用", no. 01 *
朱海江;孙兆伟;陈健;吴限德;李晖;: "基于设计模式的星载软件体系结构设计方法", no. 12 *
高买花: "卫星姿轨控系统软件体系结构设计的方案研究", pages 3 *

Also Published As

Publication number Publication date
CN111400018B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
KR102282626B1 (ko) 반도체 디바이스, 진단 테스트, 및 진단 테스트 회로
CN109165055B (zh) 无人驾驶系统组件加载方法、装置、计算机设备及介质
JP2020500462A (ja) 仮想化可能な衛星プラットフォーム
CN107182255B (zh) 一种星敏感器信息处理方法
CN108701055B (zh) 车辆控制装置和车辆系统
US9798016B2 (en) Positioning processing apparatus, positioning processing method, and recording medium
CN110779545B (zh) 地外天体软着陆探测器低采样频率条件下着陆指标评价方法
CN109726135A (zh) 一种多核调试方法、装置及计算机可读存储介质
US9342441B2 (en) Methodology and tool support for test organization and migration for embedded software
JPS62138935A (ja) データ処理方法
CN112650478A (zh) 一种嵌入式软件开发平台动态构建方法、系统及设备
Saksena et al. Schedulability analysis for automated implementations of real-time object-oriented models
CN103530179A (zh) 一种定时任务的处理方法及装置
JPH10269105A (ja) トレースシステム、リソース解放漏れ検出システム及び記録媒体
US11138100B2 (en) Scenario based method for testing software
CN111400018A (zh) 一种不中断姿态测量的星敏感器软件在轨诊断和重构方法
CN115827355A (zh) 图形处理器中异常核的检测方法、检测装置和电子设备
Baker et al. A real-time java virtual machine for avionics-an experience report
Robertson et al. Automatic recovery from software failure
CN112256580A (zh) 一种代码扫描方法、装置、设备及存储介质
JP6890733B2 (ja) 取得データ特定装置、取得データ特定方法及び取得データ特定プログラム
KR102669980B1 (ko) 위성 영상 편집 방법, 위성 영상 편집 장치 및 상기 방법을 실행시키기 위하여 기록매체에 저장된 컴퓨터 프로그램
CN114428694A (zh) 一种错误检测方法及相关装置
JP7139633B2 (ja) 並列化方法、並列化ツール、及びマルチコアマイコン
Maticu et al. Automatic functionality assignment to AUTOSAR multicore distributed architectures

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant