A method, device, computer equipment and storage medium for real-time communication of heterogeneous systems

Through the real-time communication method of heterogeneous system, the coordinated work between the processing module and the distribution module is solved, and the real-time real-time data transmission is achieved in traditional autonomous driving systems.

CN114942898BActive Publication Date: 2025-02-18SHENZHEN DEEPROUTE AI CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210445133.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-26
Publication Date
2025-02-18
Estimated Expiration
2042-04-26

AI Technical Summary

Technical Problem

When traditional autonomous driving systems acquire time information and positioning information, real-time performance is difficult to ensure, affecting the overall performance of the system.

Method used

Using the real-time communication method of heterogeneous system, the processing module obtains clock synchronization signals and source data in real time, converts and processes according to the unified data protocol, generates timestamps and target data, and sends them to the distribution module through preset channels, and stores them based on the shared memory mechanism. distribution.

Benefits of technology

Real-time transmission of time and position information in the autonomous driving system is realized, the real-time and accuracy of the system is improved, and the efficient operation of the autonomous driving system is ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114942898B_ABST
    Figure CN114942898B_ABST
Patent Text Reader

Abstract

The present application relates to a method, device, computer equipment, storage medium and computer program product for real-time communication of heterogeneous systems. The method comprises: a processing module acquires clock synchronization signals and source data in real time, converts and processes the clock synchronization signals and source data according to a unified data protocol to obtain corresponding timestamps and target data; the processing module sends the timestamps and target data to a distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module; the distribution module stores and distributes the timestamps and target data based on a shared memory mechanism. This method can realize real-time communication of heterogeneous autonomous driving systems and ensure the real-time and accuracy of time information and location information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of autonomous driving, and in particular to a method, apparatus, computer device and storage medium for real-time communication between heterogeneous systems. Background Art

[0002] With the rise of artificial intelligence technology, the application of artificial intelligence in transportation has received more and more attention, and autonomous driving has become a trend. Autonomous driving is highly dependent on time information and positioning information, and has high requirements for the accuracy and real-time nature of information.

[0003] The traditional autonomous driving system architecture generally connects the GNSS device and the autonomous driving control system through serial ports and network ports. A large number of computing modules are run on the autonomous driving control system, and the real-time nature of the time information and positioning information cannot be guaranteed. Summary of the invention

[0004] Based on this, it is necessary to provide a communication method, system, computer device, and computer-readable storage medium that can ensure the real-time performance of data in response to the above technical problems.

[0005] The present application provides a method for real-time communication of heterogeneous systems, the method comprising:

[0006] The processing module acquires the clock synchronization signal and the source data in real time, and converts and processes the clock synchronization signal and the source data according to the unified data protocol to obtain the corresponding timestamp and target data;

[0007] The processing module sends the timestamp and target data to the distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module;

[0008] The distribution module stores and distributes the timestamp and target data based on a shared memory mechanism.

[0009] In one of the embodiments, the method for real-time communication between heterogeneous systems is used for a heterogeneous system consisting of a first subsystem constructed by the processing module and a second subsystem constructed by the distribution module, wherein the first subsystem is an embedded real-time system.

[0010] In one embodiment, the processing module includes a time synchronization driving unit, a serial port driving unit, a preprocessing unit, and a sending unit. The processing module acquires a clock synchronization signal and source data in real time, converts and processes the clock synchronization signal and source data according to a unified data protocol to obtain corresponding timestamps and target data, including:

[0011] The time synchronization driving unit obtains the clock synchronization signal, and sends the timestamp obtained by processing according to the unified data protocol to the sending unit;

[0012] The serial port driver unit acquires the source data, and calls the preprocessing unit to process the source data according to a unified data protocol to obtain target data; the source data includes GNSS data, IMU data, and INS data, and the target data is corresponding GNSS target data, IMU target data, and INS target data;

[0013] After the preprocessing unit completes the processing, the serial port driving unit sends an interrupt request to the sending unit, and the sending unit obtains the target data after receiving the interrupt request.

[0014] In one embodiment, the preset channel is a DMA channel, including a time synchronization channel, a GNSS data channel, an IMU data channel, and an INS data channel. The processing module sends the timestamp and target data to the distribution module through the preset channel in real time, including:

[0015] The processing module sends the timestamp to the distribution module through the time synchronization channel, sends the GNSS target data to the distribution module through the GNSS data channel, sends the IMU target data to the distribution module through the IMU data channel, and sends the INS target data to the distribution module through the INS data channel.

[0016] In one of the embodiments, the processing module comprises a sending unit for sending the timestamp and the target data to the distribution module, and the distribution module comprises a receiving unit for receiving the timestamp and the target data from the processing module, wherein:

[0017] The sending unit is a sending end of a PCIE device, and the receiving unit is a receiving end of a PCIE device.

[0018] In one embodiment, the distribution module includes a receiving unit, a time synchronization slave unit, a positioning unit, and other receiving end units. The distribution module stores and distributes the timestamp and target data based on a shared memory mechanism, including:

[0019] The receiving unit obtains the timestamp and the target data, and stores the timestamp and the target data based on a shared memory mechanism;

[0020] The receiving unit notifies the time synchronization slave end unit, the positioning unit, and other receiving end units to obtain required data.

[0021] In one embodiment, the receiving unit notifies the time synchronization slave unit, the positioning unit, and other receiving end units to obtain required data, including:

[0022] The time synchronization obtains the timestamp from the terminal unit to provide time synchronization for the autonomous driving heterogeneous system;

[0023] The positioning unit acquires the target data and provides location information for the autonomous driving heterogeneous system;

