Data transmission device and data transmission method executed by data transmission device

By having the first and second processing units in the data transmission device work together, the problem of limited computing resources is solved, enabling real-time diagnosis and efficient processing of sensor data, and reducing the burden on computing devices.

CN120980096APending Publication Date: 2025-11-18BEIJING TUSEN ZHITU TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410585160.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-11
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

As autonomous driving technology becomes more complex, the amount of sensor data that computing devices need to process increases, making it difficult for resource-limited computing devices to effectively diagnose sensor data and increasing the possibility of data transmission anomalies.

Method used

The first processing unit and the second processing unit in the data transmission device work together. The first processing unit acquires sensor data and stores it in the storage device, while the second processing unit reads status data from the storage device to generate diagnostic data, thereby reducing the processing burden on the computing device.

Benefits of technology

It enables diagnostics of sensor data, reduces the consumption of computing resources, and ensures the real-time performance and analytical capabilities of sensor data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120980096A_ABST
    Figure CN120980096A_ABST
Patent Text Reader

Abstract

The invention discloses a data transmission device and a data transmission method executed by the data transmission device. The data transmission device at least comprises a first processing unit and a second processing unit, and at least one of the first processing unit and the second processing unit comprises a storage device. The data transmission method comprises the following steps: acquiring state data associated with a sensor through a first processing unit in the data transmission device, and then storing the state data in a storage device; and reading the storage device through a second processing unit in the data transmission device to obtain the state data, and generating diagnosis data based on the state data.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of autonomous driving, and in particular, to a data transmission device and a data transmission method performed by the data transmission device. BACKGROUND

[0002] In autonomous driving, a computing device is usually used to acquire and process data sent by vehicle sensors. However, with the development of autonomous driving technology, the autonomous driving algorithm in the computing device is becoming more and more complex, more and more sensors need to be accessed, and the computing device receives more and more sensor data, which requires a large amount of resources for processing. Due to the increase in the number of sensors, the possibility of abnormal data transmission between the sensors or the sensors and the computing device is also increasing, and therefore, the sensor data needs to be diagnosed to achieve accurate control and safe navigation of the vehicle by the autonomous driving algorithm. SUMMARY

[0003] Therefore, the purpose of the present disclosure is to provide a data transmission method performed by a data transmission device and a data transmission device, which can realize diagnosis of sensor data.

[0004] In a first aspect, the present application provides a data transmission method performed by a data transmission device, the data transmission device comprising at least a first processing unit and a second processing unit, at least one of the first processing unit and the second processing unit comprising a storage device, the method comprising:

[0005] obtaining, by the first processing unit, state data associated with a sensor;

[0006] storing, by the first processing unit, the state data in the storage device;

[0007] reading, by the second processing unit, the storage device to obtain the state data;

[0008] generating, by the second processing unit, diagnosis data according to the state data.

[0009] In a second aspect, the present application provides a data transmission device comprising:

[0010] a first processing unit configured to:

[0011] obtain state data associated with a sensor;

[0012] store the state data in a storage device,

[0013] a second processing unit configured to:

[0014] read the storage device to obtain the state data;

[0015] Based on the status data, diagnostic data is generated.

[0016] The storage device is located in at least one of the first processing unit and the second processing unit.

[0017] In this application, the first processing unit in the data transmission device acquires state data associated with the sensor and stores the state data in a storage device; the second processing unit in the data transmission device reads the state data from the storage device and generates diagnostic data based on the state data. Through the above technical solution, this application achieves the diagnosis of sensor data. Furthermore, this application utilizes a data transmission device to diagnose sensor data and bears the computational load generated during the diagnosis of sensor data, rather than using computing devices to diagnose and process the sensor data, which can significantly reduce the consumption of computing device resources. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0019] Figure 1 This is a schematic diagram of a vehicle in which the various technologies disclosed herein can be implemented;

[0020] Figure 2 A data transmission apparatus according to an example embodiment of this application is shown;

[0021] Figure 3 This invention illustrates a data transmission apparatus according to another exemplary embodiment of the present application;

[0022] Figure 4 This is a flowchart of a data transmission method performed by a data transmission device according to this application. Detailed Implementation

[0023] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this disclosure.

[0024] With the continuous development and updates of autonomous driving technology, autonomous driving algorithms are becoming increasingly complex, leading to a growing demand for sensors. Consequently, the amount of sensor data received by computing devices is also increasing dramatically. However, due to the limited resources of computing devices, it is difficult to meet the computational power required for diagnostic processing of large amounts of sensor data. Therefore, this application provides a data transmission method executed by a data transmission device. This device receives and processes sensor data for diagnostic purposes, thus handling the computational power required for sensor data diagnostic processing and saving computing device resources.

[0025] Figure 1 This is a schematic diagram of a vehicle 100 in which the various technologies disclosed herein can be implemented. Vehicle 100 can be a car, truck, motorcycle, bus, recreational vehicle, amusement park vehicle, tram, golf cart, train, trolleybus, or other vehicle. Vehicle 100 can operate fully or partially in an autonomous driving mode. In autonomous driving mode, vehicle 100 can control itself; for example, vehicle 100 can determine the current state of the vehicle and the current state of the environment in which the vehicle is located, determine the predicted behavior of at least one other vehicle in the environment, determine the trust level corresponding to the probability that the at least one other vehicle will perform the predicted behavior, and control vehicle 100 itself based on the determined information. In autonomous driving mode, vehicle 100 can operate without human interaction.

[0026] Vehicle 100 may include various vehicle systems and devices, such as drive system 142, sensor system 144, control system 146, computing device 150, communication system 152, and data transmission device 156. Vehicle 100 may include more or fewer systems (or devices), and each system (or device) may include multiple units. Furthermore, each system (or device) and unit of vehicle 100 may be interconnected. For example, computing device 150 may be capable of data communication with one or more of drive system 142, sensor system 144, control system 146, communication system 152, and data transmission device 156. In a further example, additional functional components or physical components may be added to vehicle 100.

[0027] The sensor system 144, computing device 150, and data transmission device 156 of vehicle 100 can constitute an autonomous driving (or driverless) system for vehicle 100. With the aid of this autonomous driving system, vehicle 100 can operate fully or partially in autonomous driving mode. In autonomous driving mode, vehicle 100 can be controlled by the autonomous driving system.

