A reconfigurable WYSIWYG payload data injection generation system and method

CN117555610BActive Publication Date: 2026-09-15NAT SPACE SCI CENT CAS
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311302638.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-10
Publication Date
2026-09-15
Estimated Expiration
2043-10-10

AI Technical Summary

Technical Problem

[0004]面向探月、探火、行星探测等深空探测的多航天器、复杂自主控制等典型特征,传统数据注入生成方法仍然存在不足

Benefits of technology

[0059]1. Model-defined reconfigurable payload data injection generation: To address the problems of traditional computer-aided data injection generation methods, such as prominent customization features, low development efficiency, and high cost, a unified modeling specification applicable to data injection for different spacecraft and payloads is proposed, providing a unified model foundation for the one-time development and multi-spacecraft reconfiguration of data injection generation software;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117555610B_ABST
    Figure CN117555610B_ABST
Patent Text Reader

Abstract

The application relates to a reconfigurable WYSIWYG (What You See Is What You Get) payload data injection generation system and method. In view of the problems in a conventional payload data injection generation method, such as prominent injection generation software customization features, low development efficiency, delayed injection decoding operation to a payload test process, and test task interruption caused by abnormal injection, a unified modeling specification suitable for multi-spacecraft and multi-payload data injection generation is provided, and a WYSIWYG data injection generation method based on an encoder and a decoder is designed. Task practice results show that the modeling specification can provide a model basis for one-time development of data injection generation software and multi-spacecraft reconfiguration use, the injection decoding operation is moved to the generation stage, the WYSIWYG data injection can be realized, and it is ensured that the generated data injection can be correctly executed in the test process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical fields of spacecraft testing, payload subsystem testing, and ground application systems, and in particular to a reconfigurable WYSIWYG payload data injection and generation system and method. Background Technology

[0002] In payload testing tasks based on the "stimulus-response" principle, data injection is the primary "stimulus" method for enabling the device under test (DUT) to power on / off, switch task modes, adjust operating parameters, enable functions, and achieve autonomous control. Abnormal data injection can cause minor issues like abnormal execution of DUT commands and interruptions during testing, or even lead to the DUT going out of control, being damaged, or becoming irreparable.

[0003] There are two traditional methods for generating data injection: one is the early manual method, where testers manually edit fields, perform verification calculations, and encapsulate the injection source packet and injection frame based on the field composition, value constraints, verification algorithms, and transmission protocols of the data to be injected into the payload under test. This method effectively solves the data injection generation problem in scenarios with small injection scales and few fields, but it is inefficient and prone to errors. The other method is a computer-aided, customized generation method. This method involves customizing dedicated data injection generation software for the personalized design of the data injection into the payload under test, allowing testers to generate the injected data. Compared to manual generation, the computer-aided method significantly improves both efficiency and accuracy.

[0004] Traditional data injection generation methods still have shortcomings in addressing the typical characteristics of deep space exploration, such as multiple spacecraft and complex autonomous control, including lunar, Mars, and planetary exploration. On the one hand, existing computer-aided methods are highly customized, requiring different data injection generation software for different spacecraft and different payloads under test, resulting in low customization efficiency and high cost. On the other hand, when compiling injection data containing complex logic such as autonomous operation sequence lists, autonomous operation status monitoring lists, and autonomous fault safety monitoring lists, even after multiple manual verifications, the injection codewords generated by the customized software still cannot guarantee that the injection commands will be correctly executed on the onboard equipment during testing. In other words, the "what you see is what you get" approach to data injection has not yet been truly achieved.

[0005] In view of this, a reconfigurable WYSIWYG payload data injection generation method is invented, which not only addresses the reconfigurable "encoding" generation requirements for injecting data from multiple spacecraft and multiple payloads under test, but also covers their "WYSIWYG" "decoding" inversion requirements. This is of great significance for improving the reliability and efficiency of payload data injection compilation in today's context of my country's ever-increasing spacecraft development missions. Summary of the Invention

[0006] The purpose of this invention is to provide a reconfigurable WYSIWYG payload data injection generation method. Based on a reconfigurable data injection model, this method designs different encoders for fields of different processing types in the model to achieve "encoding" generation of the data injection. Furthermore, it moves the onboard equipment instruction decoding operation to the data injection generation stage, designing different decoders for fields of different processing types in the model to "decode" and invert the injected codewords generated by the "encoding". Based on the reconfigurable model definition, the data injection software can be developed once and reconfigured for use on multiple spacecraft, improving development efficiency and reducing development costs. Based on the design of the "encoder" and "decoder", the "WYSIWYG" nature of the data injection is achieved, ensuring that the generated data injection is correctly executed during testing.

[0007] To achieve the above objectives, the present invention is implemented through the following technical solution.

[0008] This invention proposes a reconfigurable WYSIWYG payload data injection generation system, comprising: a reconfigurable injection model definition module, a dedicated injection model information management module, an injection encoder module, and an injection decoder module; wherein,

[0009] The reconfigurable injection model definition module is used to establish a unified modeling specification for data injection of different spacecraft and different payloads. The specification includes: a data injection template table, an injection template field table, a field processing formula table, and an enumerated field definition table.

[0010] The dedicated injection model information management module is used to load the payload data injection model formulated according to the modeling specifications for a specific type of task, perform model validity detection, and provide model information retrieval services.

[0011] The injection encoder module is used to provide instruction encoding function that matches the field category for different processing category fields in the data injection model, converting the field physical quantity input by the user into hexadecimal codewords and concatenating them into instruction frames;

