Satellite on-board software-in-the-loop satellite CAN line cooperative simulation information interaction method and system

CN117271401BActive Publication Date: 2026-08-28SHANGHAI SATELLITE ENG INST
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
CN202311069799.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-23
Publication Date
2026-08-28
Estimated Expiration
2043-08-23

AI Technical Summary

Technical Problem

[0003]专利文献CN200410009782.1《车载CAN总线实时性能仿真系统》、CN201110240571.9《汽车CAN总线和电控单元结合的半实物仿真实验系统》、CN201210154883.2《基于CAN总线的车身控制系统仿真测试系统》、CN201220222832.4《基于CAN总线的车身控制系统仿真测试系统》、CN201310354766.5《一种基于CAN总线的双路CAN仿真系统》、CN201310355086.5《基于CAN总线的仿真方法》、CN201520314723.9《一种CAN总线数字汽车仪表仿真系统》、CN201720420929.9《CAN总线工作模式的在线仿真系统》、CN201711340625.2《CAN总线仿真测试系统》主要用CAN板卡配合相关软件构建仿真系统,本发明是为了满足虚拟星载计算机软件与系统模型协同仿真的CAN总线信息交互,二者不同;此外检索分析了卢阳的《CAN总线消息响应时间评估系统的仿真与测试》等文献,主要进行CAN总线设备、系统的研制、测试等工作;经调研分析,现有的专利与论文主要涉及基于CAN总线板卡的仿真系统开发、测试,与本发明的星载软件在环的卫星CAN线协同仿真信息交互方法不同

Benefits of technology

通过取矢量字指令,集中获取并缓存下位机系统模型的各个返回数据包,在虚拟计算机的内部完成星载软件取包与收包的CAN总线交互闭环,满足星载软件总线交互的实时性要求,具有良好的工程应用价值。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117271401B_ABST
    Figure CN117271401B_ABST
Patent Text Reader

Abstract

The application provides a kind of satellite software in loop satellite CAN line cooperative simulation information interaction method and system, comprising: step 1: combing the bus interaction data of each system model, forming a combination package;Step 2: according to model combination package, demarcate virtual satellite computer and each system model CAN bus data receiving buffer size, format;Step 3: build virtual satellite computer's CAN bus two-stage receiving buffer;Step 4: run satellite software, satellite software periodic scheduling bus;Step 5: when satellite software takes vector word, let system model feedback combination package;Step 6: combination package is cached in virtual satellite computer's CAN bus receiving buffer, according to the data packet valid bit in vector word Set, complete the interaction of various data packets in virtual satellite computer's internal.This application meets the real-time requirement of satellite software bus interaction, and has good engineering application value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of satellite CAN bus interactive digital simulation technology, specifically to a satellite CAN line collaborative simulation information interaction method and system with onboard software-in-the-loop. Background Technology

[0002] The CAN bus is a commonly used internal bus in satellites for onboard information acquisition, mission management, and scheduling. In satellite simulations with software-in-the-loop (Software-in-the-loop) operation, the real onboard software's responses to the bus have time-sensitive requirements. While the real CAN bus interaction uses a single-packet mechanism, which meets the time-sensitive requirements on real hardware, the increased CAN bus interaction data in the simulation environment leads to simulation delays that fail to meet the real-time requirements of the onboard software. To improve the timeliness of CAN bus co-simulation, vector word commands are used to centrally acquire and cache the return data packets from the lower-level system model. This allows for a closed-loop CAN bus interaction process—including packet retrieval and reception—within the virtual computer, thus meeting the real-time requirements of the onboard software's bus interaction.