[0028] The drive system 142 may include a plurality of operable components (or units) that provide kinetic energy to the vehicle 100. In one embodiment, the drive system 142 may include an engine or electric motor, wheels, a transmission, electronic systems, and a power source (or power source).

[0029] Sensor system 144 may include multiple sensors for sensing information about the environment and conditions of vehicle 100. For example, sensor system 144 may include an inertial measurement unit (IMU), a global navigation satellite system (GNSS) transceiver (e.g., a global positioning system (GPS) transceiver), a radio detection and ranging (RADAR) sensor, a laser detection and ranging (LIDAR) sensor, an acoustic sensor, an ultrasonic sensor, and an image acquisition device (e.g., a camera). One or more sensors included in sensor system 144 may be driven individually or collectively to update the attitude (e.g., position and orientation) of one or more sensors.

[0030] Control system 146 is used to control the operation of vehicle 100 and its components (or units). Accordingly, control system 146 may include various units, such as a steering unit, a power control unit, a braking unit, and a navigation unit. The steering unit may be a combination of mechanisms for adjusting the forward direction of vehicle 100. The power control unit (e.g., a throttle) may be used to control the engine speed, thereby controlling the speed of vehicle 100. The braking unit may include a combination of mechanisms for decelerating vehicle 100. The braking unit may utilize friction to decelerate the vehicle in a standard manner. The navigation unit may be any system that determines a driving path or route for vehicle 100. The navigation unit may also dynamically update the driving path as vehicle 100 travels.

[0031] Communication system 152 can provide vehicle 100 with a means of communicating with one or more devices or other vehicles in the vicinity. In an exemplary embodiment, communication system 152 can communicate with one or more devices directly or via a communication network. Communication system 152 can be, for example, a wired or wireless communication system. For example, the communication system can use 3G cellular communication (e.g., CDMA, EVDO, GSM / GPRS) or 4G cellular communication (e.g., WiMAX or LTE), and can also use 5G cellular communication. Optionally, the communication system can communicate with a wireless local area network (WLAN) (e.g., using...). ).

[0032] The computing device 150 may include, for example, a server, a personal computer (PC), an electronic control unit (ECU), such as a domain controller, etc. The computing device 150 can control some or all of the functions of the vehicle 100. The autonomous driving control unit in the computing device 150 can be used to identify, assess, and avoid or traverse potential obstacles in the environment in which the vehicle 100 is located. In some embodiments, the autonomous driving control unit uses data from sensors, such as data from a GPS transceiver, RADAR data, LIDAR data, data from an image acquisition device (e.g., a camera), and data from other vehicle systems to determine the driving path or trajectory of the vehicle 100.

[0033] The computing device 150 may include at least one processor (which may include at least one microprocessor) and a memory (a computer-readable storage medium), the processor executing processing instructions stored in the memory. In some embodiments, the memory may contain processing instructions (e.g., program logic) executed by the processor to implement various functions of the vehicle 100. The memory may also include other instructions, including instructions for sending data, instructions for receiving data, instructions for interaction, or instructions for controlling the drive system 142, sensor system 144, control system 146, communication system 152, and data transmission device 156.

[0034] In addition to storing processing instructions, the memory can store various types of information or data, such as parameters of each sensor in the sensor system 144 and data received from the sensor system 144 (e.g., point clouds received from a LiDAR sensor, images received from a camera).

[0035] although Figure 1 The autonomous driving control unit is shown as separate from the processor and memory; however, it should be understood that in some implementations, some or all of the functions of the autonomous driving control unit may be implemented using program code instructions residing in memory and executed by the processor.

[0036] The data transmission device 156 is used to transmit data and / or instructions between the sensor system 144 and the computing device 150. Data transmission between the sensor system 144 and the data transmission device 156, as well as between the computing device 150 and the data transmission device 156, can employ various protocols, such as the User Datagram Protocol (UDP). In a sense, the data transmission device 156 can function as a switch. Furthermore, the autonomous driving control unit in the computing device 150 requires significant computing power to process the massive amounts of sensor data from the sensor system 144. However, the computing resources of the computing device 150 are limited. Therefore, having some processing of the sensor data performed by the data transmission device 156, such as generating sensor-related diagnostic data, can alleviate the burden on the computing device 150.

[0037] Figure 2 This is a schematic diagram of a data transmission device 256 according to an example embodiment of this application. The data transmission device 256 may be... Figure 1 An example of a data transmission device 156 in the vehicle 100 shown. Data transmission device 256, also called a sensor unit, is connected between sensor system 144 and computing device 150. Data transmission device 200 can receive sensor data sent by sensors of sensor system 144, obtain status data (also called sensor-associated status data) based on the sensor data, and generate diagnostic data based on the status data.

[0038] The sensor data received by the data transmission device 256 from the sensor system 144 may include sensor-sensed data, i.e., data about the surrounding environment sensed or acquired by the sensors. Sensor-sensed data may include, for example, image data captured by a camera, point cloud data captured by LiDAR, or location data captured by GPS.

[0039] The sensor data received by the data transmission device 256 from the sensor system 144 may include sensor status data in addition to sensor sensing data. Sensor status data includes, for example, data such as the sensor's operating status, sensor connection status, number of frames output per second, and sensor voltage or temperature. The sensor's operating status may include, for example, whether the sensor is running, idle, or malfunctioning.

[0040] Sensor data can be composed of data packets, for example. That is, sensor sensing data can be composed of data packets of sensor sensing data, and sensor state data can be composed of data packets of sensor state data. In one example, each sensor in sensor system 144 has or corresponds to a unique identifier (also called a sensor identifier), and the data packets received by data transmission device 256 from each sensor include the sensor's identifier.

[0041] like Figure 2 As shown, the data transmission device 256 may include a first processing unit 210 and a second processing unit 220. The first processing unit 210 receives sensor data from the sensors of the sensor system 144 and directly transmits (i.e., passes through) the sensor sensing data to the computing device 150. The first processing unit 210 also obtains status data and then sends the status data to the second processing unit 220. The status data obtained by the first processing unit 210 may include sensor status data and / or data stream status data. The second processing unit 220 generates diagnostic data based on the status data received from the first processing unit 210 and sends it to the computing device 150.