[0024] Other receiving end units obtain one or more of the timestamp, GNSS target data, IMU target data, and GNSS target data according to requirements.

[0025] The present application also provides a device for real-time communication of heterogeneous systems, the device comprising:

[0026] The processing module is used to obtain the clock synchronization signal and the source data in real time, convert and process the clock synchronization signal and the source data according to the unified data protocol to obtain the corresponding timestamp and target data; send the timestamp and target data to the distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module;

[0027] The distribution module is used to store and distribute the timestamp and target data based on a shared memory mechanism.

[0028] The present application also provides a computer device, the computer device comprising a memory and a processor, the memory storing a computer program, and the processor implementing the following steps when executing the computer program:

[0029] The processing module acquires the clock synchronization signal and the source data in real time, and converts and processes the clock synchronization signal and the source data according to the unified data protocol to obtain the corresponding timestamp and target data;

[0030] The processing module sends the timestamp and target data to the distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module;

[0031] The distribution module stores and distributes the timestamp and target data based on a shared memory mechanism.

[0032] The present application also provides a computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the following steps are implemented:

[0033] The processing module acquires the clock synchronization signal and the source data in real time, and converts and processes the clock synchronization signal and the source data according to the unified data protocol to obtain the corresponding timestamp and target data;

[0034] The processing module sends the timestamp and target data to the distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module;

[0035] The distribution module stores and distributes the timestamp and target data based on a shared memory mechanism.

[0036] In the above heterogeneous system real-time communication method, device, computer equipment, and storage medium, the processing module acquires the clock synchronization signal and source data in real time, converts and processes the clock synchronization signal and source data according to the unified data protocol to obtain the corresponding timestamp and target data; the processing module sends the timestamp and target data to the distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module; the distribution module stores and distributes the timestamp and target data based on a shared memory mechanism. Real-time communication between the embedded real-time system constructed by the processing module and the second subsystem constructed by the distribution module is realized, ensuring the real-time nature of the time and location information of the autonomous driving system. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 An application environment diagram of a heterogeneous system real-time communication method in an embodiment;

[0038] Figure 2 A schematic diagram of a flow chart of a real-time communication method for heterogeneous systems in one embodiment;

[0039] Figure 3 is a structural block diagram of a processing module in one embodiment;

[0040] Figure 4 It is a structural block diagram of a distribution module in one embodiment;

[0041] Figure 5 A schematic diagram of a process of sending time information in an embodiment;

[0042] Figure 6 A schematic diagram of a process of sending location information in one embodiment;

[0043] Figure 7 is an overall structural block diagram of a heterogeneous autonomous driving system in one embodiment;

[0044] Figure 8 is a structural block diagram of a heterogeneous system in an embodiment;

[0045] Fig. 9 is a structural block diagram of a heterogeneous system in another embodiment;

[0046] Fig.10 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0047] In order to make the purpose, technical solution and advantages of the present application clearer, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application. It should be understood that the terms used in the present application, such as system, unit, module, are a method for distinguishing different components, elements, component parts or overall devices at different levels. If other terms can achieve the same purpose, other terms may also be used in the present application to replace the above terms. The modules and units described in the present application can be implemented as software and / or hardware modules. Unless the context clearly indicates otherwise, when a unit or module is described as "connected", "connected to" or "coupled to" another unit or module, the expression may refer to the unit or module being directly connected, linked or coupled to the other unit or module, or it may refer to the unit or module being indirectly connected, connected or coupled to the other unit or module in some form.

[0048] The heterogeneous system real-time communication method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the vehicle-mounted terminal 102 communicates with the server 104 through the network. The data storage system can store the data that the server 104 needs to process. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other network servers. The vehicle-mounted terminal 102 sends the acquired clock synchronization signal and source data to the server 104, and the server 104 obtains the clock synchronization signal and source data, converts and processes according to the unified data protocol to obtain the corresponding timestamp and target data, and stores and distributes them based on the shared memory mechanism. Among them, the vehicle-mounted terminal 102 can be but is not limited to at least one of various personal computers, laptops, smart phones, tablet computers, and computing devices deployed by the vehicle. The server 104 can be implemented with an independent server or a server cluster consisting of multiple servers. In this embodiment, the terminal 102 is a computing platform deployed by the autonomous driving vehicle.

[0049] In one embodiment, Figure 2 As shown, a method for real-time communication of heterogeneous systems is provided. This embodiment takes the method applied to a terminal as an example for explanation. It can be understood that the method can also be applied to a server, and can also be applied to a system including a terminal and a server, and is implemented through the interaction between the terminal and the server. In this embodiment, the method includes the following steps:

[0050] Step 202: The processing module acquires the clock synchronization signal and the source data in real time, and converts and processes the clock synchronization signal and the source data according to the unified data protocol to obtain corresponding timestamps and target data.

[0051] Among them, module refers to an assembled hardware combination or software and hardware combination. Modules can be used in combination and can be composed of components such as chips or electronic components. Different programs can be run on the module to achieve specific functions. The program can be written in C language, assembly language, JAVA language and other languages. Processing module refers to a hardware combination or software and hardware combination that has the functions of converting, processing, sending and other functions for signals or data. The processing module can be composed of one or more units. The clock synchronization signal refers to the clock signal emitted by the global navigation satellite system (GNSS). Source data refers to the original data received by the processing module. The data protocol refers to the unified requirements for the form and format of data during the transmission, storage and use of data in the system. Timestamp refers to data generated using digital signature technology. The objects of the signature include original file information, signature parameters, signature time and other information, which can be understood as another expression of the clock synchronization signal. Target data refers to data with a certain format obtained by converting and processing the source data.

