Information interaction system and method for satellite load and on-satellite computer
By adopting the standardized communication message format and CRC verification mechanism based on UDP protocol between satellite payload and on-satellite computers, the problems of delay and signal attenuation in the space environment are solved, and efficient and reliable data transmission is achieved.
Patent Information
- Application Number
- CN202510427427.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-07
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2045-04-07
AI Technical Summary
Traditional satellite communication protocols face high latency and signal attenuation problems in space environments, resulting in increased communication delays. UDP-based protocols lack effective error detection and response mechanisms, resulting in data loss or corruption.
An information interaction system between satellite payload and computers on the satellite is proposed, and a standardized communication message format based on UDP protocol is adopted, including message type, message sequence number, CRC field and data field. The data length is filled by filling bytes, and a CRC checksum response mechanism is performed on the receiving end.
It improves the limitations of traditional satellite communication protocols, improves the efficiency and reliability of data transmission, reduces communication problems caused by packet loss and wrong data, and achieves a balance between reliability and transmission speed.
Smart Images

Figure CN120150804A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of satellite communication, and particularly to an information interaction system and method between a satellite payload and an on-board computer. Background Art
[0002] In the current satellite communication field, the transmission of satellite payload telemetry and telecontrol commands is an important communication task between a satellite and a ground station. Most traditional satellite communication protocols are based on TCP / IP or other dedicated communication protocols, which perform well in the ground network environment but face many technical problems in the space environment.
[0003] Although the TCP protocol uses a retransmission mechanism to handle packet loss problems, due to the high latency and signal attenuation problems in satellite communication, the retransmission mechanism of TCP is not efficient in the space environment, resulting in a large communication delay. On the other hand, UDP-based protocols have low latency but lack effective error detection and response mechanisms, making data prone to loss or corruption during transmission. This is particularly serious when transmitting telemetry data and executing telecontrol commands. Summary of the Invention
[0004] Embodiments of the present invention provide an information interaction system and method between a satellite payload and an on-board computer, aiming to solve the problems existing in the above background art.
[0005] To solve the above technical problems, the present invention is implemented as follows: In a first aspect, embodiments of the present invention provide an information interaction system between a satellite payload and an on-board computer, the system including a satellite communication sending end and a satellite communication receiving end; The satellite communication sending end is used to fill field values in a plurality of fixed fields to obtain a request message, the plurality of fixed fields including a message type, a message sequence number, a CRC field, and a data field, wherein the data field includes a valid data value and padding bytes for filling the field length; The satellite communication receiving end is used to parse the received request message, and according to the message type of the request message, fill field values in the plurality of fixed fields to obtain a first response message indicating successful response to the request message or a second response message indicating failed response to the request message, and return the first response message or the second response message to the satellite communication sending end.
[0006] Optionally, the satellite communication receiving end is a satellite payload, and the satellite communication sending end is an on-board computer; The satellite communication receiving end is used for: Parsing the received request message and judging the message type of the request message; When the message type of the request message is a remote control message or a telemetry message, calculate a first CRC value of the request message according to the data field of the request message, and verify the CRC field of the request message based on the first CRC value; When the CRC field of the request message passes the verification, fill field values in multiple fixed fields to obtain a first response message with a message type field value of a first value, and return the first response message to the satellite communication sender. The message sequence number and CRC field of the first response message are the same as those of the request message; When an execution instruction sent by the satellite communication sender for the first response message is received, perform the operation corresponding to the execution instruction; When the CRC field of the request message fails to pass the verification, fill field values in multiple fixed fields to obtain a second response message with a message type field value of a second value. The message sequence number of the second response message is the same as that of the request message, and the CRC field of the second response message is the first CRC value; The satellite communication receiver is further configured to: When the message type of the request message is a telemetry message and the CRC field of the request message passes the verification, collect corresponding telemetry data; When the telemetry data collection is completed, fill field values in the multiple fixed fields to obtain a third response message with a message type field value of a third value, and return the third response message to the satellite communication sender, where the collected telemetry data is used as the data field.
[0007] Optionally, the satellite communication receiver is an on-board computer, and the satellite communication sender is a satellite payload; The satellite communication receiver is configured to: Analyze the received third response message and determine the message type of the third response message; When the message type of the third response message is a telemetry response message, calculate a second CRC value of the third response message according to the data field of the third response message, and verify the CRC field of the third response message based on the second CRC value; When the CRC field of the third response message passes the verification, fill field values in the multiple fixed fields to obtain a first response message with a message type field value of a first value, and return the first response message to the satellite communication sender. The message sequence number and CRC field of the first response message are the same as those of the third response message; In the case where the CRC field of the request message fails the verification, fill in field values in the multiple fixed fields to obtain a second response message with the message type field value being the second value. The message sequence number of the second response message is the same as that of the third response message, and the CRC field of the second response message is the second CRC value.
[0008] Optionally, the satellite communication receiving end is a satellite payload, and the satellite communication transmitting end is an on-board computer; The satellite communication receiving end is used for: Parse the received request message and determine the message type of the request message; In the case where the message type of the request message is a time synchronization message, calculate the first CRC value of the request message according to the data field of the request message, and verify the CRC field of the request message based on the first CRC value; In the case where the CRC field of the request message passes the verification, fill in field values in multiple fixed fields to obtain a first response message with the message type field value being the first value, and return the first response message to the satellite communication transmitting end. The message sequence number and CRC field of the first response message are the same as those of the request message; In the case of receiving an execution instruction sent by the satellite communication transmitting end for the first response message, extract the timestamp information in the data field of the request message; Adjust the local clock of the satellite payload based on the timestamp information to synchronize the local clock of the satellite payload with the system standard time; Fill in field values in the multiple fixed fields to obtain a fourth response message with the message type field value being the third value. The message sequence number and CRC field of the fourth response message are the same as those of the request message, and the data field of the fourth response message contains the adjusted time information; Return the fourth response message to the satellite communication transmitting end.
[0009] Optionally, the satellite communication receiving end is a satellite payload, and the satellite communication transmitting end is an on-board computer; The satellite communication receiving end is used for: Parse the received request message and determine the message type of the request message; In the case where the message type of the request message is a custom instruction, calculate the first CRC value of the request message according to the data field of the request message, and verify the CRC field of the request message based on the first CRC value; When the CRC field of the request message passes the verification, fill in field values in multiple fixed fields to obtain a first response message with the message type field value being the first value, and return the first response message to the satellite communication sender. The message sequence number and CRC field of the first response message are the same as those of the request message; When receiving the execution instruction sent by the satellite communication sender for the first response message, extract the custom operation code and parameter information in the data field of the request message; Call the predefined execution logic according to the custom operation code, and perform the corresponding custom operation based on the parameter information; Fill in field values in the multiple fixed fields to obtain a fifth response message with the message type field value being the third value. The message sequence number and CRC field of the fifth response message are the same as those of the request message, and the data field of the fifth response message contains the execution result information of the custom operation; Return the fifth response message to the satellite communication sender.
[0010] Optionally, the satellite communication receiver is a satellite payload, and the satellite communication sender is an on-board computer; The satellite communication receiver is used for: Parse the received request message and determine the message type of the request message; When the message type of the request message is a satellite inbound message or a satellite outbound message, calculate the first CRC value of the request message according to the data field of the request message, and verify the CRC field of the request message based on the first CRC value; When the CRC field of the request message passes the verification, fill in field values in multiple fixed fields to obtain a first response message with the message type field value being the first value, and return the first response message to the satellite communication sender. The message sequence number and CRC field of the first response message are the same as those of the request message; When receiving the execution instruction sent by the satellite communication sender for the first response message, extract the instruction identifier in the request message; When the instruction identifier is a satellite inbound instruction, perform communication link preparation operations, which include cache data cleaning, communication module initialization, and ground station connection pre-configuration; When the instruction identifier is a satellite outbound instruction, terminate the current communication and switch to the low power mode or standby mode; Fill the field values in the multiple fixed fields to obtain a sixth response message with the message type field value being the third value. The message sequence number and CRC field of the sixth response message are consistent with those of the request message, and the data field contains instruction execution status information. Return the sixth response message to the satellite communication sender.
[0011] Optionally, the multiple fixed fields further include a file number, a total file length, a data offset, and a valid data length; the satellite communication receiver is a satellite payload, and the satellite communication sender is an on-board computer. The satellite communication sender is used for: Judge the message type of the request message. In the case where the message type of the request message is a data message, fragment the file data to be transmitted to obtain multiple fragmented data. For each fragmented data, fill the field values in the multiple fixed fields, and encapsulate the multiple fragmented data into corresponding fragmented request messages in sequence to obtain multiple frames of fragmented request messages. Among them, the message sequence number of each frame of fragmented request message is incremented by one, and the fragmented data serves as the payload of the corresponding frame of fragmented request message. Send the multiple fragmented data and the multiple frames of fragmented request messages to the satellite communication receiver in sequence. The satellite communication receiver is used for: Parse the received request message and judge the message type of the request message. In the case where the message type of the request message is a data message, calculate the first CRC value of the current fragmented request message according to the data field of the request message, and verify the CRC field of the current fragmented request message based on the first CRC value. In the case where the CRC field of the current fragmented request message passes the verification, fill the field values in the multiple fixed fields to obtain a first response message with the message type field value being the first value, and return the first response message to the satellite communication sender. The message sequence number and CRC field of the first response message are consistent with those of the current fragmented request message. In the case of receiving the execution instruction sent by the satellite communication sender for the first response message, extract the file number, total file length, data offset, and valid data length of the fragmented request message. Determine the storage position of the current fragmented request message in the file data according to the file number, total file length, and data offset, and strip the padding bytes in the data field based on the valid data length to obtain the corresponding fragmented data. Fill field values in the multiple fixed fields to obtain a first response message with the message type field value being the first value, and return the first response message to the satellite communication sender. The message sequence number and CRC field of the first response message are the same as those of the request message; The satellite communication receiver is further configured to: In the case of receiving all the shard data, recombine the multiple shard data according to the message sequence number to obtain the file data.
[0012] Optionally, the satellite communication receiver is an on-board computer, and the satellite communication sender is a satellite payload; The satellite communication sender is configured to: In the case that the CRC field of the current shard request message fails the verification, fill field values in the multiple fixed fields to obtain a second response message with the message type field value being the second value. The message sequence number of the second response message is the same as that of the current shard request message, and the CRC field of the second response message is the first CRC value; The satellite communication receiver is configured to: Parse the received second response message and determine the message type of the second response message; In the case that the message type of the second response message is a response message indicating a failure in response, determine the shard data to be retransmitted according to the message sequence number in the second response message; Based on the original shard request message corresponding to the shard data to be retransmitted, fill field values in the multiple fixed fields to obtain a shard request message to be retransmitted. The sequence number of the shard data message to be retransmitted is the same as that of the original shard request message, and the CRC field of the shard request message to be retransmitted is recalculated based on the original shard request message; Repeat the above steps until all the shard data is transmitted.
[0013] In a second aspect, an embodiment of the present invention provides a method for information interaction between a satellite payload and an on-board computer, which is applied to the information interaction system between a satellite payload and an on-board computer as described in the first aspect. The method includes: Through the satellite communication sender, fill field values in the multiple fixed fields to obtain a request message. The multiple fixed fields include a message type, a message sequence number, a CRC field, and a data field. Among them, the data field includes a valid data value and padding bytes for filling the field length; The satellite communication receiving end analyzes the received request message, and based on the message type of the request message, fills field values in the multiple fixed fields to obtain a first response message indicating the successful response to the request message or a second response message indicating the failed response to the request message, and returns the first response message or the second response message to the satellite communication sending end.
[0014] In a third aspect, an embodiment of the present disclosure provides an electronic device, including: a processor, a memory, and a computer program stored on the memory and capable of running on the processor. When the computer program is executed by the processor, it implements the steps of a method for information interaction between a satellite payload and an on-board computer.
[0015] The technical solutions provided by the embodiments of the present invention at least bring the following beneficial effects: The present invention proposes a standardized communication message format, and performs information interaction between a satellite payload and an on-board computer based on the UDP protocol, improving the limitations of traditional satellite communication protocols. First, by defining a fixed field structure, including message type, message sequence number, CRC field, and data field, the present invention reduces communication problems caused by packet loss and incorrect data while ensuring efficient data interaction. Second, by introducing padding bytes in the data field, the present invention not only effectively compensates for the data length problem, but also can adapt to different data transmission requirements. Whether it is the fast transmission of small data packets or the fragmented transmission of large files, it can ensure data integrity and transmission efficiency. This enables the system to meet the requirements of various complex tasks, especially in the satellite communication environment with limited bandwidth and high latency. In addition, after receiving a request message, the satellite communication receiving end can make corresponding feedback according to the message type, and indicate whether the request is successful through the first response message or the second response message. Through the response mechanism, communication problems can be quickly identified and remedial measures can be taken in a timely manner, thus avoiding system failures caused by information loss or verification failures. It can be seen that the present invention finds a balance between reliability and transmission speed during the instruction transmission process of the satellite payload. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0017] Figure 1 It is a schematic diagram of the system architecture for information interaction between a satellite payload and an on-board computer provided by an embodiment of the present invention; Figure 2 Schematic diagram of the information interaction steps of a remote control instruction provided by an embodiment of the present invention; Figure 3 Schematic diagram of the information interaction steps of a telemetry instruction provided by an embodiment of the present invention; Figure 4 Schematic diagram of the information interaction steps of a file transfer instruction provided by an embodiment of the present invention; Figure 5 Schematic diagram of the steps of a method for information interaction between a satellite payload and an on-board computer provided by an embodiment of the present invention. Detailed implementation manners
[0018] Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention. In the description of the embodiments of the present invention, unless otherwise specified, " / " means "or". For example, A / B may mean A or B. The "and / or" herein is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B may mean: A exists alone, A and B exist simultaneously, and B exists alone. In the present invention, "at least one" means one or more, and "a plurality" means two or more. "At least one of the following (items)" or its similar expression refers to any combination of these items, including any combination of single (item) or plural (items). For example, at least one of a, b, or c may mean: a, b, c, a - b, a - c, b - c, or a - b - c, where a, b, c may be single or multiple.
[0019] With the rapid development of satellite technology, modern satellite systems have an increasing demand for communication, especially in aspects such as remote control, telemetry data transmission, and large-scale file transmission. Most traditional satellite communication protocols rely on the TCP / IP protocol or other dedicated communication protocols. Although these protocols have good performance in the ground network environment, in the satellite environment, they often struggle to meet the requirements when facing high latency, signal attenuation, bandwidth limitations, and potential packet loss problems. Currently, lightweight communication protocols based on UDP are widely used due to their relatively fast transmission speed, but they lack an effective error detection and response mechanism, resulting in packet loss or data corruption during transmission, posing a great challenge to the operation of satellite payloads and the security of data transmission. Especially during the transmission of critical instructions and large files, if packet loss or errors are not detected and corrected in a timely manner, it may lead to system failures and even the failure of satellite missions.
[0020] To address the deficiencies in the related art, the present invention is based on the UDP protocol. By defining a new message structure and combining a differentiated response mechanism for different message types, the efficiency and reliability of data transmission are effectively improved. Table 1 shows nine newly added message fields in the new message structure: Table 1
[0021] Please refer to Table 1. The message synchronization header (HEADER), which is used for message synchronization, is the starting flag of each message. The synchronization header is fixed, and the satellite communication receiving end can ensure that the received data is a valid message by checking this field.
[0022] The message type (PACKAGETYPE) is used to indicate the type of the message. When the message type is 0, it represents a data message; when the type is 1 or 2, it represents a data response message; when the type is 3, it represents a control message, such as a telemetry and remote control message.
[0023] The message sequence number (SEQUENCENUM) is used to identify the sequence number of each message, ensuring that the satellite communication receiving end can process the messages in sequence. If a certain message is lost, the satellite communication receiving end can request retransmission through the sequence number.
[0024] The file number (FILENUM) is used to identify the file number. Especially during file transmission, when there are multiple fragmented files, the satellite communication receiving end can determine whether these fragments belong to the same file through the file number.
[0025] The total file length (FILELENGTH) is used to identify the total length of the transmitted file. For messages not involving file transmission (such as telemetry and remote control messages), this field is 0. The design of the total file length supports the transmission of extremely large files, with a maximum supported file size of 256 TB.
[0026] The data offset (DATAOFFSET) is used to represent the offset of the data segment in the file. For each data message, especially during file fragmented transmission, the data offset can ensure that the satellite communication receiving end correctly parses the position of the data in the file.
[0027] The effective data length (DATALENGTH) is used to represent the length of the effective data in the current data segment, excluding the padding part. The satellite communication receiving end can identify the start and end of the effective data based on this field.
[0028] CRC is used to verify the integrity of data. Each data segment carries a CRC value, and the satellite communication receiver can use this field to verify whether the data is damaged during transmission. If the data is wrong, the satellite communication receiver can trigger a retransmission mechanism.
[0029] The data field (DATA) is used to represent the actual data field, with a maximum length of 1024 bytes. The data segment contains the valid data to be transmitted. If the data length is less than 1024 bytes, it will be filled with 0xFF. The data field is applicable to file transfer and data message transfer, and contains the actual data content of the transmission.
[0030] Figure 1 This is a schematic diagram of the information interaction system architecture between a satellite payload and an onboard computer provided by an embodiment of the present invention. Figure 1 , the system includes a satellite communication transmitting end and a satellite communication receiving end.
[0031] The satellite communication transmitter and the satellite communication receiver can be an on-board computer (OBC) or a satellite payload itself. The two can flexibly serve as satellite communication transmitters or satellite communication receivers according to the mission scenario. The on-board computer and the satellite payload communicate through a communication bus. This system can communicate internally (information exchange between the on-board computer and the satellite payload) or communicate with users through a ground station.
[0032] The satellite communication transmitting end is used to fill field values in multiple fixed fields to obtain a request message, wherein the multiple fixed fields include a message type, a message sequence number, a CRC field and a data field, wherein the data field includes a valid data value and a padding byte for completing the field length.
[0033] As the executor of forwarding instructions or generating instructions, the satellite communication transmitter is responsible for constructing the request message to be sent and sending it to the satellite communication receiver. The request message has different fields filled based on the instruction type of its corresponding instruction (such as control instruction, file transfer instruction). The request message includes multiple fixed fields, and the filling values of multiple fixed fields are generated by the satellite communication transmitter as needed and filled into the corresponding fields. Please refer to Table 1. The fixed fields of the request message include message type, message sequence number, CRC field and data field.
[0034] The data field contains valid data values and padding bytes. If the field length of the valid data value is less than the required length (such as 1024 bytes), the padding bytes (such as 0xFF) are used to fill the length of the data field to ensure that the data field complies with the protocol specification and obtain a standardized message format.
[0035] The satellite communication receiving end is used to parse the received request message, and fill in field values in the multiple fixed fields according to the message type of the request message, to obtain a first response message indicating the successful response to the request message, or a second response message indicating the failed response to the request message, and return the first response message or the second response message to the satellite communication sending end.
[0036] The satellite communication receiving end, as the execution entity for receiving and responding to instructions, is responsible for receiving the request message from the satellite communication sending end, parsing each field in the request message and processing it. The satellite communication receiving end determines the corresponding response message to be returned to the satellite communication sending end according to the field content and message type of the request message.
[0037] Specifically, at the satellite communication sending end, first determine the message type of the instruction to be sent according to the application scenario. Different message types may have different message type field values (such as remote control messages and data messages), and different message types may also have the same message type field value (such as remote control messages and telemetry messages). The message type field value can be set according to different application requirements, such as data messages, response messages, etc. It should be noted that there is a difference between the "message type" and the "message type field" in the embodiments of the present invention. The "message type" can represent the type of a specific message, such as a telemetry message, a time synchronization message, etc. The "message type field" represents a specific field in the message (the field of serial number 2 in Table 1). The message type field value can be used to generally distinguish the message type, and the specific message type still needs to be comprehensively judged according to each field shown in Table 1.
[0038] Then, set the message sequence number, which can be generated by an incrementing counter to ensure the uniqueness of each message. Calculate and generate the value of the CRC field. If the length of the valid data value is less than the specified length, use 0xFF or other specified padding bytes to pad it. Finally, fill in the message type, sequence number, CRC, data field, etc. into the request message to complete the encapsulation of the request message.
[0039] After the construction of the request message is completed, the satellite communication sending end sends the message to the satellite communication receiving end through the satellite communication link.
[0040] After the satellite communication receiving end receives the request message, it parses the message, extracts each field in the request message, and then determines the message type of the request message. The message type also represents the instruction type of the instruction corresponding to the request message. For example, when the type of the request message is a telemetry message, the corresponding instruction type is a telemetry instruction.
[0041] Fill the field values in multiple fixed fields of the request message according to the message type of the request message to obtain a first response message or a second response message, where the first response message indicates that the satellite communication receiving end has successfully replied to the request message, and the second response message indicates that the satellite communication sending end has failed to reply to the request message.
[0042] The transmission protocol used in the present invention is optimized and improved based on the traditional UDP protocol, and the aforementioned 9 message fields are added to meet the requirements of the satellite communication system in a space environment with high latency, limited bandwidth, and easy packet loss. The consideration for this is that the traditional UDP protocol itself does not provide reliability guarantees, such as retransmission of data packets, order guarantee, and retransmission of lost packets, which easily leads to data loss, especially in an environment with unstable signals or limited network bandwidth, and it also does not have a response mechanism. At the same time, UDP messages may arrive out of order, and it is impossible to ensure that the sending order is the same as the receiving order. If the traditional TCP protocol is used, the transmission speed will be greatly reduced. Therefore, compared with the traditional protocol, the present invention achieves a balance between efficiency and reliability in the space communication scenario, and its standardized message structure and response mechanism provide a general solution for the telemetry, telecontrol, and big data transmission of satellite payloads.
[0043] In an alternative embodiment, the satellite communication receiving end is a satellite payload, and the satellite communication sending end is an on-board computer.
[0044] In the embodiment of the present invention, the satellite communication receiving end can be a satellite payload, which undertakes the tasks of receiving, parsing, and responding to the request messages sent by the satellite communication sending end. The main function of the satellite communication receiving end is to perform verification, parsing, and response according to the content of the request message to ensure the smooth progress of communication.
[0045] The satellite communication receiving end is used for: Parse the received request message and determine the message type of the request message.
[0046] The satellite communication receiving end receives a request message from the satellite communication sending end. Parse the request message and extract each field in the message. According to the extracted message type field, determine the type of the request message. The value of the message type field may be: 0: data message; 1 or 2: data response message; 3: control message. By judging the message type, the satellite communication receiving end can determine the instruction type of the instruction corresponding to the message, so as to determine how to further process the message according to the differentiated process.
[0047] When the message type of the request message is a telecontrol message or a telemetry message, calculate the first CRC value of the request message according to the data field of the request message, and verify the CRC field of the request message based on the first CRC value.
[0048] Figure 2 This is a schematic diagram of the information interaction steps of a remote control instruction provided by an embodiment of the present invention. Please refer to Figure 2 , after receiving a request message, if the message type is a remote control message or a telemetry message, that is, when the type of the operation instruction corresponding to the request message is a remote control instruction or a telemetry instruction, the satellite communication receiving end calculates the first CRC value of the request message according to the data field in the message (by calculating the CRC values of the data field and other relevant fields), compares the calculated first CRC value with the CRC field in the message, and checks whether the CRC values are consistent. If the CRC check passes (that is, the calculated first CRC value is consistent with the CRC field in the request message), the satellite communication receiving end confirms that the request message is not damaged and can continue to process subsequent operations. If the CRC check fails, the satellite communication receiving end considers that an error has occurred during the transmission of the message.
[0049] Table 2 shows the attribute information of 5 typical control messages. Please refer to Table 2. In this embodiment, different types of instructions have different messages, and the fixed fields to be filled vary according to different message types during response: Table 2
[0050] Please refer to Figure 2 , when the CRC field of the request message passes the check, fill the field values in multiple fixed fields to obtain a first response message with the message type field value being the first value, and return the first response message to the satellite communication sending end. The message sequence number and CRC field of the first response message are the same as those of the request message.
[0051] When the CRC check passes, the satellite communication receiving end fills the fixed field values in the request message according to the type of the request message to form a first response message and returns it to the satellite communication sending end. It can be understood that the action of "filling the fields" is equivalent to responding to the request message based on the message type. The message type field value of the first response message is set to the first value (the first value is 1), representing a response message indicating successful response, indicating that the request message has been successfully received and correctly verified. In addition, the message sequence number and CRC field of the first response message are the same as those of the original request message to ensure the correctness of the message sequence and data integrity. After the first response message is returned to the satellite communication sending end, the satellite communication sending end can confirm the processing status of the request according to this response message. If it is a telemetry and remote control message, it continues to execute subsequent tasks.
[0052] When receiving the execution instruction sent by the satellite communication transmitter for the first response message, perform the operation corresponding to the execution instruction.
[0053] After receiving the first response message, the satellite communication transmitter confirms whether to continue sending the execution instruction based on the information in the first response message. This process is equivalent to both parties performing mutual responses based on the confirmation mechanism. Each information interaction involves the processes of confirmation and response, and the result of the response includes the result of the confirmation.
[0054] If the satellite communication transmitter sends an execution instruction, the satellite communication receiver (satellite payload) performs relevant operations according to the execution instruction. For example, performing a certain remote control task, starting data transmission, starting to process telemetry data, etc.
[0055] When the CRC field of the request message fails the verification, fill in the field values in multiple fixed fields to obtain a second response message with the message type field value being the second value. The message sequence number of the second response message is the same as that of the request message, and the CRC field of the second response message is the first CRC value.
[0056] If the CRC verification fails, the satellite communication receiver will consider that there is data corruption or transmission error in the request message. In this case, the satellite communication receiver still fills in the fixed fields in the message to generate a second response message. The message type field value of the second response message is set to the second value (the second value is 2), indicating an acknowledgment message for a failed or error response, that is, indicating that there is a problem with the received request message. The message sequence number of the second response message is the same as that of the original request message to ensure the order of the messages. And the CRC field in the second response message will be set to the calculated first CRC value of the received request message, which helps the initiator perform subsequent verification and processing.
[0057] Similar to the first response message, return the second response message from the satellite communication receiver to the satellite communication transmitter.
[0058] The satellite communication receiver is also used for: When the message type of the request message is a telemetry message and the CRC field of the request message passes the verification, collect the corresponding telemetry data.
[0059] Figure 3 It is a schematic diagram of the information interaction steps of a telemetry instruction provided by an embodiment of the present invention. Please refer to Figure 3 , when the message type of the request message is a telemetry message, the satellite communication receiver first performs CRC verification to ensure that there is no error in the message during transmission (as shown in the previous process).
[0060] If the CRC check passes and the message type is a telemetry message, the satellite communication receiving end starts to execute the instruction and collect the corresponding telemetry data. The type and content of the telemetry data will vary according to the satellite's mission requirements and the configuration of the sensors. Generally, the telemetry data includes information such as the satellite's health status, attitude data, temperature, pressure, position, etc.
[0061] When the telemetry data collection is completed, fill the field values in the multiple fixed fields to obtain a third response message with the message type field value being the third value, and return the third response message to the satellite communication sending end, where the collected telemetry data serves as the data field.
[0062] After the telemetry data collection is completed, the satellite communication receiving end fills the data field (DATA) of the message according to the collected telemetry data. The content in the data field will include the collected telemetry data, and the length of this field may be adjusted according to the size of the telemetry data. If the data is insufficient, padding will be performed to ensure that the data field meets the length specified by the protocol (for example, padding with 0xFF to 1024 bytes). Fill other necessary information in the multiple fixed fields, such as the message type (PACKAGETYPE), message sequence number (SEQUENCENUM), CRC check code (CRC), etc., to ensure the integrity and order of the message. At this time, the message type is set to the third value (0), indicating that the third response message is a data message for the telemetry data of the telemetry message. The third response message is used to transmit specific data. Figure 3 As can be seen, in different response processes, each pair of messages can have a distinguishable message sequence number and CRC field to determine the corresponding response message and request message between the two parties.
[0063] In an alternative embodiment, the satellite communication receiving end is an on-board computer, and the satellite communication sending end is a satellite payload.
[0064] In an alternative embodiment of the present invention, the satellite communication receiving end is an on-board computer, while the satellite communication sending end is a satellite payload. In this configuration, the main responsibility of the satellite communication receiving end is to receive, parse the response message from the satellite payload, and verify and respond to it.
[0065] The satellite communication receiving end is used for: Parse the received third response message and determine the message type of the third response message.
[0066] The satellite communication receiving end (on-board computer) receives the third response message sent by the satellite payload. After receiving the message, first, the on-board computer parses the received third response message and extracts each field of the message. The message type field is parsed to determine whether the third response message is a telemetry response message. If the field value of the message type is the third value, it indicates that this is a telemetry response data message, indicating that the satellite payload has completed the acquisition of telemetry data and returned the data.
[0067] When the message type of the third response message is a telemetry response message, calculate the second CRC value of the third response message according to the data field of the third response message, and verify the CRC field of the third response message based on the second CRC value.
[0068] After confirming that the received message type is a telemetry response message, the on-board computer performs CRC verification to ensure that no errors occur during message transmission. The on-board computer calculates the second CRC value of the third response message according to the data field in the third response message. Similar to the first CRC value, the second CRC value is also calculated based on the content of the data field and other relevant fields. The on-board computer compares the calculated second CRC value with the CRC field provided in the message. If these two values are the same, it indicates that the message is not damaged during transmission and the data is complete.
[0069] When the CRC field of the third response message passes the verification, fill in the field values in the multiple fixed fields to obtain a first response message with the message type field value being the first value, and return the first response message to the satellite communication sending end. The message sequence number and CRC field of the first response message are the same as those of the third response message.
[0070] Please refer to Figure 3 , if the CRC verification passes, it indicates that the data of the third response message is complete and valid. The on-board computer will generate a new first response message based on the field values parsed from the third response message. The first response message corresponds to the telemetry response instruction. Table 3 shows the message attributes of the first response message: Table 3
[0071] In the message fields of the first response message, the message type field value is the first value; the sequence number of the first response message is the same as that of the third response message. The CRC field of the first response message will be the same as the CRC field of the third response message.
[0072] The on-board computer returns the first response message generated to the satellite payload. The first response message here is equivalent to an acknowledgement message, indicating that the telemetry response message sent by the satellite payload has been successfully received and verified, and the communication process is normal.
[0073] In the case where the CRC field of the request message fails the check, field values are filled in the multiple fixed fields to obtain a second response message with the message type field value being the second value. The message sequence number of the second response message is the same as that of the third response message, and the CRC field of the second response message is the second CRC value.
[0074] Please refer to Figure 3 , if the CRC check fails, the on-board computer will consider that an error has occurred in the transmission of the received third response message. At this time, although the CRC check fails, the on-board computer will still generate a second response message indicating communication failure. Similarly, the second response message corresponds to the telemetry response instruction. The message type field value of the second response message will be set to the second value, indicating communication failure or error response. The sequence number of the second response message is the same as that of the third response message. The CRC field of the second response message will be set to the second CRC value calculated by the on-board computer, rather than the CRC value in the original third response message. The second CRC value represents the valid data content of the received third response message (i.e., the calculated CRC value) and indicates a communication error. The on-board computer sends the generated second response message back to the satellite payload to inform it that the CRC check of the third response message has failed.
[0075] In an optional implementation manner, the satellite communication receiving end is the satellite payload, and the satellite communication sending end is the on-board computer; The satellite communication receiving end is used for: Analyze the received request message and determine the message type of the request message.
[0076] When the message type of the request message is a time synchronization message, calculate the first CRC value of the request message according to the data field of the request message, and verify the CRC field of the request message based on the first CRC value.
[0077] The time synchronization message is the message corresponding to the time synchronization instruction, which is used to ensure that the clocks of all devices in the satellite, ground station, or inter-satellite communication system are consistent. It can be understood that the time synchronization instruction belongs to the type of control instruction. Therefore, the message type field value of the time synchronization message is the fourth value (the fourth value is 3), and the message type can be determined based on the data field (please refer to Table 1 and Table 2).
[0078] Since the time synchronization instruction is the same as the remote control / telemetry instruction and both belong to control instructions, the CRC check process is as described above and will not be elaborated here.
[0079] When the CRC field of the request message passes the check, field values are filled in multiple fixed fields to obtain a first response message with the message type field value being the first value, and the first response message is returned to the satellite communication sender. The message sequence number and CRC field of the first response message are the same as those of the request message.
[0080] When receiving the execution instruction sent by the satellite communication sender for the first response message, the timestamp information in the data field of the request message is extracted.
[0081] After the on-board computer receives the first response message, it continues to send an execution instruction to the satellite payload according to the first response message. At this time, the satellite payload extracts the timestamp information in the request message and performs a time synchronization operation. This timestamp represents the target time that the satellite payload needs to synchronize.
[0082] Based on the timestamp information, the local clock of the satellite payload is adjusted to synchronize the local clock of the satellite payload with the system standard time.
[0083] According to the timestamp information extracted from the request message, the satellite payload adjusts its local clock to synchronize with the system standard time. The satellite payload corrects its local clock according to the target timestamp through an appropriate adjustment mechanism (such as setting the clock acceleration and deceleration). It can include modifying the system clock or adjusting the time reference to ensure alignment with the system standard time.
[0084] Field values are filled in the multiple fixed fields to obtain a fourth response message with the message type field value being the third value. The message sequence number and CRC field of the fourth response message are the same as those of the request message, and the data field of the fourth response message contains the adjusted time information.
[0085] When the local clock adjustment is completed, the satellite payload will generate and return a third response message to inform the on-board computer of the result of the time synchronization operation. The satellite payload fills the following fields in the message: the message type field value is set to the third value (0); the message sequence number remains the same as that of the request message; the CRC field is set to the same value as that of the request message; the data field contains the adjusted time information (i.e., the new local clock value of the satellite payload) to indicate that the time synchronization operation has been successfully completed.
[0086] The fourth response message is returned to the satellite communication sender.
[0087] In an alternative embodiment, the satellite communication receiving end is a satellite payload, and the satellite communication transmitting end is an on-board computer; The satellite communication receiving end is used for: Analyze the received request message and determine the message type of the request message.
[0088] When the message type of the request message is a custom instruction, calculate the first CRC value of the request message according to the data field of the request message, and verify the CRC field of the request message based on the first CRC value.
[0089] A custom message is a message corresponding to a custom instruction. A custom instruction is an instruction designed and defined by a user or developer according to specific application requirements in a communication protocol. It can be understood that a custom instruction belongs to the type of control instruction. Therefore, the message fields of a custom message are the fourth value (the fourth value is 3), and the message type can be determined based on the data field (please refer to Table 1 and Table 2). If the message type of the request message is a custom instruction message, the satellite payload will determine that the operation instruction corresponding to the request message is an instruction that needs to perform a specific custom operation. At this time, the satellite payload will further process the custom instruction.
[0090] Since custom messages and telecommand / telemetry instructions generally belong to control instructions, the CRC verification process is as described above and will not be elaborated here.
[0091] When the CRC field of the request message passes the verification, fill in the field values in multiple fixed fields to obtain a first response message with the message type field value being the first value, and return the first response message to the satellite communication transmitting end. The message sequence number and CRC field of the first response message are the same as those of the request message.
[0092] When receiving the execution instruction sent by the satellite communication transmitting end for the first response message, extract the custom operation code and parameter information in the data field of the request message.
[0093] When the on-board computer receives the first response message, it continues to send an execution instruction to the satellite payload. After receiving the execution instruction, the satellite payload continues to extract the custom operation code and parameter information from the request message. Specifically, the satellite payload extracts the custom operation code from the data field of the request message. The operation code is a specific value used to identify the specific operation to be performed. The satellite payload also extracts the parameter information in the request message. The parameter information determines the execution mode of the custom operation, such as the execution time, the specific object of the operation, or other parameters. Call the predefined execution logic according to the custom operation code and execute the corresponding custom operation based on the parameter information.
[0094] Specifically, the satellite payload calls the corresponding execution logic according to the extracted custom operation code to perform an operation. The execution logic is also predefined and is designed to perform specific tasks according to different operation codes. The specific content of the task varies according to the type of custom instruction. For example, the operation may be to start a certain sensor, adjust the satellite attitude, collect telemetry data, etc.
[0095] Fill field values in the multiple fixed fields to obtain a fifth response message with the message type field value being the third value. The message sequence number and CRC field of the fifth response message are the same as those of the request message, and the data field of the fifth response message contains the execution result information of the custom operation.
[0096] After completing the custom operation, the satellite payload generates a fifth response message to inform the on-board computer of the operation result. The satellite payload fills the following fields in the message: the message type field value is set to the third value, indicating the execution result of the custom operation; the message sequence number remains the same as that of the request message; the CRC field is set to the same CRC value as that of the request message. The data field contains the execution result information of the custom operation. The execution result may include whether the operation is successful, the execution status information, or any other relevant data (such as data collected by sensors, processed results, etc.).
[0097] Return the fifth response message to the satellite communication sending end.
[0098] In an alternative embodiment, the satellite communication receiving end is the satellite payload, and the satellite communication sending end is the on-board computer; The satellite communication receiving end is used for: Parse the received request message and determine the message type of the request message.
[0099] When the message type of the request message is a satellite inbound message or a satellite outbound message, calculate the first CRC value of the request message according to the data field of the request message, and verify the CRC field of the request message based on the first CRC value.
[0100] The satellite inbound message is the message corresponding to the satellite inbound instruction, which is used to indicate that the satellite is ready to receive communications from the ground station or other satellites. The satellite outbound message is the message corresponding to the satellite outbound instruction, which is used to indicate that the satellite stops communicating with other devices and enters a low-power or standby state. It can be understood that both the satellite inbound instruction and the satellite outbound instruction belong to the type of control instructions. Therefore, the request message field values of the satellite inbound message and the satellite outbound message are both the fourth value (the fourth value is 3), and they can be distinguished according to the data field (please refer to Tables 1 and 2).
[0101] When the CRC field in the request message passes the verification, field values are filled in multiple fixed fields to obtain a first response message with the message type field value being the first value, and the first response message is returned to the satellite communication sender. The message sequence number and CRC field of the first response message are the same as those of the request message.
[0102] The process of CRC verification is as described above and will not be elaborated here.
[0103] When receiving the execution instruction sent by the satellite communication sender for the first response message, the instruction identifier in the request message is extracted.
[0104] After the on-board computer successfully receives the first response message, it sends an execution instruction to the satellite payload. After receiving the execution instruction, the satellite payload extracts the instruction identifier from the data field of the request message. The value of the instruction identifier determines the subsequent operations to be performed by the satellite payload. If the instruction identifier is an inbound instruction, the satellite payload will perform communication link preparation operations related to inbound; if it is an outbound instruction, the satellite payload will perform termination operations related to outbound.
[0105] When the instruction identifier is a satellite inbound instruction, communication link preparation operations are performed, and the communication link preparation operations include cache data cleaning, communication module initialization, and pre-configuration of the ground station connection.
[0106] If the instruction identifier is an inbound instruction, the satellite payload needs to perform the following operations to prepare the communication link: First, cache data cleaning is performed to ensure that there is no redundant data affecting communication. It is possible to choose to clear the historical communication data stored in the cache. The historical communication data may interfere with subsequent communication, so it needs to be cleared.
[0107] Second, the communication module on the satellite is initialized to prepare for receiving and sending data, including setting communication frequencies, power, etc.
[0108] Third, the connection with the ground station is prepared. This step usually involves configuring parameters of communication protocols, modems, and other communication devices.
[0109] When the instruction identifier is a satellite outbound instruction, the current communication is terminated and the satellite switches to the low power consumption mode or standby mode.
[0110] If the instruction identifier is an outbound instruction, the satellite payload performs the following operations: First, the current communication between the satellite and the ground station or other satellites will be terminated.
[0111] Second, the satellite enters the low power consumption mode or standby mode to save energy. This is because the satellite no longer needs to perform communication tasks, so it enters the energy-saving state.
[0112] Fill the field values in the multiple fixed fields to obtain a sixth response message with the message type field value being the third value. The message sequence number and CRC field of the sixth response message are the same as those of the request message, and the data field contains instruction execution status information.
[0113] After completing the instruction execution, the satellite payload generates and returns a sixth response message to notify the on-board computer of the operation result. The satellite payload generates the sixth response message according to the result of the executed instruction. Among the multiple fixed fields of the sixth response message, the message type field value is set to the third value; the message sequence number is the same as that of the request message; the CRC field is the same as that of the request message; the data field contains the status information of the instruction execution, such as successful execution, failure, or the specific reason for failure.
[0114] Return the sixth response message to the satellite communication sending end.
[0115] In an alternative embodiment, the multiple fixed fields further include a file number, a total file length, a data offset, and a valid data length.
[0116] Table 4 shows the message attributes of the messages involved in the file transfer instruction: Table 4
[0117] Please refer to Table 4. In addition to the multiple fixed fields that are always enabled as described above, in this embodiment, the multiple fixed fields further include a file number, which is used to identify the file so that the file can be accurately identified in subsequent communications; a total file length, which is the overall size of the file and is used to indicate the end flag of the file transfer to ensure the complete transfer of the file. A data offset, which is used to indicate the starting position of the current fragment relative to the entire file to ensure the correct arrangement of the fragments; a valid data length, which is the length of the valid data in the current fragment and helps the satellite communication receiving end confirm the actual amount of valid data transmitted.
[0118] The satellite communication receiving end is the satellite payload, and the satellite communication sending end is the on-board computer; The satellite communication sending end is used for: Judge the message type of the request message.
[0119] When the message type of the request message is a data message, fragment the file data to be transmitted to obtain multiple fragment data.
[0120] Figure 4 It is a schematic diagram of the information interaction steps of a file transfer instruction provided by an embodiment of the present invention. Please refer to Figure 4, if the message type is a data message, indicating that the request instruction to be sent is a file transfer instruction, the satellite communication sender will fragment the large file data to be transmitted. The data size of each fragmented data is specified by the protocol and is divided into multiple small segments according to actual needs for transmission one by one.
[0121] For each fragmented data, fill the field values in the multiple fixed fields, and encapsulate the multiple fragmented data into corresponding fragmented request messages in sequence to obtain multiple frames of fragmented request messages. Among them, the message sequence number of each frame of fragmented request message increases by one sequentially, and the fragmented data serves as the payload of the corresponding frame of fragmented request message.
[0122] Suppose the total length of the file is 6MB, and 1MB is used as the fragmented data size, divided into 6 fragmented data. Each fragmented data will have its own fragmented request message. Suppose each fragmented request message contains the following information: file number: File_001; total file length: 6MB; data offset: the first fragmented data is 0, the second is 1MB, and so on; valid data length: 1MB, but the valid data length of the last fragmented data will be less than 1MB, perhaps 512KB.
[0123] Each fragmented data is encapsulated into an independent request message, and all these fragmented request messages are sent in order. Each frame of fragmented request message carries the corresponding fragmented data, that is, each fragmented data serves as the payload of the corresponding frame of fragmented request message. Each fragmented message will carry an incremented message sequence number, which is convenient for the satellite communication receiver to reassemble the file in the correct order. For example: the message sequence number of the first fragmented request message is 1, the data offset is 0, and the data length is 1MB; the message sequence number of the second fragmented request message is 2, the data offset is 1MB, and the data length is 1MB, and so on until the sixth fragmented request message.
[0124] Send the multiple fragmented data and the multiple frames of fragmented request messages to the satellite communication receiver in sequence.
[0125] The satellite communication sender sequentially sends these fragmented request messages with fragmented data to the satellite communication receiver.
[0126] The satellite communication receiver is used for: Parse the received request message and judge the message type of the request message.
[0127] After receiving each request message, the satellite communication receiver parses it to identify the type of the request message. If it is a data message, the satellite communication receiver continues with fragmented data verification.
[0128] When the message type of the request message is a data message, calculate a first CRC value of the current fragmented request message according to the data field of the request message, and verify the CRC field of the current fragmented request message based on the first CRC value.
[0129] If the message type is a data message, that is, the type of the operation instruction corresponding to the request message is a file transfer instruction, the satellite communication receiving end calculates the CRC value of each fragmented request message and verifies it with the CRC field in the fragmented request message to ensure the integrity of the data.
[0130] When the CRC field of the current fragmented request message passes the verification, fill in the field values in multiple fixed fields to obtain a first response message with the message type field value being the first value, and return the first response message to the satellite communication sending end. The message sequence number and CRC field of the first response message are the same as those of the current fragmented request message.
[0131] If the verification passes, the satellite communication receiving end generates a corresponding first response message according to the information in the fragmented request message (such as file number, data offset, etc.) and returns it to the satellite communication sending end. The first response message contains the same message sequence number and CRC value to ensure that the response received by the satellite communication sending end is consistent with the sent request message.
[0132] When receiving the execution instruction sent by the satellite communication sending end for the first response message, extract the file number, total file length, data offset, and valid data length of the fragmented request message.
[0133] After the satellite communication receiving end confirms the validity of the received request message, it performs corresponding operations according to the content of the request message. When executing the instruction, the satellite communication receiving end extracts the key fields (file number, total file length, data offset, and valid data length) in the request message.
[0134] Determine the storage location of the current fragmented request message in the file data according to the file number, total file length, and data offset, and strip the padding bytes in the data field based on the valid data length to obtain the corresponding fragmented data.
[0135] Determine the storage location of the current fragmented data in the original file data according to these key fields (file number, total file length, data offset, and valid data length), and remove the padding bytes to extract the actual valid data value. For example, the offset of the first received fragmented request message is 0, and the satellite communication receiving end will extract data from the beginning position of the file until the valid data length of 1MB.
[0136] Fill in the field values in the multiple fixed fields to obtain a first response message with the message type field value being the first value, and return the first response message to the satellite communication sender. The message sequence number and CRC field of the first response message are the same as those of the request message.
[0137] The satellite communication receiver is further configured to: In the case of receiving all the fragmented data, reorganize the multiple fragmented data according to the message sequence number to obtain the file data.
[0138] When the satellite communication receiver receives all the fragmented data, according to the message sequence number of each message, recombine these fragments in the correct order to finally restore the complete file data. This ensures that even if the file is split into multiple small pieces, the satellite communication receiver can still correctly reconstruct the original file.
[0139] In an alternative embodiment, the satellite communication receiver is an on-board computer, and the satellite communication sender is a satellite payload. The satellite communication sender is configured to: In the case where the CRC field of the current fragmented request message fails the verification, fill in the field values in the multiple fixed fields to obtain a second response message with the message type field value being the second value. The message sequence number of the second response message is the same as that of the current fragmented request message, and the CRC field of the second response message is the first CRC value.
[0140] If the satellite communication receiver detects that the CRC verification of the data of a certain fragment fails, generate a second response message indicating a response failure. The message sequence number of the second response message is the same as the sequence number in the original fragmented request message sent by the satellite communication sender, which is used to identify which fragmented data has a problem; the CRC field of the second response message is the first CRC value previously calculated by the satellite payload, indicating that the verification of this fragmented data fails.
[0141] The satellite communication receiver is configured to: Parse the received second response message and determine the message type of the second response message.
[0142] In the case where the message type of the second response message is a response message indicating a response failure, determine the fragmented data that needs to be retransmitted according to the message sequence number in the second response message.
[0143] After receiving a response message indicating a response failure (for example, the message type field value is 2), the satellite communication receiver determines the fragmented data that needs to be retransmitted according to the message sequence number therein. The satellite communication receiver will notify the satellite communication sender to retransmit this specific fragmented data.
[0144] Based on the original shard request message corresponding to the shard data to be retransmitted, fill in the field values in multiple fixed fields to obtain the shard request message to be retransmitted. The sequence number of the shard data message to be retransmitted is the same as that of the original shard request message, and the CRC field of the shard request message to be retransmitted is recalculated based on the original shard request message.
[0145] Recalculate the CRC value based on the shard request message that needs to be retransmitted and resend the shard. The content of the resend shard request message is the same as the original request message, but the CRC value will be recalculated to ensure accurate verification. The satellite communication sender regenerates and sends the shard request message to be retransmitted. The message content of the shard request message to be retransmitted is the same as the original message. The only change is that the CRC field is recalculated and updated. Figure 4 It can be seen that each frame of shard request message will have different message sequence numbers and CRC fields in the response processes of different execution links (such as transmission errors, retransmissions). This is to distinguish the corresponding response messages and request messages in multiple response processes.
[0146] The satellite communication sender sends this regenerated request message to the satellite communication receiver and waits for the response of the satellite communication receiver.
[0147] Repeat the above steps until all shard data is transmitted.
[0148] The above process is continuously repeated. Whenever the data verification of a certain shard data fails, the satellite communication receiver generates a second response message indicating a response failure. The satellite communication sender recalculates the CRC value and resends the shard data until the satellite communication receiver successfully receives all shard data and passes the verification.
[0149] Suppose there is a file data of 6MB in size, which is divided into 6 shard data of 1MB for transmission. Each shard data is attached with a CRC check value when sent. The satellite communication sender (satellite payload) sends these shards to the satellite communication receiver (on-board computer) one by one.
[0150] In the first round of transmission, the satellite communication sender successfully sent 6 shard data, and the CRC check value of each shard data was normal. The satellite communication receiver successfully received 5 shard data, but the CRC check of the 3rd shard failed. The satellite communication receiver sends a second response message indicating a response failure to the satellite communication sender, requesting the retransmission of the 3rd shard data.
[0151] During the second round of transmission, when the satellite communication sender receives a response failure message, it recalculates the CRC value of the third fragment request message and resends the fragment data. The satellite communication receiver performs another verification, and this time the CRC verification of the third fragment request message passes.
[0152] The satellite communication receiver returns a success response message to the satellite communication sender, informing the satellite communication sender that the third fragment has been successfully received. After all the fragment data has been successfully transmitted, the satellite communication receiver reorganizes them in sequence and finally restores the complete 6MB original file data.
[0153] Figure 5 It is a schematic diagram of the steps of a method for information interaction between a satellite payload and an on-board computer provided by an embodiment of the present invention, which is applied to the system as described above. The method includes: Step S101, through the satellite communication sender, fill field values in multiple fixed fields to obtain a request message. The multiple fixed fields include a message type, a message sequence number, a CRC field, and a data field. Among them, the data field includes a valid data value and padding bytes for padding the field length.
[0154] The satellite communication sender, as the execution entity of the forwarding instruction or the generation instruction, is responsible for constructing the request message to be sent and sending it to the satellite communication receiver. The request message has different field fillings based on its corresponding instruction type (such as a control instruction, a file transfer instruction). The request message includes multiple fixed fields, and the filling values of the multiple fixed fields are generated by the satellite communication sender according to needs. Please refer to Table 1. The fixed fields of the request message include a message type, a message sequence number, a CRC field, and a data field.
[0155] The data field contains a valid data value and padding bytes. If the field length of the valid data value is less than the requirement (such as 1024 bytes), the length of the data field is padded with padding bytes (such as 0xFF) to ensure that the data field conforms to the protocol specification and obtain a standardized message format.
[0156] Step S102, through the satellite communication receiver, parse the received request message, and according to the message type of the request message, fill field values in the multiple fixed fields to obtain a first response message indicating the successful response of the request message or a second response message indicating the failure of the request message, and return the first response message or the second response message to the satellite communication sender.
[0157] The satellite communication receiving end, as the execution entity for receiving and responding to instructions, is responsible for receiving the request message from the satellite communication sending end, parsing each field in the request message, and processing it. The satellite communication receiving end decides to return the corresponding response message to the satellite communication sending end based on the field content and message type of the request message.
[0158] Specifically, at the satellite communication sending end, first determine the message type according to the application scenario. The value of the message type can be set according to different application requirements, such as data message, response message, etc. Then, set the message sequence number, which can be generated by an incrementing counter to ensure the uniqueness of each message. Calculate and generate the value of the CRC field. If the length of the valid data value is less than the specified length, pad it with 0xFF or other specified padding bytes. Finally, fill the message type, sequence number, CRC, data field, etc. into the request message to complete the encapsulation of the request message.
[0159] After completing the construction of the request message, the satellite communication sending end sends the message to the satellite communication receiving end through the satellite communication link.
[0160] After the satellite communication receiving end receives the request message, it parses the message, extracts each field in the request message, and then determines the message type of the request message. The message type also represents the instruction type of the instruction corresponding to the request message. For example, when the type of the request message is a telemetry message, the corresponding instruction type is a telemetry instruction.
[0161] Fill the field values in multiple fixed fields of the request message according to the message type of the request message to obtain the first response message or the second response message. Among them, the first response message indicates that the satellite communication receiving end has successfully responded to the request message, and the second response message indicates that the satellite communication sending end has failed to respond to the request message.
[0162] The present invention proposes a standardized communication message format, which conducts information interaction between a satellite payload and an on-board computer based on the UDP protocol, improving the limitations of traditional satellite communication protocols. First, by defining a fixed field structure, including message type, message sequence number, CRC field, and data field, the present invention reduces communication problems caused by packet loss and incorrect data while ensuring efficient data interaction. Second, by introducing padding bytes into the data field, the present invention not only effectively compensates for the data length issue but also can adapt to different data transmission requirements. Whether it is the fast transmission of small data packets or the fragmented transmission of large files, the integrity and transmission efficiency of the data can be guaranteed. This enables the system to meet the requirements of various complex tasks, especially in the satellite communication environment with limited bandwidth and high latency. In addition, after receiving a request message, the satellite communication receiving end can make corresponding feedback according to the message type and indicate whether the request is successful through a first response message or a second response message. Through the response mechanism, communication problems can be quickly identified and remedial measures can be taken in a timely manner, thus avoiding system failures caused by information loss or verification failures. It can be seen that the present invention finds a balance between reliability and transmission speed during the instruction transmission process of the satellite payload.
[0163] The embodiments of the present disclosure also provide an electronic device, including a processor, a memory, and a computer program stored on the memory and capable of running on the processor. When the computer program is executed by the processor, it implements each process of the above-mentioned embodiment of the information interaction method between a satellite payload and an on-board computer and can achieve the same technical effects. To avoid repetition, it will not be elaborated here.
[0164] Those skilled in the art should understand that the embodiments of the present invention can be provided as methods, devices, electronic devices, and storage media. Therefore, the embodiments of the present invention can take the form of completely hardware embodiments, completely software embodiments, or embodiments combining software and hardware aspects. Moreover, the embodiments of the present invention can take the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to disk memories, CD-ROMs, optical memories, etc.) containing computer-usable program code.
[0165] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods and devices according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing terminal devices generate for implementing the processes Figure 1one or more processes and / or blocks Figure 1 means for the functions specified in one or more blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal device to work in a specific manner, such that the instructions stored in the computer-readable memory produce a manufactured article including instruction means that implement the functions in the process Figure 1 one or more processes and / or blocks Figure 1 means for the functions specified in one or more blocks. These computer program instructions may also be loaded onto a computer or other programmable data processing terminal device, such that a series of operation steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, and thus the instructions executed on the computer or other programmable terminal device provide steps for implementing the functions in the process Figure 1 one or more processes and / or blocks Figure 1 means for the functions specified in one or more blocks.
[0166] Although the preferred embodiments of the embodiments of the present invention have been described, those skilled in the art can make additional changes and modifications once they learn the basic creative concepts. Therefore, the appended claims are intended to be construed as including the preferred embodiments and all changes and modifications falling within the scope of the embodiments of the present invention.
[0167] Finally, it should also be noted that in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the term "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or terminal device. Without further limitation, an element defined by the statement "comprising..." does not exclude the existence of additional identical elements in the process, method, article, or terminal device comprising the element. The above has introduced in detail a satellite payload and on-board computer information interaction system and method provided by the present invention. Specific examples are used in this article to elaborate on the principles and implementation manners of the present invention. The description of the above embodiments is only used to help understand the method and its core idea of the present invention; at the same time, for those of ordinary skill in the art, according to the idea of the present invention, there will be changes in the specific implementation manners and application scopes. In summary, the content of this specification should not be construed as a limitation to the present invention.
Claims
1. An information interaction system between a satellite payload and an onboard computer, characterized in that: The system includes a satellite communication transmitting end and a satellite communication receiving end; The satellite communication transmitting end is used to fill field values in a plurality of fixed fields to obtain a request message, wherein the plurality of fixed fields include a message type, a message sequence number, a CRC field and a data field, wherein the data field includes a valid data value and a padding byte for completing the field length; The satellite communication receiving end is used to parse the received request message, and fill field values in the multiple fixed fields according to the message type of the request message, to obtain a first response message indicating a successful response to the request message, or a second response message indicating a failed response to the request message, and return the first response message or the second response message to the satellite communication sending end.
2. The system according to claim 1, characterized in that The satellite communication receiving end is a satellite payload, and the satellite communication transmitting end is an on-board computer; The satellite communication receiving end is used for: Parsing the received request message and determining the message type of the request message; In a case where the message type of the request message is a remote control message or a telemetry message, calculating a first CRC value of the request message according to a data field of the request message, and verifying a CRC field of the request message based on the first CRC value; When the CRC field of the request message passes the check, fill field values in a plurality of fixed fields to obtain a first response message whose message type field value is a first value, and return the first response message to the satellite communication transmitting end, wherein the message sequence number and CRC field of the first response message are consistent with those of the request message; When receiving an execution instruction sent by the satellite communication transmitting end in response to the first response message, executing an operation corresponding to the execution instruction; If the CRC field of the request message fails to pass the check, fill field values in multiple fixed fields to obtain a second response message whose message type field value is a second value, the message sequence number of the second response message is consistent with that of the request message, and the CRC field of the second response message is the first CRC value; The satellite communication receiving end is also used for: When the message type of the request message is a telemetry message and the CRC field of the request message passes the check, collecting corresponding telemetry data; When the telemetry data collection is completed, the field values are filled in the multiple fixed fields to obtain a third response message whose message type field value is a third value, and the third response message is returned to the satellite communication transmitting end, wherein the collected telemetry data is used as the data field.
3. The system according to claim 2, characterized in that The satellite communication receiving end is an on-board computer, and the satellite communication transmitting end is a satellite payload; The satellite communication receiving end is used for: Parsing the received third response message, and determining the message type of the third response message; In a case where the message type of the third response message is a telemetry response message, calculating a second CRC value of the third response message according to a data field of the third response message, and verifying a CRC field of the third response message based on the second CRC value; When the CRC field of the third response message passes the check, fill the field value in the multiple fixed fields to obtain a first response message whose message type field value is a first value, and return the first response message to the satellite communication transmitting end, wherein the message sequence number and CRC field of the first response message are consistent with those of the third response message; When the CRC field of the request message fails to pass the check, the field values are filled in the multiple fixed fields to obtain a second response message whose message type field value is the second value, the message sequence number of the second response message is consistent with the third response message, and the CRC field of the second response message is the second CRC value.
4. The system according to claim 1, characterized in that The satellite communication receiving end is a satellite payload, and the satellite communication transmitting end is an on-board computer; The satellite communication receiving end is used for: Parsing the received request message and determining the message type of the request message; In a case where the message type of the request message is a time synchronization message, calculating a first CRC value of the request message according to a data field of the request message, and verifying a CRC field of the request message based on the first CRC value; When the CRC field of the request message passes the check, fill field values in a plurality of fixed fields to obtain a first response message whose message type field value is a first value, and return the first response message to the satellite communication transmitting end, wherein the message sequence number and CRC field of the first response message are consistent with those of the request message; extracting the timestamp information in the data field of the request message upon receiving the execution instruction sent by the satellite communication transmitting end in response to the first response message; Adjusting the local clock of the satellite payload based on the timestamp information so that the local clock of the satellite payload is synchronized with the system standard time; Filling field values in the multiple fixed fields to obtain a fourth response message having a message type field value of a third value, wherein a message sequence number and a CRC field of the fourth response message are consistent with those of the request message, and a data field of the fourth response message includes adjusted time information; The fourth response message is returned to the satellite communication sending end.
5. The system according to claim 1, characterized in that The satellite communication receiving end is a satellite payload, and the satellite communication transmitting end is an on-board computer; The satellite communication receiving end is used for: Parsing the received request message and determining the message type of the request message; In a case where the message type of the request message is a custom instruction, calculating a first CRC value of the request message according to a data field of the request message, and verifying a CRC field of the request message based on the first CRC value; When the CRC field of the request message passes the check, fill field values in a plurality of fixed fields to obtain a first response message whose message type field value is a first value, and return the first response message to the satellite communication transmitting end, wherein the message sequence number and CRC field of the first response message are consistent with those of the request message; extracting the custom operation code and parameter information in the data field of the request message when receiving the execution instruction sent by the satellite communication transmitting end in response to the first response message; Calling a predefined execution logic according to the custom operation code, and executing a corresponding custom operation based on the parameter information; Fill field values in the multiple fixed fields to obtain a fifth response message whose message type field value is a third value, wherein the message sequence number and CRC field of the fifth response message are consistent with those of the request message, and the data field of the fifth response message includes execution result information of the custom operation; The fifth response message is returned to the satellite communication sending end.
6. The system according to claim 1, characterized in that The satellite communication receiving end is a satellite payload, and the satellite communication transmitting end is an on-board computer; The satellite communication receiving end is used for: Parsing the received request message and determining the message type of the request message; When the message type of the request message is a satellite inbound message or a satellite outbound message, calculating a first CRC value of the request message according to a data field of the request message, and checking a CRC field of the request message based on the first CRC value; When the CRC field of the request message passes the check, fill field values in a plurality of fixed fields to obtain a first response message whose message type field value is a first value, and return the first response message to the satellite communication transmitting end, wherein the message sequence number and CRC field of the first response message are consistent with those of the request message; extracting the instruction identifier in the request message when receiving the execution instruction sent by the satellite communication transmitting end in response to the first response message; When the instruction is identified as a satellite station entry instruction, a communication link preparation operation is performed, wherein the communication link preparation operation includes cache data cleaning, communication module initialization, and ground station connection preconfiguration; When the command is identified as a satellite outbound command, terminate the current communication and switch to a low power consumption mode or a standby mode; Filling field values in the multiple fixed fields to obtain a sixth response message having a message type field value of the third value, wherein a message sequence number and a CRC field of the sixth response message are consistent with those of the request message, and a data field includes instruction execution status information; The sixth response message is returned to the satellite communication sending end.
7. The system according to claim 1, characterized in that The plurality of fixed fields also include a file number, a total file length, a data offset and a valid data length; the satellite communication receiving end is a satellite payload, and the satellite communication transmitting end is an on-board computer; The satellite communication transmitting end is used for: Determining the message type of the request message; In the case where the message type of the request message is a data message, the file data to be transmitted is fragmented to obtain a plurality of fragmented data; For each fragment data, fill the field value in the multiple fixed fields, encapsulate the multiple fragment data into corresponding fragment request messages in sequence, and obtain a multi-frame fragment request message, wherein the message sequence number of each frame of the fragment request message is increased by one, and the fragment data is used as the load of the fragment request message of the corresponding frame; Sending the plurality of slice data and the multi-frame slice request message to the satellite communication receiving end in sequence; The satellite communication receiving end is used for: Parsing the received request message and determining the message type of the request message; When the message type of the request message is a data message, calculating a first CRC value of the current fragment request message according to the data field of the request message, and verifying the CRC field of the current fragment request message based on the first CRC value; When the CRC field of the current fragment request message passes the check, fill field values in a plurality of fixed fields to obtain a first response message whose message type field value is a first value, and return the first response message to the satellite communication transmitting end, wherein the message sequence number and CRC field of the first response message are consistent with those of the current fragment request message; Upon receiving the execution instruction sent by the satellite communication transmitting end in response to the first response message, extracting the file number, the total file length, the data offset and the valid data length of the fragment request message; Determine the storage position of the current fragment request message in the file data according to the file number, the total file length and the data offset, and strip the padding bytes in the data field based on the valid data length to obtain corresponding fragment data; Filling field values in the multiple fixed fields to obtain a first response message whose message type field value is a first value, and returning the first response message to the satellite communication transmitting end, wherein the message sequence number and CRC field of the first response message are consistent with those of the request message; The satellite communication receiving end is also used for: When all the fragmented data are received, the multiple fragmented data are reassembled according to the message sequence number to obtain the file data.
8. The system according to claim 7, characterized in that The satellite communication receiving end is an on-board computer, and the satellite communication transmitting end is a satellite payload; The satellite communication transmitting end is used for: When the CRC field of the current fragment request message fails to pass the check, fill field values in multiple fixed fields to obtain a second response message whose message type field value is a second value, the message sequence number of the second response message is consistent with the current fragment request message, and the CRC field of the second response message is the first CRC value; The satellite communication receiving end is used for: Parsing the received second response message, and determining the message type of the second response message; In a case where the message type of the second response message is a response message indicating a response failure, determining the fragmented data to be retransmitted according to the message sequence number in the second response message; Based on the original fragment request message corresponding to the fragment data to be retransmitted, fill field values in multiple fixed fields to obtain the fragment request message to be retransmitted, the sequence number of the fragment data message to be retransmitted is consistent with the original fragment request message, and the CRC field of the fragment request message to be retransmitted is recalculated based on the original fragment request message; Repeat the above steps until all shard data are transmitted.
9. A method for information interaction between a satellite payload and an onboard computer, characterized in that: Applied to the system according to any one of claims 1 to 8, the method comprises: Filling field values in a plurality of fixed fields through a satellite communication transmitter to obtain a request message, wherein the plurality of fixed fields include a message type, a message sequence number, a CRC field, and a data field, wherein the data field includes a valid data value and a padding byte for completing a field length; The received request message is parsed through the satellite communication receiving end, and field values are filled in the multiple fixed fields according to the message type of the request message, so as to obtain a first response message indicating a successful response to the request message or a second response message indicating a failed response to the request message, and the first response message or the second response message is returned to the satellite communication sending end.
10. An electronic device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the steps of the method according to claim 9 are implemented when the computer program is executed by the processor.
Citation Information
Patent Citations
Satellite measurement and control system, method, device, equipment and medium
CN115333609A
Packet loss response method based on Beidou short message and terminal equipment
CN116388834A
Load task uploading processing method and device, electronic equipment and storage medium
CN118713725A
Satellite short message multicast method and related apparatus
WO2023103830A1
Cited By
Data transmission method, computing device, storage medium and program product
CN121619017A