Satellite on-orbit uploading data transmission method and device based on CFDP protocol
By adopting the CFDP protocol and the maximum continuous frame counting mechanism in satellite on-orbit data transmission, the problem that traditional technology is difficult to adapt to multi-user and multi-channel application scenarios is solved, and efficient and flexible data transmission and multi-platform adaptation are achieved.
Patent Information
- Application Number
- CN202411417529.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-11
- Publication Date
- 2025-02-18
AI Technical Summary
Traditional satellites are difficult to adapt to highly flexible application scenarios with multiple users and multiple channels, and are complex in engineering implementation, making it difficult to achieve efficient retransmission and multi-interface information fusion.
Using the data transmission method based on the CFDP protocol, the data frames are received and processed on-track data to realize efficient writing and storage of data, and the maximum continuous frame counting mechanism supports error detection and retransmission, realizing multi-channel flexible communication mode .
It realizes efficient transmission and multi-platform adaptation of satellite data in orbit, supports multi-channel communication mode, improves transmission efficiency and flexibility, and adapts to the multi-user multi-channel data transmission needs of single-star to multi-star networks.
Smart Images

Figure CN119483698A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of satellite on-orbit injection, and in particular to a method and device for transmitting satellite on-orbit injection data based on the CFDP protocol. Background Art
[0002] The satellite on-orbit injection data generally includes the reconstruction program, important parameters, instruction sequence and other key data of the on-board software and FPGA, which is one of the key data to ensure the high reliability operation of each device on the spacecraft, the efficient maintenance of the equipment and the high flexibility upgrade of functional performance. With the rapid development of satellite networking and intelligence, the information flow link involves 1553B bus and Arinc659 bus of tens of Kbps, RS422 bus of 1Mbps, LVDS bus of tens of Mbps, SpaceWire bus of hundreds of Mbps and GTX bus of more than 1Gbps. The injection, storage and distribution process of on-orbit injection data faces more diverse space links, more flexible communication methods and more complex application scenarios.
[0003] Traditional satellite on-orbit data injection focuses on the correctness of data content and information integrity, so there is limited exploration in engineering implementation. In the engineering implementation of on-orbit data injection, the information flow is mostly customized according to the characteristics of the satellite, and the injection, storage and distribution functions are bound to fixed hardware interfaces and application modes. For example, the on-board storage device only supports on-orbit injection data from the LVDS bus interface, and if the data frame is lost, the subsequent data needs to be re-injected. The working mode is single and does not support multi-interface information fusion and multi-scenario applications.
[0004] Other traditional solutions are based on the CFDP file transfer protocol to build an on-orbit storage and forwarding architecture for injected data with an error detection data frame retransmission mechanism. Its design is complex and requires the participation of embedded software. Due to the limitations of software processing objects and computing rates, efficient retransmission of on-orbit injected data in inter-satellite and intra-satellite multi-user multi-channel topology networks is difficult to achieve. Therefore, traditional on-orbit injection satellite processing devices are difficult to adapt to the highly flexible application scenarios of on-orbit injection of multi-user and multi-channel data from a single satellite to multiple satellites and then to networking. Summary of the invention
[0005] The present application provides a method and device for transmitting satellite on-orbit injection data based on the CFDP protocol. The present invention focuses on the engineering requirements of diversified information links and highly flexible data scheduling. The data transmission method provided can realize efficient transmission of injection data, provide a multi-channel flexible communication mode with integrated storage and distribution functions, and can also realize a multi-platform adaptable plug-and-play on-orbit injection data efficient transmission device, which has high scalability due to its support for subsequent model applications.
[0006] In a first aspect, a method for transmitting satellite on-orbit data based on the CFDP protocol is provided, comprising:
[0007] receiving a target on-orbit injection data frame, wherein the target on-orbit injection data frame includes a target frame count and a VCDU data unit;
[0008] According to the target frame count, write the data of the VCDU data unit in the target on-track injection data frame into the corresponding position of the target SDRAM partition;
[0009] Writing a target receiving status flag at a position corresponding to the target frame count in the injection data frame status buffer of the target SDRAM partition, the target receiving status flag is used to indicate whether the target on-orbit injection data frame is successfully received;
[0010] Determine whether to update the maximum continuous frame count of the target SDRAM partition. If the maximum continuous frame count of the target SDRAM partition indicates that the on-track injection data frame with the target frame count minus 1 is successfully received, then add 1 to the maximum continuous frame count of the target SDRAM partition; otherwise, do not update the maximum continuous frame count.
[0011] The on-track data frame with the target frame count reduced by 1 specifically refers to the on-track data frame corresponding to the frame count before the current target frame count. The update judgment condition of the maximum continuous frame count is described below by way of example.
[0012] For the on-orbit injection data frame receiving process with a frame count of 0, after successfully receiving the on-orbit injection data frame with a frame count of 0, since the maximum continuous frame count can be initially set to 0, the maximum continuous frame count can be updated to 1 at this time. The meaning of the maximum continuous frame count of 1 includes that the on-orbit injection data frame with a frame count of 0 is successfully received, and the frame count of the next on-orbit injection data frame that should be successfully received is 1.
[0013] In one case, it is assumed that the target frame count is 10, and the on-track data frames corresponding to frame counts 0 to 9 are all successfully received. Then before receiving the target on-track data frame, the maximum continuous frame count can be set to 10, which is used to indicate that the on-track data frame with a frame count of 9 is successfully received. After successfully receiving the on-track data frame with a target frame count of 10, it is determined whether to update the maximum continuous frame count of the target SDRAM partition. Since the maximum continuous frame count indicates that the on-track data frame with a frame count of 10-1=9 is successfully received, it meets the update condition of the maximum continuous frame count. At this time, the maximum continuous frame count can be updated by adding 1, and the updated maximum continuous frame count is 11. The meaning of the maximum continuous frame count of 11 includes that the on-track data frame with a frame count of 10 is successfully received, and the frame count of the next successfully received on-track data frame should be 11.
[0014] In another case, it is assumed that the target frame count is 10, and the on-track data frames corresponding to frame counts 0 to 8 are all successfully received, and the on-track data frame corresponding to frame count 9 is not successfully received. Then before receiving the target on-track data frame, the maximum continuous frame count can be taken as 9, which is used to indicate that the on-track data frame with a frame count of 8 is successfully received. After successfully receiving the on-track data frame with a target frame count of 10, it is determined whether to update the maximum continuous frame count of the target SDRAM partition. Since the maximum continuous frame count indicates that the on-track data frame with a frame count of 8 is successfully received, rather than the on-track data frame with a frame count of 10-1=9, it does not meet the update condition of the maximum continuous frame count. The maximum continuous frame count is not updated at this time.
[0015] In combination with the first aspect, in some implementations of the first aspect, when the target reception state identifier takes a value of 1, it is used to indicate that the target on-orbit injection data frame is successfully received, and when the target reception state identifier takes a value of 0, it is used to indicate that the target on-orbit injection data frame is not successfully received; the acquisition of the maximum continuous frame count includes:
[0016] The receiving status identifier of each frame position is continuously read from the position of frame count 0 in the upstream data frame status cache of the target SDRAM partition, and it is continuously increased by 1 until the first position with a receiving status of 0 is read and stops, and the frame count with the first receiving status of 0 is determined as the maximum continuous frame count.
[0017] In combination with the first aspect, in some implementations of the first aspect, the target on-track data frame further includes: an SDRAM partition number; and writing the data in the target on-track data frame to a corresponding position of the target SDRAM partition according to the target frame count includes:
[0018] Read the target SDRAM partition number to determine the starting address of the target SDRAM partition receive buffer;
[0019] The internal offset address of the target SDRAM partition receiving buffer is obtained by multiplying the target frame count by the SDRAM data basic storage unit length;
[0020] The start address and the internal offset address of the target SDRAM partition receiving buffer are superimposed to determine the address where the target on-track injection data frame is written in the target SDRAM partition.
[0021] In a second aspect, a method for transmitting satellite on-orbit data based on the CFDP protocol is provided, comprising:
[0022] receiving a target on-orbit injection initialization instruction, wherein the target on-orbit injection initialization instruction includes a target on-orbit injection data identifier;
[0023] By using the satellite on-orbit injection data transmission method based on the CFDP protocol as described in any one of the implementations of the first aspect above, receiving the data indicated by the target on-orbit injection data identifier and writing it in the target SDRAM partition;
[0024] The maximum continuous frame count corresponding to the target on-track data injection identifier is sent. The maximum continuous frame count is the maximum continuous frame count of the target SDRAM partition. The maximum continuous frame count is used to indicate that the on-track data injection is completed, or to indicate that the on-track data injection is to be retransmitted.
[0025] In conjunction with the second aspect, in some implementations of the second aspect, when the maximum consecutive frame count indicates that the on-track data is to be retransmitted, the method further includes:
[0026] receiving a missing frame query instruction, wherein the missing frame query instruction includes a target on-orbit data mark;
[0027] Sending a command reply frame for a missing frame query command, the command reply frame is used to indicate the count of frames that were not successfully received;
[0028] Receive the retransmitted on-track injection data frame, update the maximum continuous frame count and rebroadcast the maximum continuous frame count of the target SDRAM partition.
[0029] In combination with the second aspect, in certain implementations of the second aspect, if the maximum continuous frame count is equal to the maximum frame count of the current on-track data plus 1, the maximum continuous frame count is used to indicate that the on-track data has been completed; otherwise, the maximum continuous frame count indicates that the on-track data is to be retransmitted.
[0030] In a third aspect, a method for transmitting satellite on-orbit data based on the CFDP protocol is provided, comprising:
[0031] Send an on-track injection initialization command, the command includes an on-track injection data identifier;
[0032] Send the data indicated by the data mark on the target orbit;
[0033] receiving a maximum continuous frame count corresponding to a target on-track data identifier, the maximum continuous frame count being used to indicate that the on-track data has been injected, or being used to indicate that the on-track data is to be retransmitted;
[0034] In the case where the maximum consecutive frame count indicates that the on-track data is to be retransmitted, the method further comprises:
[0035] Sending a missing frame query instruction, the missing frame query instruction includes annotating a data mark on the track;
[0036] receiving a command reply frame for a missing frame query command, the command reply frame being used to indicate a count of frames that were not successfully received;
[0037] Send retransmitted on-orbit injection data frame.
[0038] In a fourth aspect, a satellite on-orbit data transmission device based on the CFDP protocol is provided, comprising: a hardware interface module and a data routing module, wherein the hardware interface module is used to convert external interface protocol data into unified format data and input it to the data routing module; the data routing module is used to execute the satellite on-orbit data transmission method based on the CFDP protocol as described in any one of the implementation methods in the first aspect above.
[0039] In combination with the fourth aspect, in certain implementations of the fourth aspect, the hardware interface module internally includes a timing processing submodule and a protocol processing submodule; the timing processing submodule is used to communicate with an external hardware chip; and the protocol processing submodule is used to implement data conversion between an external interface protocol and an internal protocol.
[0040] In combination with the fourth aspect, in certain implementations of the fourth aspect, the data frame sent by the protocol processing submodule to the data routing module includes an SDRAM partition number, a data frame length, a frame type identifier, a frame count, and a VCDU data unit.
[0041] In combination with the fourth aspect, in certain implementations of the fourth aspect, the protocol processing submodule is used to perform a CRC check on the content of the VCDU data unit, and if the CRC check is wrong, the data frame is discarded; if the CRC check is correct, the data frame is input to the data routing module.
[0042] In conjunction with the fourth aspect, in certain implementations of the fourth aspect, the data routing module includes an input combining submodule, an output branching submodule, an instruction parsing submodule, and an SDRAM interface control submodule; wherein,
[0043] The input combiner module completes the address index in the SDRAM through frame counting and writes the data frame into the partition of the SDRAM; the input combiner module includes N SDRAM write data caches, M on-track data injection channels and 1 non-volatile memory playback data receiving cache, the on-track data injection channel of the input combiner module includes 1 input interface cache and 1 injection data frame status cache, the input interface cache corresponds to the front-end hardware interface module, the injection data frame status cache uses the frame count received by the current channel as the index address, and stores the status of whether the data frame corresponding to the frame count is received, and the non-volatile memory playback data receiving cache is used when the non-volatile storage system is externally connected, as a channel for writing playback data into the corresponding partition sending cache of the SDRAM;
[0044] The output shunt submodule is responsible for the reading operation of the data frame in the SDRAM; the output shunt submodule includes N SDRAM read data caches, M on-track injection data distribution channels and 1 non-volatile memory write data cache;
[0045] The instruction parsing submodule is responsible for parsing the instruction frame from the input combining submodule, and completing SDRAM partition opening, SDRAM partition closing, channel playback mode definition, channel distribution parameter transmission, missing frame query, and start frame count configuration through configuration parameters and control signals, so as to realize the injection, storage, and distribution operations of on-orbit injection data based on the CFDP protocol through instruction control; and it is responsible for broadcasting the internal SDRAM partition status to the corresponding injection channel at a regular interval; as the sending end, the instruction parsing submodule determines whether the instruction is correctly instructed according to the telemetry broadcast, and arranges to send the relevant instructions and data frames for the next operation according to the ground or on-board instruction group;
[0046] The SDRAM interface control submodule is responsible for SDRAM interface timing control and data interaction.
[0047] In a fifth aspect, a satellite on-orbit data transmission communication device based on the CFDP protocol is provided, the device comprising:
[0048] A receiving unit, used for receiving a target on-orbit injection data frame, wherein the target on-orbit injection data frame includes a target frame count and a VCDU data unit;
[0049] A storage unit, used for writing the data of the VCDU data unit in the target on-track injection data frame into a corresponding position of the target SDRAM partition according to the target frame count;
[0050] The storage unit is also used to write a target receiving status flag into a position corresponding to the target frame count in the injection data frame status buffer of the target SDRAM partition, and the target receiving status flag is used to indicate whether the target on-orbit injection data frame is successfully received;
[0051] The control unit is used to determine whether to update the maximum continuous frame count of the target SDRAM partition. If the maximum continuous frame count of the target SDRAM partition indicates that the on-track injection data frame with the target frame count minus 1 is successfully received, the maximum continuous frame count of the target SDRAM partition is increased by 1, otherwise the maximum continuous frame count is not updated.
[0052] In combination with the fifth aspect, in some implementations of the fifth aspect, when the target reception state identifier takes a value of 1, it is used to indicate that the target on-orbit injection data frame is successfully received, and when the target reception state identifier takes a value of 0, it is used to indicate that the target on-orbit injection data frame is not successfully received; the control unit is specifically used to:
[0053] The receiving status identifier of each frame position is continuously read from the position of frame count 0 in the upper data frame status cache of the target SDRAM partition, and it is continuously increased by 1 until the first position with a receiving status of 0 is read and stops, and the frame count with the first receiving status of 0 is determined as the maximum continuous frame count.
[0054] In conjunction with the fifth aspect, in certain implementations of the fifth aspect, the target on-track data frame further includes: an SDRAM partition number; and the storage unit is specifically used for:
[0055] Read the target SDRAM partition number to determine the starting address of the target SDRAM partition receive buffer;
[0056] The internal offset address of the target SDRAM partition receiving buffer is obtained by multiplying the target frame count by the SDRAM data basic storage unit length;
[0057] The start address and the internal offset address of the target SDRAM partition receiving buffer are superimposed to determine the address where the target on-track injection data frame is written in the target SDRAM partition.
[0058] In a sixth aspect, a satellite on-orbit data transmission and communication device based on the CFDP protocol is provided, the device comprising:
[0059] A receiving module, used for receiving a target on-orbit injection initialization instruction, wherein the target on-orbit injection initialization instruction includes a target on-orbit injection data identifier;
[0060] The receiving module is further used to receive the data indicated by the target on-orbit data identifier through the satellite on-orbit data transmission method based on the CFDP protocol as described in any one of the implementations of the first aspect above, and write it in the target SDRAM partition;
[0061] The sending module is used to send the maximum continuous frame count corresponding to the target on-track data identifier, the maximum continuous frame count is the maximum continuous frame count of the target SDRAM partition, and the maximum continuous frame count is used to indicate that the on-track data injection is completed, or to indicate that the on-track data injection is to be retransmitted.
[0062] In combination with the sixth aspect, in certain implementations of the fifth aspect, when the maximum consecutive frame count indicates that the on-track data is to be retransmitted,
[0063] The receiving module is also used to receive a missing frame query instruction, which includes a target on-orbit data mark;
[0064] The sending module is also used to send a command reply frame for the missing frame query command, and the command reply frame is used to indicate the count of frames that have not been successfully received;
[0065] The receiving module is further used to receive the retransmitted on-track injection data frame, update the maximum continuous frame count and rebroadcast the maximum continuous frame count of the target SDRAM partition.
[0066] In combination with the sixth aspect, in certain implementations of the fifth aspect, if the maximum continuous frame count is equal to the maximum frame count of the current on-track data plus 1, the maximum continuous frame count is used to indicate that the on-track data has been completed; otherwise, the maximum continuous frame count indicates that the on-track data is to be retransmitted.
[0067] In a seventh aspect, a satellite on-orbit data transmission communication device based on the CFDP protocol is provided, the device comprising:
[0068] A sending module, used for sending an on-track injection initialization instruction, the instruction including an on-track injection data identifier;
[0069] The sending module is also used to send the data indicated by the target on-orbit data identifier;
[0070] A receiving module, used for receiving a maximum continuous frame count corresponding to a target on-orbit injection data identifier, wherein the maximum continuous frame count is used for indicating that the on-orbit injection data has been injected, or for indicating that the on-orbit injection data is to be retransmitted;
[0071] The sending module is also used to send a missing frame query instruction when the maximum continuous frame count indicates that the on-track data is to be retransmitted, and the missing frame query instruction includes an on-track data identifier;
[0072] The receiving module is further used to receive a command reply frame for a missing frame query command, where the command reply frame is used to indicate a count of frames that have not been successfully received;
[0073] The sending module is also used to send retransmitted on-orbit injection data frames.
[0074] In an eighth aspect, a satellite on-orbit data transmission communication device based on the CFDP protocol is provided, and the device is used to execute the satellite on-orbit data transmission method based on the CFDP protocol as described in any one of the implementation methods of the first to third aspects above.
[0075] In the ninth aspect, a satellite on-orbit data transmission communication system based on the CFDP protocol is provided, comprising ground equipment and several satellite equipment, wherein the satellite equipment is used to execute the satellite on-orbit data transmission method based on the CFDP protocol as described in any one of the implementation methods in the second to third aspects above.
[0076] In the tenth aspect, a satellite on-orbit data transmission communication system based on the CFDP protocol is provided, including ground equipment and several satellite equipment, and the satellite equipment includes a satellite on-orbit data transmission device as described in any one of the implementation methods in the fourth aspect above.
[0077] In summary, the present invention designs an engineering implementation of an error frame retransmission mechanism by combining a VCDU format with a CFDP protocol, a hardware application method of the CFDP protocol, and an implementation method of an error frame retransmission mechanism. The present invention also designs a method and method for implementing non-sequential writing of on-orbit injection data into the receiving buffer of an SDRAM memory partition by calculating a VCDU frame count in a satellite on-orbit injection data transmission device based on the CFDP protocol. The present invention also designs the operation mode of each module in the device under instruction operation in different working modes such as data reception, data forwarding, and data transmission after multiple satellite on-orbit injection data transmission devices based on the CFDP protocol are formed into an intra-satellite and inter-satellite network. The present invention also designs a data frame format definition for on-orbit injection data distribution in different modes in a satellite on-orbit injection data transmission device based on the CFDP protocol. The present invention also designs a verification method for on-orbit injection data frames by a hardware interface module in a satellite on-orbit injection data transmission device based on the CFDP protocol and a unified protocol format between the hardware interface module and the back-end data routing module.
[0078] Compared with the prior art, the solution provided by this application includes at least the following beneficial technical effects:
[0079] (1) The present invention designs a satellite on-orbit data transmission device based on the CFDP protocol, which provides an engineering solution for efficient on-orbit data transmission based on an error detection data frame retransmission mechanism, ensuring that only erroneous or lost data is transmitted each time, instead of retransmitting all data after a breakpoint as in the previous design, thereby solving the link resource problem and greatly improving the transmission efficiency.
[0080] (2) The present invention has a highly compatible interface architecture that supports different types of aerospace equipment environments, and plug-and-play external interface devices. In addition, the present invention can complete the injection of on-orbit injection data and the binding and unbinding of distribution channel data streams, storage and distribution mode settings, etc. through instructions, covering most of the current on-orbit injection data transmission requirements from single-satellite to multi-satellite networking, supporting cross-model commonality, and improving product reliability.
[0081] (3) The present invention has a highly integrated configurable architecture that integrates all functions of on-orbit data uploading, storage and distribution. It can be used as a transmitter, receiver and transfer terminal in any node of the on-orbit data transmission link. Its good engineering scalability provides a technical basis for the subsequent deployment of more complex data transmission solutions at the system level.
[0082] (4) The present invention provides a command window for users to participate in designing the parallel transmission mode of on-orbit data. The multi-partition parallel support of the internal SDRAM memory supports real-time parallel storage and playback of multi-channel data, further improving the flexibility of data transmission and meeting the on-orbit data transmission needs in the current and future expansion of satellite intelligent networking. BRIEF DESCRIPTION OF THE DRAWINGS
[0083] Figure 1 This is the structural diagram of the satellite on-orbit transmission system based on the CFDP protocol.
[0084] Figure 2 This is the structural diagram of the on-orbit data transmission device.
[0085] Figure 3 Schematic diagram of the unified communication protocol between the hardware interface module and the data routing module.
[0086] Figure 4 FIG. 1 is an internal schematic diagram of a satellite-borne multi-channel on-orbit data transmission device according to an embodiment of the present invention.
[0087] Figure 5 Schematic diagram of an on-track data distribution protocol in an embodiment of the present invention.
[0088] Figure 6 It is a schematic diagram of instructions related to on-track data injection leak detection in an embodiment of the present invention. DETAILED DESCRIPTION
[0089] The present application is further described in detail below with reference to the accompanying drawings and specific embodiments.
[0090] Figure 1 A satellite on-orbit data transmission communication system based on the CFDP protocol provided in an embodiment of the present application is shown. The communication system includes ground equipment and several satellite equipment. The satellite equipment can be equipped with a satellite on-orbit data transmission device based on the CFDP protocol provided in an embodiment of the present invention. The on-orbit data transmission device can be engineered from a single satellite to multiple satellites, and the data management function can be changed as the link position changes in the inter-satellite and intra-satellite multi-user multi-channel topology network. Thus, the communication system can realize on-orbit data transmission between ground equipment and satellite equipment, and between satellites (inter-satellite interaction includes data sending, data forwarding, and data receiving, etc.).
[0091] Figure 2 A satellite on-orbit data transmission device based on the CFDP protocol provided in an embodiment of the present application is shown.
[0092] The on-orbit data transmission device includes M hardware interface modules and a data routing module. In one possible case, the on-orbit data transmission device may also include an SDRAM memory and a non-volatile memory management module. In another possible case, data transmission between the on-orbit data transmission device and the SDRAM memory and the non-volatile memory management module is realized by connecting an external device to the on-orbit data transmission device.
[0093] The hardware interface module is used for data interaction with the external working environment and is a key module for realizing plug-and-play of the device in different environments. The number of hardware interface modules can be consistent with the number of external hardware channels in the application environment. The data routing module and SDRAM memory cooperate to complete the file retransmission iteration based on the CFDP protocol. The complete data of the file is stored in the SDRAM memory in an orderly manner and can be transferred to the back-end non-volatile data storage system in application scenarios that require long-term storage. Both types of storage methods support data distribution operations according to instructions. The non-volatile memory management module is an optional module, which implements a general data control interface with the back-end non-volatile data storage system and supports current mainstream storage systems including Nand Flash.
[0094] The hardware interface module includes a timing processing submodule and a protocol processing submodule. The timing processing submodule is used to communicate with the external hardware chip. The protocol processing submodule is used to realize data conversion between the external interface protocol and the internal protocol and complete protocol management. Both the timing processing submodule and the protocol processing submodule have bidirectional communication properties.
[0095] Specifically, the timing processing submodule is used to reconfigure the parameters of the hardware interface module when the external interface connected to the hardware interface module changes, so as to adapt to the new external interface and realize the correct data throughput operation. The input part of the protocol processing submodule is responsible for protocol unification and data verification. The protocol processing submodule organizes the external interface protocol and converts it into a unified data input protocol mode, and passes it to the input combining submodule in the back-end data routing module. In other words, the protocol processing submodule can convert the data sent from the external interface into a unified data format and complete data verification. The protocol processing submodule converts the data and sends it to the data routing module.
[0096] The data frame format sent by the protocol processing submodule to the data routing module is as follows: Figure 3As shown in (a), it includes SDRAM partition number, data frame length, frame type identifier, frame count and VCDU data unit. The SDRAM partition number is the identifier of the destination SDRAM partition where the data unit is written. The data frame length is the length byte number of the data unit. The frame type identifier includes 00H and 07H. 00H is used to represent the data frame, and 07H is used to represent the instruction frame. The frame count is used to indicate the data position of the current data unit in the overall data injection on the track. The VCDU data unit includes VCDU frame data with a length of P bytes.
[0097] The protocol processing submodule can perform CRC check on the content of the VCDU data unit injected on the track. The format of the VCDU data unit is shown in Table 1. The VCDU data unit includes a VCDU header, a VCDU insertion field, a VCDU data field, and an error control field. If the CRC check is wrong, the data frame is discarded, and the CRC error frame count in the corresponding interface telemetry is incremented. If the CRC check is correct, the data frame is input to the data routing module.
[0098] Table 1
[0099]
[0100] The protocol processing submodule is also used to convert the data in the uniform data format sent by the data routing module into data that can be recognized by the external interface, and send it out through the timing processing submodule. Specifically, the output part of the protocol processing submodule is responsible for converting the data output frame from the output branch submodule in the data routing module into the communication protocol output that conforms to the hardware interface module. The length of the output frame varies according to the different data frame parameters. The data frame format sent by the data routing module to the protocol processing submodule is as follows: Figure 3 As shown in (b) in .
[0101] The data routing module is the core of this device. Figure 2As shown, the data routing module includes an input combining submodule, an output branching submodule, an instruction parsing submodule and an SDRAM interface control submodule. The instruction parsing submodule is responsible for the interactive processing of instruction frames. As the receiving end, it parses the instruction frame from the input branching submodule, and completes the operation settings such as SDRAM partition opening, SDRAM partition closing, channel playback mode definition, channel distribution parameter transmission, missing frame query, and start frame count configuration through configuration parameters and control signals, thereby realizing the injection, storage and distribution operations of the on-orbit injection data based on the CFDP protocol through instruction control. At the same time, the instruction parsing submodule as the receiving end regularly broadcasts the internal SDRAM partition status to the channel connected to its hardware interface. The instruction parsing submodule as the sending end determines whether the instruction it sends is correctly instructed according to the telemetry broadcast of the instruction parsing submodule of the receiving end, and arranges to send the relevant instructions and data frames of the next operation according to the ground or on-board instruction group. The SDRAM interface control submodule is responsible for the SDRAM interface timing control and data interaction.
[0102] The input combiner module contains N SDRAM write data caches, M on-track data upload channels and 1 non-volatile memory playback data receive cache. The working mode is configured by the instruction parsing module. The on-track data upload channel contains 1 input interface cache and 1 upload data frame status cache. The input interface cache directly corresponds to the front-end hardware interface module. The upload data frame status cache is used to record the data storage status. The non-volatile memory playback data receive cache is used when the non-volatile storage system is externally connected as a channel for writing playback data to the corresponding partition send cache of SDRAM.
[0103] For the data upload operation on the track, the input combiner submodule processes the data frame write request of the M input interface caches in a polling manner. The input combiner submodule can receive the configuration parameters from the instruction parsing module, complete the address index in the SDRAM through the frame count, and write the data frame into the target partition receive cache of the SDRAM. The uploaded data frame status cache uses the frame count received by the current channel as the index address to store the status of whether the data frame corresponding to the frame count is received. This status can be identified by a 1-bit receiving status, which is 1 if received and 0 if not received. The specific operation process of the input combiner submodule is as follows.
[0104] Step 101 , read the frame type identifier to determine whether the input frame is an instruction frame or a data frame. If it is an instruction frame, forward it to the instruction parsing submodule. If it is a data frame, proceed to step 102 .
[0105] Step 102: Read the SDRAM partition number to determine the partition receive buffer start address.
[0106] Step 103, read the VCDU frame count to determine the SDRAM start address to which the current data frame is written.
[0107] The input combining submodule reads the VCDU frame count, obtains the internal offset address of the SDRAM partition receiving buffer by multiplying the frame count by the length of the SDRAM data basic storage unit, and then adds the partition receiving buffer start address obtained in step 102 to determine the SDRAM start address for writing the data frame this time.
[0108] Step 104, write the receiving status flag into the position corresponding to the VCDU frame count in the upper data frame status buffer.
[0109] Step 105, determining whether to update the maximum continuous frame count corresponding to the SDRAM partition number, wherein if the maximum continuous frame count indicates that the VCDU data unit with the VCDU frame count minus 1 is successfully received, then the maximum continuous frame count is increased by 1, otherwise the maximum continuous frame count is not updated.
[0110] The input combiner submodule reads the VCDU frame count and sets the receiving status of the corresponding position in the upper data frame status buffer to 1, and then starts the telemetry update operation of the partition maximum continuous frame count. The partition maximum continuous frame count is initialized to 0, and it updates the value by continuously reading the receiving status of each frame position from the position of frame count 0 in the partition upper data frame status buffer, and it continues to add 1 until it stops when it reads the first position with a receiving status of 0.
[0111] Step 106, completing the storage operation of the on-track injection data frame in the SDRAM by controlling the SDRAM interface control submodule, and continuing to poll input requests of other channels.
[0112] The SDRAM memory is used to store on-track data, and it has N partitions inside, where N ≥ M (M is the number of hardware interface modules). Each partition is both a storage area for on-track data and a sending channel for on-track data. Each partition contains a receive cache and a send cache. The receive cache does not support cyclic writes, and its minimum size is set to 64MB to support the current mainstream on-track reconstruction file storage. The receive cache writes data by overwriting the offset address. Only areas where all data are overwritten can be read. Therefore, the read operation of the receive cache determines the readable area based on the overwriting result of the write data. The send cache is only started in the working mode using the non-volatile storage system, and its data interaction method is cyclic sequential write and cyclic sequential read. The basic storage unit of the SDRAM memory receive cache is as follows: Figure 3 As shown in (c) in .
[0113] The output splitter module is responsible for the reading operation of the data frame in the SDRAM. It contains N SDRAM read data caches, M on-track injection data distribution channels and 1 non-volatile memory write data cache. The working mode is configured by the instruction parsing module.
[0114] In one possible scenario, when only SDRAM is configured externally, the output branch sub-module uses polling to monitor in real time the growth of the data complete coverage area in the N partition send caches in the SDRAM. When the read condition is met, it enters the SDRAM to read the data frame, and writes the read data frame to the destination hardware interface module according to the instruction definition, thereby entering the on-track data distribution process.
[0115] In another possible scenario, when an SDRAM and non-volatile storage system are configured externally, the output branch submodule performs two types of read operations alternately: 1) A polling method is used to monitor in real time the growth of the data coverage area in the N partition receive caches in the SDRAM. When the read conditions are met, the read data is written into the non-volatile memory write data cache, thereby realizing on-orbit data storage that does not disappear during power failure. 2) A polling method is used to monitor in real time the N partition send caches in the SDRAM. When the read conditions are met, the read data is written into the destination on-orbit data distribution channel according to the configuration information, thereby realizing the distribution operation of the on-orbit data. The on-orbit data distribution channel is based on multi-protocol multi-mode data distribution such as the RMAP protocol and the STUP protocol under the control of the instruction parsing module, and is compatible with the on-orbit data communication protocols for single boards, single machines, and single satellites to multiple satellites.
[0116] The following is a single-channel hardware environment to explain the specific application process of the on-orbit data error detection data frame retransmission mechanism based on the CFDP protocol.
[0117] Step 201, the transmitting end sends an on-track injection initialization instruction to the receiving end, the instruction including parameters such as an injection channel identifier and an on-track injection data identifier connecting the transmitting end and the receiving end.
[0118] The transmitting end can be a ground node device or a satellite node device. The receiving end is a satellite node device.
[0119] The injection channel identifier corresponds to one of the M hardware interface modules. Thus, the receiving end can locate the specific hardware interface module according to the on-track injection initialization instruction, and then establish a corresponding relationship between the on-track injection data to be stored, the hardware interface module, and the on-track injection data injection channel of the input combiner submodule.
[0120] Step 202: After receiving the on-track injection initialization instruction, the receiving end determines the SDRAM partition corresponding to the on-track injection data identifier.
[0121] The on-track data identifier corresponds to one of the N partitions in the SDRAM memory, and then a corresponding relationship is established between the on-track data to be stored, the SDRAM write data cache of the input combiner submodule and the SDRAM partition.
[0122] Specifically, the receiving end checks the currently idle SDRAM partition, and assuming that SDRAM partition 0 is idle, opens SDRAM partition 0. Specifically, the on-track injection data identifier of the on-track injection data in the instruction is bound to SDRAM partition 0, and the binding information is sent to the corresponding hardware interface module, and then the corresponding on-track injection data channel 0 is used for the subsequent target data frame protocol to identify the SDRAM partition number. Referring to step 104, the injection data frame status cache in the on-track injection data channel 0 is initialized, and all values are assigned to 0. If the start frame count is not set, the default start frame count is 0. If the start frame count is received, it is set to the user-defined start frame count. This operation can be used for multiple injections of large-capacity data.
[0123] After step 202, the transmitting end and the receiving end interact with each other to inject data on the track, as shown in steps 101 to 106. After the injection of data on the track is completed, step 203 is entered.
[0124] Step 203: The receiving end broadcasts the maximum continuous frame count of the SDRAM partition corresponding to the on-track data identifier.
[0125] The receiving end may repeatedly perform steps 103 to 106 to store the data corresponding to the data identifier on the track in SDRAM partition 0. Furthermore, after the receiving end performs step 105 for the last time, it may determine the maximum continuous frame count of SDRAM partition 0 for broadcasting.
[0126] Step 204: the transmitting end receives the maximum continuous frame count broadcasted by the receiving end, and determines the injection status of the data frame corresponding to the on-track injection data identifier.
[0127] Specifically, the transmitting end receives the maximum continuous frame count of the SDRAM partition 0 broadcasted by the receiving end. If the maximum continuous frame count is equal to the maximum frame count of the currently injected data on the track plus 1, it proves that all the data injected on the track are successfully injected, and the process proceeds to step 209. Otherwise, it indicates that there is a data frame error or loss in the injected data on the track, and the transmitting end starts the retransmission mechanism and proceeds to step 205.
[0128] Step 205: the transmitting end sends a missing frame query instruction to the receiving end, where the missing frame query instruction includes an on-track data mark.
[0129] This instruction can adopt the write reply frame mode. The on-track data mark in the missing frame query instruction can be used to locate SDRAM partition 0.
[0130] Step 206: The receiving end sends a command reply frame to the sending end, where the command reply frame is used to indicate a count of frames that have not been successfully received by the receiving end.
[0131] Referring to the above step 104, for the frame counts that the receiving end has not successfully received, the receiving end can write the receiving status mark 0 in the corresponding position in the upper data frame status buffer. When the receiving end executes step 206, according to the missing frame query instruction, the frame counts with the receiving status mark 0 can be collected to form an instruction reply frame, and then transmitted to the sending end.
[0132] Step 207, the sending end responds to the frame according to the instruction sent by the receiving end, and retransmits the on-track injection data frame to the receiving end. The retransmitted on-track injection data frame is the on-track injection data frame corresponding to the frame count that was previously unsuccessfully received by the receiving end.
[0133] The sending end receives the frame count from the command reply frame as an index, reads the on-orbit injection data frame in the SDRAM in the on-board device or other storage devices on the ground, and sends the on-orbit injection data frame with the corresponding frame count to the receiving end again.
[0134] Step 208 , the receiving end receives the on-track injection data frame retransmitted by the sending end, updates the maximum continuous frame count, and returns to step 203 .
[0135] With the error frame retransmission mechanism, the receiving end can modify the corresponding position receiving status flag to 1 according to the frame count of the retransmitted on-track injection data frame. After the retransmission is completed, the receiving end reads from the subsequent address with the current maximum continuous frame count until it stops at the next position where the receiving status is 0, and obtains the new maximum continuous frame count.
[0136] Step 209, the data injection operation on the track is completed, and the data is correct and complete.
[0137] The technical solution of the present invention is to use the fixed length advantage of the fixed length virtual channel data unit VCDU defined in CCSDS, and cooperate with the frame count and CRC check result of VCDU to design the system, simplifying the error detection and retransmission communication in the error detection data frame retransmission mechanism in CFDP and other operation steps that require complex calculations. With the support of FPGA parallel computing advantages, a satellite on-orbit injection transmission system that supports efficient transmission of multi-user multi-channel parallel on-orbit injection data based on the CFDP protocol is realized with minimal resources.
[0138] A specific example will be described below to illustrate the implementation mode of the present invention, so as to help technicians in related fields understand the design advantages and application advantages of the satellite on-orbit data transmission device based on the CFDP protocol.
[0139] Example 1
[0140] The present invention provides a satellite on-orbit data transmission device based on the CFDP protocol. The device will configure the architecture, number and equipment layout of the device according to the external hardware interface conditions, data flow conditions and functional performance requirements of the actual application to realize an on-orbit data transmission system that meets the user's requirements.
[0141] In Example 1, the device is implemented using a storage and multiplexing circuit board as a carrier, and its internal structure is as follows: Figure 4 As shown. A storage and multiplexing FPGA is set in the center of the circuit board to realize the logic control function of this device. The storage multiplexing board uses the Arinc659 bus to connect to the CPU inside the single machine, connects to other payload equipment in the satellite through the SpaceWire bus and LVDS bus, connects to the platform measurement and control transponder through the RS422 bus, and connects to the configuration refresh chip inside the circuit board through the Uart serial port. The FPGA is externally connected to the SDRAM, and four 64MB data cache partitions are set inside it. In this example, a non-volatile memory Nand Flash is set to support 320Gb of on-orbit data storage, and a piece of MRAM memory stores the key data of the Nand Flash storage system. The conventional telemetry of the storage and multiplexing FPGA is sent to the SpaceWire bus, Arinc659 bus, RS422 bus and LVDS bus at the same time, and its content contains information about four cache partitions, specifically including: partition corresponding file number, partition storage pointer, partition playback pointer, partition storage playback status and partition maximum continuous frame count.
[0142] In the storage and multiplexing FPGA, the data cache partition is assigned a priority of 0, 1, 2, and 3. After receiving the on-track injection initialization instruction, the data cache partition is assigned according to the priority to enter the on-track injection data of this device, that is, the corresponding relationship between the parameters such as the file number in the instruction, the injection channel identifier connected to the sending end and the receiving end, and the on-track injection data identifier to be stored and the SDRAM cache partition number is locked (see steps 201 to 202). In this example, the device is equipped with a Nand Flash non-volatile storage system. After each data enters the storage and multiplexing FPGA through different topological network layouts and passes through the SDRAM cache partition, the complete and continuous VCDU data frame will be stored in the Nand Flash memory.
[0143] The basic data unit of data injected on the track is 892 bytes of VCDU. VCDU is encapsulated in different protocols along with different data flow transmission paths. Figure 5 shown.
[0144] The on-orbit maintenance data from the ground can be injected into the satellite's storage and multiplexing FPGA through the transponder interface of the measurement and control subsystem or the Arinc659 bus interface of the CPU. Any storage and multiplexing FPGA on the satellite during the orbit entry phase can be used as the first-level receiving end for the on-orbit injection data. The on-orbit maintenance data from the LVDS bus or SpaceWire network originates from other stand-alone devices in the satellite's limited network, and the storage and multiplexing FPGA can be used as the second-level transfer end for the on-orbit injection data. As the receiving end, the FPGA operation steps are as follows:
[0145] a1) After receiving the initialization instruction on track and completing the cache partition and file number locking, the file number corresponding to the partition is updated in the regular telemetry. For example, the storage and multiplexing FPGA locks the partition 0 in the SDRAM and the data with the file number 2 in the RMAP protocol from the CPU. The file number corresponding to the regular telemetry partition 0 of the storage and multiplexing FPGA is updated to 2.
[0146] a2) FPGA starts receiving data from the orbit. 4 partitions support parallel operation. Each interface module is Figure 6 Extract VCDU from various interface protocols and calculate CRC to confirm data correctness. For correct VCDU, extract key parameters to form data frame and write it into data routing module. For example, Arinc659 interface module analysis Figure 6 The data frame is written in the RMAP protocol, and the cache partition 0 is determined by the file number 2. The valid data field in the written data frame is extracted as the VCDU of the on-orbit data injection. The SpaceWire interface module parses the STUP protocol and determines the SDRAM cache partition to which the data is to be written through the combination of the intra-satellite device logical address and the file transfer port number, or the combination of the inter-satellite device logical address and the file transfer port number. The VCDU is extracted after determining whether it is from the intra-satellite STUP protocol or the inter-satellite STUP protocol based on the IPV6 format based on the data type identification number. The LVDS interface module protocol is the VCDU in Table 1. The module determines the SDRAM cache partition to which the data is to be written through the predefined hardware interface logical address and virtual channel identifier.
[0147] a3) The input combining submodule in the data routing module processes the data frames from the four hardware interface modules in a polling manner, and gradually updates the upper data frame status cache of the corresponding partition and the maximum continuous frame count of the corresponding partition in the conventional telemetry for the data frames written to each cache partition.
[0148] a4) After an upload is completed, the data source sender of different interfaces determines whether the upload is received correctly by checking the maximum continuous frame count of the corresponding partition of the FPGA conventional telemetry. If not, the error frame retransmission mechanism based on the CFDP protocol is started. The retransmission operation of the Arinc659 bus and the SpaceWire bus is based on the RMAP protocol. The command and reply frame formats are shown in Figure 6 . The maximum length of the reply packet sent by the storage and multiplexing FPGA is 894 bytes. The reply packet status field indicates the status of this reply packet: 0x11: first segment reply frame; 0x33: middle segment reply frame; 0x55: empty segment reply frame, that is, the previous frame is the last segment reply frame; if the receiving end does not receive 0x55, it will send a continue query missing frame instruction, and support receiving the playback frame with the 0x55 status field, then the operation of obtaining the missing frame is completed. The data source resends the data based on the missing frame query result, and repeats step a4) after each injection until the error frame retransmission operation is completed.
[0149] As the transmitter, the FPGA receives playback file instructions and enters the distribution stage, that is, it cooperates with the playback instruction driver containing different destination logical addresses to realize multi-channel data transmission of on-orbit injection data between single boards, single satellites, and multiple satellites. In different playback modes, the FPGA receives different playback file instructions. The FPGA sets the protocol format of the playback data frame of the corresponding scene according to the instructions, which includes the RMAP protocol format distributed to the CPU, the STUP protocol format distributed to other satellite payloads, and the STUP+IPV6 protocol format distributed to other satellites. At the same time, the FPGA has an error frame retransmission mechanism based on CFDP to support the retransmission of subsequent error frames.
[0150] At the same time, the storage and multiplexing FPGA can be used as a data transfer end, and has the functions of both the receiving end and the sending end, receiving both data upload and instruction distribution data.
[0151] The current and subsequent scalable typical working modes of storage and multiplexing FPGA based on this example are as follows.
[0152] (1) For the on-track update of the single-board storage and multiplexing FPGA, receive the on-track data from the transponder, Airnc659 bus or SpaceWIre bus, and then replay the data to the configuration refresh chip connected to the storage and multiplexing FPGA in the circuit board, and replay the data frame to the configuration refresh chip to realize the on-track update of the FPGA program.
[0153] (2) For the on-orbit injection of important data of the stand-alone CPU board, the FPGA receives the on-orbit injection data from the transponder, and then plays back the data with the destination logical address of the CPU. The playback data frame is encapsulated in the RMAP protocol format and sent to the CPU through the Arinc659 bus.
[0154] (3) For on-orbit program updates of other devices on the same satellite wired network, the FPGA receives on-orbit injection data from the transponder or SpaceWIre bus, and then replays the data to the logical address of the device in the SpaceWire network or LVDS bus. The replayed data frame is encapsulated in STUP protocol format or VCDU format and sent to the device. The target payload device is equipped with a storage and multiplexing FPGA to receive on-orbit injection data from the SpaceWire interface. The FPGA checks for error frames and lost frames and uses a retransmission mechanism based on the CFDP protocol to efficiently and completely transmit on-orbit injection data in the satellite internal network.
[0155] (4) For the key parameter distribution of multi-satellite networking, the destination logical address of the playback instruction is the index parameter of IPV6 plus UDP. The data frame is encapsulated in the protocol format of STUP plus IPV6 on orbit and enters the intersatellite network through the SpaceWire network. Other satellites in the intersatellite network can use FPGA without Nand Flash storage system to directly use the distribution data, or use the full function setting of storage and multiplexing FPGA as the transfer end to further distribute the received key parameters.
[0156] In summary, the present invention provides a satellite on-orbit injection data transmission device based on the CFDP protocol, which will use the VCDU format characteristics to implement the simplest implementation scheme of the CFDP protocol error frame retransmission mechanism, break through the computational limitations of embedded software for retransmission interaction, and use a single-channel minimum resource system combined with FPGA parallel computing to realize a multi-satellite multi-channel on-orbit injection transmission system. The present invention determines the maximum number of channels supported based on the hardware SDRAM capacity, and supports users to flexibly configure the number of parallel transmission channels and the injection path topology connection mode through instructions. The architecture of the present invention is configurable and highly integrated, and its functions cover the entire process of injection, storage and distribution of on-orbit injection data. It has excellent scalability and can configure various node devices at the sending end, transfer end or receiving end during the on-orbit injection data transmission process, covering the subsequent adaptation of various work platforms from single satellite to multiple satellites and then to networking. The present invention realizes the plug-and-play of the hardware interface while supporting the configuration of the information flow path by instructions, supports the highly flexible application scenarios of multi-user multi-channel data on-orbit injection from single satellite to multiple satellites and then to networking, and provides a technical basis for the universal implementation across models and platforms.
[0157] Therefore, the present invention effectively overcomes various shortcomings in the prior art, breaks through the barriers of changes in the overall design of satellites and has high industrial utilization value.
[0158] The above embodiments are merely illustrative of the principles and effects of the present invention, and are not intended to limit the present invention. Anyone familiar with the art may modify or alter the above embodiments without departing from the spirit and scope of the present invention. Therefore, all equivalent modifications or alterations made by a person of ordinary skill in the art without departing from the spirit and technical concept disclosed by the present invention shall still be covered by the claims of the present invention.
Claims
1. A satellite on-orbit data transmission method based on the CFDP protocol, characterized in that: include: receiving a target on-orbit injection data frame, wherein the target on-orbit injection data frame includes a target frame count and a VCDU data unit; According to the target frame count, write the data of the VCDU data unit in the target on-track injection data frame into the corresponding position of the target SDRAM partition; Writing a target receiving status flag at a position corresponding to the target frame count in the injection data frame status buffer of the target SDRAM partition, the target receiving status flag being used to indicate whether the target on-orbit injection data frame is successfully received; Determine whether to update the maximum continuous frame count of the target SDRAM partition. If the maximum continuous frame count of the target SDRAM partition indicates that the on-track injection data frame with the target frame count minus 1 is successfully received, then add 1 to the maximum continuous frame count of the target SDRAM partition; otherwise, do not update the maximum continuous frame count.
2. The method according to claim 1, characterized in that When the target receiving state flag value is 1, it is used to indicate that the target on-orbit injection data frame is successfully received; when the target receiving state flag value is 0, it is used to indicate that the target on-orbit injection data frame is not successfully received; The acquisition of the maximum continuous frame count includes: The receiving status identifier of each frame position is continuously read from the position of frame count 0 in the upstream data frame status cache of the target SDRAM partition, and it is continuously increased by 1 until the first position with a receiving status of 0 is read and stops, and the frame count with the first receiving status of 0 is determined as the maximum continuous frame count.
3. The method according to claim 1 or 2, characterized in that: The target on-track data frame also includes: an SDRAM partition number; and writing the data in the target on-track data frame into a corresponding position of the target SDRAM partition according to the target frame count includes: Read the target SDRAM partition number to determine the starting address of the target SDRAM partition receive buffer; The internal offset address of the target SDRAM partition receiving buffer is obtained by multiplying the target frame count by the SDRAM data basic storage unit length; The start address and the internal offset address of the target SDRAM partition receiving buffer are superimposed to determine the address where the target on-track injection data frame is written in the target SDRAM partition.
4. A satellite on-orbit data transmission method based on the CFDP protocol, characterized in that: include: receiving a target on-orbit injection initialization instruction, wherein the target on-orbit injection initialization instruction includes a target on-orbit injection data identifier; By using the satellite on-orbit injection data transmission method based on the CFDP protocol as described in any one of claims 1 to 3, receiving the data indicated by the target on-orbit injection data identifier and writing it in the target SDRAM partition; The maximum continuous frame count corresponding to the target on-track data injection identifier is sent. The maximum continuous frame count is the maximum continuous frame count of the target SDRAM partition. The maximum continuous frame count is used to indicate that the on-track data injection is completed, or to indicate that the on-track data injection is to be retransmitted.
5. The method according to claim 4, characterized in that In the case where the maximum consecutive frame count indicates that the on-track data is to be retransmitted, the method further comprises: receiving a missing frame query instruction, wherein the missing frame query instruction includes a target on-orbit data mark; Sending a command reply frame for a missing frame query command, the command reply frame is used to indicate the count of frames that were not successfully received; Receive the retransmitted on-track injection data frame, update the maximum continuous frame count and rebroadcast the maximum continuous frame count of the target SDRAM partition.
6. The method according to claim 4 or 5, characterized in that: If the maximum continuous frame count is equal to the maximum frame count of the current on-track injected data plus 1, the maximum continuous frame count is used to indicate that the on-track injected data has been injected; otherwise, the maximum continuous frame count indicates that the on-track injected data is to be retransmitted.
7. A satellite on-orbit data transmission method based on the CFDP protocol, characterized in that: include: Send an on-track injection initialization command, the command includes an on-track injection data identifier; Send the data indicated by the data mark on the target orbit; receiving a maximum continuous frame count corresponding to a target on-track data identifier, the maximum continuous frame count being used to indicate that the on-track data has been injected, or being used to indicate that the on-track data is to be retransmitted; In the case where the maximum consecutive frame count indicates that the on-track data is to be retransmitted, the method further comprises: Sending a missing frame query instruction, the missing frame query instruction includes annotating a data mark on the track; receiving a command reply frame for a missing frame query command, the command reply frame being used to indicate a count of frames that were not successfully received; Send retransmitted on-orbit injection data frame.
8. A satellite on-orbit data transmission device based on the CFDP protocol, characterized in that: include: Hardware interface module, data routing module, the hardware interface module is used to convert external interface protocol data into unified format data and input it to the data routing module; The data routing module is used to execute the satellite on-orbit data transmission method based on the CFDP protocol as described in any one of claims 1 to 3.
9. The satellite on-orbit data transmission device according to claim 8, characterized in that: The satellite on-orbit data transmission device meets any of the following requirements: The hardware interface module includes a timing processing submodule and a protocol processing submodule; the timing processing submodule is used to communicate with the external hardware chip; the protocol processing submodule is used to realize data conversion between the external interface protocol and the internal protocol; The data frame sent by the protocol processing submodule to the data routing module includes the SDRAM partition number, the data frame length, the frame type identifier, the frame count and the VCDU data unit; The protocol processing submodule is used to perform CRC check on the content of the VCDU data unit. If the CRC check is wrong, the data frame is discarded; if the CRC check is correct, the data frame is input to the data routing module; The data routing module comprises an input combining submodule, an output branching submodule, an instruction parsing submodule and an SDRAM interface control submodule; wherein the input combining submodule completes the address index in the SDRAM through frame counting and writes the data frame into the partition of the SDRAM; the input combining submodule comprises N SDRAM write data caches, M on-track data injection channels and 1 non-volatile memory playback data receiving cache, the on-track data injection channel of the input combining submodule comprises 1 input interface cache and 1 injection data frame status cache, the input interface cache corresponds to the hardware interface module of the front end, the injection data frame status cache uses the frame count received by the current channel as the index address, and stores the status of whether the data frame corresponding to the frame count is received, and the non-volatile memory playback data receiving cache is used when the non-volatile storage system is externally connected, and is used as a channel for writing the playback data into the corresponding partition sending cache of the SDRAM; The output branch submodule is responsible for the reading operation of the data frame in the SDRAM; The output split submodule contains N SDRAM read data caches, M on-rail injection data distribution channels, and 1 non-volatile memory write data cache; The instruction parsing submodule is responsible for parsing the instruction frame from the input combining submodule, and completing SDRAM partition opening, SDRAM partition closing, channel playback mode definition, channel distribution parameter transmission, missing frame query, and start frame count configuration through configuration parameters and control signals, so as to realize the injection, storage, and distribution operations of on-orbit injection data based on the CFDP protocol through instruction control; and it is responsible for broadcasting the internal SDRAM partition status to the corresponding injection channel at a regular interval; as the sending end, the instruction parsing submodule determines whether the instruction is correctly instructed according to the telemetry broadcast, and arranges to send the relevant instructions and data frames for the next operation according to the ground or on-board instruction group; The SDRAM interface control submodule is responsible for SDRAM interface timing control and data interaction.
10. A satellite on-orbit data transmission communication system based on the CFDP protocol, characterized in that: It includes ground equipment and several satellite equipment, wherein the satellite equipment is used to execute the satellite on-orbit data transmission method based on the CFDP protocol as described in any one of claims 4 to 7, or the satellite equipment includes the satellite on-orbit data transmission device as described in claim 8 or 9.
Citation Information
Cited By
Satellite data simulation generation method, system, medium and equipment
CN122204957A