[0012] The injection decoder module is used to provide instruction decoding function that matches the field category for different processing category fields in the data injection model, and to split and convert the instruction frame generated by the injection encoder module into the physical quantity of each field.

[0013] The system determines whether the current instruction frame satisfies the intent of data injection by injecting the physical quantities of each field converted by the decoder module.

[0014] As one of the improvements to the above technical solution, the attributes of the data injection template table include: template identifier, template name, template category, and template instruction length; wherein the template identifier serves as the primary key of the data injection template table, and the template instruction length is -1 if it is not a fixed length.

[0015] The attributes of the injection template field table include: field identifier, template identifier, field name, codeword length of the field, field processing formula identifier, and default value of the codeword of the field; among them, the field identifier serves as the primary key of the injection template field table, and the model identifier and field processing formula identifier must be defined in the data injection template table and the field processing formula table;

[0016] The field processing formula table has the following attributes: formula identifier, formula name, and formula coefficients; the formula identifier serves as the primary key of the field processing formula table; formula types include: time-space processing (FST), linear processing (FKX_B), enumeration definition (FRTAB), thermistor temperature conversion (FTH), CRC (Cyclic Redundancy Checksum) verification processing (FCRC), hexadecimal editing processing (FHEX), and file selection hexadecimal processing (FFILE); if the processing categories are the same but the processing coefficients are different, the corresponding formula identifiers must satisfy the following condition: formula type identifier first, followed by serial number.

[0017] The attributes of the enumerated field definition table include: field identifier, source code, and corresponding source code definition. The field identifier must be defined in the injection template field table.

[0018] As an improvement to the above technical solution, the information retrieval service includes:

[0019] Retrieve formula information by index; retrieve formula information by formula identifier;

[0020] Retrieve template information based on the index; retrieve template information based on the template identifier;

[0021] Retrieve field information based on index; retrieve field information based on field identifier.

[0022] As an improvement to the above technical solution, both the injection encoder module and the injection decoder module adopt an interface-oriented programming method.

[0023] The injection encoder module supports a variety of encoders, including: star time encoder, linear processing encoder, enumeration interpretation encoder, thermistor temperature encoder, CRC check encoder, hexadecimal editing encoder and file hexadecimal encoder;

[0024] The injection decoder module supports multiple decoders, including: a star time decoder, a linear processing decoder, an enumeration interpretation decoder, a thermistor temperature decoder, a CRC check decoder, a hexadecimal editing decoder, and a file hexadecimal decoder.

[0025] As one of the improvements to the above technical solution, the encoders supported by the injection encoder module are described below:

[0026] Star Time Encoder: Input seven integer data points: year, month, day, hour, minute, second, and millisecond. Use the formula configured with coefficients 1-6 to represent the time as the reference. Coefficients 1-6 are the year, month, day, hour, minute, and second of the reference time, respectively. Calculate the second count and millisecond count of the input time relative to the reference time. Encode the second count and millisecond count into 6-byte source code in big-endian format, with 4 bytes for the second count and 2 bytes for the millisecond count.

[0027] Linear encoder: Input floating-point data fInput, using formula coefficients 1 and 2 as slope k and offset b respectively, calculate... Encode the integer iResult into source code that is big-endian and conforms to the codeword length of the current field;

[0028] Enumerated definition encoder: The input is a field definition, the output is the source code of the field that matches the field definition, and the output is the source code as encoded data.

[0029] Thermistor temperature encoder: The input is floating-point data fInput, with formula coefficients 1-7 representing a, b, c, and V respectively. cc R0, foffset, k are calculated as follows Encode the integer iResult into source code that is big-endian and conforms to the codeword length of the current field;

[0030] CRC check encoder: The input is the data to be checked, and the CRC generator polynomial is x. 16 +x 12 +x 5 +1, the initial value is 0xFFFF, calculate the CRC check value, and encode the CRC check value as a big-endian, 2-byte source code;

[0031] Hexadecimal editor encoder: The input is an unsigned char array, and the input data is directly used as the encoded output;

[0032] File hexadecimal encoder: The input is a file path, and the data in the file under that path is directly used as the encoded output;

[0033] As one of the improvements to the above technical solution, the decoders supported by the injection decoder module are described below:

[0034] Star Time Decoder: Based on the formula configuration coefficients 1-6 representing time, where coefficients 1-6 are the year, month, day, hour, minute, and second of the reference time, calculate the absolute time difference between the reference time and the input source code representing the second count and millisecond count, and output the year, month, day, hour, minute, second, and millisecond of this absolute time;

[0035] Linear processing decoder: Using the coefficients 1 and 2 of the formula as the slope k and offset b respectively, after obtaining the integer value iInput corresponding to the input source code, calculate fResult = iInput * k + b, and output the floating-point number fResult as the physical quantity of this field.

[0036] Enumerated definition decoder: The input is the field source code, and the output is the field definition that matches it, which is then used as the decoded data.

[0037] Thermistor temperature decoder: using formula coefficients 1-7 as a, b, c, and V respectively. cc Given R0, foffset, and k, after obtaining the integer value iInput corresponding to the input source code, perform the following calculation: V = iInput * k + foffset. Output the floating-point type T as the physical quantity of temperature;

[0038] CRC check decoder: In the input source code, the last 2 bytes are the encoded CRC result data, and the remainder is the data to be encoded; according to the generator polynomial x 16 +x 12 +x 5 +1, initial value is 0xFFFF, calculate CRC check value, compare the calculation result with the last 2 bytes of the input source code, and output "normal" or "error" as the decoding result;