[0052] Specifically, the processing module obtains a clock synchronization signal and source data, the clock synchronization signal is converted and processed according to a unified data protocol to obtain a timestamp, and the source data is converted and processed according to a unified data protocol to obtain target data.

[0053] In one embodiment, the processing module and the GNSS module are used in combination, and the GNSS module receives signals transmitted by the global navigation satellite system. The GNSS module can be one of a GNSS antenna, a GNSS receiver, and a GNSS receiving device, and the global navigation satellite system can be one of the existing satellite navigation systems, such as the US GPS, the Russian GLONASS, the EU GALILEO, and the Chinese BeiDou satellite navigation system.

[0054] In one embodiment, the source data includes GNSS data, INS data, and IMU data, and the target data is the corresponding GNSS target data, INS target data, and IMU target data obtained after conversion and processing according to the unified data protocol.

[0055] Among them, GNSS refers to Global Navigation Satellite System, an air-based radio navigation and positioning system that can provide users with all-weather three-dimensional coordinates, speed and time information at any location on the earth's surface or near-Earth space; INS refers to Incident Notification System, an inertial navigation system, sometimes also referred to as inertial system or inertial navigation. An inertial navigation system is a system that uses gyroscopes and accelerometers installed on a carrier to determine the position of a carrier; IMU refers to Inertial Measurement Unit, a device used to measure the three-axis attitude angle or angular rate and acceleration of an object; GNSS data refers to the acquired global navigation satellite system data, INS data refers to the acquired inertial navigation system data, and IMU data refers to the acquired inertial measurement unit data; GNSS target data refers to the data obtained by converting and processing GNSS data according to the unified data protocol, INS target data refers to the data obtained by converting and processing INS data according to the unified data protocol, and IMU target data refers to the data obtained by converting and processing IMU data according to the unified data protocol.

[0056] In one embodiment, the processing module and the operating system constitute a first subsystem, and the first subsystem is an embedded real-time system. An embedded real-time system refers to an embedded operating system that can accept and process external events or data at a sufficiently fast speed when they are generated, and the processing results can control the production process or respond quickly to the processing system within a specified time, and control all real-time tasks to run in a coordinated and consistent manner.

[0057] Step 204: the processing module sends the timestamp and target data to the distribution module via a preset channel in real time; the preset channel connects the processing module and the distribution module.

[0058] The preset channel refers to a channel that is preset to send data, which can be a virtual channel constructed by software or a physical channel constructed by hardware or a channel constructed by software and hardware, and can be composed of one or more channels. The distribution module refers to a hardware combination or a software and hardware combination that has the functions of receiving, saving, and distributing data. Different programs run on the module to achieve specific functions. The running program can be a program written in C language, assembly language, JAVA language, etc. The distribution module can be composed of one or more units.

[0059] Specifically, the processing module sends the timestamp to the distribution module through a preset channel of the timestamp, and sends the source data to the distribution module through a preset channel of the source data.

[0060] In one embodiment, the preset channel is composed of multiple DMA channels, and a time synchronization channel, a GNSS data channel, an INS data channel, and an IMU data channel are set respectively according to the data that needs to be sent. The time synchronization channel is used to send timestamps, the GNSS data channel is used to send GNSS target data, the INS data channel is used to send INS target data, and the IMU data channel is used to send IMU target data.

[0061] DMA refers to Direct Memory Access, which allows hardware devices of different speeds to communicate without relying on a large number of interrupt loads from the CPU. DMA direct memory access channel refers to the direct memory access channel to implement DMA transmission. The DMA transmission method does not require the CPU and directly copies data from one address space to another.

[0062] In one embodiment, the distribution module and the operating system constitute a second subsystem different from the embedded real-time system, and the operating system may be a Windows operating system, a Linux operating system, or the like.

[0063] Step 206: The distribution module stores and distributes the timestamp and target data based on a shared memory mechanism.

[0064] Among them, shared memory refers to mapping a section of memory that can be accessed by other processes. Shared memory is created by one process and can be accessed by multiple processes. It is a communication method between multiple processes and is often used for multi-process communication within a program or for sending information between multiple programs.

[0065] Specifically, after the distribution module obtains the timestamp and target data, it stores the timestamp and target data in a shared memory manner. The distribution module distributes the timestamp to synchronize the entire autonomous driving system, and distributes the target data to provide location information for the entire autonomous driving system. Among them, the autonomous driving system refers to an intelligent automobile system that realizes unmanned driving through an on-board computer system, and has the functions of automatic vehicle wake-up, start-up and sleep, automatic parking, automatic cleaning, automatic driving, automatic parking, automatic door opening and closing, and automatic fault recovery; timing refers to providing a standard time signal to the system, module, etc. in a certain way, and the timing method can be broadcast, notification, inquiry, etc.

[0066] In one embodiment, when a shared memory mechanism is used to store data, a semaphore is used for notification to achieve synchronization and mutual exclusion between processes. A semaphore is a counter that can be used to control the access of multiple processes to shared resources. It is often used as a lock mechanism to prevent other processes from accessing a shared resource when a process is accessing the resource.

[0067] In this embodiment, the processing module acquires the clock synchronization signal and source data in real time, converts the clock synchronization signal and the source data according to the data protocol to obtain a timestamp and target data in a unified form, and quickly sends the timestamp and target data to the distribution module through a preset channel. The distribution module uses a shared memory method to store the timestamp and target data. The distribution timestamp provides standard time information for the entire autonomous driving system, and the distribution target data provides location information for the entire autonomous driving system. The processing module and the distribution module divide the work and cooperate with each other, and the distribution module stores the distribution timestamp and target data based on a shared memory mechanism, thereby ensuring the real-time time and location information of the autonomous driving system.

