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

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

Info

Publication number
CN111400018B
CN111400018B CN202010315071.6A CN202010315071A CN111400018B CN 111400018 B CN111400018 B CN 111400018B CN 202010315071 A CN202010315071 A CN 202010315071A CN 111400018 B CN111400018 B CN 111400018B
Authority
CN
China
Prior art keywords
task
software
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.)
Active
Application number
CN202010315071.6A
Other languages
English (en)
Other versions
CN111400018A (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

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 (1)

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

* 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 上海航天控制技术研究所 一种高精度在轨姿态信息下传还原方法
CN110411438A (zh) * 2019-07-12 2019-11-05 北京控制工程研究所 一种基于多星敏感器的自适应组合确定卫星姿态角的方法
CN110567485A (zh) * 2019-08-14 2019-12-13 北京控制工程研究所 一种多探头星敏感器在轨自主故障诊断与修复方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3698486B1 (en) * 2017-10-20 2022-05-18 Hawkeye 360, Inc. Method and scheduling system of a plurality of hierarchical tasks for a satellite system.

Patent Citations (9)

* 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 上海航天控制技术研究所 一种高精度在轨姿态信息下传还原方法
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
叶培建 ; 于萍 ; .信息化技术在嫦娥一号卫星研制中的应用.空间控制技术与应用.2008,(01),全文. *
朱海江 ; 孙兆伟 ; 陈健 ; 吴限德 ; 李晖 ; .基于设计模式的星载软件体系结构设计方法.计算机应用与软件.2008,(12),全文. *
高买花.卫星姿轨控系统软件体系结构设计的方案研究.《中国优秀硕士学位论文全文数据库(电子期刊)》.2003,正文第3.2.4.3节,图3.7. *

Also Published As

Publication number Publication date
CN111400018A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
Liu et al. EUDAQ2—A flexible data acquisition software framework for common test beams
CN107870782B (zh) 一种高轨遥感卫星载荷任务展开执行的方法及系统
US6405326B1 (en) Timing related bug detector method for detecting data races
US11263081B2 (en) Checkpointing
CN110779545B (zh) 地外天体软着陆探测器低采样频率条件下着陆指标评价方法
EP3451168A1 (en) Vehicle control device and vehicle system
US20150347279A1 (en) Methodology and tool support for test organization and migration for embedded software
US20120084538A1 (en) Methodology and Framework for Run-Time Coverage Measurement of Architectural Events of a Microprocessor
US7237148B2 (en) Functional interrupt mitigation for fault tolerant computer
CN111400018B (zh) 一种不中断姿态测量的星敏感器软件在轨诊断和重构方法
US9304810B2 (en) Time monitoring in a processing element and use
RU2150739C1 (ru) Отвечающая система для обработки сигналов и способ определения максимального времени выполнения процесса автоматизации посредством отвечающей системы
Kawano et al. Autonomous decentralized system test technique
US11099979B2 (en) Testing and modifying calendar and event sensitive timer series data analytics
CN114296900A (zh) 一种基于uvm的多进程之间的进程控制方法及装置
CN113031969A (zh) 设备部署巡检方法、装置、计算机设备及存储介质
CN112363816B (zh) 嵌入式多核操作系统确定性调度方法、系统及介质
JPH05250186A (ja) タスク生成スケジューリング方式
EP3367242B1 (en) Method of error detection in a microcontroller unit
US11768735B2 (en) Checkpointing
Huang et al. Platform-independent design for embedded real-time systems
Godard et al. Automated on-ground FDIR for ESA’s XMM-Newton mission
Carnevali et al. A tailored V-Model exploiting the theory of preemptive Time Petri Nets
Perez et al. Modeling time-triggered architecture based safety-critical embedded systems using systemc
CN112199076A (zh) 一种飞行控制软件架构及其设计方法

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