[0003] Patent documents include CN200410009782.1 "Real-time Performance Simulation System for Vehicle CAN Bus", CN201110240571.9 "Hardware-Physical Simulation Experiment System Combining Automotive CAN Bus and Electronic Control Unit", CN201210154883.2 "Simulation and Testing System for Body Control System Based on CAN Bus", CN201220222832.4 "Simulation and Testing System for Body Control System Based on CAN Bus", CN201310354766.5 "A Dual-Channel CAN Simulation System Based on CAN Bus", CN201310355086.5 "Simulation Method Based on CAN Bus", and CN201520314723.9 "A CAN Bus Digital Automotive Instrument Simulation". The existing patents and papers, such as CN201720420929.9 "Online Simulation System for CAN Bus Working Mode" and CN201711340625.2 "CAN Bus Simulation and Testing System," mainly use CAN boards and related software to build simulation systems. This invention aims to meet the CAN bus information interaction requirements of virtual spaceborne computer software and system models in collaborative simulation, which are different from the present invention. In addition, the literature such as Lu Yang's "Simulation and Testing of CAN Bus Message Response Time Evaluation System" was searched and analyzed, which mainly focuses on the development and testing of CAN bus devices and systems. According to the research and analysis, the existing patents and papers mainly involve the development and testing of simulation systems based on CAN bus boards, which are different from the satellite CAN line collaborative simulation information interaction method of the present invention. Summary of the Invention

[0004] To address the shortcomings of existing technologies, the purpose of this invention is to provide a method and system for collaborative simulation information interaction of satellite CAN lines with onboard software in the loop.

[0005] The satellite CAN line collaborative simulation information interaction method for onboard software-in-the-loop provided by the present invention includes: Step 1: The onboard software on the virtual onboard computer periodically sends a command to retrieve the vector word to the CAN bus; Step 2: The virtual spaceborne computer sets up a two-level model bus data buffer to store the combined packets returned by the received model; after receiving the command to retrieve vector words, the virtual spaceborne computer pushes the data in the first-level buffer to the second-level buffer. Step 3: The virtual spaceborne computer returns the vector words in the secondary cache to the spaceborne software of the virtual spaceborne computer. The spaceborne software determines the subsequent data acquisition based on the acquired vector word information. Step 4: The virtual spaceborne computer sends the command to retrieve the vector word to the system model; Step 5: After receiving the command to retrieve the vector word, the system model generates a CAN bus combination packet according to the maximum envelope of the model bus interaction data and sends it to the virtual spaceborne computer. Step 6: The virtual spaceborne computer receives the combined packets fed back from the model and stores them in the virtual spaceborne computer's first-level buffer. Step 7: Based on the vector words obtained in Step 3, the onboard software determines the valid data packets and issues the corresponding packet retrieval command. The virtual onboard computer retrieves the corresponding packets from the secondary buffer, returns to the onboard software, and returns to Step 1 to continue execution, completing the bus data interaction simulation.

[0006] Preferably, within a control cycle, the virtual spaceborne computer interacts with a system model only once, and centrally acquires and caches the various return data packets of the lower-level system model by using the instruction to retrieve vector words.

[0007] Preferably, the information interaction between the virtual spaceborne computer and the system model is set with a 4-byte update flag, including peripheral ID, transmit / receive flag and count information. During information interaction, the 4-byte update flag of the input port is checked for changes. If there is a change, it indicates a new input and a response is given; otherwise, no response is given.

[0008] Preferably, the system model generates a combined packet according to the maximum envelope of the bus interaction data, in the format: vector packet + fast remote packet + slow remote packet + ... + status packet, wherein the packet length and content format are fixed; The system model internally organizes a combination of vector words and related telemetry packets, and feeds this information back to the virtual spaceborne computer when it receives a command to retrieve vector words.

[0009] Preferably, the virtual spaceborne computer is configured with a two-level model bus data buffer area, forming a ping-pong structure.