[0039] Hexadecimal editor decoder: Outputs the decoded result as the input encoded data;

[0040] File hexadecimal decoder: Outputs the decoded result as the input encoded data.

[0041] As an improvement to the above technical solution, the system further includes: a data injection editing interface module, used to display the information loaded by the dedicated injection model information management module; used to generate the injection editing interface corresponding to the data injection template based on the field information of the data injection template; used to provide a field editing and instruction frame import / export interface, an instruction frame codeword display interface, and an instruction frame decoded field physical quantity display interface, so that the three interfaces can be displayed in real time when the user is editing fields.

[0042] As an improvement to the above technical solution, the data injection editing interface module includes: an injection template tree structure display unit, an injection editing interface dynamic generation unit, an instruction frame codeword display unit, and a decoding inversion data display unit; wherein,

[0043] The injection template tree structure display unit is used to display dedicated injection template information in an instruction tree structure, and provides a template filtering function based on template identifier and template name as matching conditions; when the template identifier and name are entered, the nodes that match the input conditions are expanded and bolded in real time.

[0044] The dynamic generation unit for the injection editing interface is used to automatically generate the injection editing interface corresponding to the template after double-clicking the last node of the injection template tree, based on MFC (Microsoft Foundation Classes) dynamic control creation technology. Specifically, the time-space processing type field generates three controls: date, time, and milliseconds Edit controls; the enumeration definition type field generates one Combobox control; linear processing, thermistor processing, hexadecimal editing, and CRC check processing each generate one single-line Edit control, except for the CRC check edit control which is disabled; the file hexadecimal processing type generates one multi-line Edit control, which is disabled, and also generates one file selection Button control. Based on MFC control mouse and keyboard message dynamic mapping technology, Edit editing messages, Button click messages, Combobox selection change messages, and date / time change messages are dynamically added. After each field control is edited, the instruction frame codeword for that editing state is generated immediately. The injection editing interface also provides instruction import and export functions.

[0045] The instruction frame code word display unit is used to enable the invalid Edit control to display the currently edited instruction frame code word;

[0046] The decoding inversion data display unit is used to display the decoding results of each field of the current instruction frame in a list format.

[0047] This invention also proposes a reconfigurable WYSIWYG payload data injection and generation method, implemented based on the system described above, the method comprising:

[0048] Step 1. Based on the modeling specifications of the reconfigurable injection model definition module, establish a dedicated injection model for specific task types;

[0049] Step 2. Load the dedicated injection model for the specific task through the dedicated injection model information management module and perform a validity check. If the check is invalid, return to step 1; if the check is valid, proceed to step 3.

[0050] Step 3. Select a data injection template through the data injection editing interface module to enter the injection editing interface corresponding to that template;

[0051] Step 4. Input physical quantities in the injection editing interface; convert the input physical quantities into instruction frames through the injection encoder module, and display the instruction frames through the data injection editing interface module; convert the converted instruction frames into physical quantities through the injection decoder module, and display the converted physical quantities through the data injection editing interface module.

[0052] Step 5. Determine whether the current instruction frame meets the intent by converting the physical quantities. If it does not, return to step 4; if it does, export the instruction frame and generate payload data injection.

[0053] As an improvement to the above technical solution, step 2 involves validity detection via a dedicated injection model information management module, specifically including:

[0054] Step 2-1. Read the field processing formula information and extract the formula identifier, formula name, and formula coefficients from the formula information; determine whether the formula identifier meets the following conditions: it is unique in the loaded model and has been defined in the general model formula set. If it does not meet the conditions, it is invalid; if it does meet the conditions, proceed to step 2-2.

[0055] Step 2-2. Read the data injection template information and extract the template identifier, template name, template category and corresponding instruction code length attributes from the data injection template information; determine whether the current template identifier is unique in the loaded model. If it is not unique, it is invalid; if it is unique, proceed to step 2-3.

[0056] Step 2-3. Read the template field information and extract the field identifier, template identifier, field name, field corresponding instruction codeword length, field processing formula identifier, and field codeword default value attributes from the template field information; determine whether the following conditions are met: the current field identifier is unique in the loaded model, the template identifier is defined in the loaded model, and the field processing formula identifier is defined in the loaded model. If these conditions are not met, the model is considered invalid; if they are met, proceed to step 2-4.

[0057] Steps 2-4. Read the enumeration field definition information and extract the field identifier, value retrieval code, and value definition attribute from the enumeration field definition information; determine whether the field identifier is defined in the loaded model. If it is not defined, it is invalid; if it is defined, it is valid.

[0058] The advantages of this invention compared to the prior art are:

[0059] 1. Model-defined reconfigurable payload data injection generation: To address the problems of traditional computer-aided data injection generation methods, such as prominent customization features, low development efficiency, and high cost, a unified modeling specification applicable to data injection for different spacecraft and payloads is proposed, providing a unified model foundation for the one-time development and multi-spacecraft reconfiguration of data injection generation software;

[0060] 2. WYSIWYG Data Injection Generation Based on "Encoder" and "Decoder" Design: To address the issues of traditional decoding operations being delayed until the test task execution process, and abnormal data injection causing test interruptions and damage to the tested load, an injection generation method based on "encoder" and "decoder" design is proposed. This method moves the decoding operation to the data injection generation stage, achieving "what you see is what you get" data injection and ensuring that the generated data injection is correctly executed during the test process. Attached Figure Description

[0061] Figure 1 This is a diagram showing the modular composition of the system of this invention;