[0042] The first processing unit 210 may include one or more input interfaces 211 and one or more output interfaces 212. The input interfaces 211 are used to connect to sensors in the sensor system 144. The output interfaces 212 are used to connect to the computing device 150. For example, the first processing unit 210 can transmit sensor sensing data received from the input interfaces 211 to the computing device 150 via the output interfaces 212. The first processing unit 210 can also transmit sensor status data to the second processing unit 220, for example, by transmitting the sensor status data from the input interfaces 211 of the first processing unit 210 to the second processing unit 220.

[0043] In one implementation, the sensor can use different ports to transmit sensor sensing data and sensor status data separately. There can be multiple corresponding input interfaces 211, some receiving sensor sensing data and others receiving sensor status data. Therefore, the first processing unit or its input interface 211 can distinguish between sensor sensing data and sensor status data through the interface or port used to transmit or receive sensor data.

[0044] In one implementation, the first processing unit 210 monitors or analyzes the sensor data it receives or transmits to obtain data stream status data. The data stream status data may, for example, reflect the amount of sensor data received by the data transmission device 256 from the sensor system 144 and / or transmitted to the computing device 150 over a period of time. The first processing unit 210 transmits the data stream status data to the second processing unit 220. For example, the first processing unit 210 may further include a processing module 213 to monitor or analyze the sensor data received or transmitted by the first processing unit 210 to obtain data stream status data and transmit the data stream status data to the second processing unit 220.

[0045] In one implementation, such as Figure 2As shown, the data transmission device 256 may further include a storage device 215. The storage device 215 may be located, for example, in the first processing unit 210. The first processing unit 210 may store state data (e.g., sensor state data and / or data stream state data) to be transmitted to the second processing unit 220 into the storage device 215.

[0046] It should be noted that, although Figure 2 The illustration shows a storage device located in a first processing unit, but those skilled in the art will understand that the storage device may also be located in a second processing unit.

[0047] The second processing unit 220 acquires status data from the first processing unit 210 and generates diagnostic data based on the status data to indicate sensor malfunction or sensor data stream anomaly. For example, the second processing unit 220 can read storage device 215 to obtain status data. In one example, such as Figure 2 As shown, the second processing unit 220 may include an analysis module 221, which acquires (e.g., by reading from the storage device 215) status data from the first processing unit 210 and generates diagnostic data based on the status data indicating sensor malfunction or sensor data stream malfunction.

[0048] By using storage device 215 to transmit status data between first processing unit 210 and second processing unit 220, the operations of first processing unit 210 and second processing unit 220 can be made to operate without interference, which is beneficial to improving the working efficiency of data transmission device 256.

[0049] For data stream status data, the second processing unit 220 analyzes this data stream status data to obtain diagnostic data. For example, the second processing unit 220 can compare data stream status data at different times to obtain diagnostic data. During normal operation, the sensor sensing data received by the data transmission device 256 from the sensor system 144 and the sensor sensing data transmitted to the computing device 150 should be stable. By comparing data stream status data at different times, if the second processing unit 220 finds that the amount of received sensor sensing data has decreased, it can determine that there is a data loss problem, thereby obtaining diagnostic data about data stream anomalies.

[0050] The sensors in sensor system 144 can be configured to output sensor status data reflecting sensor malfunctions or anomalies, or they can be configured to periodically output sensor status data reflecting the sensor's operating status. Therefore, if the sensor status data directly reflects the sensor malfunction, the second processing unit 220 will send the sensor status data directly to the computing device 150 as diagnostic data. If the sensor status data does not directly reflect the sensor malfunction, the second processing unit 220 will analyze the sensor status data to obtain diagnostic data. For example, the second processing unit 220 will compare the sensor's voltage or temperature with predetermined thresholds to determine if the sensor is malfunctioning.

[0051] The second processing unit 220 may further include one or more output interfaces 222 for connection to the computing device 150. The second processing unit 220 sends diagnostic data to the computing device 150 through the output interfaces 222. The computing device 150 can determine the action to be taken based on the diagnostic data, such as stopping the autonomous driving of the vehicle 100 or stopping the vehicle.

[0052] The first processing unit 210 and / or the second processing unit 220 may be implemented in the form of a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a system-on-a-chip (SOC).

[0053] In one example, the first processing unit has superior real-time and parallel processing capabilities compared to the second processing unit, while the second processing unit has superior data parsing capabilities. By combining the first and second processing units to receive and parse sensor data, not only can the real-time transmission of sensor data be guaranteed, but also a good data parsing capability can be ensured. For example, the first processing unit 210 and the second processing unit 220 can be implemented as a system-on-a-chip (SOC). A system-on-a-chip typically includes a processing system (PS) section (SOC PS) and a programmable logic (PL) section (SOC PL). The first processing unit 210 can be implemented by the programmable logic section of the system-on-a-chip, and the second processing unit 220 can be implemented by the processing system section of the system-on-a-chip.

[0054] Since the first processing unit is used to transmit sensor data, it has high real-time requirements and must be able to transmit data from multiple sensors simultaneously. Therefore, a PL (Programmable Logic) unit with strong parallel processing capabilities can be selected for the first processing unit. The PL unit can be implemented using an FPGA (Field Programmable Gate Array). The second processing unit is used to parse the status data to generate diagnostic data. Therefore, the second processing unit has high data parsing capabilities. Thus, a PS (Processing System) system with strong data parsing capabilities can be selected for the second processing unit. An example of a PS system is an ARM (Advanced RISC Machines) architecture CPU (Central Processing Unit).

[0055] Each of the input interface 211, output interface 212, and output interface 222 may be a Controller Area Network (CAN) interface, a Universal Asynchronous Receiver / Transmitter (UART) interface, an Ethernet interface (e.g., Serial Gigabit Media Independent Interface (SGMII), Gigabit Media Independent Interface (RGMII)), a Serial Peripheral Interface (SPI), a Base-TX interface (e.g., a Base-T1 interface), a Mobile Industrial Processor Interface (MIPI), an Integrated Circuit Bus (IIC) interface, a MIPI Camera Serial Interface (CSI), a High-Speed ​​Digital Video Interface (e.g., FPD-LINK III), a High-Speed ​​Peripheral Interconnect Standard (PCIe) interface, a Universal Serial Bus (USB) interface, and various General Purpose Input / Output (GPIO) interfaces.

