Satellite instruction program control method and system

By using technical means such as absolute time delay instruction package, relative time delay instruction package and task operation program control package in the satellite program control system, the problem of existing satellite program control design requiring in-orbit programming is solved, and higher flexibility and adaptability are achieved, reducing programming time and energy.

CN119575842AActive Publication Date: 2025-03-07SHANGHAI SATELLITE ENG INST
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202411501646.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-03-07
Estimated Expiration
2044-10-25

AI Technical Summary

Technical Problem

Existing satellite programmable designs require in-orbit programming, which is time-consuming and labor-intensive, and does not have flexibility and adaptability, making it difficult to respond to business command changes quickly.

Method used

The absolute time delay instruction package and the relative time delay instruction package are adopted, combined with the task job program control package and the task instruction cache table, to realize the flexible combination and unified management of satellite instructions.

Benefits of technology

It improves the flexibility and adaptability of on-ground programming control, reduces the time and energy of in-orbit programming, realizes the instruction requirements for different time application scenarios, and enhances the reliability of satellite software.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119575842A_ABST
    Figure CN119575842A_ABST
Patent Text Reader

Abstract

The invention provides a satellite instruction program control method and system. The method comprises a ground injection program control step and an on-satellite task program control step. In the step of on-the-ground program control, an absolute time delay instruction packet and a relative time delay instruction packet are adopted, and when instruction analysis meets a time condition, delay instruction execution is triggered; in the on-satellite task program control step, a task operation program control package and a task instruction cache table are adopted for unified management. According to the method, it is guaranteed that a satellite can conduct instruction triggering based on T0 (absolute time) and T (relative time), free combination of delay instructions of T0 (absolute time) and T (relative time) is achieved by adopting an instruction embedded combination mode, and flexibility and adaptability of ground injection program control are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of satellite service software design, and in particular, relates to a satellite command program control method and system, and more particularly, relates to a scheme for ground injection program control and on-board mission program control. Background Art

[0002] Patent document CN112147924A discloses a high-precision program-controlled task management system, including a program-controlled task management module, a program-controlled task execution mechanism, and a high-precision time management module. The program-controlled task management module is used to receive the uploaded task data block, and the program-controlled task decomposition table is sent through the on-board data bus. The task instruction execution is realized by controlling the execution mechanism, and the instruction triggering execution under the conditions of high-precision time system is realized, so that all program-controlled instructions are triggered and executed under the same time system.

[0003] However, existing satellite program controls are all designed by satellite service software engineers, and the program control designs of different satellites vary. For satellites in orbit, if the instruction timing and instruction content of the business program control need to be changed, satellite service software designers are often required to program the satellite service software on orbit. The entire process is time-consuming and labor-intensive.

[0004] Therefore, with the gradual miniaturization of satellite platform development and the shortening of development cycles, it has become extremely urgent to develop a set of flexible, freely combinable and adaptable on-board business control methods. Summary of the invention

[0005] In view of the defects in the prior art, an object of the present invention is to provide a satellite command program control method and system.

[0006] A satellite command program control method provided by the present invention comprises: a ground injection program control step and an on-satellite mission program control step;

[0007] The ground injection program control step adopts an absolute time delay instruction package and a relative time delay instruction package, and triggers the execution of the delay instruction when the instruction analysis meets the time condition;

[0008] The on-board mission program control steps adopt a mission operation program control package and a mission instruction cache table for unified management.

[0009] Preferably, the absolute time delay instruction packet, when the instruction is parsed, the current on-board time T now ≥ Command time code T 0 , triggering the execution of delayed instructions;

[0010] The relative time delay instruction packet, when the instruction is parsed, the current on-board time T now ≥Instruction time code △T, queue time T f When the sum of , triggers the delay instruction execution.

[0011] Preferably, the absolute time delay instruction package and the relative time delay instruction package are combined and nested for use; the relative time delay instruction package is embedded in the absolute time delay instruction package to form a combined instruction package; the absolute time delay instruction package and the relative time delay instruction package contain time codes and instruction content; wherein the instruction content is an index of a pre-stored instruction package cache, or a specific instruction package content, which is distinguished by an internal instruction type flag; the pre-stored instruction package cache, i.e., the instruction pool of the satellite service software, finds the corresponding instruction code through the instruction index of the instruction pool, and the instruction pool supports ground annotation modification.