[0068] In one embodiment, the method for real-time communication of heterogeneous systems is used for communication between a first subsystem constructed by the processing module and a second subsystem constructed by the distribution module, wherein the first subsystem is an embedded real-time system.

[0069] Among them, a subsystem refers to a complete entity composed of a group of functions that complete a specific task. The concepts of system and subsystem are relative. When a system is part of another system, it becomes a subsystem.

[0070] In one embodiment, the autonomous driving heterogeneous system consists of a first subsystem of an embedded real-time system and a second subsystem of an automatic control system.

[0071] In this embodiment, the method of real-time communication of heterogeneous systems realizes the communication between the first subsystem and the second subsystem. The first subsystem is an embedded real-time system that can acquire, process, and send time information and location information in real time, ensuring the real-time nature of the time information and location information.

[0072] In one embodiment, the processing module includes a time synchronization driving unit, a serial port driving unit, a preprocessing unit, and a sending unit. Figure 3 As shown, the processing module acquires the clock synchronization signal and the source data in real time, converts and processes the clock synchronization signal and the source data according to the unified data protocol to obtain the corresponding timestamp and target data, including:

[0073] The time synchronization driving unit 302 obtains the clock synchronization signal, and sends the timestamp obtained by processing according to the unified data protocol to the sending unit 308;

[0074] Among them, a unit refers to a hardware combination or a software-hardware combination with a specific function, and is a component of a module.

[0075] In one embodiment, the time synchronization driving unit 302 obtains the clock synchronization signal after receiving the interrupt request, converts the clock synchronization signal according to the unified data protocol to obtain a timestamp, and sends the timestamp to the sending unit 308. The interrupt request refers to the process of applying to the processor to request the processor to suspend the currently executed operation and give priority to the requested operation. The interrupt request mode is one of the following modes: program query mode, interrupt processing mode, DMA transfer mode, unconditional transfer mode, I / O channel mode, I / O processor mode, etc.

[0076] The serial port driver unit 304 acquires the source data, and calls the preprocessing unit 306 to process the source data according to the unified data protocol to obtain target data; the source data includes GNSS data, IMU data, and INS data, and the target data is the corresponding GNSS target data, IMU target data, and INS target data;

[0077] Specifically, the serial port driver unit 304 obtains GNSS data and processes it according to the unified data protocol to obtain GNSS target data, obtains IMU data and processes it according to the unified data protocol to obtain IMU target data, and obtains INS data and processes it according to the unified data protocol to obtain INS target data.

[0078] After the preprocessing unit 306 completes the processing, the serial port driver unit 304 sends an interrupt request to the sending unit 308. The sending unit 308 receives the interrupt request and obtains the target data. In one embodiment, the sending unit 308 is a sending end of a PCIE device.

[0079] In this embodiment, the time synchronization driving unit in the processing module acquires the clock synchronization signal in real time, converts and processes it according to the unified data protocol to obtain a timestamp, and sends the timestamp to the sending unit; the serial port driving unit acquires the source data in real time, calls the preprocessing unit to convert and process the source data according to the unified data protocol to obtain the target data, and the serial port driving unit sends an interrupt request to the sending unit after the preprocessing unit completes the processing, and the sending unit acquires the target data in real time. The division of labor and cooperation among the units in the processing module ensure the real-time performance of data acquisition, conversion, and transmission.

[0080] In one implementation, the preset channel is a DMA channel, including a time synchronization channel, a GNSS data channel, an IMU data channel, and an INS data channel. The processing module sends the timestamp and target data to the distribution module through the preset channel in real time, including: the processing module sends the timestamp to the distribution module through the time synchronization channel, sends the GNSS target data to the distribution module through the GNSS data channel, sends the IMU target data to the distribution module through the IMU data channel, and sends the INS target data to the distribution module through the INS data channel.

[0081] Among them, the channel refers to the path for information exchange in the system, which can be used for sending and receiving data, information, and messages.

[0082] In one embodiment, the time synchronization channel, the GNSS data channel, the IMU data channel, and the INS data channel are all DMA channels, connecting the transmitting end of the PCIE device and the receiving end of the PCIE device.

[0083] In this embodiment, the preset channels are multiple DMA channels. The DMA channels ensure the real-time performance of data transmission, and the multi-channel communication ensures the accuracy of data transmission.

[0084] In one embodiment, the processing module includes a sending unit for sending the timestamp and target data to the distribution module, and the distribution module includes a receiving unit for receiving the timestamp and target data from the processing module, wherein: the sending unit is the transmitting end of the PCIE device, and the receiving unit is the receiving end of the PCIE device.

[0085] Among them, PCIE refers to Peripheral Component Interconnect Express, which is a high-speed serial computer expansion bus standard. It has high-speed serial point-to-point dual-channel high-bandwidth transmission. The connected devices are allocated exclusive channel bandwidth and do not share bus bandwidth. It supports end-to-end reliable transmission. PCIE high-speed serial computer expansion bus standard equipment refers to equipment with PCIE characteristics, which consists of a transmitter and a receiver.

[0086] Specifically, the sending unit is the sending end of the PCIE device located in the processing module, which belongs to the first subsystem, and the receiving unit is the receiving end of the PCIE device located in the distribution module, which belongs to the second subsystem. The timestamp and target data are sent from the sending end of the PCIE device to the receiving end of the PCIE device to realize real-time communication between the first subsystem and the second subsystem.