[0010] The satellite CAN line collaborative simulation information interaction system based on onboard software-in-the-loop provided by the present invention includes: Module M1: The onboard software on the virtual onboard computer periodically sends commands to the CAN bus to retrieve vector words; Module M2: The virtual spaceborne computer sets up a two-level model bus data buffer to store the combined packets returned by the received model; after receiving the instruction to retrieve vector words, the virtual spaceborne computer pushes the data in the first-level buffer to the second-level buffer. Module M3: The virtual spaceborne computer returns the vector words in the secondary buffer to the spaceborne software of the virtual spaceborne computer. The spaceborne software determines the subsequent data acquisition based on the acquired vector word information. Module M4: The virtual spaceborne computer sends the command to retrieve vector words to the system model; Module M5: After receiving the command to retrieve the vector word, the system model generates a CAN bus combination packet according to the maximum envelope of the model bus interaction data and sends it to the virtual spaceborne computer. Module M6: The virtual spaceborne computer receives the combined packets of feedback from the model and stores them in the virtual spaceborne computer's primary buffer. Module M7: Based on the vector words obtained by module M3, the onboard software determines the valid data packets, issues the corresponding packet retrieval command, the virtual onboard computer extracts the corresponding packets from the secondary buffer, returns to the onboard software, triggers module M1 to continue running the system, and completes the bus data interaction simulation.

[0011] Preferably, within a control cycle, the virtual spaceborne computer interacts with a system model only once, and centrally acquires and caches the various return data packets of the lower-level system model by using the instruction to retrieve vector words.

[0012] Preferably, the information interaction between the virtual spaceborne computer and the system model is set with a 4-byte update flag, including peripheral ID, transmit / receive flag and count information. During information interaction, the 4-byte update flag of the input port is checked for changes. If there is a change, it indicates a new input and a response is given; otherwise, no response is given.

[0013] Preferably, the system model generates a combined packet according to the maximum envelope of the bus interaction data, in the format: vector packet + fast remote packet + slow remote packet + ... + status packet, wherein the packet length and content format are fixed; The system model internally organizes a combination of vector words and related telemetry packets, and feeds this information back to the virtual spaceborne computer when it receives a command to retrieve vector words.

[0014] Preferably, the virtual spaceborne computer is configured with a two-level model bus data buffer area, forming a ping-pong structure.

[0015] Compared with the prior art, the present invention has the following beneficial effects: By fetching vector word instructions, the system centrally acquires and caches various return data packets from the lower-level machine system model, completing the closed-loop CAN bus interaction of packet retrieval and reception for the spaceborne software within the virtual computer. This satisfies the real-time requirements of spaceborne software bus interaction and has significant engineering application value. Attached Figure Description

[0016] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings: Figure 1 This is a flowchart of the satellite CAN line collaborative simulation information interaction method for onboard software in the loop according to the present invention. Detailed Implementation

[0017] The present invention will now be described in detail with reference to specific embodiments. These embodiments will help those skilled in the art to further understand the present invention, but do not limit the invention in any way. It should be noted that those skilled in the art can make several changes and improvements without departing from the concept of the present invention. These all fall within the protection scope of the present invention.

[0018] Example 1 like Figure 1 This invention provides a method for collaborative simulation information exchange of satellite CAN lines in a software-in-the-loop manner, comprising the following steps: Step 1: The onboard software on the virtual onboard computer periodically sends a "fetch vector word" command to the CAN bus (usually with a period of 0.5 seconds).

[0019] Step 2: The virtual spaceborne computer sets up a two-level model bus data cache to store the "combination packets" returned by the received model. After receiving the "get vector word" instruction, the virtual spaceborne computer pushes the data in the first-level cache to the second-level cache to prevent the first-level cache from being refreshed by new data from the system model.

[0020] Step 3: The virtual satellite computer returns the vector words in the secondary cache to the satellite software of the virtual satellite computer. The satellite software determines the subsequent data acquisition based on the acquired vector word information. The vector word format is shown in Table 3. Setting it to 1 indicates that the relevant packet is valid and needs to be read, while setting it to 0 indicates that the relevant packet is invalid and does not need to be read. The relevant data to be acquired is read from the secondary cache.

[0021] Step 4: The virtual spaceborne computer sends the "Get Vector Word" command to the system model, in the following format: Table 1. Vector Word Fetching Instructions

[0022] Step 5: After receiving the vector word command, the system model generates a CAN bus combined packet consisting of "vector word packet + fast remote packet + slow remote packet + ... + status packet" according to the maximum envelope of the model bus interaction data (i.e., all bus output data packets), and sends it to the virtual spaceborne computer. The combined packet format is as follows: Table 2 Package Format