[0012] Preferably, the task operation program control package includes the job number, job type, task analysis time, task end time, task execution time, and program control parameters;

[0013] Job number, used to distinguish different tasks;

[0014] Job type, used to use different task instruction cache tables;

[0015] Mission analysis time, when the current on-board time T now ≥Task analysis time T s , trigger the task operation program control package analysis;

[0016] The mission ends when the current on-planet time is T now ≥T end The task end time can be used to parse the next task operation control package;

[0017] Task execution time, including task start time and task duration, combined with the base time and relative time of the task instruction cache table, forms the absolute time when each instruction needs to be triggered;

[0018] Program control parameters, cooperate with the configuration function of the task instruction cache table, configure parameters, determine whether the instruction is sent and generate specific instruction codes;

[0019] The task instruction cache table includes configuration functions, configuration parameters, reference time, relative time, instruction content, and instruction pointer;

[0020] Configuration functions and configuration parameters use function pointers and function parameters to customize the content of each instruction;

[0021] The benchmark time is used to match the task execution time of the task operation program control package;

[0022] Relative time, used to increase or decrease the corresponding time from the current base time;

[0023] Instruction content, memory space or instruction index used to store fixed instruction content;

[0024] Instruction pointer, used to point to the address of the last instruction content;

[0025] Task instruction cache table, after the task is parsed, the final generated instruction and execution time enter the instruction queue for management.

[0026] Preferably, in the on-board mission control step, the tasks are finally managed uniformly by a queue management method;

[0027] The queue management method adopts the form of cooperation between the idle list and the working list. The instruction queue adopts the memory management of the instruction code and the instruction execution time, and the task queue adopts the memory management of the task block and the task parsing time.

[0028] Both the instruction queue and the task queue use a combination of a free list and a working list. The data block in the list contains the instruction code and the instruction execution time or the task block and the task parsing time. When memory space needs to be applied, the data block is released from the free list and inserted into the working list in time. When the time code of the first block ≥ T now When the data block is released by the working list, it is inserted into the free list after the data block is used.

[0029] The instruction queue and task queue support the deletion and queue formatting operations of specific time ranges, specific instruction codes, and specific task jobs; the free list and work list apply for memory resources through global variables during program initialization.

[0030] A satellite command program control system provided by the present invention comprises: a ground injection program control module and an on-board mission program control module;

[0031] The ground injection program control module adopts an absolute time delay instruction package and a relative time delay instruction package, and triggers the execution of the delay instruction when the instruction analysis meets the time condition;

[0032] The on-board mission program control module adopts a mission operation program control package and a mission instruction cache table for unified management.

[0033] Preferably, the absolute time delay instruction packet, when the instruction is parsed, the current on-board time T now ≥ Command time code T 0 , triggering the execution of delayed instructions;

[0034] The relative time delay instruction packet, when the instruction is parsed, the current on-board time T now ≥Instruction time code △T, queue time T f When the sum of , triggers the delay instruction execution.

[0035] Preferably, the absolute time delay instruction package and the relative time delay instruction package are combined and nested for use; the relative time delay instruction package is embedded in the absolute time delay instruction package to form a combined instruction package; the absolute time delay instruction package and the relative time delay instruction package contain time codes and instruction content; wherein the instruction content is an index of a pre-stored instruction package cache, or a specific instruction package content, which is distinguished by an internal instruction type flag; the pre-stored instruction package cache, i.e., the instruction pool of the satellite service software, finds the corresponding instruction code through the instruction index of the instruction pool, and the instruction pool supports ground annotation modification.

[0036] Preferably, the task operation program control package includes the job number, job type, task analysis time, task end time, task execution time, and program control parameters;

[0037] Job number, used to distinguish different tasks;

[0038] Job type, used to use different task instruction cache tables;

[0039] Mission analysis time, when the current on-board time T now ≥Task analysis time T s , trigger the task operation program control package analysis;

[0040] The mission ends when the current on-planet time is T now ≥T end The task end time can be used to parse the next task operation control package;

