Satellite command programming method and system
By combining absolute time delay instruction packages, relative time delay instruction packages, and mission operation control packages, the problem of time-consuming and labor-intensive satellite programming design is solved, and flexible combination and efficient management of satellite instructions are realized, thereby improving the adaptability and reliability of satellite software.
Patent Information
- Application Number
- CN202411501646.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-25
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2044-10-25
AI Technical Summary
Existing satellite program control designs are time-consuming and labor-intensive, making it difficult to flexibly change the timing and content of operational program control commands, especially on miniaturized satellite platforms.
It adopts a combination of absolute time delay instruction packets and relative time delay instruction packets, combined with task operation control packets and task instruction cache tables, and manages instruction and task queues through free linked lists and working linked lists, so as to realize the free combination and unified management of instructions.
It improves the flexibility and adaptability of satellite program control, supports the command requirements of different application scenarios at different times, ensures the efficiency of command execution and the reliability of satellite software, and avoids memory fragmentation.
Smart Images

Figure CN119575842B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the field of satellite software design, and in particular, relates to a satellite instruction program control method and system. BACKGROUND
[0002] Patent document CN112147924A discloses a high-precision program control task management system, which comprises a program control task management module, a program control task execution mechanism and a high-precision time management module. The program control task management module is used to receive an injection task data block, a program control task decomposition table is sent through a satellite data bus, and a task instruction execution is realized through a control execution mechanism, so that the instruction triggering execution under the condition of high-precision time system is realized, and all program control instructions are triggered and executed under the same time system.
[0003] However, the existing satellite program control is completed by a satellite software designer, and different satellite program control designs are various. If the timing sequence and instruction content of the business program control of a satellite in orbit need to be changed, a satellite software designer usually needs to perform on-orbit programming on the satellite software, and the entire process is time-consuming and labor-consuming.
[0004] Therefore, with the characteristics of gradual miniaturization and short development cycle of satellite platforms, it is extremely urgent to develop a flexible, freely combined and highly adaptive satellite business program control method. SUMMARY
[0005] In view of the defects in the prior art, the purpose of the present application is to provide a satellite instruction program control method and system.
[0006] According to the satellite instruction program control method provided by the present application, the ground injection program control step and the satellite task program control step are included.
[0007] The absolute time delay instruction package and the relative time delay instruction package are used in the ground injection program control step, and the delay instruction execution is triggered when the instruction analysis meets the time condition;
[0008] The task operation program control package and the task instruction cache table are used in the satellite task program control step, and are uniformly managed.
[0009] Preferably, when the instruction is analyzed, the current satellite time T now is greater than the time code T0 of the instruction, the delay instruction execution is triggered;
[0010] When the instruction is analyzed, the current satellite time T now is greater than the sum of the time code AT of the instruction and the queue time T f , the delay instruction execution is triggered.
[0011] Preferably, absolute time delay command packages and relative time delay command packages are used in combination and nested; the relative time delay command package is embedded in the absolute time delay command package to form a combined command package; the absolute time delay command package and the relative time delay command package contain time codes and command content; wherein, the command content is an index of the pre-stored command package cache or the specific command package content, distinguished by an internal command type flag; the pre-stored command package cache is the command pool of the space service software, and the corresponding command code is found through the command index of the command pool, which supports modification on the ground.
[0012] Preferably, the task operation control package includes a task number, task type, task parsing time, task end time, task execution time, and program control parameters;
[0013] The task number is used to distinguish different tasks.
[0014] Job type, used to employ different task instruction cache tables;
[0015] Task analysis time, when the current onboard time T now ≥Task parsing time T s This triggers the parsing of the task's job control package;
[0016] Mission end time, when the current time T on the star now ≥T end The next task's job control package can only be parsed after the task ends.
[0017] 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, it forms the absolute time that each instruction needs to be triggered.
[0018] Program control parameters, in conjunction with the configuration function of the task instruction cache table, configure parameters to determine whether an instruction is sent and the generation of specific instruction codes;
[0019] The task instruction cache table includes configuration functions, configuration parameters, base time, relative time, instruction content, and instruction pointer;
[0020] Configuration functions and configuration parameters are implemented using function pointers and function parameters, respectively, to allow for the customization of each instruction.
[0021] The baseline time is used to match the task execution time of the task operation control package.
[0022] Relative time is used to add or subtract the corresponding time from the current reference time.
[0023] Instruction content, which is the memory space or instruction index used to store fixed instruction content;
[0024] instruction pointer, for pointing to the address of the last instruction content;
[0025] task instruction cache table, when the task is parsed, the last generated instruction and execution time enter the instruction queue for management.
[0026] Preferably, in the on-board task program control step, the last is uniformly managed by the queue management method;
[0027] The queue management method adopts the form of cooperation of the free link list and the working link list, the instruction queue adopts to carry out 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] The instruction queue and the task queue adopt the combination of the free link list and the working link list, the data block of the link list contains the instruction code and the instruction execution time or the task block and the task parsing time, when the memory space needs to be applied, the data block is released from the free link list, and the data block is inserted into the working link list according to time before and after; when the time code of the first block is greater than or equal to T now , the data block is released from the working link list, and after the data block is used, the data block is inserted into the free link list again;
[0029] The instruction queue and the task queue support the deletion of specific time ranges, specific instruction codes and specific task jobs and the queue formatting operation; the free link list and the working link list apply for memory resources through global variables in the program initialization process.
[0030] According to the satellite instruction program control system provided by the application, the ground program control module, the on-board task program control module are provided.
[0031] The ground program control module adopts the absolute time delay instruction package and the relative time delay instruction package, and triggers the delay instruction execution when the instruction parsing meets the time condition.
[0032] The on-board task program control module adopts the task job program control package and the task instruction cache table, and is uniformly managed.
[0033] Preferably, the absolute time delay instruction package triggers the delay instruction execution when the current on-board time T now is greater than or equal to the time code T0 of the instruction.
[0034] The relative time delay instruction package triggers the delay instruction execution when the current on-board time T now is greater than or equal to the sum of the time code △T of the instruction and the entry time T f .
[0035] Preferably, the absolute time delay instruction package, the relative time delay instruction package, the combination is nested; the relative time delay instruction package is nested in the absolute time delay instruction package to form a combination instruction package; the absolute time delay instruction package and the relative time delay instruction package, the time code and the instruction content are contained; wherein, the instruction content is the index of the pre-stored instruction package cache or the specific instruction package content, which is distinguished by the internal instruction type mark; the pre-stored instruction package cache, i.e. the instruction pool of the star service software, finds the corresponding instruction code through the instruction index of the instruction pool, and the instruction pool supports the modification on the ground.
[0036] Preferably, the task job program control package contains job number, job type, task analysis time, task end time, task execution time and program control parameter.
[0037] The job number is used for distinguishing different task jobs.
[0038] The job type is used for using different task instruction cache tables.
[0039] The task analysis time is when the current on-board time T now ≥ the task analysis time T s , triggering the task job program control package analysis;
[0040] The task end time is when the current on-board time T now ≥ the task end time T end , and only then can the next task job program control package be analyzed.
[0041] The task execution time contains the task start time and the task duration, cooperates with the reference time and the relative time of the task instruction cache table, and forms the absolute time required for triggering each instruction.
[0042] The program control parameter cooperates with the configuration function and the configuration parameter of the task instruction cache table to form the generation of the instruction code and whether the instruction is sent.
[0043] The task instruction cache table contains the configuration function, the configuration parameter, the reference time, the relative time, the instruction content and the instruction pointer.
[0044] The configuration function and the configuration parameter are respectively realized in the form of function pointer and function parameter to freely customize each instruction content.
[0045] The reference time is used for matching the task execution time of the task job program control package.
[0046] The relative time is used for increasing or decreasing the corresponding time on the current reference time.
[0047] The instruction content is used for storing the memory space of the fixed instruction content or the instruction index.
[0048] Instruction pointer, used for pointing to the address of the last instruction content;
[0049] Task instruction cache table, when the task is parsed, the last generated instruction and execution time enter the instruction queue for management.
[0050] Preferably, in the on-board task program control module, the last is uniformly managed by the queue management method;
[0051] The queue management method adopts the form of cooperation of the free list and the working list, the instruction queue adopts to carry out 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] The instruction queue and the task queue adopt the combination of the free list and the working list, the data block of the chain table contains the instruction code and the instruction execution time or the task block and the task parsing time, when the memory space needs to be applied, the data block is released from the free list, and the data block is inserted into the working list according to time before and after; when the time code of the first block is greater than or equal to T now , the data block is released from the working list, and after the data block is used, the data block is inserted into the free list again;
[0053] The instruction queue and the task queue support the deletion of specific time ranges, specific instruction codes and specific task jobs and the queue formatting operation; the free list and the working list apply for memory resources through global variables in the program initialization process.
[0054] Compared with the prior art, the present application has the following beneficial effects:
[0055] 1、The absolute time delay instruction package and the relative time delay instruction package are adopted in the present application, so that the satellite can be triggered based on T0 (absolute time) and △T (relative time), and the combination of the instruction embedding is adopted, so that the free combination of the T0 (absolute time) and the △T (relative time) delay instructions is realized, and the flexibility and adaptability of the ground program control are improved;
[0056] 2、The present application adopts the cooperation of the task job program control package and the task instruction cache table, forms a satellite program control design template, the task execution time in the program control package and the reference time and the relative time of the task instruction cache table, and the instruction demand of different time application scenes in the satellite task is realized;
[0057] 3. This invention enables customized requirements for each instruction by using the program control parameters in the task operation program control package and the configuration functions and parameters of the task instruction cache table. This allows for the generation of various instruction contents in satellite missions, including fixed instruction codes, instruction codes selected by program control parameters, instruction codes selected by the current satellite status, and instruction codes recombined from program control parameters, etc. The instruction pointer in the task instruction cache table standardizes and unifies the actual address space of the instruction codes generated after task parsing.
[0058] 4. This invention uses a combination of working lists and free lists to ensure the convenience and efficiency of inputting and deleting instruction blocks and task blocks. The static allocation of working lists and free lists largely avoids the generation of memory fragmentation and ensures the reliability of satellite software. Attached Figure Description
[0059] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0060] Figure 1 This is a schematic diagram of the ground injection process control steps of the present invention;
[0061] Figure 2 This is a schematic diagram of the on-board mission control steps of the present invention. Detailed Implementation
[0062] The present invention will now be described in detail with reference to specific embodiments. These embodiments will help those skilled in the art to further understand the present invention, but do not limit the invention in any way. It should be noted that those skilled in the art can make several changes and improvements without departing from the concept of the present invention. These all fall within the protection scope of the present invention.
[0063] A satellite command programming method provided by the present invention includes ground-based programming steps, such as... Figure 1 As shown, it also includes on-board mission control steps, such as... Figure 2 As shown.
[0064] The ground injection process uses absolute time delay command packets and relative time delay command packets.
[0065] The absolute time delay instruction packet, when the instruction is parsed, T now If (current onboard time) ≥ T0 (time code of the instruction), the delayed instruction will be executed.
[0066] The relative time delay instruction packet, when the instruction is parsed, T now (Current satellite time) ≥ △T (time code of the instruction), T fThe sum of the (entry time) triggers the delay instruction execution;
[0067] The absolute time delay instruction package and the relative time delay instruction package not only support separate use, but also can be combined and nested use, and 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 can contain multiple time codes and instruction contents. Among them, the instruction content can be an index of a pre-stored instruction package cache, or 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 star service software, can find the corresponding instruction code through the instruction index of the instruction pool, and the instruction pool can support ground modification.
[0068] The on-orbit task scheduling step adopts a task job scheduling package and a task instruction cache table, and finally is uniformly managed by a queue management method.
[0069] The task job scheduling package contains a job number, a job type, a task analysis time, a task end time, a task execution time, and a scheduling parameter. The job number is used to distinguish different task jobs. The job type is used to use different task instruction cache tables. The task analysis time triggers the task job scheduling package analysis when T now (current on-orbit time) ≥ T s (task analysis time); the task end time triggers the analysis of the next task job scheduling package when T now (current on-orbit time) ≥ T end (task end time); the task execution time contains a task start time and a task duration time, cooperates with a reference time and a relative time of the task instruction cache table to form an absolute time required for triggering each instruction; the scheduling parameter cooperates with a configuration function and a configuration parameter of the task instruction cache table to form the generation of an instruction code and whether the instruction is sent.
[0070] The task instruction cache table contains a configuration function, a configuration parameter, a reference time, a relative time, an instruction content, and an instruction pointer. The configuration function and the configuration parameter are realized in the form of a function pointer and a function parameter to freely customize each instruction content. The reference time is used to match the task execution time of the task job scheduling package. The relative time is used to increase or decrease the corresponding time on the current reference time. The instruction content is used to store a memory space or an instruction index of fixed instruction content. The instruction pointer is used to point to the address of the last instruction content. Preferably, the task instruction cache table enters the generated instruction and execution time into the instruction queue for management after task analysis.
[0071] The queue management method adopts the form of idle linked list and working linked list, the instruction queue adopts memory management of instruction code and instruction execution time, and the task queue adopts memory management of task block and task analysis time. Preferably, the instruction queue and the task queue adopt the combination of idle linked list and working linked list, the data block of the linked list contains instruction code and instruction execution time or task block and task analysis time, when memory space is needed, the data block is released from the idle linked list and is inserted into the working linked list according to time; when the time code of the first block is greater than or equal to T now , the data block is released from the working linked list, and after the data block is used, the data block is inserted into the idle linked list.
[0072] The instruction queue and the task queue support the operation of deleting specific time range, specific instruction code and specific task job and queue formatting. The idle linked list and the working linked list apply memory resources through global variables in the program initialization process, avoiding dynamic memory application, release and memory fragmentation generated in the process.
[0073] The ground programming step will be described in more detail.
[0074] The instruction packet format of the absolute time delay instruction packet and the relative time delay instruction packet adopts the space CCSDS format, which contains a 6-byte packet header, a 2*N-byte data field, the packet 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 verification, and the specific analysis is as follows.
[0075] The remote control application data field of the absolute time delay instruction is divided into absolute time code (6 bytes, unit 0.1 ms) and instruction content, when the first 2 bytes of the instruction content are 0xff00, it is not the instruction packet format, the pre-stored instruction packet buffer index is adopted, otherwise the instruction content is the instruction packet format.
[0076] The remote control application data field of the relative time delay instruction is divided into relative time code (complement 4 bytes, unit 0.5 s) and instruction content, when the first 2 bytes of the instruction content are 0xff00, it is not the instruction packet format, the pre-stored instruction packet buffer index is adopted, otherwise the instruction content is the instruction packet format.
[0077] The above instruction packet can be used for instruction packet nesting, such as the instruction packet containing absolute instruction code T0 and the instruction packet of absolute time code T1 in the absolute time delay instruction, the instruction of T0 contains instruction packet 1 of △t0_1, instruction packet 2 of △t0_2 and instruction packet 3 of △t0_3, the instruction of T1 contains instruction packet 4 of △t1_1 and instruction packet 5 of △t1_2.
[0078] Δt0_1, Δt0_2, Δt0_3 represent different incremental times relative to T0.
[0079] Δt1_1, Δt1_2 represent different incremental times relative to T1.
[0080] The on-board program disassembles the combined instruction package, and if it is an absolute time delay instruction package, the working time is T0, and if it is a relative time delay instruction package, the working time is ΔT, T f (column time), calculates the actual working time, and performs a rationalization check on the working time, applies memory resources from the idle chain table, and inserts before and after in the working chain table according to the working time. When the on-board time is within the working time execution range, the program takes the instruction package from the working chain table, executes the instruction content, and finally recycles the memory resources from the idle chain table.
[0081] The on-board task program control steps will be described in more detail below.
[0082] The task operation program control package mainly consists of the following contents:
[0083] 1) Job number: 1 byte, range 0 to 255, up to 256 different tasks can be stored;
[0084] 2) Job type: 1 byte, can be divided into imaging job (0x11), data transmission job (0x22), imaging and data transmission job (0x33);
[0085] 3) Task analysis time (Ts): 4 bytes, unit s, when T now (current on-board time) ≥ T s (task analysis time), trigger the task job package analysis;
[0086] 4) Task end time (Tend): 4 bytes, unit s, when T now (current on-board time) ≥ T end (task end time), the task package ends, and the next task job package can be parsed;
[0087] 5) Imaging start time (T0): 4 bytes, unit s, camera start time;
[0088] 6) Imaging duration (△t0): 2 bytes, unit s, camera continuous working time;
[0089] 7) Data transmission start time (T1): 4 bytes, unit s, data transmission antenna start time;
[0090] 8) Data transmission duration (△t1): 2 bytes, unit s, data transmission antenna continuous working time;
[0091] 9) Camera parameters: camera configuration parameters;
[0092] 10) Data transmission parameters: data transmission master and backup flags, data transmission configuration parameters;
[0093] Task instruction cache table, corresponding to imaging task instruction cache table, data transmission task instruction cache table, imaging, data transmission task instruction cache table. Imaging, data transmission task instruction cache table is taken as an example:
[0094] 1) Configuration function: CmdDo() in the following figure is the default sending, Fun1() can generate camera parameter instructions through camera parameters, Fun3() can generate data transmission parameter instructions through data transmission parameters;
[0095] 2) Configuration parameters: Fun2(), Fun4() in the following figure can select the current task to use the master and backup through the data transmission master and backup flags of data transmission parameters;
[0096] 3) Reference time: used to distinguish the reference time of the task instruction cache table.
[0097] 4) Relative time: used to increase or decrease the corresponding time on the current reference time, with a unit of 0.5s.
[0098] 5) Instruction content: using the pre-stored instruction package cache index, the corresponding instruction content.
[0099] 6) Instruction pointer: used to point to the address of the last instruction content.
[0100] The instruction queue and the task queue both use the combination of the free list and the working list. The data block of the list contains the instruction code and the instruction execution time or the task block and the task analysis time. When the memory space needs to be applied, the data block is released from the free list, and the data block is inserted into the working list according to the time before and after. When the time code of the first block is greater than or equal to T now , the data block is released from the working list. After the data block is used, the data block is inserted into the free list.
[0101] The instruction queue and the task queue support the operations of deleting and queue formatting for specific time ranges, specific instruction codes and specific task jobs.
[0102] The application further provides a satellite instruction programming system, which can be realized by executing the flow steps of the satellite instruction programming method, i.e., the satellite instruction programming method can be understood by those skilled in the art as a preferred embodiment of the satellite instruction programming system. The satellite instruction programming system comprises a ground injection programming module and an on-orbit task programming module. The ground injection programming module adopts absolute time delay instruction packets and relative time delay instruction packets, and triggers delay instruction execution when instruction analysis meets time conditions. The on-orbit task programming module adopts task operation programming packets and task instruction cache tables, and uniformly manages them.
[0103] Those skilled in the art know that, in addition to implementing the system provided by the application and each device, module and unit thereof in the form of pure computer readable program code, the system provided by the application and each device, module and unit thereof can also be realized in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers and embedded microcontrollers by logically programming the method steps to achieve the same functions. Therefore, the system provided by the application and each device, module and unit thereof can be considered as a hardware component, and the devices, modules and units included therein for achieving various functions can also be considered as structures in the hardware component; the devices, modules and units for achieving various functions can also be considered as both software modules for realizing methods and structures in the hardware component.
[0104] The specific embodiments of the application are described above. It needs to be understood that the application is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which does not affect the essential content of the application. The embodiments of the present application and the features in the embodiments can be arbitrarily combined with each other without conflict.
Claims
1. A method of satellite command programming, characterized in that, The application relates to a satellite task programming method and device. The ground programming step adopts absolute time delay instruction packages and relative time delay instruction packages, and triggers delay instruction execution when instruction analysis meets time conditions; The satellite task programming step adopts task job programming packages and task instruction cache tables, and is uniformly managed by a queue management method; The absolute time delay instruction packages and the relative time delay instruction packages are combined and nested; the relative time delay instruction packages are embedded in the absolute time delay instruction packages to form combined instruction packages; the absolute time delay instruction packages and the relative time delay instruction packages 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 marks; the pre-stored instruction package caches, namely instruction pools of satellite software, find corresponding instruction codes through instruction indexes of the instruction pools, and the instruction pools support ground programming modification. The absolute time delay instruction package triggers the delay instruction execution when the current on-board time T now ≥ the time code T0 of the instruction. The relative time delay instruction package triggers the delay instruction execution when the sum of the current on-board time T now ≥ the time code of the instruction △T and the entry time T f is equal to the instruction.
2. The method of claim 1, wherein the satellite command sequence is generated by: The task job programming package contains a job number, a job type, a task analysis time, a task end time, a task execution time and programming parameters; 3. The method of claim 1, wherein the satellite command sequence is generated by a computer program. The job number is used for distinguishing different task jobs; The job type is used for using different task instruction cache tables; The task execution time contains a task start time and a task duration time, cooperates with a reference time and a relative time of the task instruction cache table, and forms absolute time required by each instruction to be triggered; Task analysis time, when the current star on time T now ≥ task analysis time T s , trigger the task job program package analysis; Task end time, when the current on-board time T now ≥ T end Task end time, to parse the next task job program package; The programming parameters cooperate with configuration functions and configuration parameters of the task instruction cache table to form instruction sending and specific instruction code generation; The task instruction cache table contains configuration functions, configuration parameters, a reference time, a relative time, instruction contents and an instruction pointer; The configuration functions and the configuration parameters are respectively realized in the form of function pointers and function parameters to freely customize each instruction content; The reference time is used for matching the task execution time of the task job programming package; The relative time is used for increasing or decreasing corresponding time on the current reference time; The instruction contents are used for storing memory spaces of fixed instruction contents or instruction indexes; The instruction pointer is used for pointing to the address of last instruction contents; The task instruction cache table enters the instruction queue for management when last generated instructions and execution times are produced after task analysis. The satellite task programming step is uniformly managed by the queue management method; 4. The method of claim 1, wherein the satellite command sequence is generated by a computer program. The queue management method adopts the form of an idle chain table and a working chain table, the instruction queue manages memory of instruction codes and instruction execution times, and the task queue manages memory of task blocks and task analysis times; The instruction queue and the task queue support deleting and queue formatting operations on specific time ranges, specific instruction codes and specific task jobs; the idle chain table and the working chain table apply memory resources through global variables in a program initialization process. The instruction queue and the task queue both adopt the combination of free list and working list, the data block of the list contains instruction code and instruction execution time or task block and task analysis time, when the memory space needs to be applied, the data block is released from the free list and inserted into the working list according to time; when the time code of the first block is greater than or equal to T now , the data block is released from the working list, after the data block is used, the data block is inserted into the free list again; The application relates to a satellite task programming method and device.
5. A satellite command and control system, characterized by The ground programming step adopts absolute time delay instruction packages and relative time delay instruction packages, and triggers delay instruction execution when instruction analysis meets time conditions; The on-board task program control module adopts a task job program control package and a task instruction cache table, which are uniformly managed by a queue management method; The absolute time delay instruction package triggers the delay instruction execution when the current on-board time T now ≥ the time code T0 of the instruction. The relative time delay instruction package triggers the delay instruction execution when the sum of the current on-board time T now ≥ the time code of the instruction △T, and the entry time T f is equal to the time code of the instruction △T.
6. The satellite command sequencing system of claim 5, wherein, The absolute time delay instruction package and the relative time delay instruction package are combined and nested; the relative time delay instruction package is nested 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 a pre-stored instruction package cache or specific instruction package contents, which are distinguished by internal instruction type marks; the pre-stored instruction package cache, i.e. an instruction pool of the star service software, finds corresponding instruction codes through instruction indexes of the instruction pool, and the instruction pool supports ground modification.
7. The satellite command sequencing system of claim 5, wherein, The task job program control package contains a job number, a job type, a task analysis time, a task end time, a task execution time and program control parameters; The job number is used for distinguishing different task jobs; The job type is used for using different task instruction cache tables; Task analysis time, when the current star on time T now ≥ task analysis time T s , trigger the task job program package analysis; Task end time, when the current on-board time T now ≥ T end Task end time, to parse the next task job program package; The task execution time contains a task start time and a task duration, and cooperates with a reference time and a relative time of the task instruction cache table to form absolute times required for triggering each instruction; The program control parameters cooperate with configuration functions and configuration parameters of the task instruction cache table to form generation of instruction codes and whether to send instructions; The task instruction cache table contains configuration functions, configuration parameters, a reference time, a relative time, instruction contents and instruction pointers; The configuration functions and the configuration parameters are realized in the form of function pointers and function parameters to freely customize each instruction content; The reference time is used for matching the task execution time of the task job program control package; The relative time is used for increasing or decreasing corresponding times on the current reference time; The instruction contents are memory spaces or instruction indexes for storing fixed instruction contents; The instruction pointers are used for pointing to addresses of last instruction contents; The task instruction cache table enters the instruction queue for management when the last generated instruction and the execution time are parsed.
8. The satellite command sequencing system of claim 5, wherein, The on-board task program control module is uniformly managed by the queue management method; The queue management method adopts a form of cooperation of an idle linked list and a working linked list, the instruction queue performs memory management on instruction codes and instruction execution times, and the task queue performs memory management on task blocks and task analysis times; The instruction queue and the task queue both adopt the combination of free list and working list, the data block of the list contains instruction code and instruction execution time or task block and task analysis time, when the memory space needs to be applied, the data block is released from the free list and inserted into the working list according to time; when the time code of the first block is greater than or equal to T now , the data block is released from the working list, after the data block is used, the data block is inserted into the free list again; The instruction queue and the task queue support deleting and queue formatting operations on specific time ranges, specific instruction codes and specific task jobs; the idle linked list and the working linked list apply memory resources through global variables in a program initialization process.
Citation Information
Patent Citations
High-precision program control task management system
CN112147924A
Satellite software design method and device based on task templateand equipment
CN113419714A