[0062] Figure 2 This is a flowchart of the method of the present invention;

[0063] Figure 3 This is a partial data injection template for the lunar flag display system according to an embodiment of the present invention.

[0064] Figure 4 This is a partial field from the lunar flag display system template.

[0065] Figure 5 This is a partial formula for processing fields in the system displaying the lunar flag fluttering.

[0066] Figure 6 This is a partial explanation of the enumerated fields in the lunar flag display system.

[0067] Figure 7 This is a description of the dedicated model loading and validity detection process;

[0068] Figure 8 This is the class diagram for the injected encoder design;

[0069] Figure 9 This is the class diagram for the injection decoder design;

[0070] Figure 10 It is an injection template tree;

[0071] Figure 11 It is a template identifier filtering function;

[0072] Figure 12 This is a template name filtering function;

[0073] Figure 13 The date control is generated from a star-time processing type field;

[0074] Figure 14 It generates a time control from a star-time processing type field;

[0075] Figure 15 It generates a ComboBox control by enumerating definition type fields;

[0076] Figure 16 It is a file selection button control;

[0077] Figure 17 and Figure 18 These are two injection template editing interfaces;

[0078] Figure 19 It is the command frame codeword display interface;

[0079] Figure 20 This is the interface for displaying the instruction decoding results. Detailed Implementation

[0080] The technical solution of the present invention will be described in detail below with reference to the accompanying drawings and embodiments.

[0081] Example 1

[0082] The reconfigurability of this invention refers to the reconfigurability of the "injection generation system." This system adapts to the data injection generation requirements of different task types by changing the configuration file (model), possessing versatility; one software supports multiple task types. Specifically, for different task types, only different configuration files need to be provided to change the user interface of the "injection generation system" and the generated data injection can meet the requirements of the new task type.

[0083] The system of this invention mainly includes five modules: a reconfigurable injection model definition module, a dedicated injection model information management module, an injection encoder module, an injection decoder module, and a data injection editing interface module. Figure 1 As shown.

[0084] 1.1 The functions of each module are described below:

[0085] (1) Reconfigurable injection model definition module: Provides modeling specifications for data injection of different spacecraft and different payloads. Defines the content of the data injection of the payload under test, including: data injection template table, injection template field table, field processing formula table, enumerated field interpretation table, etc. At the same time, it standardizes the description format and related constraints of each content to ensure that the established dedicated injection model of the payload under test can be correctly identified in the subsequent method.

[0086] (2) Dedicated Injection Model Information Management Module: After completing the injection modeling of specific spacecraft payload data based on the reconfigurable model definition, the module loads information such as the injection template, injection template fields, field processing formulas, and enumeration fields of the built model, performs validity checks on the consistency between the built model and the reconfigurable model definition, and provides other modules with services for retrieving injection templates, template fields, field processing formulas, and field definition information.

[0087] (3) Injection Encoder Module: Provides corresponding instruction encoding functions for fields of different processing categories in the injection template, realizing the conversion of the physical quantities input into each field into instruction codewords. After completing the value selection and editing of a certain field through the injection editing interface, the injection codeword corresponding to that field is automatically generated, and then combined with the corresponding codewords of other fields in the template to form an instruction frame containing all codewords;

[0088] (4) Injection Decoder Module: This module provides corresponding instruction decoding functions for fields of different processing categories in the injection template, realizing the conversion of codewords in each field into physical quantities. This module takes the instruction frame generated by the injection encoder as input, performs codeword splitting based on the field composition of the template, and then decodes each field to obtain the physical quantity corresponding to each field;

[0089] (5) Data Injection Editing Interface Module: Displays dedicated injection template information in an instruction tree structure; automatically generates the injection editing interface corresponding to each injection template based on the field information of each injection template; provides field editing and instruction frame import / export interface, instruction frame codeword display interface, and physical quantity display interface of each field after instruction frame decoding. Real-time linkage display of the three interfaces is achieved when testers edit fields using mouse and keyboard.

[0090] 1.2 Method and Flow Description

[0091] like Figure 2 The diagram shown is a flowchart of the method of the present invention.

[0092] 1.3 Processing Module Design Description

[0093] 1.3.1 Reconfigurable Injection Model Definition Module

[0094] When the load under test is used to characterize its data injection, the content of the characterization should include: data injection template, injection template fields, field processing formulas, and enumerated field definitions.

[0095] 1) The attributes of the data injection template table include: template identifier, template name, template type, and instruction codeword length (Byte); where the template identifier serves as the primary key of the table, and the instruction codeword length is -1 if it is not a fixed length.

[0096] Figure 3This is a partial template for the data injection system of the lunar flag display.

[0097] 2) The attributes of the injected template field table include: field identifier, template identifier, field name, length of the corresponding instruction codeword (bit), field processing formula identifier, and default value of the field codeword; among which, the field identifier serves as the primary key of the table, and the template identifier and field processing formula identifier must be defined in the data injection template table and the field processing formula table;

[0098] Figure 4 This is a partial field in the lunar flag display system template.

[0099] 3) The attributes of the field processing formula table include: formula identifier, formula name, and coefficients 1-15; where the formula identifier serves as the table's primary key. Currently supported formula types are as follows: Star Time Processing (FST), Linear Processing (FKX_B), Enumeration Definition (FRTAB), Thermistor Temperature Conversion (FTH), CRC (Cyclic Redundancy Checksum) Verification Processing (FCRC), Hexadecimal Editing Processing (FHEX), and File Selection Hexadecimal Processing (FFILE). If the processing categories are the same but the processing coefficients are different, the corresponding formula identifiers must satisfy the following condition: formula type identifier first, sequence number second. For example, the two formula identifiers for linear processing can be defined as FKX_B_0 and FKX_B_1.