[0087] In this embodiment, the sending unit located in the processing module and the receiving unit located in the distribution module are respectively the sending end and the receiving end of the PCIE device. The PCIE device communication exclusively uses the channel bandwidth and does not share the bus bandwidth, thereby ensuring the reliability of data transmission.

[0088] In one embodiment, the distribution module includes a receiving unit, a time synchronization slave unit, a positioning unit, and other receiving end units, such as Figure 4 As shown, the distribution module stores and distributes the timestamp and target data based on a shared memory mechanism, including:

[0089] The receiving unit 402 obtains the timestamp and the target data, and stores the timestamp and the target data based on a shared memory mechanism.

[0090] In one embodiment, the receiving unit 402 is a receiving end of a PCIE device. After receiving an interrupt request, it obtains the timestamp and target data sent by the sending unit 308. The received interrupt request is one of the MSI interrupt modes or the MSI-X interrupt modes. After storing the timestamp and target data based on a shared memory mechanism, a semaphore is sent to notify the time synchronization slave unit 404, the positioning unit 406, and other receiving end units 408 to obtain the required data.

[0091] The receiving unit 402 notifies the time synchronization slave unit 404, the positioning unit 406, and other receiving end units 408 to obtain required data.

[0092] In one embodiment, the receiving unit 402 notifies the time synchronization slave unit 404, the positioning unit 406, and the other receiving end units 408 through a semaphore. A semaphore refers to a counter that can be used to control the access of multiple processes to a shared resource. It is often used as a lock mechanism to prevent other processes from accessing a shared resource when a process is accessing the resource.

[0093] In this embodiment, the time synchronization slave obtains the timestamp and target data, stores them based on the shared memory mechanism, and notifies the time synchronization slave unit, positioning unit, and other receiving end units through semaphores to obtain the required data. The units in the distribution module work together to ensure the real-time and accuracy of data storage and distribution.

[0094] In one embodiment, the receiving unit notifies the time synchronization slave unit, the positioning unit, and other receiving end units to obtain required data, including:

[0095] The time synchronization slave unit 404 obtains the timestamp and performs timing for the autonomous driving heterogeneous system;

[0096] The positioning unit 406 acquires the target data and provides location information for the autonomous driving heterogeneous system;

[0097] Other receiving end units 408 obtain one or more data among the timestamp, GNSS target data, IMU target data, and GNSS target data according to requirements.

[0098] In this embodiment, different units in the distribution module obtain required data according to their functions and distribute them, thereby ensuring the accuracy and timeliness of data distribution.

[0099] In a specific embodiment, the overall structural block diagram of the autonomous driving heterogeneous system is as follows: Figure 7 As shown, it consists of a first subsystem and a second subsystem, which are connected via a DMA channel. The first subsystem is an embedded real-time system constructed by a processing module and an operating system, which is used to receive, process, and send data; the second subsystem is a system different from the embedded real-time system, which is constructed by a distribution module and an operating system, which is used to receive, store, and distribute data sent by the first subsystem; the DMA channel is used for fast transmission and reception of data between the first subsystem and the second subsystem. Figure 7 In the heterogeneous autonomous driving system shown in the figure, the time information is sent as follows Figure 5 As shown, the location information is sent as Figure 6 shown.

[0100] The process of sending time information is as follows Figure 5 As shown, including:

[0101] Step 502: The clock synchronization driving unit obtains the clock synchronization signal and converts it according to the unified data protocol to obtain a timestamp.

[0102] Step 504: The clock synchronization driving unit sends the timestamp to the PCIE sending unit.

[0103] Step 506: The PCIE sending unit sends the timestamp to the PCIE receiving unit through the DMA time synchronization channel.

[0104] Step 508: The PCIE receiving unit receives the timestamp, stores the timestamp based on a shared memory mechanism, and sends a semaphore to the time synchronization slave unit.

[0105] Step 510: The time synchronization slave unit obtains the timestamp after receiving the signal quantity, and performs time synchronization for the autonomous driving system.

[0106] The process of sending location information is as follows: Figure 6 As shown, including:

[0107] Step 602: The serial port driver unit obtains the source data, the target data includes GNSS data, INS data, and IMU data, and calls the preprocessing unit.

[0108] Step 604: The preprocessing unit processes and converts the source data according to a unified data protocol to obtain target data, where the target data includes GNSS target data, INS target data, and IMU target data.

[0109] Step 606: After the pre-processing unit completes processing of the source data, the serial port driver unit sends an interrupt request to the PCIE sending unit.

[0110] Step 608: The PCIE sending unit obtains the target data after receiving the interrupt request.

[0111] Step 610: The PCIE sending unit sends GNSS target data through the GNSS data channel, sends INS target data through the INS data channel, and sends IMU target data through the IMU data channel to the PCIE receiving unit.

[0112] Step 612: The PCIE receiving unit stores the target data based on a shared memory mechanism and sends a semaphore to the positioning unit.

[0113] Step 614: After receiving the signal, the positioning unit obtains the target data and provides location information for the automatic driving system.

[0114] In this embodiment, the embedded real-time system acquires the clock synchronization signal and the source data in real time, converts the clock synchronization signal and the source data according to the unified data protocol to obtain the timestamp and the target data, sends the timestamp through the time synchronization channel, sends the GNSS target data through the GNSS data channel, sends the INS target data through the INS data channel, and sends the IMU target data through the IMU data channel to the second subsystem. The second subsystem completes the storage and distribution of the timestamp and the target data based on the shared memory mechanism, provides the time information and the position information for the automatic driving system, completes the real-time communication between heterogeneous systems, and ensures the real-time and accuracy of the time information and the position information.