[0023] The vector word is configured to specify which packet in the combined packet is valid according to the requirements of this communication, and is then output and sent to the virtual satellite computer. An example of the vector word format for packet validity is shown below. Different bits of the vector word are used to set the validity of different data packets; a value of 1 indicates validity, and a value of 0 indicates invalidity.

[0024] Table 3 Vector Font Format

[0025] Step 6: The virtual spaceborne computer receives the combined data packets fed back from the model and stores them in the first-level buffer of the virtual spaceborne computer. Step 2 ensures that the buffered data will not conflict or be overwritten.

[0026] Step 7: Based on the vector words obtained in Step 3, the onboard software determines the valid data packets (set to 1) and issues a packet retrieval command for the corresponding data packets. The virtual onboard computer quickly retrieves the corresponding packets from the secondary buffer and returns them to the onboard software. The number of packets communicated in each instance depends on the bit settings in the vector words. For example, in a certain communication, if the vector word specifies that fast remote sensing (SR) packets are set to 1 and the rest are set to 0, then only SR packets are retrieved in this communication. If the vector word specifies that SR, slow remote sensing (SR), positioning and tracking (MS), orbit determination packets, time packets, operational status packets, and task interaction packets are all set to 1, then each packet needs to be read from the secondary buffer sequentially. After Step 7 is completed, the system returns to Step 1 and repeats Steps 1-7 to complete the bus data interaction simulation.

[0027] Within a control cycle, the virtual spaceborne computer interacts with a system model only once. By fetching vector word instructions, it centrally acquires and caches various return data packets from the lower-level system model. Compared with the traditional method of multiple interactions based on the "1" position of vector word bits, this greatly improves the efficiency of information interaction.

[0028] The information exchange between the virtual spaceborne computer and the system model is configured with a 4-byte update flag, including peripheral ID, transmit / receive flag, and count information. During information exchange, the system checks whether the 4-byte update flag of the input port has changed. If it has changed, it indicates a new input and a response is given; otherwise, no response is given.

[0029] Table 4 Update Flags

[0030] The system model generates a combination packet of "vector packet + fast remote packet + slow remote packet + ... + status packet" according to the maximum envelope of the bus interaction data. The packet length and content format are fixed, which ensures the determinism of information interaction and the ease of parsing.

[0031] The system model internally organizes a combination of vector words and related telemetry packets, and quickly feeds back to the virtual spaceborne computer when it receives a command to retrieve vector words.

[0032] The virtual spaceborne computer sets up a two-level model bus data cache, forming a ping-pong structure to prevent the first-level cache from being overwritten by newly arriving combined packet data from the system model.

[0033] Inside the virtual spaceborne computer, secondary cache data is read, and multiple internal information exchanges are performed based on the vector word setting to "1" according to the actual spaceborne software interaction method. The closed loop of spaceborne software data retrieval and return CAN bus interaction is completed inside the virtual computer, ensuring the timeliness requirements of spaceborne software bus interaction response.

[0034] In summary, by using vector word commands to centrally acquire and cache the return data packets of the lower-level system model, the CAN bus interaction closed loop for packet acquisition and reception of the spaceborne software is completed within the virtual computer, meeting the real-time requirements of spaceborne software bus interaction and demonstrating significant engineering application value.

[0035] Example 2 This invention also provides a satellite CAN line collaborative simulation information interaction system based on onboard software-in-the-loop (Software-in-the-loop) technology. This system can be implemented by executing the steps of the onboard software-in-the-loop satellite CAN line collaborative simulation information interaction method. That is, those skilled in the art can understand the onboard software-in-the-loop satellite CAN line collaborative simulation information interaction method as a preferred embodiment of the onboard software-in-the-loop satellite CAN line collaborative simulation information interaction system.