[0100] Figure 5 This is a partial formula for processing fields in the system displaying the "Flags Flying on the Moon" display.

[0101] 4) The attributes of the enumeration field definition table include: field identifier, value source code, and value definition. The field identifier must be defined in the injection template field table.

[0102] Figure 6 This is a partial explanation of the enumerated fields in the lunar flag display system.

[0103] The data injection template, injection template fields, field processing formulas, and enumerated field explanations mentioned above are all expressed in text form. The attribute order of each line of text is ensured to be consistent with the above description, and each attribute is separated by a tab key.

[0104] 1.3.2 Dedicated Injection Model Information Management Module

[0105] After completing the payload injection modeling of a specific spacecraft based on the reconfigurable model definition module, the testers load and validate the data injection template, injection template fields, field processing formulas, enumeration definitions, and other information of the model, while also providing information retrieval services.

[0106] 1) Loading and validity testing of a dedicated model

[0107] like Figure 7 The diagram shows the process for loading and validating a dedicated model.

[0108] 2) Dedicated model information retrieval service: including retrieving formula information by index, retrieving formula information by formula identifier; retrieving template information by index, retrieving template information by template identifier; retrieving field information by index, retrieving template information by field identifier, etc.

[0109] 1.3.3 Injecting the encoder module

[0110] The injection encoder module provides an encoder for each type of processing formula defined in the reconfigurable model, converting the physical quantities input by the tester into the corresponding instruction codewords. To meet the scalability requirements of subsequent new encoding processing methods for spacecraft and payload data injection fields, the injection encoder adopts an interface-oriented programming approach. Each type of processing formula defined in the formula set inherits from a unified "abstract class." To accommodate different data types of input physical quantities, such as integers, floating-point numbers, and hexadecimal numbers, the encoding operations in the "abstract class" are defined using function overloading, as detailed in the design below. Figure 8 .

[0111] The encoder types supported by the existing invention are described below:

[0112] 1) Star Time Encoder: Input seven integer data points: year, month, day, hour, minute, second, and millisecond. Use the formula configured with coefficients 1-6 to represent the time as the reference (coefficients 1-6 are the year, month, day, hour, minute, and second of the reference time, respectively). Calculate the second count and millisecond count of the input time relative to the reference time. Encode the second count and millisecond count into 6 bytes of source code (4 bytes for the second count and 2 bytes for the millisecond count) in big-endian format.

[0113] 2) Linear Encoder: Input floating-point data fInput, calculate using formula coefficient 1 as the slope k and coefficient 2 as the offset b. Encode the integer iResult into source code that is big-endian and conforms to the codeword length of the current field;

[0114] 3) Enumerated Definition Encoder: The input is a field definition (character array), and the source code of the field that matches the field definition is obtained and output as encoded data.

[0115] 4) Thermistor temperature encoder: The input is floating-point data fInput, with formula coefficients 1-7 representing a, b, c, and V respectively. cc R0, foffset, k are calculated as follows Encode the integer iResult into source code that is big-endian and conforms to the codeword length of the current field;

[0116] 5) CRC check encoder: The input is the data to be checked, and the encoder calculates the result according to the CRC generator polynomial x. 16 +x 12 +x 5 +1, the initial value is 0xFFFF, calculate the CRC check value, and encode the CRC check value as a big-endian, 2-byte source code;

[0117] 6) Hexadecimal Encoder: Input is an unsigned char array, directly encoding the input data;

[0118] 7) File Hexadecimal Encoder: The input is a file path, which directly encodes the data in the file.

[0119] 1.3.4 Injecting the decoder module

[0120] The injection decoder module provides a decoder for each type of processing formula defined in the reconfigurable model. After the injection encoder completes the instruction frame encoding, it splits the instruction frame into codewords by field, and then converts each field codeword into the corresponding physical quantity. Similar to the encoder, to meet the scalability requirements of subsequent new encoding processing methods for spacecraft and measured payload data injection fields, the injection decoder adopts an interface-oriented programming approach. Each type of processing formula defined in the formula set inherits from a unified "abstract class," as detailed in the specific design below. Figure 9 .

[0121] The decoder types supported by existing inventions are described below:

[0122] 1) Star Time Decoder: Using the formula configuration coefficients 1-6 to represent time as the reference (coefficients 1-6 are the year, month, day, hour, minute, and second of the reference time respectively), it calculates the absolute time difference from the reference time represented by the input source code (6 bytes, 4 bytes for second count, 2 bytes for millisecond count, big-endian first) in seconds and millisecond count, and outputs the year, month, day, hour, minute, second, and millisecond of this absolute time;

[0123] 2) Linear processing decoder: Using the coefficients 1 and 2 of the formula as the slope k and the offset b respectively, after obtaining the integer value iInput (big endian) corresponding to the input source code, calculate fResult = iInput * k + b, and output the floating-point number fResult as the physical quantity of the field (such as voltage, current, etc.).

[0124] 3) Enumerated Interpretation Decoder: The input is the field source code, and the decoder retrieves the interpretation of the value matching the source code, which is output as decoded data (such as working mode, error reason, etc.):

[0125] 4) Thermistor temperature decoder: Let the coefficients 1-7 be a, b, c, and V respectively. cc Given R0, foffset, and k, after obtaining the integer value iInput (big-endian) corresponding to the input source code, perform the following calculation: y = iInput * k + foffset. Output the floating-point type T as the physical quantity of temperature;