[0041] Task execution time, including task start time and task duration, combined with the base time and relative time of the task instruction cache table, forms the absolute time when each instruction needs to be triggered;

[0042] Program control parameters, cooperate with the configuration function of the task instruction cache table, configure parameters, determine whether the instruction is sent and generate specific instruction codes;

[0043] The task instruction cache table includes configuration functions, configuration parameters, reference time, relative time, instruction content, and instruction pointer;

[0044] Configuration functions and configuration parameters use function pointers and function parameters to customize the content of each instruction;

[0045] The benchmark time is used to match the task execution time of the task operation program control package;

[0046] Relative time, used to increase or decrease the corresponding time from the current base time;

[0047] Instruction content, memory space or instruction index used to store fixed instruction content;

[0048] Instruction pointer, used to point to the address of the last instruction content;

[0049] Task instruction cache table, after the task is parsed, the final generated instruction and execution time enter the instruction queue for management.

[0050] Preferably, in the on-board mission program control module, the queue management method is finally used for unified management;

[0051] The queue management method adopts the form of cooperation between the idle list and the working list. The instruction queue adopts the memory management of the instruction code and the instruction execution time, and the task queue adopts the memory management of the task block and the task parsing time.

[0052] Both the instruction queue and the task queue use a combination of a free list and a working list. The data block in the list contains the instruction code and the instruction execution time or the task block and the task parsing time. When memory space needs to be applied, the data block is released from the free list and inserted into the working list in time. When the time code of the first block ≥ T now When the data block is released by the working list, it is inserted into the free list after the data block is used.

[0053] The instruction queue and task queue support the deletion and queue formatting operations of specific time ranges, specific instruction codes, and specific task jobs; the free list and work list apply for memory resources through global variables during program initialization.

[0054] Compared with the prior art, the present invention has the following beneficial effects:

[0055] 1. The present invention adopts an absolute time delay instruction package and a relative time delay instruction package to ensure that the satellite can perform instruction triggering based on T0 (absolute time) and △T (relative time), and adopts an instruction embedded combination form to realize the free combination of delay instructions of T0 (absolute time) and △T (relative time), thereby improving the flexibility and adaptability of ground injection program control;

[0056] 2. The present invention adopts the coordinated use of the mission operation program control package and the mission instruction cache table to form a satellite program control design template. The mission execution time in the program control package and the reference time and relative time of the mission instruction cache table realize the instruction requirements of different time application scenarios in satellite missions;

[0057] 3. The present invention realizes the liberalization and customization of each instruction content through the configuration functions and configuration parameters of the program control parameters in the task operation program control package and the task instruction cache table, and can generate various instruction contents in the satellite mission, which may be fixed instruction codes, or instruction codes selected by program control parameters, or instruction codes selected by the current satellite status, or instruction codes recomposed by program control parameters, etc.; the instruction pointer in the task instruction cache table realizes the standardization and unification of the actual address space of the instruction code generated after task parsing;

[0058] 4. The present invention adopts a combination of a working list and a free list to ensure that instruction blocks and task blocks are convenient and efficient when inputting and deleting, and statically applying for a working list and a free list avoids the generation of memory fragmentation to a large extent, thereby ensuring the reliability of satellite software. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] Other features, objects and advantages of the present invention will become more apparent from the detailed description of non-limiting embodiments made with reference to the following drawings:

[0060] Figure 1 It is a schematic diagram of the program-controlled steps of ground injection of the present invention;

[0061] Figure 2 It is a schematic diagram of the on-board mission program control steps of the present invention. DETAILED DESCRIPTION

[0062] The present invention is described in detail below in conjunction with specific embodiments. The following embodiments will help those skilled in the art to further understand the present invention, but are not intended to limit the present invention in any form. It should be noted that, for those of ordinary skill in the art, several changes and improvements can also be made without departing from the concept of the present invention. These all belong to the protection scope of the present invention.

[0063] According to a satellite command program control method provided by the present invention, the program control step includes: Figure 1 As shown, it also includes on-board mission control steps, such as Figure 2 shown.

[0064] The ground injection program control step adopts an absolute time delay instruction package and a relative time delay instruction package;