[0056] In one example, input interface 211 includes one or more of the following: a CAN interface, a UART interface, a camera interface, an SPI interface, and an Ethernet interface (e.g., an SGMII interface and an RGMII interface). The CAN interface connects to an ultrasonic sensor and / or an IMU; the UART interface connects to an IMU and / or a GNSS transceiver (e.g., a GPS transceiver); the camera interface (e.g., a MIPI interface or an FPD-LINK III interface) connects to a camera (or connects to a camera via a serializer and deserializer); an Ethernet interface connects to a solid-state LiDAR; and an Ethernet interface connects to a LiDAR, radar, and / or ultrasonic sensor. Output interfaces 212 and 222 are both Ethernet interfaces.

[0057] Considering that diagnostic data is generally smaller than sensor-sensed data, the data transmission rate of the output interface 212 in the first processing unit can be set to be slightly higher than the data transmission rate of the output interface 222 in the second processing unit. For example, the output interface in the first processing unit can be a 10 Gigabit Ethernet interface, and the output interface in the second processing unit can be a Gigabit Ethernet interface.

[0058] In one embodiment, the data transmission device 256 further includes one or more Ethernet subsystems. One or more sensors in the sensor system 144 can be connected to the input interface 211 of the first processing unit 210 via the Ethernet subsystem, and the output interface 212 of the first processing unit 210 and the output interface 222 of the second processing unit 220 are connected to the computing device 150 via the Ethernet subsystem.

[0059] Figure 3 This is a schematic diagram of a data transmission device 356 according to an example embodiment of this application. The data transmission device 356 may be... Figure 1 An example of a data transmission device 156 of the vehicle 100 shown. Figure 3 Data transmission device 356 and Figure 2 The data transmission devices 256 are basically the same; the main differences lie in the data storage device and the analysis module. Additionally, Figure 3 The diagram shows multiple sensors of the sensor system 144, namely sensor 1, sensor 2... sensor m, while Figure 2 The specific sensors of sensor system 144 are not shown. The following description focuses on... Figure 3 Data transmission device 356 and Figure 2 The data transmission device 256 is different. It should be noted that... Figure 3 and Figure 2 Identical or similar parts are indicated by the same reference numerals.

[0060] like Figure 3 As shown, the data transmission device 356 may include a first processing unit 310 and a second processing unit 320. The first processing unit 310 receives sensor data from the sensors of the sensor system 144 and directly transmits (i.e., passes through) the sensor sensing data to a computing device (not shown). The first processing unit 310 may also obtain status data and then send the status data to the second processing unit 320. The status data obtained by the first processing unit 310 may include sensor status data and / or data stream status data. The second processing unit 320 generates diagnostic data based on the status data received from the first processing unit 310 and sends it to the computing device.

[0061] The first processing unit 310 may include one or more input interfaces 211, one or more output interfaces 212, a processing module 213, and a storage device 315. The input interfaces 211 are used to connect to sensors in the sensor system 144. The output interfaces 212 are used to connect to a computing device. The first processing unit 310 can transmit sensor-sensing data received by the input interfaces 211 to the computing device via the output interfaces 212. The processing module 213 is used to monitor or analyze the sensor-sensing data received or transmitted by the first processing unit 310 to obtain data stream status data. The first processing unit 310 can transmit status data (e.g., sensor status data and / or data stream status data) to the second processing unit 320 via the storage device 315.

[0062] The second processing unit 320 may include an analysis module 321 and one or more output interfaces 222. The analysis module 321 acquires status data from the first processing unit 310, generates diagnostic data based on the status data indicating sensor malfunction or sensor data stream malfunction, and sends the diagnostic data to the computing device through the output interface 222.

[0063] It should be noted that, although Figure 3 The illustration shows a storage device located in a first processing unit, but those skilled in the art will understand that the storage device may also be located in a second processing unit.

[0064] The first processing unit 310 and / or the second processing unit 320 can be implemented in the form of a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a system-on-a-chip (SoC). In one example, the first processing unit 310 and the second processing unit 320 can be implemented in the form of a system-on-a-chip (SoC). The first processing unit 310 can be implemented by the programmable logic portion of the SoC, and the second processing unit 320 can be implemented by the processing system portion of the SoC.

[0065] like Figure 3 As shown, storage device 315 may include multiple sets of storage units. For example, such as Figure 3As shown, storage device 315 may include storage cell groups 311, 312, and 313. Each storage cell in each group may be a memory block or a register. A memory block may be, for example, BRAM (Block Random Access Memory). Registers may include status registers and interrupt registers. In one embodiment, each storage cell in one or more groups of storage cells (e.g., storage cell group 311) of storage device 315 is a memory block (e.g., BRAM). Each storage cell in another group or more groups of storage cells (e.g., storage cell groups 312 and 313) of storage device 315 is a register. The number of storage cells in each group of storage cells in storage device 315 may be equal to the number of sensors in sensor system 144.

[0066] The interrupt register contains an interrupt flag. This interrupt flag can have two states (and the corresponding interrupt register can also have two states). If the interrupt flag is in the first state, it indicates that interrupts are currently allowed; if it is in the second state, it indicates that interrupts are currently not allowed, meaning the previous interrupt event has not yet been processed. For example, in the first state, the interrupt flag can be "0", and in the second state, it can be "1". Or conversely, in the first state, the interrupt flag can be "1", and in the second state, it can be "0". The interrupt flag can be changed by the first and second processing units to switch between the two states. The status register is used to store status data.

[0067] Each storage cell in each group of storage cells in storage device 315 corresponds to a sensor identifier. Different storage cells in the same group of storage cells correspond to different sensor identifiers. In this way, different storage cells in the same group of storage cells correspond to different sensors in sensor system 144.

[0068] For example, in Figure 3 In the example, storage unit group 311 includes m BRAMs, namely BRAM 1, BRAM 2...BRAMm, where m is an integer greater than 1. These BRAMs correspond to sensors 1, 2...m of sensor system 144, respectively. Storage unit group 312 includes m interrupt registers, namely interrupt register 1, interrupt register 2...interrupt register m. These interrupt registers correspond to sensors 1, 2...m of sensor system 144, respectively. Storage unit group 313 includes m status registers, namely status register 1, status register 2...status register m. These status registers correspond to sensors 1, 2...m of sensor system 144, respectively.

[0069] In one embodiment, the analysis module 321 of the second processing unit 320 includes multiple analysis sub-modules. Each analysis sub-module can be, for example, an application program (APP), and each analysis sub-module can run one process. The number of processes (or analysis sub-modules) run by the analysis module 321 can be equal to the number of sensors in the sensor system 144. Each process (or analysis sub-module) of the analysis module 321 corresponds to a sensor identifier. Different processes (or analysis sub-modules) of the analysis module 321 correspond to different sensor identifiers. Thus, different processes (or analysis sub-modules) of the analysis module 321 correspond to different sensors.