[0126] 5) CRC Check Decoder: In the input source code, the last 2 bytes are the encoded CRC result data, and the remainder is the data to be encoded. The generator polynomial is x. 16 +x 12 +x 5 +1, initial value is 0xFFFF, calculate CRC check value, compare the calculation result with the last 2 bytes of the input source code, and output "normal" or "error" as the decoding result;

[0127] 6) Hexadecimal editor / decoder: Directly copies the input encoded data to the output decoded data;

[0128] 7) File hexadecimal decoder: directly copies the input encoded data to the output decoded data.

[0129] 1.3.5 Data Injection Editing Interface Module

[0130] The functions of the data injection editing interface module include:

[0131] 1) Injection Template Tree Structure Display: The information of the dedicated injection template is displayed in an instruction tree structure, such as... Figure 10 Provides template filtering functionality based on template identifier and template name as matching criteria, such as... Figure 11 , Figure 12 When testers input template identifiers and names, nodes that match the input conditions are immediately expanded and highlighted in bold.

[0132] 2) Dynamic Generation of Injection Editing Interface: After double-clicking the last node of the injection template tree, this invention automatically generates the injection editing interface corresponding to the template based on MFC dynamic control creation technology. The time-of-day processing type field generates three controls: date (e.g., ...). Figure 13 As shown), time (as shown) Figure 14 (As shown), a millisecond Edit control; an enumerated definition type field generates one ComboBox control, as shown. Figure 15 Linear processing, thermistor processing, hexadecimal editing, and CRC check processing all generate a single-line Edit control. Except for the CRC check Edit control, which is disabled, all other processing types' Edit controls are enabled. File hexadecimal processing generates a multi-line Edit control, which is disabled, and also generates a file selection Button control. Figure 16 As shown. This invention is based on MFC control mouse and keyboard message dynamic mapping technology, dynamically adding Edit editing messages, Button click messages, Combobox selection change messages, and date and time change messages. After each field control is edited, a command frame code for that editing state is generated immediately; the editing interface also provides command import and export functions.

[0133] like Figure 17 and 18 As shown, these are the editing interfaces for two dynamically generated injection templates.

[0134] 3) Command Frame Codeword Display: Displays the currently edited command frame codeword in the Edit control when the enable state is disabled, such as... Figure 19 As shown:

[0135] 4) Decoding and inversion data display: The decoding results of the current instruction frame are displayed in a list format, such as... Figure 20 As shown. It is particularly important to note that when operating any field control on the injection editing interface, both the instruction frame codeword and the decoded inversion data interfaces will update in real time.

[0136] Example 2

[0137] The present invention provides a method for injecting and generating reconfigurable WYSIWYG payload data, comprising:

[0138] Step 1. Based on the reconfigurable injection model definition module, establish a spacecraft payload data injection model and a dedicated injection model for specific mission types;

[0139] Step 2. Load the dedicated injection model for the specific task through the dedicated injection model information management module and perform a validity check. If the check is invalid, return to step 1; if the check is valid, proceed to step 3.

[0140] Step 3. Select a data injection template through the data injection editing interface module to enter the injection editing interface corresponding to that template;

[0141] Step 4. Input physical quantities in the injection editing interface; convert the input physical quantities into instruction frames through the injection encoder module, and display the instruction frames through the data injection editing interface module; convert the converted instruction frames into physical quantities through the injection decoder module, and display the converted physical quantities through the data injection editing interface module.

[0142] Step 5. Determine whether the current instruction frame meets the intent by converting the physical quantities. If it does not, return to step 4; if it does, export the instruction frame and generate payload data injection.

[0143] In step 2, validity testing is performed using a dedicated injection model information management module, specifically including:

[0144] Step 2-1. Read the field processing formula information and extract the formula identifier, formula name, and formula coefficients from the formula information; determine whether the formula identifier meets the following conditions: it is unique in the loaded model and has been defined in the general model formula set. If it does not meet the conditions, it is invalid; if it does meet the conditions, proceed to step 2-2.

[0145] Step 2-2. Read the data injection template information and extract the template identifier, target name, template category and corresponding instruction code length attributes from the data injection template information; determine whether the current template identifier is unique in the loaded model. If it is not unique, it is invalid; if it is unique, proceed to step 2-3.

[0146] Step 2-3. Read the template field information and extract the field identifier, template identifier, field name, field corresponding instruction codeword length, field processing formula identifier, and field codeword default value attributes from the template field information; determine whether the following conditions are met: the current field identifier is unique in the loaded model, the template identifier is defined in the loaded model, and the field processing formula identifier is defined in the loaded model. If these conditions are not met, the model is considered invalid; if they are met, proceed to step 2-4.

[0147] Steps 2-4. Read the enumeration field definition information and extract the field identifier, value retrieval code, and value definition attribute from the enumeration field definition information; determine whether the field identifier is defined in the loaded model. If it is not defined, it is invalid; if it is defined, it is valid.

[0148] Based on the method proposed in the invention, a proprietary injection model was developed and injection command generation was performed on the tested payloads, including the Chang'e-7 lunar flag display system, the lunar soil water molecule detector, and the physical property sensor. The invention was validated in desktop testing of prototype and initial electrical components. Results show that the method can support the generation and inversion of data injection for different payloads. The invention is versatile, and the edited data injection achieves a "what you see is what you get" result.