[0036] The satellite CAN bus collaborative simulation information interaction system based on onboard software-in-the-loop provided by the present invention includes: Module M1: Onboard software on a virtual onboard computer periodically sends a command to retrieve vector words to the CAN bus; Module M2: The virtual onboard computer sets up a two-level model bus data buffer for storing combined packets returned by the received model; after receiving the command to retrieve vector words, the virtual onboard computer pushes the data in the first-level buffer to the second-level buffer; Module M3: The virtual onboard computer returns the vector words in the second-level buffer to the onboard software of the virtual onboard computer, and the onboard software determines the subsequent data acquisition based on the acquired vector word information; Module M4: Virtual... The virtual spaceborne computer sends the command to retrieve vector words to the system model; Module M5: After receiving the command to retrieve vector words, the system model generates a CAN bus combination packet according to the maximum envelope of the model bus interaction data and sends it to the virtual spaceborne computer; Module M6: The virtual spaceborne computer receives the combination packet fed back by the model and stores it in the first-level buffer of the virtual spaceborne computer; Module M7: Based on the vector words obtained by module M3, the spaceborne software determines the valid data packet, issues the corresponding data packet retrieval command, the virtual spaceborne computer retrieves the corresponding packet from the second-level buffer, returns it to the spaceborne software, triggers module M1 to continue running the system, and completes the bus data interaction simulation.

[0037] Within a control cycle, the virtual onboard computer interacts with a system model only once, centrally acquiring and caching various return data packets from the lower-level system model through instructions to retrieve vector words.

[0038] The information exchange between the virtual spaceborne computer and the system model is set with a 4-byte update flag, including peripheral ID, transmit / receive flag and count information. During information exchange, the system checks whether the 4-byte update flag of the input port has changed. If it has changed, it indicates a new input and responds accordingly; otherwise, it does not respond.

[0039] The system model generates combined packets based on the maximum envelope of the bus interaction data. The format is: vector word packet + fast remote packet + slow remote packet + ... + status packet, where the packet length and content format are fixed. The system model internally organizes a combination of vector words and related telemetry packets, and feeds this information back to the virtual spaceborne computer when it receives a command to retrieve vector words.

[0040] The virtual spaceborne computer sets up a two-level model bus data buffer area, forming a ping-pong structure.

[0041] Those skilled in the art will understand that, in addition to implementing the system, apparatus, and their modules provided by this invention in purely computer-readable program code, the same program can be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, the system, apparatus, and their modules provided by this invention can be considered a hardware component, and the modules included therein for implementing various programs can also be considered structures within the hardware component; alternatively, modules for implementing various functions can be considered both software programs implementing the method and structures within the hardware component.

[0042] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.

Claims

1. A method for collaborative simulation information exchange via satellite CAN bus in a spaceborne software-in-the-loop architecture, characterized in that, include: Step 1: The onboard software on the virtual onboard computer periodically sends a command to retrieve the vector word to the CAN bus; Step 2: The virtual spaceborne computer sets up a two-level model bus data buffer to store the combined packets returned by the received model; after receiving the command to retrieve vector words, the virtual spaceborne computer pushes the data in the first-level buffer to the second-level buffer. Step 3: The virtual spaceborne computer returns the vector words in the secondary cache to the spaceborne software of the virtual spaceborne computer. The spaceborne software determines the subsequent data acquisition based on the acquired vector word information. Step 4: The virtual spaceborne computer sends the command to retrieve vector words to the system model; Step 5: After receiving the command to retrieve the vector word, the system model generates a CAN bus combination packet according to the maximum envelope of the model bus interaction data and sends it to the virtual spaceborne computer. Step 6: The virtual spaceborne computer receives the combined packets fed back from the model and stores them in the virtual spaceborne computer's first-level buffer. Step 7: Based on the vector words obtained in Step 3, the onboard software determines the valid data packets and issues the corresponding packet retrieval command. The virtual onboard computer retrieves the corresponding packets from the secondary buffer, returns to the onboard software, and returns to Step 1 to continue execution, completing the bus data interaction simulation.

2. The satellite CAN line collaborative simulation information interaction method for onboard software-in-the-loop as described in claim 1, characterized in that, Within a control cycle, the virtual spaceborne computer interacts with a system model only once, centrally acquiring and caching the various return data packets from the lower-level system model through instructions to retrieve vector words.