[0115] It should be understood that although Figure 1-7 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 1-7At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.

[0116] Based on the same inventive concept, the embodiment of the present application also provides a device for implementing the above-mentioned heterogeneous system real-time communication. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above-mentioned method, so the specific limitations of the one or more heterogeneous system real-time communication devices provided below can be found in the above-mentioned limitations on the heterogeneous system real-time communication method, and will not be repeated here.

[0117] In one embodiment, Figure 8 As shown, a device for real-time communication of heterogeneous systems is provided, including a processing module and a distribution module, wherein:

[0118] The processing module 802 is used to obtain the clock synchronization signal and the source data in real time, convert and process the clock synchronization signal and the source data according to the unified data protocol to obtain the corresponding timestamp and target data; send the timestamp and target data to the distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module;

[0119] The distribution module 804 is used to store and distribute the timestamp and target data based on a shared memory mechanism.

[0120] In one embodiment, the method for real-time communication between heterogeneous systems is used for communication between a first subsystem constructed by the processing module 802 and a second subsystem constructed by the distribution module 804, wherein the first subsystem is an embedded real-time system.

[0121] In one embodiment, the processing module 802 includes a time synchronization drive unit, a serial port drive unit, a preprocessing unit, and a sending unit, and is also used for: the time synchronization drive unit obtains the clock synchronization signal, and sends the timestamp obtained by processing according to the unified data protocol to the sending unit; the serial port drive unit obtains the source data, calls the preprocessing unit to process the source data according to the unified data protocol to obtain target data; the source data includes GNSS data, IMU data, and INS data, and the target data is the corresponding GNSS target data, IMU target data, and INS target data; after the preprocessing unit completes the processing, the serial port drive unit sends an interrupt request to the sending unit, and the sending unit obtains the target data after receiving the interrupt request.

[0122] In one embodiment, the preset channel is a DMA channel, including a time synchronization channel, a GNSS data channel, an IMU data channel, and an INS data channel. The processing module 802 is also used for: the processing module 802 sends the timestamp to the distribution module 804 through the time synchronization channel, sends the GNSS target data to the distribution module 804 through the GNSS data channel, sends the IMU target data to the distribution module 804 through the IMU data channel, and sends the INS target data to the distribution module 804 through the INS data channel.

[0123] In one embodiment, the processing module 802 includes a sending unit for sending the timestamp and target data to the distribution module, and the distribution module 804 includes a receiving unit for receiving the timestamp and target data, wherein: the sending unit is a sending end of a PCIE device, and the receiving unit is a receiving end of a PCIE device.

[0124] In one embodiment, the distribution module 804 includes a receiving unit, a time synchronization slave unit, a positioning unit, and other receiving end units, and is also used for: the receiving unit obtains the timestamp and target data, and stores the timestamp and target data based on a shared memory mechanism; the receiving unit notifies the time synchronization slave unit, the positioning unit, and other receiving end units to obtain required data.

[0125] In one of the embodiments, the distribution module 804 is also used for: the time synchronization slave unit obtains the timestamp to provide time synchronization for the autonomous driving heterogeneous system; the positioning unit obtains the target data to provide location information for the autonomous driving heterogeneous system; other receiving end units obtain one or more of the timestamp, GNSS target data, IMU target data, and GNSS target data as needed.

[0126] In one embodiment, if Fig. 9 Another heterogeneous system data communication device is provided, including an acquisition module, a processing module, and a distribution module, wherein:

[0127] Receiving module 902, used to obtain clock synchronization signal and source data in real time;

[0128] The processing module 904 converts and processes the clock synchronization signal and the source data according to the unified data protocol to obtain corresponding timestamps and target data; sends the timestamps and target data to the distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module;

[0129] The distribution module 906 is used to store and distribute the timestamp and target data based on a shared memory mechanism.

[0130] Each module in the above heterogeneous system real-time communication device can be implemented in whole or in part by software, hardware and a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.

[0131] Fig.10 FIG. 1 shows an internal structure diagram of a computer device in an embodiment. The computer device can be either a terminal or a server. Fig.10 As shown, the computer device includes a processor, a memory and a network interface connected through a system bus. Among them, the memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores an operating system and may also store a computer program. When the computer program is executed by the processor, the processor can implement the video synthesis method. The internal memory may also store a computer program. When the computer program is executed by the processor, the processor can execute the business document conversion method.

[0132] Those skilled in the art will understand that Fig.10 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0133] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:

[0134] The processing module acquires the clock synchronization signal and the source data in real time, converts and processes the clock synchronization signal and the source data according to the unified data protocol to obtain the corresponding timestamp and target data; the processing module sends the timestamp and the target data to the distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module; the distribution module stores and distributes the timestamp and the target data based on a shared memory mechanism.

[0135] In one of the embodiments, when the processor executes the computer program, the following steps are also implemented: the method for real-time communication between heterogeneous systems is used for a heterogeneous system consisting of a first subsystem constructed by the processing module and a second subsystem constructed by the distribution module, and the first subsystem is an embedded real-time system.

