Simulation platform and method for equipment with high time sequence requirement
By adopting RTOS and timing simulation control technology in the simulation platform, the timing stability and reliability of high timing requirements for equipment are solved, high-precision equipment simulation is achieved, and the difficulty of simulation technology in related fields is reduced.
Patent Information
- Application Number
- CN202510617765.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-14
- Publication Date
- 2025-06-10
- Estimated Expiration
- 2045-05-14
AI Technical Summary
The prior art is difficult to effectively solve the problems of high timing requirements for equipment, resulting in large differences in timing differences between simulation equipment and real equipment.
Using real-time operating system (RTOS) and timing simulation control technology, the RTOS version, algorithm library, ICD template and communication protocol are configured to realize the timing and functional characteristics of the simulation object through the combination of development systems and testing systems.
High-precision simulation of high-temporal requirements equipment is realized, ensuring that the time behavior of the simulation equipment is consistent with the imitation object, and reducing the difficulty of equipment simulation technology in the fields of aerospace, aviation, navigation, etc.
Smart Images

Figure CN120124324A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the technical field of device simulation, and particularly to a simulation platform and method for devices with high timing requirements. Background Art
[0002] Spacecraft, aircraft, ships, and other high-precision and sophisticated devices usually have extremely high timing requirements. Traditional embedded simulation methods focus more on simulation functions and ignore the timing stability and reliability of simulation devices. Therefore, their application scope is relatively narrow.
[0003] For example, in the field of aviation, for an airborne device to pass airworthiness verification, it is ensured that the process from the generation of a certain signal excitation to its transmission to the bus requires N 0 time and has extremely small fluctuations; currently, the above process in the simulation system for the simulation device requires N 1 time. Due to the absence of timing simulation control and being restricted by the characteristics of simulation device components, N 1 has a large range of fluctuations and is quite different from the real airborne device.
[0004] The application of the real-time multitasking operating system RTOS provides technical feasibility for the realization of high-timing-stability and high-timing-reliability simulation. Through the RTOS real-time multitasking operating system, combined with timing simulation control technology, it becomes possible to achieve device simulation with high timing stability and reliability. However, there is currently a lack of a simulation platform that adopts RTOS and the corresponding timing simulation control technology. Summary of the Invention The purpose of the embodiments of the present disclosure is to provide a simulation platform and method for devices with high timing requirements, thereby solving the foregoing problems existing in the prior art.
[0005] To achieve the above purpose, the technical solutions adopted in the embodiments of the present disclosure are as follows: On the one hand, embodiments of the present disclosure propose a simulation platform for devices with high timing requirements, which is applied to devices related to aviation, aerospace, and navigation. The simulation platform includes: a development system, and the development system includes: A to-be-simulated object editing module, which acquires the basic information, timing characteristic information, and ICD description information of the to-be-simulated object, determines the simulation target, and performs timing characteristic and functional characteristic simulation of the simulation device based on the acquired information; A resource configuration module, which determines the RTOS version, configures the application basic resource library, configures the algorithm library, the ICD template of the simulation device, and the communication protocol, to support the development of resident applications, complete the construction of the software ecosystem required for resident application deployment, and also has an extension library function for loading other third-party libraries, plugins, and API function content; An application development module, which is used for developing the resident applications of the simulation device and developing and compiling the timing control algorithm, so as to realize the simulation of the functional characteristics and performance characteristics of the object to be simulated; An application deployment module, which uses the operating system deployment module, resource file deployment module, ICD synchronization module, communication protocol deployment module and resident application deployment module to deploy the software ecosystem, resident applications and ICD constraints in sequence according to the constraint order.
[0006] Exemplarily, the application development module includes: A resident application code development module, which writes and develops the core function codes for data acquisition and driving, data processing, signal reception and transmission, and specific simulation functions for simulation, simulates the functional characteristics of the object to be simulated, and realizes timing scheduling and control in combination with the timing control algorithm; A timing simulation control algorithm development module, which develops and optimizes the algorithm for controlling the simulation timing to ensure that the time behavior of the simulation device is consistent with that of the object to be simulated; An ICD editing and matching module, which edits the internal functional components and signal definitions of the simulation device, constrains the data communication interface and pins, and clarifies the data communication protocol and data packet definitions to ensure the functional consistency between the simulation device and the object to be simulated; A compiler module, which uniformly compiles the generated codes, algorithms and ICD information to generate deployable application files and ICD files, and completes the encapsulation of the resident applications.
[0007] Exemplarily, the object to be simulated editing module constructs the hardware of the simulation device according to the preset hardware architecture standard.
[0008] Exemplarily, the simulation platform further includes: a timing optimization model, which is used for optimizing and expanding the timing logic data of the corresponding device to be simulated according to the measured timing; Specifically including: identifying each timing node; obtaining the node to be optimized according to the timing node, and correspondingly matching the function of the node to be optimized; obtaining the optimized timing.
[0009] Exemplarily, the identifying each timing node; obtaining the node to be optimized according to the timing node, and correspondingly matching the function of the node to be optimized; obtaining the optimized timing includes: Determining the physical function module in the timing execution process of the timing node; Obtaining the node to be optimized according to the timing node, and correspondingly matching the function of the optimized node; determining the front and back sides of the timing execution of the physical function module, identifying the front and back sides as the nodes to be optimized, and matching the functions of the corresponding nodes to be optimized; the functions are data feedback and safety warning; Obtaining the final optimized timing.
[0010] Exemplarily, the object to be simulated editing module includes: The basic information module is used to obtain the basic information of the object to be simulated; The timing feature import module is used to obtain the timing feature information of the object to be simulated; The ICD import module is used to obtain the ICD description information of the object to be simulated.
[0011] Exemplarily, the resource configuration module includes: The operating system configuration module is used to select the version of the real-time operating system (RTOS) and provide a runtime environment for the resident application; The application basic resource library sets the basic libraries required by the application program, such as the graphics library, the middle layer, and the API interface, to provide necessary support for application development; The algorithm library configuration module selects or adds specific timing control algorithms and timers according to the simulation requirements to implement the required calculation and processing logic; The ICD configuration module stores multiple ICD templates, determines the appropriate ICD template for the interface control document to ensure the interface compatibility between the simulation device and the object to be simulated; or, by automatically parsing the existing ICD file and generating the corresponding simulation code, it also supports dynamic updating of the ICD information; The communication protocol configuration module configures the communication protocol applicable to the simulation device; The extended library other resource module is used to load other third-party libraries, plugins, and API functions.
[0012] Exemplarily, the application deployment module includes: The operating system deployment module is used to deploy the corresponding version of the operating system according to the hardware specifications; The resource file deployment module is used to deploy the basic resource library required to support the operation of the resident application; The ICD synchronization module is used to edit or import the ICD template that meets the requirements of the simulation device; The communication protocol deployment module is used to select the corresponding communication protocol according to the simulation requirements; The resident application deployment module is used to collect all compiled execution files, library files, and other related resources.
[0013] Exemplarily, the simulation platform further includes a test system, and the test system includes: The object under test synchronization module is used for information synchronization of the object under test and generation of test GUI and internal component and communication interface list resources; The test library management module is used to edit and manage the test cases; The test module is used to test the object under test; A test evaluation module for performing subjective and objective test evaluations and generating test reports.
[0014] Exemplarily, the DUT synchronization module includes: An ICD synchronization and confirmation module that realizes the synchronization of the DUT by connecting to a simulation device to obtain the deployed ICD file and combining it with the ICD file synchronized by the simulation platform development system; An object set generation module that parses the ICD content and generates an ICD object set; A GUI generation module that generates a GUI image based on the ICD object set.
[0015] Exemplarily, the test library management module includes: A test case import module for importing external test cases; A test case editing module that edits the contents of newly created test cases and existing test cases; A test case management module that manages newly created or externally imported test cases; including adding, deleting, modifying, and screening; A test library management module for saving imported test cases or edited test cases.
[0016] Exemplarily, the test module includes: An ICD object list display module for test queries centered on objects and displaying synchronized test information; A test case configuration module that assigns test cases to ICD objects; A test deployment module for determining the order and mode of test deployment; A test driver module that generates a test driver script based on the tests of the test deployment module and associated test cases and generates a test data excitation signal; A test monitor and result recording module for monitoring the test process and recording / saving the test process data and test case results.
[0017] Exemplarily, the test evaluation module includes: A test generated data synchronization module that loads and synchronizes test process and result data; A test process playback module that performs a graphical and intuitive data test process playback on the GUI image and ICD object list; A test report generation module that synchronizes the test record / saved data and combines it with the test process playback to achieve subjective and objective evaluations of the test and generate a test report file.
[0018] Exemplarily, the simulation platform further includes: a graphical user interface, which is used to interact with each module, and through which users can access and operate each functional module within the platform.
[0019] Another aspect of the embodiments of the present disclosure provides a simulation method for devices with high timing requirements. Using the simulation platform described above, the method includes: According to the determined object to be simulated, configure the corresponding timer model and algorithm prototype, and configure the corresponding ICD template file. Select the required resident operating system, application basic resource library, and communication protocol from the basic library; Edit the ICD template file to generate an ICD file; Load the timer model and algorithm prototype. According to the timer model, algorithm prototype, and the timing characteristic information of the imported object to be simulated, edit the timing simulation control algorithm code; According to the actual development requirements, select the corresponding configuration from the application basic resource library to edit the resident application code; Compile the ICD file, the timing simulation control algorithm code file, and the resident application code file into an executable file; Deploy the executable file to the hardware device to be simulated.
[0020] Exemplarily, the simulation method further includes a testing method; The testing method includes: Connect the simulation device to the simulation platform through a wired or wireless signal; Based on the ICD information of the device to be simulated, confirm whether the device under test is consistent with the ICD description device after establishing the connection. Among them, the connection data includes: device, internal functional components of the device, interface functions, and the number of interfaces; According to the imported test cases, deploy the test activities, modify the test cases according to different test requirements and specify the test object. After the deployment is completed, drive the simulation device to perform tests; Monitor and record the test process in real time, and display the test information in real time; Record the test information, generate a test report, and evaluate the performance of the simulation device according to the test report.
[0021] Another aspect of the embodiments of the present disclosure proposes a simulation terminal, including the platform described above.
[0022] The beneficial effects of the embodiments of the present disclosure are: The simulation platform of the embodiments of the present disclosure, according to the functional and performance characteristics of the object to be simulated, adopts the RTOS and the timing simulation control algorithm development module, and realizes the synchronous simulation of the functions and performance of complex objects to be simulated through more general communication interfaces and communication protocols. On the basis of ensuring the reliability of the simulation, it effectively reduces the technical difficulty of the simulation technology for devices with high timing stability and timing reliability in the fields of aerospace, aviation, and navigation. Description of the Drawings
[0023] Figure 1 It is a schematic diagram of the architecture of a simulation platform for high-timing-requirement devices according to an embodiment of the present disclosure; Figure 2 It is another schematic diagram of the architecture of a simulation platform for high-timing-requirement devices according to an embodiment of the present disclosure; Figure 3 It is a schematic diagram of the simulation process for high-timing-requirement devices according to an embodiment of the present disclosure; Figure 4 It is a schematic diagram of the simulation hardware test process of a simulation platform for high-timing-requirement devices according to an embodiment of the present disclosure; Figure 5 It is a schematic diagram of the working process of the synchronization module of the object under test of a simulation platform for high-timing-requirement devices according to an embodiment of the present disclosure; Figure 6 It is a schematic diagram of the working process of the test library management module of a simulation platform for high-timing-requirement devices according to an embodiment of the present disclosure; Figure 7 It is a schematic diagram of the working process of the test module of a simulation platform for high-timing-requirement devices according to an embodiment of the present disclosure; Figure 8 It is a schematic diagram of the working process of the test evaluation module of a simulation platform for high-timing-requirement devices according to an embodiment of the present disclosure. Specific embodiments
[0024] In order to make the objectives, technical solutions and advantages of the embodiments of the present disclosure clearer, the following further describes the embodiments of the present disclosure in detail with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only used to explain the embodiments of the present disclosure and are not used to limit the embodiments of the present disclosure.
[0025] The simulation platform for high-timing-requirement devices provided by an embodiment of the present disclosure on the one hand is a simulation device platform for simulating "high-precision and specialized" devices. The platform, according to the functional characteristics (which can be understood as frequency-domain characteristics) and performance characteristics (which can be understood as time-domain characteristics) of the object to be simulated, utilizes the inherent characteristics of a real-time operating system, and realizes the functional and performance synchronous simulation of complex objects to be simulated through more general communication interfaces and communication protocols. On the basis of ensuring the reliability of the simulation, it effectively reduces the technical difficulty of simulating "high-precision and specialized" devices in the fields of aerospace, aviation, navigation, etc.; by constructing a hardware architecture standard, a simulation platform development system, and a simulation platform test system, during the design and development process of the simulation hardware, it provides the development and support for the resident software of the operating simulation hardware device, and at the same time supports the closed-loop test of hardware and software.
[0026] Such as Figure 1As shown in the figure, on the one hand, an embodiment of the present disclosure proposes a simulation platform for devices with high timing requirements, which is applied to aviation, aerospace and aviation-related equipment. The simulation platform includes a development system and a test system. Among them, the development system is used to develop resident applications for simulation devices that meet the hardware architecture standard, and is mainly composed of modules such as a simulation object editing module, a resource configuration module, an application development module, and an application deployment module. The simulation test system is used to perform hardware and software tests on the developed simulation devices, and is mainly composed of modules such as a test object synchronization module, a test library management module, a test module, and a test evaluation module.
[0027] An embodiment of the present disclosure constructs a simulation device platform for simulating "high-precision and sophisticated" devices, integrating the development and test systems. It can build the simulation device hardware by using the pre-designed hardware architecture standard, and can realize development tasks such as resource configuration, application development, simulation test, and report generation of the simulation hardware device on a single platform. The platform is built-in with a variety of development and test cases, and can quickly deploy the development and test cases to achieve the rapid development of the simulation device, avoiding repeated development.
[0028] As Figure 2 shown in the figure, the hardware architecture standard, for example, a specification standard of a pre-set embedded simulation device, includes a hardware interface standard (HK-FD-Hport-s), a peripheral standard (HK-FD-HPeriph-s), a kernel standard (HK-FD-Hcore-s), a HAL interface standard HK-FD-HAL-s (HK-FD-HAL-s), and an RTOS interface standard (HK-FD-RTOS-s), which are used to constrain the development of embedded hardware devices.
[0029] The hardware architecture adopts the above-mentioned hardware architecture standard and is mainly composed of 5 layers. The bottom layer is the external interface layer of the simulation device hardware, the second layer is the embedded peripheral, the third layer is the embedded processor core, the fourth layer is the real-time operating system, and the fifth layer is the resident application.
[0030] According to the hardware architecture standard, the hardware architecture of the simulation device is implemented as follows: Hardware interface standard (HK-FD-Hport-s): Defines all physical connections and communication protocols for the interaction between the simulation device and external systems or components to ensure compliance with specific requirements. According to this standard, the corresponding interface circuit can be selected or designed to ensure that the simulation device can correctly receive input signals and send output signals.
[0031] Peripheral Standard (HK-FD-HPeriph-s): It specifies all types of peripheral devices that the simulation device can support and their configuration methods, ensuring the compatibility and performance of the peripherals. Based on this standard, it is possible to determine which sensors, actuators, or other peripherals need to be integrated and ensure that they can work in the expected manner.
[0032] Kernel Standard (HK-FD-Hcore-s): It defines the selection, configuration, and performance parameters of the core processing unit of the simulation device, ensuring that the simulation device has sufficient computing power. This includes the selection of the processor architecture, support for instruction sets, memory management strategies, etc., to ensure that the simulation device has sufficient computing power to meet the performance requirements.
[0033] HAL Interface Standard (HK-FD-HAL-s): The Hardware Abstraction Layer (HAL) provides a mechanism that enables upper-layer software to be developed without depending on the specific implementation of the underlying hardware. Building the HAL according to this standard can improve the portability and reusability of the software, while simplifying the software development process. It provides standard interfaces for the hardware abstraction layer, enabling software development to be independent of the specific hardware implementation and improving the portability of the software.
[0034] RTOS Interface Standard (HK-FD-RTOS-s): The Real-Time Operating System (RTOS) is a key component of many embedded systems. This standard defines the services and interfaces that the RTOS should provide, as well as key behaviors such as task scheduling and interrupt handling, ensuring the real-time response ability of the system.
[0035] The said simulation platform development system is used for the development of resident applications for simulation device hardware. A resident application refers to an entity that combines functions such as supporting timing scheduling, data processing, signal acquisition, and driving on the simulation device hardware platform and the RTOS system, and is encapsulated in the form of an application program; in the said development system, the development of resident applications for the embedded simulation hardware device supporting the platform is mainly supported by, but not limited to, the following modules.
[0036] The object-to-be-simulated editing module mainly consists of a basic information module, a timing feature import module, and an ICD import module. Through the above modules, the basic information, timing feature information, and ICD description information of the object to be simulated are obtained respectively, and the key attribute information such as the performance characteristics and functional characteristics of the device to be simulated is clarified to determine the simulation target. The object to be simulated is the hardware device to be simulated. Among them, the basic information includes: device category, device name, device serial number, etc. For example, aviation equipment / ARJ21 aircraft / avionics equipment / EFIS control box / C6233-20200702; Timing feature information: refers to the time series characteristics of device operations, such as signal processing delay, response time, and task execution cycle, etc. ICD description information: internal functional components of the device, physical signal definitions, device communication interface descriptions, device communication protocols, and communication data packet definitions, etc.
[0037] The object-to-be-simulated editing module of the present disclosure embodiment utilizes the function window and built-in components of the object-to-be-simulated editing module to edit and import the basic information, timing feature information, and ICD description information of the device to be simulated, so as to achieve the performance and function matching between the object to be simulated and the simulation object, and ensure that the simulation result conforms to the characteristics of the object to be simulated. It should be noted that the object-to-be-simulated editing module mainly supports manual editing operations through the window visual classification input controls of each module, and supports the import of tabular file information in standard format through the data import dialog box; in addition, the timing information import has an image recognition algorithm, and also supports the import of timing diagrams for timing feature import editing, or directly imports the timing control source code of the device to be simulated; through the above methods, the performance characteristics and functional characteristics of the object to be simulated are edited, and based on this, the timing performance and functional characteristics of the simulation device are simulated. The object-to-be-simulated editing module can also construct the simulation device hardware according to the pre-set hardware architecture standard.
[0038] The resource configuration module mainly consists of an operating system configuration module, an application basic resource library, an algorithm library configuration module, an ICD configuration module, a communication protocol configuration module, and an extended library other resource management module; through the above modules, the resources required by the device can be configured, such as resources like the operating system, communication protocol, algorithm library, etc., to support the code development of the resident software.
[0039] The function of the resource configuration module mainly realizes the configuration of simulation resources through the function window of the resource configuration module by selecting the RTOS version, configuring the application basic resource library, configuring the algorithm library, selecting the ICD template of the simulation device, selecting the communication protocol, etc., to support the development and implementation of the resident application, and at the same time complete the construction of the software ecosystem required for the deployment of the resident application; in addition, it also has an extended library function for loading other third-party libraries, plugins, API functions, etc.
[0040] The operating system configuration module stores RTOS versions such as FREERTOS and RT-Thread; the application basic resource library configuration module includes: graphics library, middleware, and API interfaces, etc.; the algorithm library configuration module stores timers and algorithm prototypes, etc.; the ICD configuration module stores various ICD templates such as A429-ICD, A664-ICD, CAN-ICD, CAN-ICD, EN-ICD, G-ICD, etc.; the communication protocol configuration module stores CAN protocol, Ethernet protocol, and custom protocols, etc.; the extended library other resource management module stores TTS, image recognition, etc.
[0041] Configure the operating system and select the RTOS version: Select the version of the Real-Time Operating System (RTOS) to provide a runtime environment for resident applications. Configure the application basic resource library: Set up the basic libraries required by the application program, such as the graphics library, middleware, and API interfaces, etc., to provide necessary support for application development. Configure the algorithm library: Select or add specific timing control algorithms and timers according to simulation requirements to implement the required computing and processing logic. Select the simulation device ICD template: Pick a suitable Interface Control Document (ICD) template to ensure the interface compatibility between the simulation device and the object under simulation. Select the communication protocol: Configure the communication protocol applicable to the simulation device to ensure the standard and efficiency of data transmission. Extend the library functions: Used to load other third-party libraries, plugins, API functions, etc., to enhance the flexibility and functionality of the software ecosystem.
[0042] Among them, the graphics library of the application basic resource library configuration is mainly responsible for configuring the library files related to graphics processing, such as the libraries used in scenarios like interface design and graphics rendering. The graphics library is an application basic resource library specifically for graphics processing.
[0043] Middleware generally refers to the software layer located between the operating system and the application program. It is responsible for handling some general tasks, such as transaction management, message passing, data conversion, etc., so that developers can focus on the implementation of business logic rather than the underlying technical details.
[0044] API (Application Programming Interface) is a set of rules that define how software communicates with each other. The API interface allows different software systems to interact and can provide specific functions or services without exposing the underlying implementation details.
[0045] Other resources of the extension library are mainly used to expand the capabilities of the simulation device so that it can support more functions and services. The functions of these resources mainly include: Increasing functionality: By integrating third-party libraries, plugins, or APIs, new functional features are introduced to the simulation device, such as advanced data analysis and support for specific hardware.
[0046] Enhancing flexibility: Allowing developers to flexibly add or replace different libraries and tools according to project requirements to meet specific development requirements. Promoting interoperability: Enabling the simulation device to interact better with other systems or components, for example, by calling external APIs to access cloud services or IoT platforms.
[0047] An ICD template is usually a standardized file or data structure that contains the basic definitions of a certain communication protocol or interface, such as A429, A664, CAN, etc. For example: data frame format; field names, lengths, data types, etc.; physical signal characteristics, such as voltage range, frequency, etc.; common communication rules or protocols. When a user selects an ICD template, the following steps are taken: (1) Loading the template: Loading the selected template file from the ICD configuration module. The template file may be a pre-stored standardized file in formats such as XML, JSON, Excel, etc. (2) Matching the input ICD description information: The user inputs specific ICD description information through the object to be simulated editing module. These input information are matched with the fields in the template to fill or overwrite the default values in the template. For example: If the length of "Field A" is defined as 8 bits in the template, but the ICD description information input by the user requires "Field A" to be 16 bits, the system will update the definition of this field. If some fields are missing in the template, these fields will be supplemented according to the input information. (3) Generating code or configuration files: After completing the matching and filling, code or configuration files required for simulation will be generated according to the final ICD description information. This step is similar to the generation process of automated ICD parsing, including: data frame parsing and packing logic; simulators or drivers for communication interfaces; simulation parameters for physical signals. (4) Verifying the generation results: The generated code or configuration files will be verified to ensure their consistency with the final ICD description information. The verification methods can include: data format checking; simulation run tests; comparing key fields of the original ICD description information.
[0048] Depending on the matching degree between the input ICD description information and the template, the following two situations may occur: (1) Complete match: If the ICD description information input by the user is exactly the same as the template, there is no need for additional modification, and the template can be directly used to generate code or configuration files.
[0049] In this case, the main work of the system is to load the template and generate the output.
[0050] (2) Partial matching or customization: If the ICD description information entered by the user does not exactly match the template (e.g., different field definitions, new fields, etc.), the system needs to adjust or expand the template.
[0051] Specific operations include: updating the field definitions in the template. Adding new fields or deleting unnecessary fields. Adjusting the parameters of the communication protocol or physical signals.
[0052] The ICD configuration module can also automatically parse existing ICD files and generate corresponding simulation code, and also supports dynamic updating of ICD information to adapt to the needs of real-time changes; The automated ICD parsing, generation, and dynamic ICD update mechanisms are as follows: Use natural language processing (NLP) techniques to identify and extract key information in the ICD file. For example, use a pre-trained language model (such as BERT) to understand complex text descriptions.
[0053] Pattern matching algorithm: Use regular expressions or pattern matching algorithms to automatically identify ICD files in different formats and convert them into a unified data structure.
[0054] Automated generation tool: Graphical interface: Provide a graphical user interface that allows users to automatically generate compliant ICD files through form filling or drag-and-drop operations.
[0055] Template engine: Based on the basic information and configuration parameters entered by the user, use a template engine (such as Jinja2) to automatically generate ICD files.
[0056] Dynamic ICD update mechanism: Event-driven architecture: Design an event-driven system to monitor changes in the system state (such as sensor access) in real time and dynamically update the ICD file according to the changes.
[0057] Version control system integration: Use Git or other version control systems to manage the change history of ICD files to ensure that each update is traceable.
[0058] Specifically, the following is the basic workflow of automated ICD parsing: (1) Input ICD description information: The user provides ICD description information through the object - to - be - simulated editing module. The input forms can be: Standardized ICD files (such as XML, JSON, Excel, etc.). Manually input key parameters (such as field names, data types, communication protocols, etc.). (2) Parse ICD description information: The pre - trained language model will parse the input ICD description information and extract the key content, such as: Data frame structure (field names, data types, lengths, offsets, etc.). Specific rules of communication protocols (such as start bits, end bits, check methods, etc.). Characteristics of physical signals (such as voltage ranges, frequency ranges, etc.). (3) Generate configurations or codes required for simulation: After parsing, the pre - trained language model will generate the outputs required for the simulation system based on the extracted information, such as: Configuration files for simulation models. Codes for data parsing and packaging (such as C / C++, Python, etc.). Simulators or drivers for communication interfaces. (4) Verify parsing results: The tool will verify the generated configurations or codes to ensure they are consistent with the original ICD description information. The verification methods can include: Data format checks. Simulation run tests. Comparing key fields in the original ICD file. 4. Integration of dynamic update mechanism: If the ICD description information of the object to be simulated changes during the project (such as communication protocol upgrades or new functions added), the automated ICD parsing tool can also support dynamic updates: Real - time parsing of new ICD information: When the user inputs new ICD description information, the tool can quickly re - parse and generate updated configurations or codes.
[0059] Version management: The tool can record the ICD parsing results of different versions for easy traceability and comparison.
[0060] Automated ICD parsing is an optimization measure that supports unified parsing of multiple ICD formats (such as A429, A664, CAN, etc.). It provides intelligent field mapping and data conversion functions. It realizes dynamic update and real - time adaptation capabilities. Improve development efficiency: Reduce the time for manual parsing and coding. Enhance system flexibility: Quickly adapt to different ICD description information. Reduce error risks: Reduce human errors through automation.
[0061] In summary, the resource configuration module and its components work together to provide comprehensive resource configuration and support for the development of resident applications of simulation devices. At the same time, it also enhances the system's customizability and expandability through functions such as extension libraries.
[0062] The algorithm library includes an algorithm prototype library and a timer library. The algorithm prototype library stores timing control algorithms for different devices under imitation, such as general timing control algorithms, timing control algorithms for device x under imitation, timing control algorithms for device y under imitation, and timing control algorithms for device o under imitation. These algorithms are specifically designed to simulate the behaviors of different types of devices under imitation. The timer library stores timers with time intervals of 1 microsecond, 10 microseconds, 100 microseconds, 1 millisecond, 10 milliseconds, and 100 milliseconds, etc.
[0063] The configuration process of the algorithm library is realized by selecting algorithm prototypes through the algorithm prototype library and selecting timer models through the timer library. Among them, the accuracy of the timer model determines the accuracy of the timing simulation control of the simulation device.
[0064] The timer is implemented through the following steps: 1. Initialize the timer and set the initial time t0.
[0065] 2. Calculate the trigger time t of the next timer n =t 0 +nΔt.
[0066] 3. Obtain the current time t c .
[0067] 4. If t c ≥t n , then trigger the timer callback function and update t 0 =t n .
[0068] 5. Repeat steps 2 - 4. Due to possible calculation errors, a constant τ with a very small value is introduced to trigger the judgment condition. Therefore, the actual judgment condition in step 4 is t c ≥t n -τ. Among them, Δt is the fixed time interval (i.e., period) of the timer, with time units such as microseconds (us), milliseconds (ms), seconds (s), etc. n is an integer counter, indicating the number of complete time intervals Δt that have elapsed since the initial time t0.
[0069] The 1 - microsecond - level timer is implemented by using 64 - bit integers to represent time, where the high 32 bits represent microseconds and the low 32 bits represent nanoseconds. A nanosecond timer is constructed, and then the nanosecond timer is encapsulated to implement a 1 - microsecond timer.
[0070] The 10 - microsecond - level timer is implemented by encapsulating the 1 - microsecond timer.
[0071] The 100 - microsecond - level timer is implemented by encapsulating the 1 - microsecond timer.
[0072] The implementation of the 1 - millisecond timer mainly uses double - precision floating - point numbers to represent time, in order to achieve microsecond - level timing accuracy, and encapsulates the 1 - millisecond timer accordingly.
[0073] The implementation of the 10 - millisecond timer is achieved by encapsulating the 1 - millisecond timer.
[0074] The implementation of the 100 - millisecond timer is achieved by encapsulating the 1 - millisecond timer.
[0075] The encapsulated timer models are managed and stored through the timer library.
[0076] The application development module mainly consists of modules such as the resident application code development module, the timing simulation control algorithm development module, the ICD editing and matching module, and the compiler; through the above - mentioned modules, the development and compilation of the functional simulation code of the resident application of the simulation device and the timing control algorithm are realized.
[0077] The functions of the application development module utilize the functions of the application development module to realize the simulation of the functional characteristics and performance characteristics of the object to be simulated; through the development of the resident application function logic, the development of the synchronization matching algorithm for the timing characteristics of the object to be simulated and the simulation timing control, and the matching and editing of the ICD information of the object to be simulated and the simulation device ICD, the development of the resident application of the simulation device is realized; through the code compiler, the above - mentioned code, algorithms, and ICD information are uniformly compiled into an engineering - deployable resident application file and ICD file; achieving a high - precision simulation where the simulation device and the device to be simulated are completely consistent in terms of device functions, timing characterization, interface pins, and object data.
[0078] Specifically, the resident application code development module writes and develops core function codes such as data acquisition and driving, data processing, signal reception and transmission, and specific simulation functions for simulation, simulates the functional characteristics of the object to be simulated, and combines with the timing control algorithm to achieve timing scheduling and control.
[0079] The resident application code development module provides a code development environment where developers can write resident application programs (i.e., programs running on the simulation device). Ensure that the simulation device can achieve the same functional logic and performance as the object to be simulated. Output functional simulation code, providing a basis for subsequent compilation and deployment.
[0080] The timing simulation control algorithm development module develops and optimizes algorithms for controlling the simulation timing to ensure that the time behavior of the simulation device is consistent with that of the object to be simulated.
[0081] Design and implement a timing synchronization algorithm to precisely control the occurrence order and time interval of events. Simulate the time characteristics of the object to be simulated, such as response delay, periodic task scheduling, etc. Output the timing control algorithm to ensure that the simulation device is highly consistent with the object to be simulated in the time dimension.
[0082] The ICD editing and matching module edits the internal functional components and signal definitions of the simulation device, constrains the data communication interfaces and pins, and clarifies the data communication protocols and data packet definitions through a structured editing window, ensuring the functional consistency between the simulation device and the object to be simulated.
[0083] The compiler module compiles the generated code, algorithms, and ICD information uniformly to generate deployable application files and ICD files, and completes the encapsulation of the resident application.
[0084] The compiler module can be a cross-platform compiler, including: multi-target compilers, CMake scripts, abstract layer design, containerized deployment, CI / CD pipelines, and cloud compilation services; Multi-target compilers: Support the ability to generate executable files for different operating systems or hardware platforms. This means that the compiler needs to be able to understand and handle the specific requirements and optimizations for each target platform.
[0085] CMake scripts: By writing cross-platform CMake scripts, corresponding build files (such as Makefile, Visual Studio projects, etc.) can be automatically generated according to different target platforms. This approach simplifies the process of building projects on multiple platforms.
[0086] Abstract layer design: Introduce an abstract layer in the code to separate platform-related code from general logic. The purpose of this is to improve the portability of the code, enabling the core logic to run on different platforms without modification, and only the abstract layer needs to be adapted.
[0087] Containerized deployment: Utilize technologies such as Docker to write Dockerfiles for each target platform to create a consistent and isolated running environment. This helps ensure that the application can run in the same way in any environment and simplifies the dependency management and deployment process.
[0088] CI / CD pipelines: Integrate continuous integration / continuous delivery tools (such as Jenkins, GitLab CI) to automate the testing and deployment processes. This is crucial for ensuring software quality and accelerating the development cycle, especially when multiple platforms need to be supported.
[0089] Cloud compilation services: Develop API interfaces that allow users to upload source code and select the target platform, and the cloud server completes the compilation process. Cloud storage is used to save the compilation results for easy user download. This method not only supports cross-platform compilation but also provides flexibility and scalability. The cloud compilation service can be set according to actual needs. For simulation devices that cannot be made public, the cloud compilation service can be not used.
[0090] Integrate the resident application code, timing control algorithm, and ICD information to form a complete project file.
[0091] Compile and generate a resident application file (such as an executable file or firmware) that can run on the simulation hardware device.
[0092] At the same time, generate an ICD file that matches the simulation device for interface communication and data interaction. Ensure that all development results can be seamlessly deployed to the simulation device.
[0093] These modules work together to comprehensively support the high-precision simulation of the object under simulation by the simulation device from functions, timing, interfaces to the final deployment file.
[0094] The timing simulation control algorithm development module develops and optimizes the timing simulation control algorithm using the timing characteristics of the device under simulation.
[0095] Code transplantation can be performed by importing the source code of the timing characteristics information of the device under simulation, or it can be implemented using a general timing control algorithm model.
[0096] Among them, if the device under simulation has a timing control logic, the source code of the timing characteristics information of the device under simulation can be imported. Importing the source code of the timing characteristics information of the device under simulation mainly adapts to the operating system and programming language of the simulation device by adjusting the code structure or completely reconstructing the code.
[0097] In addition, if the device under simulation has no timing control algorithm, a general timing control algorithm is used to provide timing control for other devices under simulation (characteristic signal devices without an operating system or devices that cannot obtain the timing control algorithm).
[0098] Provide a general timing control algorithm for the device under simulation that cannot import the source code of the timing control algorithm; combine differential timers to implement the timing control of the simulation device in two ways. For other devices to be simulated, if there is a preset timing control algorithm, the preset timing control algorithm can be used as the timing control algorithm for the device to be simulated.
[0099] The implementation of the general timing simulation control algorithm first constructs the system state equation: x(t)=Ax(t)+Bu(t) y(t)=Cx(t)+Du(t) Among them, \(x(t)\) is the state vector, \(u(t)\) is the input vector, \(y(t)\) is the output vector, and \(A\), \(B\), \(C\), and \(D\) represent the state matrix, input matrix, output matrix, and direct transmission matrix respectively. For different application fields, the simulation devices are different, and the state vector, input vector, and output vector correspond to different specific vectors. For example, for aerospace equipment, the state vector \(x(t)\) may include but is not limited to the following aspects: position, velocity, attitude angle, angular velocity; the input vector \(u(t)\) may represent the external control signals or torques that can be applied to the system, such as thrust commands, control surface deflection angles, reaction wheel torques; the output vector \(y(t)\) can be the observed values of the internal state of the system or the measurement of the impact on the external environment, depending on the purpose of the simulation, and may include: sensor readings, visualized flight parameters, fault detection and isolation signals.
[0100] Secondly, a linear LQR controller is defined to minimize the objective function:
[0101] where \(Q\) and \(R\) are the weight matrices of the state and control input respectively; x T \((t)\) represents the time-weighted state error of the state vector; \(u\) T \((t)\) is the time-weighted control error of the input vector.
[0102] The optimal control law of the LQR controller is: u(t) = -Kx(t) where \(K\) is the feedback gain matrix, which can be obtained by solving the algebraic Riccati equation:
[0103] By solving the equation, we get:
[0104] Among them, \(P\) is a symmetric positive definite matrix obtained by solving the continuous-time algebraic Riccati equation (CARE); \(P\) defines the minimum cost (i.e., the optimal performance index) starting from any initial state of the system; the general timing simulation control engineering code is implemented for the above-mentioned timing control method based on state feedback, and the engineering encapsulation is completed and synchronized to the algorithm prototype library for storage and management.
[0105] Simulation timing control application programming: Select the encapsulated timing control algorithm or other preset timing simulation control algorithms through the configuration window, and at the same time select the timer; Synchronize the software engineering file and the timer model to the timing simulation control algorithm development module, and realize the timing control programming by adjusting the control parameters.
[0106] Simulation Timing Control Application Programming Based on the Timing Control Source Code of the Device to be Imitated: By importing the timing control source code of the object to be imitated and selecting a timer through the configuration interface, the code and the timer model are synchronized to the timing simulation control algorithm development module, and the adaptation of the operating system and programming language is completed to implement the simulation timing control application programming. The verified simulation timing control algorithm is synchronized to the algorithm prototype library for storage and management.
[0107] The measured timing of the device to be simulated can be input into the simulation platform manually. The measured timing usually refers to the time data directly extracted from the actual system (or its documentation) through measurement, experiment, log recording, or other means, such as event trigger time points, signal delays, task cycles, etc. The measured timing of the device to be simulated can be obtained from channels such as hardware devices, sensors, log files, ICD (Interface Control Document), etc. The measured timing of the device to be simulated may be dynamically changing, especially during actual operation, and may be affected by factors such as load and environmental conditions.
[0108] The simulation platform obtains the timing logic data of the corresponding device to be simulated according to the measured timing, which is a normal function of the simulation platform. The embodiments of the present disclosure do not elaborate on this in detail. For example, source code import, general timing control algorithms, and preset timing control algorithms.
[0109] A timing optimization model for optimizing and expanding the timing logic data of the corresponding device to be simulated according to the measured timing.
[0110] Specifically, identify each timing node; based on the timing node, obtain the node to be optimized, and correspondingly match the function of the node to be optimized; obtain the optimized timing.
[0111] Determine the physical function modules during the execution of the timing at the timing node. For example, in a timing logic of turning off switch K2 → turning off switch K1, the timing nodes are K1 and K2.
[0112] According to the timing nodes, obtain the nodes to be optimized and correspondingly match the functions of the optimized nodes; determine the front and back sides of the timing execution of the physical function module, identify the front and back sides as the nodes to be optimized, and match the functions corresponding to the nodes to be optimized; the functions are data feedback and safety warning; for example, the main switch K1 is connected to multiple parallel relay switches K2, and each K2 is respectively connected to a load. If the timing logic is to turn off switch K2 → turn off switch K1, the timing nodes are K1 and K2. After inserting the nodes to be optimized into the timing logic, we get Y1 → turn off switch K2 → Y2 → turn off switch K1 → Y3. Among them, Y1, Y2, and Y3 are the nodes to be optimized, and the functions matched by the nodes to be optimized are the data fed back by the system and the safety warning of whether the next timing node can be safely executed. That is to say, when turning off switch K2, it is judged whether it is safe to turn off K1. Turning off switch K2 is any one of the multiple parallel switches K2, which can be determined through the data fed back by the system to achieve safety warning.
[0113] Obtain the final optimized timing Y1 → turn off switch K2 → Y2 → turn off switch K1 → Y3.
[0114] The nodes to be optimized also include: the cut-off nodes to be optimized added after the end of the final optimized timing. When determining the cut-off nodes to be optimized, first judge the device functions corresponding to the timing logic. If it belongs to an inert function, insert the cut-off nodes to be optimized. Otherwise, it belongs to an immediate function and no cut-off nodes to be optimized are inserted.
[0115] Among them, the inert function is a function in which the device parameters corresponding to the execution result change slowly after the logic execution. For example, for flow rate, when closing the flow valve, the flow rate does not immediately become zero. Another example is that when the capacitor is powered off, the voltage across the capacitor does not immediately become zero.
[0116] The immediate function is a function in which the device parameters corresponding to the execution result change immediately after the logic execution. For example, opening a web page, closing a web page, etc., change immediately.
[0117] The nodes to be optimized include: data feedback and the time of data feedback.
[0118] Each device corresponds to a timing optimization model. According to the different devices being matched, the feedback parameters are optimized and adjusted, such as the time of data feedback, parameters such as data feedback and safety warning.
[0119] The timing optimization model realizes the optimization and expansion of the timing logic by identifying each timing node, obtaining the nodes to be optimized, correspondingly matching the functions of the nodes to be optimized, and obtaining the optimized timing, and generates a complete set of executable timing logic for the simulation platform.
[0120] The application deployment module mainly consists of modules such as the operating system deployment module, resource file deployment module, ICD synchronization module, communication protocol deployment module, and resident application deployment module; and sequentially realizes the orderly deployment of the operating system, resource files, ICD definitions, communication protocols, resident applications, etc. on the simulation hardware device according to the constraint order.
[0121] The application deployment function uses the function window of the application deployment module to deploy the simulation device software ecosystem, resident applications, and ICD constraints; among them, the software ecosystem includes contents such as the operating system, basic resources to support the execution of resident applications, communication protocols, etc.; resident applications mainly include compiled execution files, library files, binary files, etc.; ICD constraints mainly include interface, pin, data, and variable definition files edited according to templates.
[0122] Specifically, the function of the operating system deployment module: Ensure that a suitable operating system (such as RTOS) is installed on the simulation hardware device to provide a necessary running environment for resident applications.
[0123] Deployment steps: Select a suitable version of the operating system image according to the hardware specifications. Use a burning tool or a boot loader to install the selected operating system image onto the target hardware. Configure system settings, such as network configuration, user permissions, etc., to adapt to specific simulation requirements.
[0124] The function of the resource file deployment module: Deploy the basic resource libraries required for the operation of resident applications, including standard libraries, graphics libraries, algorithm libraries, etc.
[0125] Deployment steps: Determine the library files required for the simulation application and download or develop these libraries as needed. Transfer these library files to the specified directory on the simulation hardware device. Update the environment variables or path settings so that resident applications can access these libraries smoothly.
[0126] The function of the ICD synchronization module: Ensure that the Interface Control Document (ICD) matches the interface definition of the simulation hardware device to ensure the consistency and accuracy of data exchange.
[0127] Deployment steps: Edit or import an ICD template that meets the requirements of the simulation device, including information such as interfaces, pins, and data formats. Verify and adjust the ICD definition on the simulation hardware device to ensure its compatibility with the actual hardware interface. Synchronize the finally confirmed ICD file to the simulation device for correct handling of external communication.
[0128] The function of the communication protocol deployment module: Configure and deploy communication protocols suitable for the simulation device so that the device can effectively interact with other systems for data.
[0129] Deployment steps: Select an appropriate communication protocol according to the simulation requirements (such as CAN protocol, Ethernet protocol, and custom protocol, etc.).
[0130] Install the necessary drivers and support libraries to implement the functions of the selected protocol. Configure relevant parameters (such as IP address, baud rate, etc.) to ensure smooth and error-free communication between devices.
[0131] Function of the resident application deployment module: Deploy the compiled resident application program and its dependencies (such as library files, binary files, etc.) to the simulation hardware device.
[0132] Deployment steps: Collect all compiled executable files, library files, and other relevant resources. Upload these files to the simulation hardware device and place them in the correct directory. Set appropriate permissions and verify through testing whether the application program can be started and run normally.
[0133] Through the coordinated work of the above modules, a comprehensive deployment from the operating system to the specific application program is achieved. This process not only involves simple file transfer but also includes a series of complex configuration and verification steps, aiming to ensure that each component can operate efficiently in the simulation hardware environment, thus realizing an accurate simulation of the real system.
[0134] The described simulation platform test system is used for testing simulation devices. In this test system, it mainly includes but is not limited to the following functions to support the testing of simulation hardware devices and resident applications for platform development.
[0135] The test system includes: a DUT synchronization module, a test library management module, a test module, and a test evaluation module.
[0136] The DUT synchronization module mainly consists of modules such as an ICD synchronization and confirmation module, a GUI generation module, and an object set generation module, etc.; through the above modules, the ICD in the embedded simulation device can be compared and confirmed with the ICD file of the development system, and the GUI image and ICD object set can be automatically generated according to the recognition of the ICD content to support the development of test activities.
[0137] Function of the DUT synchronization module: Use the function window and built-in components of the DUT synchronization module to realize the information synchronization and resource generation of the DUT; realize the information synchronization of the DUT by connecting to the simulation device to obtain the deployed ICD file and combining it with the ICD file synchronized by the simulation platform development system; realize the ICD content parsing through the built-in ICD parsing algorithm and generate an ICD object set (ordered set), and combine the built-in image generation algorithm to graphically represent the parsed ICD objects in GUI.
[0138] The ICD is a structural device information description similar to XML / json files, so the parsing of the ICD can be directly implemented through a structure recognition algorithm. This will not be elaborated here.
[0139] Specifically, the DUT synchronization module is used for the information synchronization of the DUT and the generation of the test GUI, internal components, and communication interface list resources. The DUT synchronization module includes: The ICD synchronization and confirmation module obtains the deployed ICD file by connecting to the simulation device and combines it with the ICD file synchronized by the simulation platform development system. By comparing the version numbers and contents of the above two files, integrity, correctness, and consistency checks are performed, and the return value is obtained to achieve the synchronization of the DUT. The object set generation module parses the ICD content and generates an ICD object set. The GUI generation module generates a GUI image based on the ICD object set.
[0140] The test library management module mainly consists of a test case import module, a test case editing module, a test case management module, a test library management module, etc.; external test cases can be imported, edited, and managed through ICD objects.
[0141] The functions of the test library management module use the function window of the test library management module to implement the editing and management of test cases; combined with a graphical operation interface, it supports the import of test cases in multiple file formats; combined with a graphical operation interface, it supports the editing of test case input data, output expectations, timing characteristics, tolerance ranges, result criteria, etc.; combined with a graphical operation interface, it supports management operations such as adding, deleting, modifying, and querying test cases; the edited or imported test cases are uniformly saved by the test library.
[0142] Specifically, the test library management module is used for editing and managing test cases.
[0143] The test library management module includes: The test case import module is used to import external test cases, support the import of test cases in formats such as table files, XML / JSON files, etc., and perform localization recognition and automatic generation. The test case editing module supports the creation of new test cases, the editing and secondary editing of existing test cases, and mainly edits contents such as test objects, timing characteristic constraints, pre-excitation, and result expectations; existing test cases include externally imported and recognized generated test cases. The test case management module manages the newly created or externally imported test cases; among them, it includes adding, deleting, modifying, and screening. The test library management module is used to save the imported test cases or the edited test cases.
[0144] The test module mainly consists of an ICD object list display module, a test case configuration module, a test deployment module, a test driver module, a test monitor module, etc.; the ICD object list module is used to synchronize test information, the test case configuration module assigns test cases to ICD objects, the test deployment module can deploy the sequence and test mode of tests, the test driver module supports automatically generating a test driver script based on the deployed tests and associated test cases to implement test data excitation, and the test process is monitored and the test process data and use case test results are recorded / saved through the test monitor module.
[0145] The functions of the test module are to achieve object-centered test query, test configuration, test deployment, test data driving, test process monitoring and result recording through the function window and built-in components of the test module; the objects to be tested of the device under test are identified through the object list, and the test progress and content deployment are intuitively displayed; test cases are configured for a series of test objects of the device under test through the graphical operation interface of test configuration; the test start time, manual or automatic test method, single-step or continuous test mode, single-time or loop test form are deployed through the graphical operation interface of test deployment; test driver script generation is achieved through the test driver, and test excitation signals are generated in combination with the content of test cases; the test execution situation is monitored through the test monitor, and the test process and result data are recorded and stored.
[0146] Specifically, the test module is used to test the object to be tested.
[0147] The test module includes: An ICD object list display module, which is used for object-centered test query and synchronizes test information display; A test case configuration module, which assigns test cases to ICD objects; A test deployment module, which is used to deploy the sequence and test mode of tests; A test driver module, which generates a test driver script according to the tests of the test deployment module and associated test cases, and generates a test data excitation signal; A test monitor and result recording module, which is used to monitor the test process and record / save the test process data and use case test results.
[0148] The test evaluation module mainly consists of modules such as a test generation data synchronization module, a test process playback module, and a test report generation module; the test generation data synchronization module is used to load test records / save data, the test process playback module calls the GUI interface and the ICD object list to realize the playback of the test process in a graphical and intuitive data manner and supports subjective test evaluation, and the test report generation module synchronizes test records / saves data and combines the test process playback to realize the subjective and objective evaluation of the test and generate a test report file.
[0149] The test evaluation function realizes subjective and objective test evaluation and test report generation by using the function window of the test evaluation module; test information viewing: by loading and synchronizing the test process and result data, calling the GUI images and object lists generated by the synchronized function of the object under test to realize the visual playback of the test process, and combining manual input operations and automatic evaluation algorithms to generate a test report and support report export.
[0150] Specifically, the test evaluation module is used to perform subjective and objective test evaluation and generate a test report.
[0151] The test evaluation module includes: A test generation data synchronization module, which loads and synchronizes the test process and result data; A test process playback module, which performs graphical and intuitive data test process playback on the GUI images and the ICD object list; A test report generation module, which synchronizes test records / saves data and combines the test process playback to realize the subjective and objective evaluation of the test and generate a test report file.
[0152] During the automated analysis, testers are allowed to score or add comments to the manually executed parts according to their professional knowledge and experience. For example, subjective evaluations of user experience, detailed descriptions of specific behaviors, etc. Use preset algorithms to automatically analyze the test data, calculate various performance indicators, identify abnormal situations, and give preliminary evaluation results based on this. Such algorithms can be customized according to specific test objectives, such as reliability testing, load testing, etc.
[0153] For example, for 100 test cases, if 100% are passed, the test is evaluated as passed.
[0154] The simulation platform of the embodiment of the present disclosure further includes: a graphical user interface, and the graphical user interface is used to interact with each module.
[0155] Specifically, the interface provides an intuitive operating environment that allows users to easily access and operate each functional module within the simulation platform through various controls (such as buttons, menus, dialog boxes, etc.), including but not limited to functions such as the editing of objects to be simulated, resource configuration, application development, deployment, and testing. Through this design, users can complete complex tasks on a unified interface, such as defining simulation objectives, configuring system resources, writing and debugging code, monitoring the simulation progress, and analyzing results.
[0156] In addition, the GUI also supports real-time monitoring of the simulation process, displays key performance indicators, and generates detailed analysis reports. Through this design, users can complete the full process tasks from development to testing in a unified and efficient environment.
[0157] A simulation device platform for "high-precision and specialized" device simulation proposed in an embodiment of the present disclosure. This platform constrains hardware devices through hardware standards, supports the development of resident applications for simulation devices that meet the hardware standards through the development system of the simulation platform, and tests the simulation devices and resident applications that meet the hardware standards through the test system; by applying the timing characteristics and functional characteristics of the device to be simulated, it realizes high-timing stability and timing reliability simulation of the "high-precision and specialized" device to be simulated; the platform has a graphical operation interface to facilitate the development work and testing work.
[0158] On the other hand, an embodiment of the present disclosure also provides a simulation method for devices with high timing requirements. Using the above-mentioned simulation platform, the method includes: Step S110: According to the determined object to be simulated, configure the corresponding timer model and algorithm prototype, and configure the corresponding ICD template file. Select the required operating system, application basic resource library, and communication protocol from the basic library, and edit the ICD information of the simulation device.
[0159] Step S120: Edit the ICD template file to generate an ICD file.
[0160] Step S130: Load the timer model and algorithm prototype, and edit the timing simulation control algorithm code according to the timer model and algorithm prototype and the imported timing characteristic information of the object to be simulated.
[0161] Step S140: According to the actual development requirements, select the corresponding configuration from the application basic resource library, and edit the resident application code in combination with the operating system and communication protocol.
[0162] The corresponding configuration includes: graphics, middleware, and APIs, etc.
[0163] Step S150: Compile the ICD file, the timing simulation control algorithm code file, and the resident application code file into an executable file.
[0164] Step S160: Deploy the executable file to the simulation hardware device.
[0165] Specifically, as Figure 3 shown, it is the development process of the simulation device. The method includes the following steps: Step S201: Confirm the object to be simulated: Select a device to be simulated. The object to be simulated refers to the real device to be simulated, including but not limited to devices such as instrument panels, control panels, and dimming panels.
[0166] The object to be simulated can be a hardware device with high timing requirements in the fields of aviation, navigation, and aerospace. After confirming the object to be simulated, obtain the basic information, timing characteristic information, and ICD description information, or source code of the object to be simulated. Import the basic information, timing characteristic information, and ICD description information of the object to be simulated into the object to be simulated editing module respectively to perform the timing performance and functional characteristic simulation of the simulation device, and achieve high-precision hardware device simulation.
[0167] Step S202: Import characteristic data: According to the selected object to be simulated, configure the corresponding timer model and algorithm prototype, and at the same time configure the corresponding ICD template file. Select the required resident applications from the basic library, namely the operating system, algorithm library, communication protocol, etc.; at the same time, edit the ICD information of the simulation device.
[0168] Configure resources such as the operating system, communication protocol, and algorithm library required by the device to support the code development of resident applications. Step S203: ICD editing: Edit the ICD template file generated in step 202 through the ICD editing window.
[0169] Step S204: Development of timing simulation control algorithm: This window is used to edit the code of the timing simulation control algorithm. The source code of the timing characteristic information of the object to be simulated selected in step S201 will be imported into the timing simulation control algorithm development window, and this window will also load the timer model and algorithm prototype configured in step 202.
[0170] Step S205: Development of resident application code: This window is used to edit the code of the resident application. According to the actual development requirements, select and configure communication protocols, operating systems, middleware, graphics, etc. from the application basic resource library in step S206.
[0171] Step S207: Compilation of simulation application: Compile the ICD file generated in step 203, the timing simulation control algorithm code file generated in step 204, and the resident application code file generated in step 205 into an executable file through the compiler.
[0172] Step S208, Application Deployment: Deploy the executable file generated in Step S207 to the simulation hardware device in Step S209 to complete the development.
[0173] The simulation method further includes a test method; The steps of the test method are as follows: Step S310, Connect the simulation device to the simulation platform via a wired or wireless signal.
[0174] Step S320, Based on the ICD information of the device to be simulated, confirm whether the device under test is consistent with the ICD description device after establishing the connection. Among them, the connection data includes: device, internal functional components of the device, interface functions, and the number of interfaces.
[0175] Step S330, Deploy the test activities according to the imported test cases, modify the test cases according to different test requirements and specify the test objects, and drive the simulation device to perform tests after the deployment is completed.
[0176] Step S340, Monitor and record the test process in real time, and display the test information in real time.
[0177] Step S350, Record the test information, generate a test report, and evaluate the performance of the simulation device according to the test report.
[0178] As Figure 4 shown, the test process of the simulation device. The method includes the following steps: Step S301, Physically connect the simulation hardware device: Connect the simulation device to the simulation platform via cables, wireless signals, etc.
[0179] Step S302, Synchronization confirmation of the object under test: Based on the ICD information of the simulation device, confirm whether the information such as the device, interface function, and the number of interfaces is consistent.
[0180] Step S304, Deployment and driving of test activities: Deploy the test activities through the test cases imported from the test case management in Step S303. At the same time, modify the test cases, test objects, etc. according to different test requirements. After the deployment is completed, the simulation device can be driven to perform tests.
[0181] Step S305, Monitoring and recording of the test process: During the test process, the simulation platform will monitor and record the test process in real time, and display the test information on the monitoring page in real time.
[0182] Step S306, Test evaluation and result output: Generate a test report according to the test information recorded in Step 305, and evaluate the performance of the simulation device according to the test report.
[0183] Principle of the module for editing the object to be simulated. The implementation method of this interface is as follows: Select a real device to be simulated. Through professional analysis, obtain the hardware performance characteristics of the device, and generate a time-domain characteristic chart of the device based on these characteristics; through professional analysis, obtain the hardware function characteristics of the device, and generate an ICD description file based on these characteristics; the interface of the object-to-be-emulated editing module can import and parse the time-domain characteristic chart and the ICD description file.
[0184] Principle of the resource configuration module. The implementation of this interface is as follows: The resource configuration interface has multiple resource libraries, including but not limited to: operating system resources, application basic resources, algorithm resources, ICD interface resources, communication protocol resources, extension resources, etc. Operating system resources include but not limited to FREERTOS, RT-Thread, etc.; application basic resources include but not limited to graphics libraries, middleware layers, API interfaces, etc.; algorithm resources include but not limited to timer algorithms, algorithm prototypes, etc.; ICD interface resources include but not limited to A429-ICD, A664-ICD, CAN-ICD, EN-ICD, G-ICD, etc.; communication protocol resources include but not limited to CAN protocol, Ethernet protocol, custom protocols, etc.; extension resources include but not limited to TTS, image recognition, speech recognition, etc. The resource configuration interface can read the resources in the above resource libraries and configure the resources to the application development interface.
[0185] Principle of the application development module. The implementation of this interface is as follows: The application development interface will obtain the following information: the timing information and ICD information provided by the object-to-be-emulated editing interface, and the exported resource files configured by the resource configuration interface, and can perform corresponding development on the above resources through the application development interface. The developed and edited code files are compiled using a compiler, and after successful compilation, the corresponding resident application files will be generated.
[0186] Principle of the application deployment module. The implementation is as follows: Build the physical connection between the simulation device and the simulation platform, and complete the deployment of the operating system, resource files, communication protocols, ICD files, and resident applications in different ROM blocks. After the deployment is completed, the program will be loaded into the RAM for running verification.
[0187] As Figure 5 shown, the working flow chart of the DUT synchronization module. The working mode of this module is as shown in the following process: Step S801: The device under test is the developed simulation device hardware, and the ICD library is the ICD library file generated by the simulation platform development system; Step S802: The DUT synchronization interface synchronizes the DUT with the ICD library file; Step S803: After synchronization, parse the corresponding ICD file; Step S804: Generate a corresponding object list according to the parsing result; Step S805: Generate a corresponding GUI image according to the parsing result; Step S806: Synchronize the GUI image generated in Step S805 with the object list information generated in Step S804 to obtain a GUI image with real-time changing screen.
[0188] As Figure 6 shown, the working flow chart of the test library management module, and the working mode of this module is as follows: Step S901: Import test cases from an external file; Step S902: Edit test cases according to the timing characteristics of the object; Step S903: Edit test cases in the test case management interface or perform management such as adding, deleting, modifying, and querying test cases.
[0189] The edited test cases in Step S904 will be saved in the test case library.
[0190] As Figure 7 shown, the working flow chart of the test module, and the working mode of this module is as follows: Step S1001: Match a corresponding test case library according to the test object; Step S1002: Perform test deployment according to the test object and the matched test cases; Step S1003: Drive the hardware device under test through a test driver; Step S1005: The test monitor captures the driving signal of the test driver in 1003 and the output signal of the hardware device under test in 1004; Step S1006: Generate a test log file.
[0191] As Figure 8 shown, the working flow chart of the test evaluation module, and the working mode of this module is as follows: Step S1101: The test evaluation module reads the test log file generated by the test interface; Step S1102: The data synchronization module automatically generates the test report file in Step S1106 according to the log file in Step S1101; Step S1103: Manually select the test playback function, the 1105 GUI interface plays back the output status information of the device, and the 1104 object list data is synchronized to visually display the recorded data of the playback; Step S1106: Through manual intervention, select to generate a complete test report file or select to generate a partial module test report file.
[0192] Another aspect of the embodiments of the present disclosure further provides an emulation terminal, including the platform described above.
[0193] The above are only the preferred embodiments of the embodiments of the present disclosure. It should be noted that for those of ordinary skill in the art, without departing from the principle of the embodiments of the present disclosure, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the embodiments of the present disclosure.
Claims
1. A simulation platform for devices with high timing requirements, characterized in that: Applied to aviation, aerospace and navigation related equipment, the simulation platform includes: a development system, the development system includes: The object editing module to be simulated obtains the basic information, timing characteristic information and ICD description information of the object to be simulated, determines the simulation target, and simulates the timing characteristics and functional characteristics of the simulation equipment based on the obtained information; Resource configuration module, which determines the RTOS version, configures the application basic resource library, configures the algorithm library, the simulation device ICD template and the communication protocol to support the development of resident applications and complete the software ecosystem construction required for the deployment of resident applications. It also has an extension library function for loading other third-party libraries, plug-ins and API function content; Application development module, used for developing resident applications for simulation devices and developing and compiling timing control algorithms, to achieve simulation of functional characteristics and performance characteristics of the object to be simulated; The application deployment module uses the operating system deployment module, resource file deployment module, ICD synchronization module, communication protocol deployment module and resident application deployment module to deploy the software ecosystem, resident applications and ICD constraints in sequence according to the constraint order.
2. The simulation platform according to claim 1, characterized in that: The application development module includes: The resident application code development module is used to write and develop the core functional codes for data acquisition and driving, data processing, signal reception and transmission, and special simulation functions for simulation, simulate the functional characteristics of the simulated object, and realize timing scheduling and control in combination with the timing control algorithm; Timing simulation control algorithm development module, develops and optimizes algorithms for controlling simulation timing to ensure that the time behavior of the simulation device is consistent with the simulated object; ICD edits the matching module, edits the internal functional components and signal definitions of the simulation device, constrains the data communication interface and pins, and clarifies the data communication protocol and data packet definitions to ensure the functional consistency between the simulation device and the simulated object; The compiler module uniformly compiles the generated code, algorithm and ICD information, generates deployable application files and ICD files, and completes the packaging of resident applications.
3. The simulation platform according to claim 1, characterized in that: The object-to-be-simulated editing module constructs simulation device hardware according to a preset hardware architecture standard.
4. The simulation platform according to claim 1, characterized in that: The simulation platform also includes: a timing optimization model, the timing optimization model is used to optimize and expand the timing logic data corresponding to the device to be simulated obtained according to the measured timing; Specifically, it includes: identifying each timing node; obtaining the node to be optimized according to the timing node, and matching the function of the node to be optimized; and obtaining the optimized timing.
5. The simulation platform according to claim 4, characterized in that: The identifying each timing node; According to the timing nodes, the nodes to be optimized are obtained, and the functions of the nodes to be optimized are matched accordingly; Get optimized timing, including: Determine the physical functional modules in the timing execution process of the timing node; According to the timing nodes, the nodes to be optimized are obtained, and the functions of the corresponding optimization nodes are matched; the front and rear sides of the timing execution of the physical function module are determined, the front and rear sides are identified as the nodes to be optimized, and the functions of the corresponding nodes to be optimized are matched; the functions are data feedback and safety warning; Get the final optimized timing.
6. The simulation platform according to claim 1, characterized in that: The resource configuration module includes an operating system configuration module, an application basic resource library, an algorithm library configuration module, an ICD configuration module, a communication protocol configuration module, and other resource modules of the extension library; The operating system configuration module is used to select the version of the real-time operating system (RTOS) to provide the runtime environment for the resident application; Apply the basic resource library, set the basic libraries required by the application, such as graphics library, middle layer and API interface, to provide necessary support for application development; Algorithm library configuration module, select or add specific timing control algorithms and timers according to simulation requirements to achieve the required calculation and processing logic; The ICD configuration module stores a variety of ICD templates, determines the appropriate interface control document ICD template, and ensures the interface compatibility between the simulation device and the simulated object; or, by automatically parsing the existing ICD file and generating the corresponding simulation code, it also supports dynamic update of ICD information; A communication protocol configuration module, configured with a communication protocol suitable for the simulation device; Other resource modules of the extension library are used to load other third-party libraries, plug-ins, and API functions.
7. The simulation platform according to any one of claims 1 to 6, characterized in that: The simulation platform also includes a test system, which includes: The object under test synchronization module is used for information synchronization of the object under test and generation of test GUI, internal components, and communication interface list resources; Test library management module, used to edit and manage test cases; Test module, used to test the object under test; The test evaluation module is used to perform subjective and objective test evaluation and generate test reports.
8. The simulation platform according to claim 7, characterized in that: The object synchronization module to be tested includes: ICD synchronization and confirmation module, which realizes the synchronization of the object under test by connecting to the simulation device to obtain the deployed ICD file and combining it with the ICD file synchronized by the simulation platform development system; An object set generation module parses the ICD content and generates an ICD object set; The GUI generation module generates a GUI image according to the ICD object set.
9. The simulation platform according to claim 7, characterized in that: The test module includes: ICD object list display module, used for object-centric test query and synchronous test information display; Test case configuration module, which assigns test cases to ICD objects; Test deployment module, used to deploy the test sequence and test mode; The test driver module generates a test drive script according to the test and associated test cases of the test deployment module, and generates a test data stimulus signal; The test monitor and result recording module is used to monitor the test process and record / save the test process data and case test results.
10. A simulation method for devices with high timing requirements, using the simulation platform according to any one of claims 1 to 9, characterized in that: The method comprises: According to the determined object to be simulated, configure the corresponding timer model and algorithm prototype, as well as the corresponding ICD template file, and select the required operating system, application basic resource library and communication protocol from the basic library; Edit the ICD template file to generate an ICD file; Load the timer model and algorithm prototype, and edit the timing simulation control algorithm code according to the timer model and algorithm prototype and the imported timing characteristic information of the object to be simulated; According to actual development needs, select the corresponding configuration from the application basic resource library to edit the resident application code; Compile the ICD file, the timing simulation control algorithm code file and the resident application code file into an executable file; Deploy the executable to the simulated hardware device.
Citation Information
Patent Citations
Aviation electronic simulation testing platform I / O management system
CN107229584A
Real-time simulation platform system and simulation system construction method
CN116822135A
Dynamic configurable equivalent device system and process configuration method
CN117573200A
Launch vehicle integration laboratory system
KR1020160073601A