3. The satellite CAN line collaborative simulation information interaction method for onboard software-in-the-loop as described in claim 1, characterized in that, The information exchange between the virtual spaceborne computer and the system model is set with a 4-byte update flag, including peripheral ID, transmit / receive flag and count information. During information exchange, the system checks whether the 4-byte update flag of the input port has changed. If it has changed, it indicates a new input and responds accordingly; otherwise, it does not respond.

4. The satellite CAN line collaborative simulation information interaction method for onboard software-in-the-loop as described in claim 1, characterized in that, The system model generates combined packets based on the maximum envelope of the bus interaction data, including: vector word packets, fast remote packets, slow remote packets, and status packets, among which the packet length and content format are fixed; The system model internally organizes a combination of vector words and related telemetry packets, and feeds this information back to the virtual spaceborne computer when it receives a command to retrieve vector words.

5. The satellite CAN line collaborative simulation information interaction method for onboard software-in-the-loop as described in claim 1, characterized in that, The virtual spaceborne computer sets up a two-level model bus data buffer area, forming a ping-pong structure.

6. A satellite CAN line collaborative simulation information interaction system with onboard software-in-the-loop, characterized in that, include: Module M1: The onboard software on the virtual onboard computer periodically sends commands to the CAN bus to retrieve vector words; Module M2: The virtual spaceborne computer sets up a two-level model bus data buffer to store the combined packets returned by the received model; after receiving the instruction to retrieve vector words, the virtual spaceborne computer pushes the data in the first-level buffer to the second-level buffer. Module M3: The virtual spaceborne computer returns the vector words in the secondary buffer to the spaceborne software of the virtual spaceborne computer. The spaceborne software determines the subsequent data acquisition based on the acquired vector word information. Module M4: The virtual spaceborne computer sends the command to retrieve vector words to the system model; Module M5: After receiving the command to retrieve the vector word, the system model generates a CAN bus combination packet according to the maximum envelope of the model bus interaction data and sends it to the virtual spaceborne computer. Module M6: The virtual spaceborne computer receives the combined packets of feedback from the model and stores them in the virtual spaceborne computer's primary buffer. Module M7: Based on the vector words obtained by module M3, the onboard software determines the valid data packets, issues the corresponding packet retrieval command, the virtual onboard computer extracts the corresponding packets from the secondary buffer, returns to the onboard software, triggers module M1 to continue running the system, and completes the bus data interaction simulation.

7. The satellite CAN line collaborative simulation information interaction system with onboard software in the loop according to claim 6, characterized in that, Within a control cycle, the virtual onboard computer interacts with a system model only once, centrally acquiring and caching various return data packets from the lower-level system model through instructions to retrieve vector words.

8. The satellite CAN line collaborative simulation information interaction system with onboard software in the loop according to claim 6, characterized in that, The information exchange between the virtual spaceborne computer and the system model is set with a 4-byte update flag, including peripheral ID, transmit / receive flag and count information. During information exchange, the system checks whether the 4-byte update flag of the input port has changed. If it has changed, it indicates a new input and responds accordingly; otherwise, it does not respond.

9. The satellite CAN line collaborative simulation information interaction system with onboard software in the loop according to claim 6, characterized in that, The system model generates combined packets based on the maximum envelope of the bus interaction data, including: vector word packets, fast remote packets, slow remote packets, and status packets, among which the packet length and content format are fixed; The system model internally organizes a combination of vector words and related telemetry packets, and feeds this information back to the virtual spaceborne computer when it receives a command to retrieve vector words.

10. The satellite CAN line collaborative simulation information interaction system with onboard software in the loop according to claim 6, characterized in that, The virtual spaceborne computer sets up a two-level model bus data buffer area, forming a ping-pong structure.

Citation Information

Patent Citations

  • Automobile semi-physical simulation experimental system combining controller area network (CAN) bus and electronic control unit

    CN102306022A

  • Car body control system simulation test system based on controller area network (CAN) bus

    CN102681536A

  • Double-channel CAN simulation system based on CAN buses

    CN103414620A

  • Simulation method based on CAN buses

    CN103414622A

  • CAN bus simulation test system

    CN107817789A