[0149] This invention employs a reconfigurable model definition method, providing a model foundation for the universality of multiple spacecraft and multiple payloads under test. Based on the design of "encoder" and "decoder", the decoding operation is moved to the data injection generation stage, which is the main reason for achieving "what you see is what you get" data injection.

[0150] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to the embodiments, those skilled in the art should understand that modifications or equivalent substitutions to the technical solutions of the present invention do not depart from the spirit and scope of the technical solutions of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.

Claims

1. A reconfigurable WYSIWYG payload data injection generation system, characterized by, The system includes: a reconfigurable injection model definition module, a dedicated injection model information management module, an injection encoder module, and an injection decoder module; wherein... The reconfigurable injection model definition module is used to establish a unified modeling specification for data injection of different spacecraft and different payloads. The specification includes: a data injection template table, an injection template field table, a field processing formula table, and an enumerated field definition table. The dedicated injection model information management module is used to load the payload data injection model formulated according to the modeling specifications for a specific type of task, perform model validity detection, and provide model information retrieval services. The injection encoder module is used to provide instruction encoding function that matches the field category for different processing category fields in the data injection model, converting the field physical quantity input by the user into hexadecimal codewords and concatenating them into instruction frames; The injection decoder module is used to provide instruction decoding function that matches the field category for different processing category fields in the data injection model, and to split and convert the instruction frame generated by the injection encoder module into the physical quantity of each field. The system determines whether the current instruction frame satisfies the intent of data injection by injecting the physical quantities of each field converted by the decoder module. The attributes of the data injection template table include: template identifier, template name, template category, and template instruction length; among which, the template identifier serves as the primary key of the data injection template table, and the template instruction length is -1 if it is not a fixed length. The attributes of the injection template field table include: field identifier, template identifier, field name, codeword length of the field, field processing formula identifier, and default value of the codeword of the field; among them, the field identifier serves as the primary key of the injection template field table, and the model identifier and field processing formula identifier must be defined in the data injection template table and the field processing formula table; The field processing formula table has the following attributes: formula identifier, formula name, and formula coefficients; the formula identifier serves as the primary key of the field processing formula table; formula types include: time-space processing (FST), linear processing (FKX_B), enumeration definition (FRTAB), thermistor temperature conversion (FTH), CRC check processing (FCRC), hexadecimal editing processing (FHEX), and file selection hexadecimal processing (FFILE); if the processing categories are the same but the processing coefficients are different, the corresponding formula identifiers must satisfy the following condition: formula type identifier first, followed by serial number. The attributes of the enumerated field definition table include: field identifier, source code, and corresponding source code definition. The field identifier must be defined in the injection template field table.

2. The reconfigurable WYSIWYG payload data injection and generation system according to claim 1, characterized in that, The information retrieval service includes: Retrieve formula information by index; retrieve formula information by formula identifier; Retrieve template information based on the index; retrieve template information based on the template identifier; Retrieve field information based on index; retrieve field information based on field identifier.

3. The reconfigurable WYSIWYG payload data injection and generation system according to claim 1, characterized in that, Both the injection encoder module and the injection decoder module adopt an interface-oriented programming method. The injection encoder module supports a variety of encoders, including: star time encoder, linear processing encoder, enumeration interpretation encoder, thermistor temperature encoder, CRC check encoder, hexadecimal editing encoder and file hexadecimal encoder; The injection decoder module supports multiple decoders, including: a star time decoder, a linear processing decoder, an enumeration interpretation decoder, a thermistor temperature decoder, a CRC check decoder, a hexadecimal editing decoder, and a file hexadecimal decoder.

4. The reconfigurable WYSIWYG payload data injection and generation system according to claim 3, characterized in that, The encoders supported by the injection encoder module are described below: Star Time Encoder: Input seven integer data points: year, month, day, hour, minute, second, and millisecond. Use the formula configured with coefficients 1-6 to represent the time as the reference. Coefficients 1-6 are the year, month, day, hour, minute, and second of the reference time, respectively. Calculate the second count and millisecond count of the input time relative to the reference time. Encode the second count and millisecond count into 6-byte source code in big-endian format, with 4 bytes for the second count and 2 bytes for the millisecond count. Linear encoder: Input floating-point data fInput Using the coefficients 1 and 2 of the formula as the slopes respectively k and offset b ,calculate , convert the integer The source code is encoded in big-endian format and conforms to the codeword length of the current field. Enumerated definition encoder: The input is a field definition, the output is the source code of the field that matches the field definition, and the output is the source code as encoded data. Thermistor temperature encoder: Input is floating-point data fInput Using formula coefficients 1-7 as... a , b , c , , foffset , k Perform the following calculations. , , convert the integer The source code is encoded in big-endian format and conforms to the codeword length of the current field. CRC check encoder: The input is the data to be checked, and the CRC generator polynomial is... The initial value is 0xFFFF. Calculate the CRC check value and encode the CRC check value as a big-endian, 2-byte source code. Hexadecimal editor encoder: The input is an unsigned char array, and the input data is directly used as the encoded output; File hexadecimal encoder: The input is a file path, and the data in the file under that path is directly used as the encoded output.