[0136] In one of the embodiments, the processing module includes a time synchronization drive unit, a serial port drive unit, a preprocessing unit, and a sending unit. The processing module acquires a clock synchronization signal and source data in real time, converts and processes the clock synchronization signal and source data according to a unified data protocol to obtain corresponding timestamps and target data. When the processor executes the computer program, the following steps are also implemented: the time synchronization drive unit acquires the clock synchronization signal, and sends the timestamp obtained by processing according to the unified data protocol to the sending unit; the serial port drive unit acquires the source data, and calls the preprocessing unit to process the source data according to the unified data protocol to obtain target data; the source data includes GNSS data, IMU data, and INS data, and the target data is the corresponding GNSS target data, IMU target data, and INS target data; after the preprocessing unit completes the processing, the serial port drive unit sends an interrupt request to the sending unit, and the sending unit acquires the target data after receiving the interrupt request.

[0137] In one of the embodiments, the preset channel is a DMA channel, including a time synchronization channel, a GNSS data channel, an IMU data channel, and an INS data channel. The processing module sends the timestamp and target data to the distribution module through the preset channel in real time. When the processor executes the computer program, the following steps are also implemented: the processing module sends the timestamp to the distribution module through the time synchronization channel, sends the GNSS target data to the distribution module through the GNSS data channel, sends the IMU target data to the distribution module through the IMU data channel, and sends the INS target data to the distribution module through the INS data channel.

[0138] In one of the embodiments, the processor further implements the following steps when executing the computer program: the processing module includes a sending unit for sending the timestamp and target data to the distribution module, and the distribution module includes a receiving unit for receiving the timestamp and target data from the processing module, wherein: the sending unit is a sending end of a PCIE device, and the receiving unit is a receiving end of a PCIE device.

[0139] In one of the embodiments, the distribution module includes a receiving unit, a time synchronization slave unit, a positioning unit, and other receiving end units. The distribution module stores and distributes the timestamp and target data based on a shared memory mechanism. When the processor executes the computer program, the following steps are also implemented: the receiving unit obtains the timestamp and target data, and stores the timestamp and target data based on a shared memory mechanism; the receiving unit notifies the time synchronization slave unit, the positioning unit, and other receiving end units to obtain the required data.

[0140] In one of the embodiments, the receiving unit notifies the time synchronization slave end unit, the positioning unit, and other receiving end units to obtain required data, and the processor also implements the following steps when executing the computer program: the time synchronization slave end unit obtains the timestamp to perform time synchronization for the autonomous driving heterogeneous system; the positioning unit obtains the target data to provide location information for the autonomous driving heterogeneous system; other receiving end units obtain one or more of the timestamp, GNSS target data, IMU target data, and GNSS target data as required.

[0141] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:

[0142] The processing module acquires the clock synchronization signal and the source data in real time, converts and processes the clock synchronization signal and the source data according to the unified data protocol to obtain the corresponding timestamp and target data; the processing module sends the timestamp and the target data to the distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module; the distribution module stores and distributes the timestamp and the target data based on a shared memory mechanism.

[0143] In one of the embodiments, when the computer program is executed by the processor, the following steps are also implemented: the method for real-time communication between heterogeneous systems is used for a heterogeneous system consisting of a first subsystem constructed by the processing module and a second subsystem constructed by the distribution module, and the first subsystem is an embedded real-time system.

[0144] In one of the embodiments, the processing module includes a time synchronization drive unit, a serial port drive unit, a preprocessing unit, and a sending unit. The processing module acquires a clock synchronization signal and source data in real time, converts and processes the clock synchronization signal and source data according to a unified data protocol to obtain corresponding timestamps and target data. When the computer program is executed by the processor, the following steps are also implemented: the time synchronization drive unit acquires the clock synchronization signal, and sends the timestamp obtained by processing according to the unified data protocol to the sending unit; the serial port drive unit acquires the source data, and calls the preprocessing unit to process the source data according to the unified data protocol to obtain target data; the source data includes GNSS data, IMU data, and INS data, and the target data is the corresponding GNSS target data, IMU target data, and INS target data; after the preprocessing unit completes the processing, the serial port drive unit sends an interrupt request to the sending unit, and the sending unit acquires the target data after receiving the interrupt request.

[0145] In one of the embodiments, the preset channel is a DMA channel, including a time synchronization channel, a GNSS data channel, an IMU data channel, and an INS data channel. The processing module sends the timestamp and target data to the distribution module through the preset channel in real time. When the computer program is executed by the processor, the following steps are also implemented: the processing module sends the timestamp to the distribution module through the time synchronization channel, sends the GNSS target data to the distribution module through the GNSS data channel, sends the IMU target data to the distribution module through the IMU data channel, and sends the INS target data to the distribution module through the INS data channel.

[0146] In one of the embodiments, when the computer program is executed by the processor, the following steps are also implemented: the processing module includes a sending unit for sending the timestamp and target data to the distribution module, and the distribution module includes a receiving unit for receiving the timestamp and target data from the processing module, wherein: the sending unit is a sending end of a PCIE device, and the receiving unit is a receiving end of a PCIE device.

[0147] In one of the embodiments, the distribution module includes a receiving unit, a time synchronization slave unit, a positioning unit, and other receiving end units. The distribution module stores and distributes the timestamp and target data based on a shared memory mechanism. When the computer program is executed by the processor, the following steps are also implemented: the receiving unit obtains the timestamp and target data, and stores the timestamp and target data based on a shared memory mechanism; the receiving unit notifies the time synchronization slave unit, the positioning unit, and other receiving end units to obtain the required data.

[0148] In one of the embodiments, the receiving unit notifies the time synchronization slave unit, the positioning unit, and other receiving end units to obtain required data, and the computer program also implements the following steps when executed by the processor: the time synchronization slave end unit obtains the timestamp to perform time synchronization for the autonomous driving heterogeneous system; the positioning unit obtains the target data to provide location information for the autonomous driving heterogeneous system; other receiving end units obtain one or more of the timestamp, GNSS target data, IMU target data, and GNSS target data as required.

