Data processing system and method for configuring and operating a data processing system
11409538 ยท 2022-08-09
Assignee
Inventors
- Martin Bornemann (Nuremberg, DE)
- Lee Bauer (Birmingham, MI, US)
- Sven Kopetzki (Lehrte, DE)
- Olaf Donner (Harsum, DE)
Cpc classification
G07C5/08
PHYSICS
G06F11/0796
PHYSICS
G06F13/28
PHYSICS
G06F11/2002
PHYSICS
International classification
G07C5/08
PHYSICS
G06F13/28
PHYSICS
G06F11/07
PHYSICS
Abstract
A data processing system includes a sensor data acquisition circuit configured to acquire sensor data from at least one sensor and a server circuit configured to receive the sensor data from the sensor data acquisition circuit and to forward the sensor data to a processing unit. The sensor data transmission path from the sensor data acquisition circuit to the server circuits might be setup as a static configuration. Any physical connection issue between the sensor data acquisition circuits and the server circuits would force the system to pre-defined data routing configurations.
Claims
1. A data processing system comprising: a sensor data acquisition circuit configured to acquire sensor data from at least one sensor; a server circuit configured to receive the sensor data from the sensor data acquisition circuit and to forward the sensor data to a processing unit; a first memory configured to store configuration data for the sensor data acquisition circuit; a second memory configured to store configuration data for the server circuit; and a controller comprising an interface to the sensor data acquisition circuit and to the server circuit.
2. The data processing system of claim 1, wherein the sensor data acquisition circuit comprises a PCI Express End Point, wherein the at least one sensor is connected to the PCI Express End Point.
3. The data processing system of claim 1, wherein the sensor data acquisition circuit comprises a plurality of PCI Express End Points, wherein a respective sensor is connected to each of the plurality of PCI Express End Points.
4. The data processing system of claim 1, comprising: a further sensor data acquisition circuit connected to the sensor data acquisition circuit; wherein the further sensor data acquisition circuit is configured to acquire further sensor data from at least one further sensor; wherein the server circuit is configured to receive the further sensor data from the further sensor data acquisition circuit via the sensor data acquisition circuit.
5. The data processing system of claim 1, wherein the server circuit comprises a PCI Express Root Complex.
6. The data processing system of claim 1, comprising a further server circuit configured to receive the sensor data from the sensor data acquisition circuit.
7. The data processing system of claim 6, wherein the server circuit and/or the further server circuit is configured according to a PCI Express Non-Transparent switch function.
8. The data processing system of claim 1, comprising a failure detection circuit configured to detect a failure in operation of the data processing system, wherein the sensor data acquisition circuit and the server circuit are configured to set a default configuration if a failure is detected.
9. The data processing system of claim 1, wherein the interface is configured according as at least one of a Controller Area Network bus interface or an Ethernet interface.
10. The data processing system of claim 1, wherein a transfer of sensor data in the sensor data acquisition circuit and/or in the server circuit and/or to the server circuit is carried out based on Direct Memory Access.
11. A vehicle, comprising: the data processing device of claim 1; and the at least one sensor.
12. A data processing system comprising: a sensor data acquisition circuit configured to acquire sensor data from at least one sensor; a server circuit configured to receive the sensor data from the sensor data acquisition circuit and to forward the sensor data to a processing unit; a first memory configured to store configuration data for the sensor data acquisition circuit; a second memory configured to store configuration data for the server circuit; and a failure detection circuit configured to detect a failure in operation of the data processing system, wherein the sensor data acquisition circuit and the server circuit are configured to set a default configuration if a failure is detected.
13. A data processing system comprising: a sensor data acquisition circuit configured to acquire sensor data from at least one sensor; a server circuit configured to receive the sensor data from the sensor data acquisition circuit and to forward the sensor data to a processing unit; a first memory configured to store configuration data for the sensor data acquisition circuit; and a second memory configured to store configuration data for the server circuit, wherein a transfer of sensor data in the sensor data acquisition circuit and/or in the server circuit and/or to the server circuit is carried out based on Direct Memory Access.
Description
DRAWINGS
(1) Exemplary embodiments and functions of the present disclosure are described herein in conjunction with the following drawings, showing schematically:
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION
(6) The Peripheral Component Interconnect (PCI) bus may connect peripheral devices like serial interface components or graphic cards to a CPU (central processing unit), for example in a personal computer environment. The recent version of PCI is PCI Express (PCIe), which is using point to point serial hardware links instead of the originally used parallel hardware links in PCI.
(7) PCIe may be used for different applications in the computer and mobile device industry. There may be other use cases outside a personal computer like in mobile phones for the connection of WLAN (wireless local area network) components to the main System on Chip (SoC) or to connect solid state memory devices via a cable to the mainboard of a personal computer. In data centers, PCIe may be used to connect storage device arrays via a cable to data center server devices.
(8)
(9) It may not be possible to connect two RC components directly to each other. A non-transparent (NT) bridging mode may be required in a PCIe switch to allow direct communication between two RC components.
(10) PCIe uses a standardized configuration register set for each EP like shown in
(11) To address a PCIe device, the PCIe device must be enabled by being mapped into the system's I/O (input/output) port address space or memory-mapped address space. The system's firmware, device drivers or the operating system (OS) program the Base Address Registers (BARs) to inform the device of its address mapping by writing configuration commands to the PCIe controller. Because all PCIe devices are in an inactive state upon system reset, they will have no addresses assigned to them by which the operating system or device drivers can communicate with them. Either the BIOS or the OS scans on all PCIe ports for connected EPs and Switches and configures them, and this procedure may be referred to as (PCIe) enumeration.
(12) It is also possible to connect PCIe EPs after the startup and PCIe enumeration of the system, which is called hot plugging. All EPs, which can be hot plugged, need to be known in advance by the system. The required address space for these devices needs to be reserved. They are inactive EPs, which become active after they have been physically connected to the system.
(13)
(14) According to various embodiments, PCI Express (PCIe) may be used over a cable interface to connect the data acquisition circuits 202, 210, 222 to one or two server circuits 230, 236, in order to transfer a collection of sensor data, like for instance camera data, radar data or other automotive sensor data, from the data acquisition circuits 202, 210, 222 to the server circuits 230, 236.
(15) Each server circuit includes an RC (for example, the first server circuit 230 includes a first RC 232, and the second server circuit 236 includes a second RC 238).
(16) Each data acquisition circuit includes one or more EPs for each sensor data link. For example, the first data acquisition circuit 202 includes one EP 204, to which one sensor 206 is connected; the second data acquisition circuit 210 includes two EPs 212, 216, wherein a first sensor 214 is connected to the first EP 212, and a second sensor 218 is connected to the second EP 216; and the third data acquisition circuit 222 includes one EP 224, to which one sensor 226 is connected.
(17) Each sensor, connected to a data acquisition circuit, may represent a separate EP to the server circuit(s). Each data acquisition circuit may provide the needed PCIe switch function for the multiple sensor data EPs for all sensors connected to the data acquisition circuit.
(18) As illustrated in
(19) Each data acquisition circuit 202, 210, 222 may contain a PCIe Switch function which connects the data acquisition circuit with its EPs to the following data acquisition circuit in front or directly to the server circuit. For example, the first data acquisition circuit 202 may be connected to the second data acquisition circuit 210 via a connection 208 (for example a PCIe connection), the second data acquisition circuit 210 may be connected to the third data acquisition circuit 222 via a connection 220 (for example a PCIe connection), and the third data acquisition circuit 222 may be connected to the first server circuit 230 via the connection 228 (for example a PCIe connection) and to the second server circuit 236 via the connection 234 (for example a PCIe connection). This stacked PCIe Switch configuration may make all sensors visible as separate EPs to the RC (in the respective server circuit) and furthermore to the CPU.
(20) Each sensor may stream its content via its EP in the data acquisition circuit to the RC of the server circuit and finally into a separate memory buffer mapped per sensor in the server circuit.
(21) The data transfer from the sensor data input interface at the SoC of the data acquisition circuit to the PCIe controller component of the SoC of the server circuit may use Direct Memory Access (DMA) technologies if applicable in order to transfer the sensor data with a minimum of data acquisition circuit CPU load as possible. DMA may be used also within the server circuit to transfer the received data from the PCIe controller to the server circuit memory buffer.
(22) According to various embodiments, it may be possible to transfer the collection of sensor data simultaneously from one data acquisition circuit to two (or more) server circuits by a method of PCIe, which may be referred to as multicast. Multicast may be provided in order to feed redundant compute nodes with the same sensor data for Level 3 or higher Autonomous Driving (AD) systems. Both server circuits may receive the same data from the data acquisition circuits, and both server circuits may be building a redundant computing system.
(23) With the redundant computing system, the AD system may still have the full sensor set available even if one compute node fails. The vehicle may perform a limp mode maneuver if one compute mode fails. The connection of two server circuits with a chain of data acquisition circuits may be provided based on the implementation of a Non-Transparent (NT) PCIe switch function in one of the server circuits in order to connect the two RCs of both server circuits to all sensor EPs in the data acquisition circuits at the same point of time.
(24) The self-enumeration process of PCIe in a PC or a data center system may be a flexible solution and may cope with any system change very easily. But automotive systems are normally static after the production of a car. One main requirement for in-vehicle applications/systems may be a fast power up sequence. Accordingly, according to various embodiments, the PCIe system of the server circuits and the data acquisition circuits may be set up in a short time. The configuration of each RC, EP and Switch function together with all register sets and memory buffer configurations shall be able to be recalled as a known, static configuration at the startup of the system. All nodes of the system may have a configuration space in its non-persistence memory or a non-volatile memory to store and recall the normal startup PCIe configuration.
(25) Predefined system setup versions may be stored to (or in) non-volatile memory, but in some cases at the startup of an automotive compute unit, a whole image may be downloaded from Flash (non-volatile memory) to RAM (random access memory). In this case the system setup may be loaded from RAM and not from Flash.
(26) According to various embodiments, in case of an interface failure between the data acquisition circuits or the server circuits or a complete systems failure of a server circuit, the system may be prepared in advance with multiple known PCIe configurations which reestablish the connection to the EP(s), for example in the shortest time possible, to maintain automotive requirements and enable continued functionality, and if the vehicle is automated, it will allow a limp mode to be activated. For the automated driving situation, the possible limp mode scenario chosen may be addressed by the entire interface or system failure scenario.
(27) For normal PCIe startup configuration in a system without failures or a system in limp mode, the PCIe configuration may be controlled by a failure detection circuit, which controls the PCIe setup in each of the PCIe node(s) of the vehicle system. An independent physical interface from the failure detection circuit to all nodes of the system (in particular to each data acquisition circuit and to each server circuit) may be provided to control the startup configuration or a limp mode configuration in the event a failure happens in the system. This interface may be CAN, Ethernet or any other vehicle interface, different from PCIe.
(28) It will be understood that even though
(29) It will be understood that even though
(30) Likewise, the number of sensors connected to a data acquisition circuit may be one, two, three, or any other integer number. One EP may be provided in the data acquisition circuit for each sensor.
(31)
(32) Each of the steps 302, 304, 306, 308, 310, 312, 314, and the further steps described above may be performed by computer hardware components. It will be understood that properties and features described for the data processing system may analogously be provided for the method for configuring and operating the data processing system, and vice versa.