[0070] For each group of storage units in storage device 315, different storage units correspond to different processes (or analysis sub-modules) in analysis module 321. Each process can access or read / write the corresponding storage unit. Each process can have at least two threads. For example... Figure 3 As shown, the second processing unit creates two threads in each process: thread 1 and thread 2. Thread 1 is also called the sensor diagnostic thread, and thread 2 is also called the data flow diagnostic thread. Different threads within the same process can correspond to storage units in different storage unit groups. For example, one thread (e.g., thread 1) within the same process can correspond to storage units in storage unit groups 311 and 312, while another thread (e.g., thread 2) can correspond to storage units in storage unit group 313. Each thread can access or read / write its corresponding storage unit.

[0071] For example, in Figure 3In the example, the analysis module 321 includes m APPs (or analysis sub-modules), each APP running one process, thus the analysis module 321 runs a total of m processes, namely process 1, process 2... process m. These processes correspond to sensor 1, sensor 2... sensor m in the sensor system 144, BRAM 1, BRAM 2... BRAM m in the storage unit group 311, interrupt register 1, interrupt register 2... interrupt register m in the storage unit group 312, and status register 1, status register 2... status register m in the storage unit group 313. Specifically, process 1 corresponds to sensor 1 in the sensor system 144, BRAM 1 in the storage unit group 311, interrupt register 1 in the storage unit group 312, and status register 1 in the storage unit group 313. Thread 1 of process 1 corresponds to BRAM 1 in the storage unit group 311 and interrupt register 1 in the storage unit group 312, and thread 2 of process 1 corresponds to status register 1 in the storage unit group 313. Process 2 corresponds to sensor 2 in sensor system 144, BRAM 2 in storage unit group 311, interrupt register 2 in storage unit group 312, and status register 2 in storage unit group 313. Thread 1 of process 2 corresponds to BRAM 2 in storage unit group 311, interrupt register 2 in storage unit group 312, and thread 2 of process 2 corresponds to status register 2 in storage unit group 313. Process m corresponds to sensor m in sensor system 144, BRAM m in storage unit group 311, interrupt register m in storage unit group 312, and status register m in storage unit group 313. Thread 1 of process m corresponds to BRAM m in storage unit group 311, interrupt register m in storage unit group 312, and thread 2 of process m corresponds to status register m in storage unit group 313.

[0072] In one embodiment, the data transmission device 356 initializes each time it is powered on. During initialization, the second processing unit 320 acquires resource information corresponding to each sensor (or sensor identifier) ​​in the sensor system 144. This resource information may include the addresses of storage units in each group of storage units in the storage device 315, such as the address of each BRAM in storage unit group 311, the address of each interrupt register in storage unit group 312, and the address of each status register in storage unit group 313. The second processing unit 320 starts the analysis sub-modules (i.e., running processes) of the analysis module 321 and creates threads in each process. When the data transmission device is powered off, the data transmission device or the second processing unit controls the corresponding analysis sub-module or process to exit and release the corresponding resources.

[0073] In one embodiment, the first processing unit 310 can store the status data (e.g., sensor status data and / or data stream status data) to be transmitted to the second processing unit 320 into different storage units of the storage device 315 according to the sensor identifier. That is, when the first processing unit 310 obtains the status data, it also determines the sensor information (e.g., sensor identifier) ​​corresponding to the status data. The input interface 211 of the first processing unit 310 can store the sensor status data of different sensors into different storage units of a group of storage units (e.g., storage unit group 311) of the storage device 315 according to the sensor identifier, that is, the sensor status data of each sensor is stored in the storage unit corresponding to that sensor. The processing module 213 can store the data stream status data of different sensors into different storage units of a group of storage units (e.g., storage unit group 313) of the storage device 315 according to the sensor identifier, that is, the data stream status data of each sensor is stored in the storage unit corresponding to that sensor. For example, the input interface 211 of the first processing unit 310 stores the sensor status data (if present) of sensor 1 of sensor system 144 into BRAM 1 of storage unit group 311, the sensor status data (if present) of sensor 2 of sensor system 144 into BRAM 2 of storage unit group 311, and the sensor status data (if present) of sensor m of sensor system 144 into BRAM m of storage unit group 311. The processing module 213 of the first processing unit 310 stores the data stream status data of sensor 1 of sensor system 144 into status register 1 of storage unit group 313, the data stream status data of sensor 2 of sensor system 144 into status register 2 of storage unit group 313, and the data stream status data of sensor m of sensor system 144 into status register m of storage unit group 313.

[0074] The process (or analysis submodule) of the second processing unit 320 can read status data (e.g., sensor status data and / or data stream status data) from different storage units of one or more sets of storage units (e.g., storage unit groups 311 and 313) of the storage device 315 based on the sensor identifier. That is, each process (or analysis submodule) and thread of the second processing unit 320 can read the status data associated with the corresponding sensor from the corresponding storage unit of one or more sets of storage units (e.g., storage unit groups 311 and 313) of the storage device 315.

[0075] For example, thread 1 of process 1 reads sensor status data from BRAM1 in storage unit group 311, thread 1 of process 2 reads sensor status data from BRAM2 in storage unit group 311, and thread 1 of process m reads sensor status data from BRAMm in storage unit group 311. Thread 2 of process 1 reads data stream status data from status register 1 in storage unit group 313, thread 2 of process 2 reads data stream status data from status register 2 in storage unit group 313, and thread 2 of process m reads data stream status data from status register m in storage unit group 313.

[0076] The transfer of status data between the first processing unit 310 and the second processing unit 320 can employ various mechanisms, such as an interrupt mechanism, a periodic reading mechanism, or a combination of both.

[0077] In some implementations, the transmission of sensor status data between the first processing unit 310 and the second processing unit 320 employs an interrupt mechanism, while the transmission of data stream status data employs a periodic reading mechanism. The input interface 211 of the first processing unit 310 triggers an interrupt each time it acquires sensor status data from a sensor (e.g., after acquiring a data packet of sensor status data). The second processing unit 320 responds to the interrupt triggered by the first processing unit by waking up the corresponding thread (i.e., the sensor diagnostic thread, for example) in the corresponding process (i.e., the process corresponding to the sensor). Figure 3 In thread 1), an interrupt event is executed. Here, the interrupt event refers to the event that the second processing unit should execute in response to the interrupt, such as reading the corresponding memory unit (e.g., the BRAM in memory unit group 311) to obtain the sensor status data of the corresponding sensor, generating diagnostic data based on the read status data, and outputting the diagnostic data.