[0065] The absolute time delay instruction packet, when the instruction is parsed, T now (Current time on the star) ≥ T 0 (the time code of the instruction), triggering the execution of the delayed instruction;

[0066] The relative time delay instruction packet, when the instruction is parsed, T now (Current time on the satellite) ≥ △T (time code of the instruction), Tf When the sum of (queue entry time) is reached, the execution of the delay instruction is triggered;

[0067] The absolute time delay instruction package and the relative time delay instruction package not only support separate use, but also can be used in combination and nested. The relative time delay instruction package is embedded in the absolute time delay instruction package to form a combined instruction package. The absolute time delay instruction package and the relative time delay instruction package can contain a single time code and instruction content, or multiple time codes and instruction contents. Among them, the instruction content can be an index of a pre-stored instruction package cache, or it can be a specific instruction package content, which can be distinguished by an internal instruction type flag. The pre-stored instruction package cache, that is, the instruction pool of the satellite service software, can find the corresponding instruction code through the instruction index of the instruction pool, and the instruction pool can support ground annotation modifications.

[0068] The on-board mission program control steps adopt a mission operation program control package and a mission instruction cache table, and are finally managed uniformly by a queue management method.

[0069] The task operation program control package includes a job number, a job type, a task analysis time, a task end time, a task execution time, and program control parameters; wherein the job number is used to distinguish different task operations; the job type is used to use different task instruction cache tables; the task analysis time is used when T now (Current time on the star) ≥ T s (task analysis time), triggers the analysis of the task operation control package; task end time, when T now (Current time on the star) ≥ T end (task end time) can parse the next task operation program control package; the task execution time includes the task start time and task duration, combined with the base time and relative time of the task instruction cache table to form the absolute time that each instruction needs to be triggered; the program control parameters can be combined with the configuration function of the task instruction cache table to configure the parameters to determine whether the instruction is sent and the generation of the specific instruction code.

[0070] The task instruction cache table includes configuration functions, configuration parameters, reference time, relative time, instruction content, and instruction pointer; configuration functions and configuration parameters are respectively implemented in the form of function pointers and function parameters to realize the free customization of each instruction content; reference time is used to match the task execution time of the task operation program control package; relative time is used to increase or decrease the corresponding time on the current reference time; instruction content is used to store the memory space or instruction index of fixed instruction content; instruction pointer is used to point to the address of the last instruction content. Preferably, in the task instruction cache table, after the task is parsed, the last generated instruction and execution time enter the instruction queue for management.

[0071] The queue management method described above adopts the form of a combination of a free list and a working list. The instruction queue uses the instruction code and instruction execution time for memory management, and the task queue uses the task block and task resolution time for memory management. Preferably, the instruction queue and the task queue both use a combination of a free list and a working list. The data block of the list contains the instruction code and instruction execution time or the task block and task resolution time. When memory space needs to be applied for, the data block is released from the free list and the data block is inserted into the working list in order of time. When the time code of the first block ≥ T now When the data block is used up, the working list releases the data block, and after the data block is used up, the data block is inserted into the free list.

[0072] The command queue and task queue support operations such as deleting a specific time range, a specific command code, and a specific task job, as well as queue formatting. The free list and work list apply for memory resources through global variables during program initialization, avoiding dynamic memory application and release as well as memory fragmentation generated in the process.

[0073] The following is a more detailed description of the ground injection program control steps of the present invention.

[0074] The instruction packet format of the absolute time delay instruction packet and the relative time delay instruction packet adopts the aerospace CCSDS format, which includes a 6-byte header and a 2*N-byte data field. The header is divided into packet identification, packet sequence control, and packet length; the data field is divided into function identification, remote control application data field, and checksum. The specific analysis is as follows.

[0075] The absolute time delay instruction divides the remote control application data field into an absolute time code (6 bytes, unit 0.1ms) and instruction content. When the first 2 bytes of the instruction content are 0xff00, it is not in the instruction packet format, and the pre-stored instruction packet cache index is used. Otherwise, the instruction content is used as the instruction packet format.