[0149] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.

[0150] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.

[0151] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0152] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A method for real-time communication of heterogeneous systems, characterized in that: The method is used for an autonomous driving heterogeneous system, wherein the autonomous driving heterogeneous system is composed of a first subsystem constructed by a processing module and a second subsystem constructed by a distribution module, wherein the processing module includes a time synchronization driving unit, a serial port driving unit, a preprocessing unit and a sending unit, including: The processing module acquires the clock synchronization signal and source data in real time, converts and processes the clock synchronization signal and source data according to the unified data protocol to obtain corresponding timestamps and target data, including: the time synchronization driving unit acquires the clock synchronization signal, and sends the timestamp obtained by processing according to the unified data protocol to the sending unit; the serial port driving unit acquires the source data, calls the preprocessing unit to process the source data according to the unified data protocol to obtain target data; after the preprocessing unit completes the processing, the serial port driving unit sends an interrupt request to the sending unit, and the sending unit obtains the target data after receiving the interrupt request; the source data includes GNSS data, IMU data, and INS data, and the target data is the corresponding GNSS target data, IMU target data, and INS target data; The sending unit of the processing module sends the timestamp and the target data to the distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module; The distribution module stores the timestamp and the target data in a shared memory manner. The distribution module distributes the timestamp to perform timing for the entire autonomous driving heterogeneous system and distributes the target data to provide location information for the entire autonomous driving heterogeneous system.

2. The method according to claim 1, characterized in that: The first subsystem is an embedded real-time system, and the second subsystem is an automatic control system.

3. The method according to claim 1, characterized in that: The time synchronization driving unit acquires the clock synchronization signal, and sends the timestamp obtained by processing according to the unified data protocol to the sending unit, including: The time synchronization driving unit obtains a clock synchronization signal after receiving an interrupt request, converts the clock synchronization signal according to the unified data protocol to obtain a timestamp, and sends the timestamp to the sending unit.

4. The method according to claim 1, characterized in that: The preset channel is a DMA channel, including a time synchronization channel, a GNSS data channel, an IMU data channel, and an INS data channel. The processing module sends the timestamp and the target data to the distribution module through the preset channel in real time, including: The processing module sends the timestamp to the distribution module through the time synchronization channel, sends the GNSS target data to the distribution module through the GNSS data channel, sends the IMU target data to the distribution module through the IMU data channel, and sends the INS target data to the distribution module through the INS data channel.

5. The method according to claim 1, characterized in that: The processing module comprises a sending unit for sending the timestamp and the target data to the distribution module, and the distribution module comprises a receiving unit for receiving the timestamp and the target data from the processing module, wherein: The sending unit is a sending end of a PCIE device, and the receiving unit is a receiving end of a PCIE device.

6. The method according to claim 1, characterized in that: The distribution module includes a receiving unit, a time synchronization slave unit, a positioning unit, and other receiving end units. The distribution module stores the timestamp and the target data in a shared memory manner. The distribution module distributes the timestamp to synchronize the entire autonomous driving heterogeneous system and distributes the target data to provide location information for the entire autonomous driving heterogeneous system, including: The receiving unit obtains the timestamp and the target data, and stores the timestamp and the target data based on a shared memory mechanism; The receiving unit notifies the time synchronization slave end unit, the positioning unit, and other receiving end units to obtain required data.

7. The method according to claim 6, characterized in that: The receiving unit notifies the time synchronization slave unit, the positioning unit, and other receiving end units to obtain required data, including: The time synchronization obtains the timestamp from the terminal unit to provide time synchronization for the autonomous driving heterogeneous system; The positioning unit acquires the target data and provides location information for the autonomous driving heterogeneous system; Other receiving end units obtain one or more of the timestamp, GNSS target data, IMU target data, and INS target data according to requirements.

8. A device for real-time communication of heterogeneous systems, characterized in that: The device is used for an autonomous driving heterogeneous system, wherein the autonomous driving heterogeneous system is composed of a first subsystem constructed by a processing module and a second subsystem constructed by a distribution module, wherein the processing module includes a time synchronization driving unit, a serial port driving unit, a preprocessing unit and a sending unit, including: A processing module, used for acquiring a clock synchronization signal and source data in real time, converting and processing the clock synchronization signal and source data according to a unified data protocol to obtain corresponding timestamps and target data, including: the time synchronization driving unit acquires the clock synchronization signal, and sends the timestamp obtained by processing according to the unified data protocol to the sending unit; the serial port driving unit acquires the source data, and calls the preprocessing unit to process the source data according to the unified data protocol to obtain target data; after the preprocessing unit completes the processing, the serial port driving unit sends an interrupt request to the sending unit, and the sending unit acquires the target data after receiving the interrupt request; the source data includes GNSS data, IMU data, and INS data, and the target data is corresponding GNSS target data, IMU target data, and INS target data; the sending unit of the processing module sends the timestamp and the target data to the distribution module through a preset channel in real time; the preset channel connects the processing module and the distribution module; A distribution module is used to store the timestamp and the target data in a shared memory manner, distribute the timestamp to synchronize the time for the entire autonomous driving heterogeneous system, and distribute the target data to provide location information for the entire autonomous driving heterogeneous system.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Vehicle sensor data reading device and method

    CN110311954A

  • Processor for federated learning, heterogeneous processing system and private data transmission method

    CN112000598A