[0078] In some implementations, each time the input interface 211 of the first processing unit 310 acquires sensor status data of a sensor (e.g., each time a data packet of sensor status data is acquired), it determines whether to store the sensor status data in the storage device 315 and whether to trigger an interrupt based on the state of the interrupt flag bit in the corresponding interrupt register (i.e., the interrupt register corresponding to the sensor) in the storage unit group 312. Only when the interrupt flag bit is in a specific state will the input interface 211 of the first processing unit 310 store the sensor status data in the storage device 315 and trigger an interrupt.

[0079] Specifically, each time the input interface 211 of the first processing unit 310 acquires sensor status data of a sensor in the sensor system 144 (or acquires a data packet of sensor status data for that sensor), the first processing unit (or input interface 211) reads the interrupt register (i.e., the interrupt register corresponding to that sensor) in the storage unit group 312 and determines whether an interrupt is allowed based on the state of the interrupt flag bit. For example, if the interrupt flag bit of the interrupt register is in the first state, the first processing unit determines that an interrupt is currently allowed; if the interrupt flag bit is in the second state, the first processing unit determines that an interrupt is currently not allowed.

[0080] If it is determined that interruption is not allowed, the first processing unit (or input interface 211) will discard the sensor status data. Normally, when the corresponding thread of the second processing unit has not finished processing the previous interrupt event, the interrupt flag bit in the corresponding interrupt register of the storage unit group 312 is in the second state, and the first processing unit cannot initiate an interrupt.

[0081] If an interrupt is enabled, the first processing unit (or input interface 211) stores the sensor status data in the storage device 315 and triggers an interrupt. For example, if the first processing unit determines that an interrupt is currently enabled, it stores the sensor status data in the corresponding BRAM in the storage unit group 311 (i.e., the BRAM corresponding to the sensor) based on the sensor identifier and triggers an interrupt. After triggering the interrupt, the first processing unit sets the interrupt flag bit of the interrupt register to the second state.

[0082] The second processing unit 320 will respond to the interrupt triggered by the first processing unit and wake up the corresponding thread in the corresponding process (i.e., the sensor diagnosis thread, for example...) Figure 3 Thread 1 reads the sensor status data from storage device 315 (e.g., the BRAM corresponding to the sensor in storage unit group 311), generates diagnostic data based on the read sensor status data, and outputs the diagnostic data. Afterwards, the thread sets the interrupt flag in the corresponding interrupt register (i.e., the interrupt register corresponding to the sensor) to the first state so that the first processing unit can trigger an interrupt next time. Simultaneously, the thread enters a sleep state to save resources.

[0083] In some implementations, the operating system (or operating system kernel) of the second processing unit is responsible for detecting interrupts triggered by the first processing unit 310 and responding to the interrupts to wake the sensor diagnostic thread from sleep. In one example, the second processing unit uses a Linux operating system, which uses select, apoll, or epoll to detect and respond to interrupts triggered by the first processing unit.

[0084] As described above, the state of the interrupt flag bit in an interrupt register can indicate whether the corresponding sensor diagnostic thread of the second processing unit has finished processing the previous interrupt event. Only when the corresponding sensor diagnostic thread of the second processing unit has finished processing the previous interrupt event will it modify the interrupt flag bit in the interrupt register to put it in the first state.

[0085] The processing module 213 of the first processing unit 310 can periodically (the period can be any preset value, such as any value between 1 and 10 seconds, also known as the monitoring period) monitor or statistically analyze the sensor sensing data received or transmitted by the first processing unit 310 from each sensor (e.g., monitor or statistically analyze the amount of data packets of sensing data received or transmitted by the first processing unit 310 from each sensor within the period) to obtain the data stream status data of each sensor. The processing module 213 can store the data stream status data of each sensor into the corresponding storage unit of a group of storage units in the storage device 315 (e.g., the corresponding status register of the storage unit group 313).

[0086] The second processing unit 320 has a data flow diagnostic thread for each process (i.e.) Figure 1 Thread 2 in the process periodically (this period can be equal to the monitoring period mentioned above) reads the storage device 315 (e.g., the corresponding status register in the storage unit group 313) to obtain data stream status data. The data stream diagnostic thread compares the data stream status data read from the storage device at different times to generate diagnostic data. For example, the data stream diagnostic thread generates corresponding diagnostic data based on the comparison between the currently read data stream status data and the previously read data stream status data. As mentioned above, the data stream status data may include the number of data packets sent and received by the first processing unit for sensor sensing data over a period of time. By comparing the data stream status data of the same sensor read from the storage device at different times, if the number of data packets received or sent exceeds a threshold, it indicates that there is an anomaly in the sensor's data stream.

[0087] Since the sensor can be set to output sensor status data only when a fault or abnormality occurs, and the processing module 213 of the first processing unit 310 continuously monitors or statistically analyzes the sensor sensing data during operation and periodically writes the data stream status data obtained from the sensor sensing data into the storage device 315, the transmission of sensor status data adopts an interrupt mechanism, and the transmission of data stream status data adopts a periodic reading mechanism. This combination of interrupt and periodic reading can save the resources of the data transmission device to a great extent.

[0088] Typically, the different sensors in the sensor system 144 have different importance. If some sensors malfunction, the autonomous vehicle will be unable to continue driving and will have to stop urgently. If other sensors malfunction, the autonomous vehicle can continue driving under certain conditions (such as reducing speed).

[0089] According to this application, since one sensor corresponds to one app and storage unit, the generation of diagnostic data for other sensors will not be affected when one sensor malfunctions (e.g., there will be no delay). In other words, from a security perspective, if one app malfunctions, it will not affect the operation of other apps. Furthermore, for sensors of the same model, since the app processing flow is largely the same, and since one sensor corresponds to one app, software developers only need to develop one set of code to adapt to all sensors of that model.