[0076] The relative time delay instruction divides the remote control application data field into a relative time code (4 bytes of complement code, unit 0.5s) and instruction content. When the first 2 bytes of the instruction content are 0xff00, it is not in the instruction packet format, and the pre-stored instruction packet cache index is used. Otherwise, the instruction content is used as the instruction packet format.

[0077] The above instruction package can be used for instruction package nesting. For example, the absolute time delay instruction contains an instruction package of absolute instruction code T0 and an instruction package of absolute time code T1. The instruction of T0 includes instruction package 1 of △t0_1, instruction package 2 of △t0_2, and instruction package 3 of △t0_3. The instruction of T1 includes instruction package 4 of △t1_1 and instruction package 5 of △t1_2.

[0078] △t0_1, △t0_2, and △t0_3 respectively represent different incremental times relative to T0.

[0079] △t1_1 and △t1_2 represent different incremental times relative to T1 respectively.

[0080] The onboard program disassembles the combined instruction packet. If it is an absolute time delay instruction packet, the working time is T 0 If it is a relative time delay instruction packet, the working time is △T, T f (entry time), after calculating the actual execution working time, the working time is rationally checked, memory resources are requested from the free list, and the working list is inserted before and after according to the working time. When the on-board time is within the working time execution range, the program takes out the instruction package from the working list, executes the instruction content, and finally reclaims the memory resources from the free list.

[0081] The on-board mission control steps are described in more detail below.

[0082] The task operation control package mainly consists of the following contents:

[0083] 1) Job number: 1 byte, ranging from 0 to 255, and can store up to 256 different tasks;

[0084] 2) Operation type: 1 byte, which can be divided into imaging operation (0x11), data transmission operation (0x22), imaging and data transmission operation (0x33);

[0085] 3) Task parsing time (Ts): 4 bytes, unit: s. now (Current time on the star) ≥ T s (Task parsing time), triggering the parsing of the task job package;

[0086] 4) Task end time (Tend): 4 bytes, unit s, when T now (Current time on the star) ≥ T end (task end time), then the task package is finished and the next task job package can be parsed;

[0087] 5) Imaging start time (T0): 4 bytes, unit s, the time when the camera starts working;

[0088] 6) Imaging duration (△t0): 2 bytes, unit s, camera continuous working time;

[0089] 7) Data transmission start time (T1): 4 bytes, unit s, the time when the data transmission antenna starts working;

[0090] 8) Data transmission duration (△t1): 2 bytes, unit: s, continuous working time of the data transmission antenna;

[0091] 9) Camera parameters: camera configuration parameters;

[0092] 10) Data transmission parameters: data transmission master / slave flag, data transmission configuration parameters;

[0093] Task instruction cache table, corresponding to the job type, includes imaging task instruction cache table, data transmission task instruction cache table, imaging and data transmission task instruction cache table. Take the imaging and data transmission task instruction cache table as an example:

[0094] 1) Configuration function: In the figure below, CmdDo() is sent by default, Fun1() can generate camera parameter instructions through camera parameters, and Fun3() can generate data transmission parameter instructions through data transmission parameters;

[0095] 2) Configuration parameters: In the figure below, Fun2() and Fun4() can select the primary and backup copies of the current task through the primary and backup flags of the data transmission parameters;

[0096] 3) Base time: Base time used to distinguish task instruction cache tables.

[0097] 4)Relative time: used to increase or decrease the corresponding time on the current base time, in units of 0.5s.

[0098] 5) Instruction content: Use the pre-stored instruction packet cache index and the corresponding instruction content.

[0099] 6) Instruction pointer: used to point to the address of the last instruction content.

[0100] Both the instruction queue and the task queue use a combination of a free list and a working list. The data block in the list contains the instruction code and the instruction execution time or the task block and the task parsing time. When memory space needs to be applied, the data block is released from the free list and inserted into the working list in time. When the time code of the first block ≥ T now When the data block is used up, the working list releases the data block, and after the data block is used up, the data block is inserted into the free list.

[0101] The command queue and task queue support operations such as deleting specific time ranges, specific command codes, specific task jobs, and queue formatting.