5. The reconfigurable WYSIWYG payload data injection and generation system according to claim 3, characterized in that, The decoders supported by the injection decoder module are described below: Star Time Decoder: Based on the formula configuration coefficients 1-6 representing time, where coefficients 1-6 are the year, month, day, hour, minute, and second of the reference time, calculate the absolute time difference between the reference time and the input source code representing the second count and millisecond count, and output the year, month, day, hour, minute, second, and millisecond of this absolute time; Linear processing decoder: using formula coefficients 1 and 2 as slopes respectively. k Offset b Get the integer value corresponding to the input source code. iInput Then, calculate , floating-point number f As the physical quantity output for this field; Enumerated definition decoder: The input is the field source code, and the output is the field definition that matches it, which is then used as the decoded data. Thermistor temperature decoder: using formula coefficients 1-7 as... a, b, c, foffset, k Get the integer value corresponding to the input source code. iInput Then, the following calculations are performed. , , will floating-point type T Output as a physical quantity of temperature; CRC check decoder: In the input source code, the last 2 bytes are the encoded CRC result data, and the remainder is the data to be encoded; according to the generator polynomial... The initial value is 0xFFFF. Calculate the CRC check value, compare the calculation result with the last 2 bytes of the input source code, and output "normal" or "error" as the decoding result. Hexadecimal editor decoder: Outputs the decoded result as the input encoded data; File hexadecimal decoder: Outputs the decoded result as the input encoded data.

6. The reconfigurable WYSIWYG payload data injection and generation system according to any one of claims 1-5, characterized in that, The system also includes: a data injection editing interface module, used to display the information loaded by the dedicated injection model information management module; used to generate the injection editing interface corresponding to the data injection template based on the field information of the data injection template; used to provide a field editing and instruction frame import / export interface, an instruction frame codeword display interface, and an instruction frame decoded field physical quantity display interface, so that the three interfaces can be displayed in real time when the user is editing fields.

7. The reconfigurable WYSIWYG payload data injection and generation system according to claim 6, characterized in that, The data injection editing interface module includes: an injection template tree structure display unit, an injection editing interface dynamic generation unit, an instruction frame codeword display unit, and a decoding inversion data display unit; wherein, The injection template tree structure display unit is used to display dedicated injection template information in an instruction tree structure, and provides a template filtering function based on template identifier and template name as matching conditions; when the template identifier and name are entered, the nodes that match the input conditions are expanded and bolded in real time. The dynamic generation unit for the injection editing interface is used to automatically generate the injection editing interface corresponding to the template after double-clicking the last node of the injection template tree, based on MFC dynamic control creation technology. Specifically, the time-space processing type field generates three controls: date, time, and milliseconds Edit controls; the enumeration definition type field generates one Combobox control; linear processing, thermistor processing, hexadecimal editing, and CRC check processing each generate one single-line Edit control, except for the CRC check edit control which is disabled; the file hexadecimal processing type generates one multi-line Edit control, which is disabled, and also generates one file selection Button control. Based on MFC control mouse and keyboard message dynamic mapping technology, Edit editing messages, Button click messages, Combobox selection change messages, and date / time change messages are dynamically added. After each field control is edited, the instruction frame codeword for that editing state is generated immediately. The injection editing interface also provides instruction import and export functions. The instruction frame code word display unit is used to enable an invalid Edit control to display the currently edited instruction frame code word; The decoding inversion data display unit is used to display the decoding results of each field of the current instruction frame in a list format.

8. A reconfigurable WYSIWYG payload data injection generation method, implemented based on the system of claim 6 or 7, the method comprising: Step 1. Based on the modeling specifications of the reconfigurable injection model definition module, establish a dedicated injection model for specific task types; Step 2. Load the dedicated injection model for the specific task through the dedicated injection model information management module and perform a validity check. If the check is invalid, return to step 1; if the check is valid, proceed to step 3. Step 3. Select a data injection template through the data injection editing interface module to enter the injection editing interface corresponding to that template; Step 4. Input physical quantities in the injection editing interface; The input physical quantity is converted into a command frame by the injection encoder module, and the command frame is displayed by the data injection editing interface module; the converted command frame is converted into a physical quantity by the injection decoder module, and the converted physical quantity is displayed by the data injection editing interface module. Step 5. Determine whether the current instruction frame meets the intent by converting the physical quantities. If it does not, return to step 4; if it does, export the instruction frame and generate payload data injection.

9. The reconfigurable WYSIWYG payload data injection and generation method according to claim 8, characterized in that, In step 2, validity testing is performed using a dedicated injection model information management module, specifically including: Step 2-1. Read the field processing formula information and extract the formula identifier, formula name, and formula coefficients from the formula information; determine whether the formula identifier meets the following conditions: it is unique in the loaded model and has been defined in the general model formula set. If it does not meet the conditions, it is invalid; if it does meet the conditions, proceed to step 2-2. Step 2-2. Read the data injection template information and extract the template identifier, template name, template category and corresponding instruction code length attributes from the data injection template information; determine whether the current template identifier is unique in the loaded model. If it is not unique, it is invalid; if it is unique, proceed to step 2-3. Step 2-3. Read the template field information and extract the field identifier, template identifier, field name, field corresponding instruction codeword length, field processing formula identifier, and field codeword default value attributes from the template field information; determine whether the following conditions are met: the current field identifier is unique in the loaded model, the template identifier is defined in the loaded model, and the field processing formula identifier is defined in the loaded model. If these conditions are not met, the model is considered invalid; if they are met, proceed to step 2-4. Steps 2-4. Read the enumeration field definition information and extract the field identifier, value retrieval code, and value definition attribute from the enumeration field definition information; determine whether the field identifier is defined in the loaded model. If it is not defined, it is invalid; if it is defined, it is valid.

Citation Information

Patent Citations

  • A spacecraft effective load uploading instruction generation method and system

    CN109885817A

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

    CN112328209A