[0090] This disclosure also provides a data transmission method, which can be used by a data transmission device (e.g., Figure 2 , Figure 3 or Figure 4 The data transmission device (in the context of the process) performs the operation. The data transmission device may include a first processing unit and a second processing unit, at least one of which may include a storage device. The data transmission device may include a System-on-a-Chip (SOC), which includes a Processing Unit (PL) portion and a Processing Unit (PS) portion. The first processing unit may include the PL portion of the SOC, and the second processing unit may include the PS portion of the SOC. (Refer to the following...) Figure 2 The data transmission method of this disclosure is described as shown.

[0091] In step 420, the first processing unit obtains status data associated with the sensor. The status data obtained by the first processing unit may include sensor status data and / or data stream status data. The first processing unit 210 (or the first processing unit 310) can access the data via input interface 211 (see...). Figure 3 or ​ The first processing unit receives sensor data sent by the sensors of the sensor system 144 (which has multiple sensors). The sensor data may include sensor-sensed data. The first processing unit can output the sensor-sensed data through the output interface 212, for example, by transmitting the sensor-sensed data to the computing device 150 through the output interface 212.

[0092] In addition to sensor sensing data, sensor data may also include status data associated with at least one sensor of sensor system 144 (e.g., sensor status data of at least one sensor). As described above, the sensors of sensor system 144 may be configured to output sensor status data only in the event of a fault or anomaly. In this case, the data transmission device does not obtain sensor status data from every sensor of sensor system 144, but only from the sensor that has experienced a fault or anomaly. In one example, sensor data includes data packets. Input interface 211 can determine whether each received data packet is a data packet of sensor sensing data or a data packet of sensor status data, select data packets of sensor status data for transmission to second processing unit 220 (or second processing unit 320), and transmit the data packets of sensor sensing data to computing device 150 through output interface 212.

[0093] The first processing unit 210 (or the first processing unit 310) can obtain state data (e.g., data stream state data) associated with each sensor in the sensor system 144 based on sensor data (e.g., sensor sensing data) received from that sensor.

[0094] In one example, the status data associated with a sensor may include the sensor's identifier. For instance, the sensor's identifier can be included in the sensor's data packet.

[0095] The first processing unit 210 (or the first processing unit 310) can monitor or statistically analyze the sensor sensing data received or transmitted by the first processing unit to obtain data stream status data. For example, the first processing unit 210 (or the first processing unit 310) can periodically analyze the amount of sensor sensing data (e.g., the number of data packets of sensor sensing data) received by the first processing unit from each sensor in the sensor system 144 to obtain data stream status data associated with that sensor. The data stream status data may, for example, reflect the amount of sensor sensing data received or transmitted by the first processing unit over a period of time (e.g., each cycle).

[0096] In step 430, the first processing unit stores the state data in the storage device.

[0097] The first processing unit 210 (or the first processing unit 310) can store the obtained status data (e.g., sensor status data and / or data stream status data) into the storage device 215 (or the storage device 315) according to the sensor identifier.

[0098] In one embodiment, storage device 315 may include multiple sets of storage cells. Each storage cell in each set may be a memory block or a register. A memory block may be, for example, a BRAM. Registers may include status registers and interrupt registers. In one embodiment, each storage cell in one or more sets of storage cells of storage device 315 is a memory block (e.g., a BRAM). Each storage cell in another set of one or more sets of storage cells of storage device 315 is a register. For each set of storage cells, each sensor of sensor system 144 corresponds to one storage cell in that set. Different storage cells in the same set of storage cells correspond to different sensors or sensor identifiers of sensor system 144, respectively.

[0099] In one embodiment, the first processing unit 310 can store the acquired state data (e.g., sensor state data and / or data stream state data) into one or more sets of storage units in the storage device 315 according to the sensor identifier. The first processing unit 310 can store the state data associated with each sensor into the storage unit corresponding to that sensor. For example, the first processing unit 310 can store the data stream state data corresponding to each sensor into the corresponding state register of the storage unit group 313. The first processing unit 310 can store the sensor state data of each sensor into the corresponding BRAM of the storage unit group 311.

[0100] In one implementation, each time the first processing unit 310 (or its input interface 211) acquires sensor status data from a sensor (e.g., each time a data packet of sensor status data is acquired), it reads the corresponding storage unit (e.g., an interrupt register) to determine whether to trigger an interrupt. Specifically, each time the first processing unit acquires sensor status data from a sensor (e.g., each time a data packet of sensor status data is acquired), it reads the storage unit (e.g., an interrupt register) in storage unit group 312 corresponding to that sensor. In response to the storage unit being in a predetermined state (e.g., the interrupt flag bit of the interrupt register being in a first state), the first processing unit stores the sensor status data associated with that sensor in the storage unit corresponding to that sensor in storage unit group 311, and then triggers an interrupt for that sensor. After triggering the interrupt, the first processing unit sets the interrupt flag bit of the interrupt register to a second state different from the first state.

[0101] In step 440, the second processing unit reads the storage device to obtain status data.

[0102] The second processing unit 220 (or the second processing unit 320) can read the storage device 215 (or the storage device 315) to obtain status data. The second processing unit can periodically and / or in response to interrupts read status data from the storage device.

[0103] In one embodiment, the second processing unit can read status data from the storage device based on a sensor identifier. Specifically, the second processing unit determines at least one storage unit from one or more sets of storage units based on the sensor identifier, and reads at least one storage unit to obtain status data.

[0104] In one implementation, the second processing unit may have multiple processes. Each process corresponds to a sensor or sensor identifier. For each group of storage units in the storage device 315, each process corresponds to one of the storage units, and different processes correspond to different storage units. Each process can access or read / write its corresponding storage unit.

[0105] In one implementation, each process can have at least two threads, such as a sensor diagnostic thread and a data stream diagnostic thread. Different threads within the same process can correspond to storage units in different memory groups. Each thread can access or read / write its corresponding storage unit.

[0106] The processes of the second processing unit 320 can read status data (e.g., sensor status data and / or data stream status data) from different storage units of one or more sets of storage units (e.g., storage unit groups 311 and 313) of the storage device 315 based on the sensor identifier. That is, each process (or analysis submodule) and thread of the second processing unit 320 can read the status data associated with the corresponding sensor from the corresponding storage unit of one or more sets of storage units (e.g., storage unit groups 311 and 313) of the storage device 315.

[0107] In one implementation, the second processing unit 320 responds to an interrupt and reads status data from the storage device. Specifically, the second processing unit may respond to an interrupt corresponding to a sensor, causing the process corresponding to that sensor to access the corresponding storage unit in the storage unit group 311 to obtain status data associated with that sensor. For example, the second processing unit 320 may respond to an interrupt triggered by the first processing unit corresponding to a sensor, waking up the corresponding thread (i.e., the sensor diagnostic thread) in the corresponding process (i.e., the process corresponding to the sensor), and reading the corresponding storage unit to obtain the sensor status data of the corresponding sensor.

[0108] In one implementation, each process of the second processing unit 320 (e.g., the data stream diagnostic thread of each process) periodically accesses the storage unit corresponding to the process in the storage unit group 313 (e.g., the status register corresponding to the process in the storage unit group 313) to obtain status data associated with the corresponding sensor (e.g., the data stream status data associated with the corresponding sensor).

[0109] In step 450, the second processing unit generates diagnostic data based on the status data.

[0110] The second processing unit 220 (or the second processing unit 320) generates diagnostic data indicating sensor malfunction or sensor data stream malfunction based on the status data acquired from the storage device 215 (or the storage device 315). In other words, the second processing unit analyzes the status data to generate corresponding diagnostic data.

[0111] In one implementation, the second processing unit compares state data read from the storage device at different times to generate diagnostic data. For example, each process of the second processing unit (e.g., the data stream diagnostic thread of each process) compares state data associated with a corresponding sensor (e.g., data stream state data associated with the corresponding sensor) read from the storage device at different times or at different periods to generate diagnostic data associated with that sensor.

[0112] For sensor status data, if the sensor status data can directly reflect a sensor fault or abnormal state, the second processing unit 220 (or the second processing unit 320) will directly use the sensor status data as diagnostic data. If the sensor status data cannot directly reflect a sensor fault or abnormal state, the second processing unit 220 (or the second processing unit 320) will analyze the sensor status data to obtain diagnostic data. For example, the second processing unit 220 (or the second processing unit 320) will compare the sensor's voltage or temperature with a predetermined threshold to obtain diagnostic data indicating whether the sensor is abnormal. After generating the diagnostic data, the second processing unit can also change the interrupt flag bit of the corresponding interrupt register from the second state to the first state.

[0113] It should also be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0114] The technical solutions provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A data transmission method performed by a data transmission device, wherein, The data transmission device includes at least a first processing unit and a second processing unit, and at least one of the first processing unit and the second processing unit includes a storage device. The method includes: The first processing unit obtains state data associated with the sensor; The first processing unit stores the state data in a storage device; The second processing unit reads the storage device to obtain the status data; The second processing unit generates diagnostic data based on the status data.