[0102] The present invention also provides a satellite command program control system, which can be implemented by executing the process steps of the satellite command program control method, that is, those skilled in the art can understand the satellite command program control method as a preferred implementation of the satellite command program control system. The satellite command program control system includes: a ground injection program control module and an on-board mission program control module; the ground injection program control module uses an absolute time delay instruction package and a relative time delay instruction package to trigger the execution of the delay instruction when the instruction analysis meets the time condition; the on-board mission program control module uses a task operation program control package and a task instruction cache table for unified management.

[0103] Those skilled in the art know that, in addition to realizing the system and its various devices, modules, and units provided by the present invention in a purely computer-readable program code, it is entirely possible to realize the same functions in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, the system and its various devices, modules, and units provided by the present invention can be considered as a hardware component, and the devices, modules, and units included therein for realizing various functions can also be regarded as structures within the hardware component; the devices, modules, and units for realizing various functions can also be regarded as both software modules for realizing the method and structures within the hardware component.

[0104] The above describes the specific embodiments of the present invention. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art can make various changes or modifications within the scope of the claims, which does not affect the essence of the present invention. In the absence of conflict, the embodiments of the present application and the features in the embodiments can be combined with each other arbitrarily.

Claims

1. A satellite command program control method, characterized in that: include: Ground injection program control steps and satellite mission program control steps; The ground injection program control step uses an absolute time delay instruction package and a relative time delay instruction package, and triggers the execution of the delay instruction when the instruction analysis meets the time condition; The on-board mission program control steps adopt a mission operation program control package and a mission instruction cache table for unified management.

2. The satellite command program control method according to claim 1, characterized in that: The absolute time delay instruction packet, when the instruction is parsed, the current on-board time T now ≥The time code T0 of the instruction triggers the execution of the delayed instruction; The relative time delay instruction packet, when the instruction is parsed, the current on-board time T now ≥Instruction time code △T, queue time T f When the sum of , triggers the delay instruction execution.

3. The satellite command program control method according to claim 2, characterized in that: The absolute time delay instruction package and the relative time delay instruction package are combined and nested for use; the relative time delay instruction package is embedded in the absolute time delay instruction package to form a combined instruction package; the absolute time delay instruction package and the relative time delay instruction package contain time codes and instruction contents; wherein the instruction contents are indexes of pre-stored instruction package caches, or specific instruction package contents, which are distinguished by internal instruction type flags; the pre-stored instruction package caches, i.e., the instruction pool of the satellite service software, find the corresponding instruction code by the instruction index of the instruction pool, and the instruction pool supports modification on the ground.

4. The satellite command program control method according to claim 1, characterized in that: The task operation program control package includes the operation number, operation type, task analysis time, task end time, task execution time, and program control parameters; Job number, used to distinguish different tasks; Job type, used to use different task instruction cache tables; Mission analysis time, when the current on-board time T now ≥Task analysis time T s , trigger the task operation program control package analysis; The mission ends when the current on-planet time is T now ≥T end The task end time can be used to parse the next task operation control package; Task execution time, including task start time and task duration, combined with the base time and relative time of the task instruction cache table, forms the absolute time when each instruction needs to be triggered; Program control parameters, cooperate with the configuration function of the task instruction cache table, configure parameters, determine whether the instruction is sent and generate specific instruction codes; The task instruction cache table includes configuration functions, configuration parameters, reference time, relative time, instruction content, and instruction pointer; Configuration functions and configuration parameters use function pointers and function parameters to customize the content of each instruction; The benchmark time is used to match the task execution time of the task operation program control package; Relative time, used to increase or decrease the corresponding time from the current base time; Instruction content, memory space or instruction index used to store fixed instruction content; Instruction pointer, used to point to the address of the last instruction content; Task instruction cache table, after the task is parsed, the final generated instruction and execution time enter the instruction queue for management.

5. The satellite command program control method according to claim 1, characterized in that: In the on-board mission program control step, the queue management method is finally used for unified management; The queue management method adopts the form of cooperation between the idle list and the working list. The instruction queue adopts the memory management of the instruction code and the instruction execution time, and the task queue adopts the memory management of the task block and the task parsing time. Both the instruction queue and the task queue use a combination of a free list and a working list. The data block in the list contains the instruction code and the instruction execution time or the task block and the task parsing time. When memory space needs to be applied, the data block is released from the free list and inserted into the working list in time. When the time code of the first block ≥ T now When the data block is released by the working list, it is inserted into the free list after the data block is used. The instruction queue and task queue support the deletion and queue formatting operations of specific time ranges, specific instruction codes, and specific task jobs; the free list and work list apply for memory resources through global variables during program initialization.