2. The method according to claim 1, wherein, The storage device includes a group of storage cells, wherein... The first processing unit obtains state data associated with the sensor, including: The first processing unit receives sensor data from multiple sensors, each of which corresponds to a storage unit in the storage unit group. The first processing unit, for each of the plurality of sensors, obtains state data associated with that sensor based on the sensor data received from that sensor. The first processing unit stores the state data in a storage device, including: The first processing unit stores the state data associated with each of the plurality of sensors in the storage unit corresponding to that sensor in the storage unit group.

3. The method according to claim 2, wherein, The sensor data includes sensor-sensed data, and the status data includes data stream status data. The first processing unit, for each of the plurality of sensors, obtains state data associated with that sensor based on sensor data received from that sensor, including: The first processing unit periodically counts the amount of sensor-sensed data received from each of the plurality of sensors to obtain data stream status data associated with that sensor.

4. The method according to claim 2 or 3, wherein, The second processing unit includes multiple processes, each of which corresponds to a storage unit in the storage unit group. The second processing unit reads the storage device to obtain the status data, including: Each of the plurality of processes periodically accesses the storage unit corresponding to that process in the storage unit group to obtain status data associated with the corresponding sensor.

5. The method according to claim 4, wherein, The second processing unit generates diagnostic data based on the status data, including: Each of the multiple processes compares the state data associated with the corresponding sensor acquired at different times to generate diagnostic data associated with that sensor.

6. The method according to claim 1, wherein, The storage device includes a first group of storage cells, wherein... The first processing unit obtains state data associated with the sensor, including: The first processing unit receives sensor data from multiple sensors, each of which corresponds to a storage unit in the first storage unit group. The sensor data includes status data associated with at least one sensor. The first processing unit stores the state data in a storage device, including: For each of the at least one sensor, the first processing unit stores the state data associated with that sensor in the storage unit corresponding to that sensor in the first storage unit group.

7. The method according to claim 6, wherein, The status data includes sensor status data, and the storage device further includes a second storage unit group. Each of the plurality of sensors also corresponds to a storage unit in the second storage unit group. The first processing unit, for each of the at least one sensor, stores the state data associated with that sensor in the storage unit corresponding to that sensor within the first storage unit group, including: For each of the at least one sensor: The first processing unit reads the storage unit corresponding to the sensor from the second storage unit group. In response to the storage unit in the second storage unit group corresponding to the sensor being in a predetermined state, the first processing unit stores the sensor state data associated with the sensor in the storage unit in the first storage unit group corresponding to the sensor. The first processing unit triggers an interrupt corresponding to the sensor.

8. The method according to claim 7, wherein, The second processing unit includes multiple processes, each of which corresponds to one of the multiple sensors. The second processing unit reads the storage device to obtain the status data, including: For each of the at least one sensor: The second processing unit responds to the interrupt corresponding to the sensor by causing the process corresponding to the sensor to access the storage unit in the first storage unit group that corresponds to the sensor in order to obtain the status data associated with the sensor.

9. A data transmission apparatus, comprising: The first processing unit is configured as follows: Obtain status data associated with the sensors; The state data is stored in a storage device. The second processing unit is configured as follows: Read the storage device to obtain the status data; Based on the status data, diagnostic data is generated. At least one of the first processing unit and the second processing unit includes the storage device.

10. The apparatus according to claim 9, wherein, The storage device includes a group of storage cells, wherein... The first processing unit is configured to acquire state data associated with the sensor, including that the first processing unit is configured to: Sensor data is received from multiple sensors, each of which corresponds to a storage unit in the group of storage units. For each of the plurality of sensors, based on the sensor data received from that sensor, state data associated with that sensor is obtained. The first processing unit is configured to store the state data in a storage device, including the first processing unit being configured to: For each of the plurality of sensors, the state data associated with that sensor is stored in the storage unit corresponding to that sensor in the storage unit group.