6. A satellite command program control system, characterized in that: include: Ground injection control module and onboard mission control module; The ground injection program control module adopts an absolute time delay instruction package and a relative time delay instruction package, and triggers the execution of the delay instruction when the instruction analysis meets the time condition; The on-board mission program control module adopts a mission operation program control package and a mission instruction cache table for unified management.

7. The satellite command program control system according to claim 6, characterized in that: The absolute time delay instruction packet, when the instruction is parsed, the current on-board time T now ≥The time code T0 of the instruction triggers the execution of the delayed instruction; The relative time delay instruction packet, when the instruction is parsed, the current on-board time T now ≥Instruction time code △T, queue time T f When the sum of , triggers the delay instruction execution.

8. The satellite command program control system according to claim 7, characterized in that: The absolute time delay instruction package and the relative time delay instruction package are combined and nested for use; the relative time delay instruction package is embedded in the absolute time delay instruction package to form a combined instruction package; the absolute time delay instruction package and the relative time delay instruction package contain time codes and instruction contents; wherein the instruction contents are indexes of pre-stored instruction package caches, or specific instruction package contents, which are distinguished by internal instruction type flags; the pre-stored instruction package caches, i.e., the instruction pool of the satellite service software, find the corresponding instruction code by the instruction index of the instruction pool, and the instruction pool supports modification on the ground.

9. The satellite command program control system according to claim 6, characterized in that: The task operation program control package includes the operation number, operation type, task analysis time, task end time, task execution time, and program control parameters; Job number, used to distinguish different tasks; Job type, used to use different task instruction cache tables; Mission analysis time, when the current on-board time T now ≥Task analysis time T s , trigger the task operation program control package analysis; The mission ends when the current on-planet time is T now ≥T end The task end time can be used to parse the next task operation control package; Task execution time, including task start time and task duration, combined with the base time and relative time of the task instruction cache table, forms the absolute time when each instruction needs to be triggered; Program control parameters, cooperate with the configuration function of the task instruction cache table, configure parameters, determine whether the instruction is sent and generate specific instruction codes; The task instruction cache table includes configuration functions, configuration parameters, reference time, relative time, instruction content, and instruction pointer; Configuration functions and configuration parameters use function pointers and function parameters to customize the content of each instruction; The benchmark time is used to match the task execution time of the task operation program control package; Relative time, used to increase or decrease the corresponding time from the current base time; Instruction content, memory space or instruction index used to store fixed instruction content; Instruction pointer, used to point to the address of the last instruction content; Task instruction cache table, after the task is parsed, the final generated instruction and execution time enter the instruction queue for management.

10. The satellite command program control system according to claim 6, characterized in that: In the on-board mission program control module, the queue management method is finally used for unified management; The queue management method adopts the form of cooperation between the idle list and the working list. The instruction queue adopts the memory management of the instruction code and the instruction execution time, and the task queue adopts the memory management of the task block and the task parsing time. Both the instruction queue and the task queue use a combination of a free list and a working list. The data block in the list contains the instruction code and the instruction execution time or the task block and the task parsing time. When memory space needs to be applied, the data block is released from the free list and inserted into the working list in time. When the time code of the first block ≥ T now When the data block is released by the working list, it is inserted into the free list after the data block is used. The instruction queue and task queue support the deletion and queue formatting operations of specific time ranges, specific instruction codes, and specific task jobs; the free list and work list apply for memory resources through global variables during program initialization.

Citation Information

Patent Citations

  • Universal program control system suitable for satellite model

    CN105137929A

  • Artificial intelligence generation method of satellite daily operation flow

    CN109213473A

  • High-precision program control task management system

    CN112147924A

  • Editing and checking method for payload data injection packet of deep space probe

    CN112328209A

  • Satellite software design method and device based on task templateand equipment

    CN113419714A