Vehicle-mounted communication system based on PCIe and vehicle
By using a PCIe-based vehicle communication system, the system-on-a-chip (SoC) is divided into a root complex and endpoint devices, enabling efficient data communication between multiple SoCs on an intelligent central computing platform. This solves the problem that traditional communication methods cannot meet high-speed transmission requirements, reduces Ethernet load, and supports computing power sharing and dynamic load balancing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-05
- Publication Date
- 2026-03-17
AI Technical Summary
In existing technologies, the data communication speed between multiple system-on-a-chip (SoC) chips on an intelligent central computer computing platform cannot meet the demand for high efficiency and speed. In particular, traditional SPI and automotive Ethernet communication methods cannot meet the high-speed transmission requirements of big data for intelligent central computer computing platforms.
A PCIe-based vehicle communication system is adopted, which divides multiple system-on-a-chip (SoC) devices into root complexes and endpoint devices through PCIe switching equipment to achieve efficient data communication, including read and write operations. The system obtains device status by enumerating the PCIe tree and performs mapping between the CPU domain and the PCIe domain to achieve high-speed data transmission.
It enables efficient big data communication between multiple system-on-a-chip (SoC), reduces the Ethernet load rate of the automotive central computer platform, supports computing power sharing, dynamic load balancing, and computing power scalability, and meets the high-speed communication requirements of intelligent central computer computing platforms.
Smart Images

Figure CN116527714B_ABST
Abstract
Description
Technical Field
[0001] This application relates generally to the field of communication technology, and more specifically to a PCIe (Peripheral Component Interconnect Express) based vehicle communication system and vehicle. Background Technology
[0002] With the rapid development of the "new four modernizations" of automobiles (electrification, intelligence, connectivity, and sharing), especially intelligence, building a loosely coupled, highly cohesive, and scalable intelligent central computer computing platform has become a major trend in future automotive development. The intelligent central computer computing platform aims to achieve computing power sharing, dynamic load balancing, scalable computing power, and homogeneous cascading, realizing a shift from discrete component development to customer-oriented software services. Combined with a scalable hardware and software architecture and load balancing technology, it supports the implementation of the "software-defined vehicle" strategy.
[0003] High-speed and efficient data communication between multiple System-on-Chip (SoC) devices on an intelligent central computing platform has become a major technical bottleneck restricting the realization of core objectives such as computing power sharing and dynamic load balancing. Currently, the main communication methods between SoCs are SPI (Serial Peripheral Interface) and automotive Ethernet. However, SPI, limited by its finite transmission distance and communication rate, cannot meet the high-speed data transmission requirements of intelligent central computing platforms. While automotive Ethernet can achieve gigabit communication rates, the development of autonomous driving places higher demands on the computing power and communication rate of intelligent central computing platforms, making it difficult for already fully loaded Ethernet to handle higher-speed data communication between multiple SoCs.
[0004] Therefore, how to achieve efficient and rapid data communication between multiple system-on-a-chip (SoC) chips on an intelligent central computing platform has become an urgent technical problem to be solved. Summary of the Invention
[0005] To address or at least alleviate one or more of the above problems, the following technical solutions are provided.
[0006] According to a first aspect of this application, a PCIe-based vehicle communication system is provided, the vehicle communication system comprising: a plurality of system-on-chips (SoCs) divided into a root complex and a plurality of endpoint devices; and a PCIe switching device coupled to the root complex and the plurality of endpoint devices for performing communication operations between the root complex and the plurality of endpoint devices and between the plurality of endpoint devices.
[0007] According to an embodiment of this application, a PCIe-based vehicle communication system is described, wherein the communication operations include read operations and write operations.
[0008] According to one embodiment or any of the above embodiments of the present application, the PCIe-based vehicle communication system is configured to: obtain the status of the plurality of endpoint devices by enumerating the PCIe tree; and implement the mapping of each CPU domain to the PCIe domain on the root complex and the plurality of endpoint devices based on the status of the plurality of endpoint devices, so as to realize the function of CPU operation on PCIe domain address.
[0009] According to one embodiment or any of the above embodiments of the present application, the PCIe-based vehicular communication system wherein the PCIe switching device is configured to perform a read operation by the root complex on one of the plurality of endpoint devices in the following manner: receiving a read operation request from the root complex and sending the read operation request to one of the plurality of endpoint devices, such that the endpoint device reads corresponding data from user space and writes the data into the PCIe domain in response to the read operation request, and triggers a write completion interrupt; and receiving the write completion interrupt from the endpoint device and sending the write completion interrupt to the root complex, such that the root complex, in response to the write completion interrupt, transfers the data in the PCIe domain back to user space for storage.
[0010] According to one embodiment or any of the above embodiments of the present application, the PCIe-based vehicle communication system wherein the PCIe switching device is configured to perform a write operation from the root complex to one of the plurality of endpoint devices by: receiving a write operation request from the root complex and sending the write operation request to one of the plurality of endpoint devices, such that the endpoint device, in response to the write operation request, obtains the corresponding data in the PCIe domain to trigger a write completion interrupt, and transmits the data back to user space for storage.
[0011] According to one embodiment or any of the above embodiments of the present application, the PCIe-based vehicle communication system wherein the PCIe switching device is configured to perform a write operation on the root complex by one of the plurality of endpoint devices in the following manner: receiving a write operation request and a write completion interrupt from one of the plurality of endpoint devices and sending the write operation request and the write completion interrupt to the root complex, such that the root complex, in response to the write completion interrupt, obtains the corresponding data in the PCIe domain and transmits the data back to the user space for storage.
[0012] According to one embodiment or any of the above embodiments of the present application, in a PCIe-based vehicular communication system, wherein the PCIe switching device is configured to perform a read operation on the root complex by one of the plurality of endpoint devices in the following manner: receiving a read operation request and a read interrupt from one of the plurality of endpoint devices and sending the read operation request and the read interrupt to the root complex, such that the root complex, in response to the read interrupt, retrieves corresponding data from user space and writes the data into the PCIe domain, and sets a root complex data processing completion flag; and receiving the root complex data processing completion flag from the root complex and sending the root complex data processing completion flag to one of the plurality of endpoint devices, such that the endpoint device, in response to the root complex data processing completion flag, transmits the data in the PCIe domain back to user space for storage.
[0013] According to one embodiment or any of the above embodiments of the present application, the PCIe-based vehicular communication system wherein the PCIe switching device is configured to perform write operations between the plurality of endpoint devices in the following manner: receiving a write operation request and a write completion interrupt from one of the plurality of endpoint devices and sending the write operation request and the write completion interrupt to the root complex, such that the root complex, in response to the write completion interrupt, acquires the corresponding data in the PCIe domain and transmits the data back to user space; receiving a write operation request from the root complex and sending the write operation request to another of the plurality of endpoint devices, such that the endpoint device, in response to the write operation request, acquires the corresponding data in the PCIe domain and transmits the data back to user space for storage.
[0014] According to an embodiment of this application or any of the above embodiments, a PCIe-based vehicular communication system is provided, wherein the PCIe switching device is configured to perform read operations between the plurality of endpoint devices in the following manner: receiving a read operation request and a read interrupt from one of the plurality of endpoint devices and sending the read operation request and the read interrupt to the root complex, such that the root complex, in response to the read interrupt, acquires corresponding data from another of the plurality of endpoint devices and writes the data into the PCIe domain of one of the plurality of endpoint devices, and sets a root complex data processing completion flag; and receiving the root complex data processing completion flag from the root complex and sending the root complex data processing completion flag to one of the plurality of endpoint devices, such that the endpoint device, in response to the root complex data processing completion flag, transmits the data in the PCIe domain back to user space for storage.
[0015] According to a second aspect of this application, a vehicle is provided, the vehicle including the PCIe-based vehicle communication system described in the first aspect of this application.
[0016] The PCIe-based vehicle communication system according to one or more embodiments of this application enables multiple system-on-a-chip (SoC) devices to communicate more efficiently via PCIe communication, which helps to solve or alleviate the problem of excessive Ethernet load on the automotive central computer platform, thereby achieving more efficient big data communication between multiple SoC devices. Attached Figure Description
[0017] The above and / or other aspects and advantages of this application will become clearer and more readily understood from the following description taken in conjunction with the accompanying drawings, in which the same or similar elements are denoted by the same reference numerals. In the drawings:
[0018] Figure 1 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0019] Figure 2 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0020] Figure 3 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0021] Figure 4 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0022] Figure 5A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0023] Figure 6 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0024] Figure 7 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown. Detailed Implementation
[0025] The following describes exemplary embodiments of this application in detail, and examples of these embodiments are illustrated in the accompanying drawings. It should be noted that the following description is for explanation and illustration only and should not be construed as limiting the scope of this application. Without departing from the principles of this application, those skilled in the art can make electrical, mechanical, logical, and structural modifications to these embodiments according to actual needs, without departing from the scope of this application. Furthermore, those skilled in the art will understand that one or more features of the different embodiments described below can be combined for any specific application scenario or actual need.
[0026] Terms such as "comprising" and "including" indicate that, in addition to the units and steps that are directly and explicitly described in the specification, the technical solution of this application does not exclude the presence of other units and steps that are not directly or explicitly described. Terms such as "first" and "second" do not indicate the order of the units in terms of time, space, size, etc., but are merely used to distinguish the units.
[0027] In the following description, numerous specific details, such as examples of specific components, circuits, and processes, are set forth to provide a thorough understanding of this application. As used herein, the term "coupling" means a direct connection to or a connection via one or more intermediate components or circuits. Furthermore, specific nomenclature is set forth in the following description and for illustrative purposes to provide a thorough understanding of various aspects of this application. However, it will be apparent to those skilled in the art that these specific details may not be required to practice the exemplary implementations. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring the application.
[0028] Figure 1 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0029] like Figure 1As shown, the PCIe-based vehicular communication system 100 includes multiple system-on-a-chip (SoC) SOC-1110, SOC-2110, SOC-3110, and SOC-4110, and a PCIe switching device 120. The multiple SoCs SOC-1110, SOC-2110, SOC-3110, and SOC-4110 can be divided into root complexes (e.g., Figure 1 The system-on-a-chip SOC-1110 shown can also be referred to as RC (Root Complex) and multiple endpoint devices (e.g., Figure 1 The system-on-a-chips SOC-2110, SOC-3110, and SOC-4110 shown can also be referred to as EP (EndPoint). PCIe switching device 120 is coupled to the root complex SOC-1110 and multiple endpoint devices SOC-2110, SOC-3110, and SOC-4110 for performing communication operations between the root complex SOC-1110 and the multiple endpoint devices SOC-2110, SOC-3110, and SOC-4110, and among the multiple endpoint devices SOC-2110, SOC-3110, and SOC-4110. Optionally, the communication operations may include read and write operations.
[0030] Optionally, strategies such as interrupt triggering, polling, and system calls can be used to implement data interaction between user-mode upper-layer applications and kernel-mode drivers, so as to enable high-speed data communication between the root complex SOC-1110 and multiple endpoint devices SOC-2110, SOC-3110, and SOC-4110, as well as between multiple endpoint devices SOC-2110, SOC-3110, and SOC-4110 via PCIe.
[0031] Optionally, the communication strategy between the root complex and multiple endpoint devices, as well as the communication strategy between the multiple endpoint devices, may include: (1) the multiple endpoint devices implement request sending, data processing, and polling functions in user space, and call system functions to interact with the kernel mode; (2) the multiple endpoint devices implement read / write command responses, data copying, and interrupt triggering in kernel mode, and notify the root complex to process the data; (3) after the kernel mode interrupt polling module of the root complex detects that the interrupt is set, it processes the data and interacts with the user mode of the root complex through system calls; (4) the user mode of the root complex also implements request sending, data processing, and polling functions to enable the function of actively initiating requests and responding to data requests from multiple endpoint devices.
[0032] Optionally, the root complex SOC-1110 can be configured to obtain the states of multiple endpoint devices SOC-2110, SOC-3110, and SOC-4110 by enumerating the PCIe tree, and to implement the mapping between the CPU domain and the PCIe domain on the root complex SOC-1110 and the multiple endpoint devices SOC-2110, SOC-3110, and SOC-4110 based on the states of the multiple endpoint devices SOC-2110, SOC-3110, and SOC-4110, respectively, so as to realize the function of CPU operation on PCIe domain address.
[0033] The PCIe-based vehicle communication system according to one or more embodiments of this application enables multiple system-on-a-chip (SoC) devices to communicate more efficiently via PCIe communication, which helps to solve or alleviate the problem of excessive Ethernet load on the automotive central computer platform, thereby achieving more efficient big data communication between multiple SoC devices.
[0034] The following will combine Figure 2-7 The present application provides a detailed description of the communication strategies between the root complex and multiple endpoint devices, as well as the communication strategies between the multiple endpoint devices, according to one or more embodiments of the present application.
[0035] Figure 2 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0036] like Figure 2 As shown, the PCIe-based vehicle communication system 200 includes a system-on-a-chip (SoC) SOC-1210, an SoC SOC-2210, and a PCIe switching device 220. The SoC SOC-1210 is implemented as a root complex, and the SoC SOC-2210 is implemented as an endpoint device. The PCIe switching device 220 is coupled to the root complex SOC-1210 and the endpoint device SOC-2210 to enable the root complex SOC-1210 to perform read operations on the endpoint device SOC-2210.
[0037] Optionally, the PCIe switching device 220 can be configured to receive a read operation request from the root complex SOC-1210 and send the read operation request to the endpoint device SOC-2210, so that the endpoint device SOC-2210 reads the corresponding data from the user space and writes the data into the PCIe domain in response to the read operation request, and triggers a write completion interrupt; and to receive the write completion interrupt from the endpoint device SOC-2210 and send the write completion interrupt to the root complex SOC-1210, so that the root complex SOC-1210 returns the data in the PCIe domain to the user space for storage in response to the write completion interrupt.
[0038] like Figure 2 As shown, firstly, the read application module in the user space of the root complex SOC-1210 initiates a read operation request. Then, through a system call to the kernel's read processing function, after mapping the PCIe domain to the CPU domain, the corresponding registers are set (e.g., the base address of the read, the data size, etc.). The read operation request is then sent to the endpoint device SOC-2210 via the PCIe switching device 220, and the system waits for the interrupt triggered when the endpoint device SOC-2210 completes the write operation.
[0039] Next, after the write polling module on the endpoint device SOC-2210 receives a read operation request from the root complex SOC-1210, the write application module reads the corresponding data from user space, then writes the data to the PCIe domain via a system call, triggering a write completion interrupt. After receiving the write completion interrupt from the endpoint device SOC-2210 via the PCIe switch 220, the root complex SOC-1210 reads the data from the PCIe domain into DMA (direct memory access), then transmits it back to user space via a system call, where the user space's data saving module saves the data.
[0040] Figure 3 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0041] like Figure 3 As shown, the PCIe-based vehicle communication system 300 includes a system-on-a-chip (SoC) SOC-1310, an SoC SOC-2310, and a PCIe switching device 320. The SoC SOC-1310 is implemented as a root complex, and the SoC SOC-2310 is implemented as an endpoint device. The PCIe switching device 320 is coupled to the root complex SOC-1310 and the endpoint device SOC-2310 to enable write operations from the root complex SOC-1310 to the endpoint device SOC-2310.
[0042] Optionally, the PCIe switching device 220 can be configured to receive a write operation request from the root complex SOC-1310 and send the write operation request to the endpoint device SOC-2310, so that the endpoint device SOC-2310 responds to the write operation request by acquiring the corresponding data in the PCIe domain to trigger a write completion interrupt, and then transmits the data back to the user space for storage.
[0043] like Figure 3As shown, firstly, the write application module in the user space of the root complex SOC-1310 initiates a write operation request. Then, through a system call to the kernel's write processing function, after mapping the PCIe domain to the CPU domain, the corresponding registers are set (e.g., the base address to be read, the data size, etc.). The write operation request is then sent to the endpoint device SOC-2310 via the PCIe switch device 320, and the system waits for the interrupt triggered when the endpoint device SOC-2310 completes the read.
[0044] Next, after receiving the write operation request from the root complex SOC-1310, the read polling module on the endpoint device SOC-2310 reads the corresponding data in the PCIe domain, triggers a write completion interrupt, and transmits the data to user space through a system call. The user space data storage module then saves the data.
[0045] Figure 4 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0046] like Figure 4 As shown, the PCIe-based vehicle communication system 400 includes a system-on-a-chip (SoC) SOC-1410, an SoC SOC-2410, and a PCIe switching device 420. The SoC SOC-1410 is implemented as a root complex, and the SoC SOC-2410 is implemented as an endpoint device. The PCIe switching device 420 is coupled to the root complex SOC-1410 and the endpoint device SOC-2410 to enable the endpoint device SOC-2410 to perform write operations on the root complex SOC-1410.
[0047] Optionally, the PCIe switching device 420 can be configured to receive write operation requests and write completion interrupts from the endpoint device SOC-2410 and send the write operation requests and write completion interrupts to the root complex SOC-1410, so that the root complex SOC-1410, in response to the write completion interrupt, obtains the corresponding data in the PCIe domain and transmits the data back to the user space for storage.
[0048] like Figure 4 As shown, firstly, the write application module in the user space of the endpoint device SOC-2410 initiates a write operation request. Then, through a system call to the kernel's write processing interface, after mapping the CPU domain to the PCIe domain, the corresponding registers (e.g., the base address for writing, the data size, etc.) are set, triggering a write completion interrupt.
[0049] Next, after the polling application module on the root complex SOC-1410 side receives a write completion interrupt from the endpoint device SOC-2410 via the PCIe switch device 420, it copies the data from the PCIe domain and transmits it to the user space, where the user space's data storage module saves the data.
[0050] Figure 5 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0051] like Figure 5 As shown, the PCIe-based vehicle communication system 500 includes a system-on-a-chip (SoC) SOC-1510, an SoC SOC-2510, and a PCIe switching device 520. The SoC SOC-1510 is implemented as a root complex, and the SoC SOC-2510 is implemented as an endpoint device. The PCIe switching device 520 is coupled to the root complex SOC-1510 and the endpoint device SOC-2510 to enable the endpoint device SOC-2510 to perform read operations on the root complex SOC-1510.
[0052] Optionally, the PCIe switching device 520 can be configured to receive read operation requests and read interrupts from the endpoint device SOC-2510 and send the read operation requests and read interrupts to the root compound SOC-1510, so that the root compound SOC-1510, in response to the read interrupt, obtains the corresponding data from the user space and writes the data into the PCIe domain, and sets a root compound data processing completion flag; and to receive the root compound data processing completion flag from the root compound SOC-1510 and send the root compound data processing completion flag to the endpoint device SOC-2510, so that the endpoint device SOC-2510, in response to the root compound data processing completion flag, transmits the data in the PCIe domain back to the user space for storage.
[0053] like Figure 5 As shown, firstly, the user space read app module of the endpoint device SOC-2510 initiates a read operation request. After mapping the CPU domain to the PCIe domain through the system call to the kernel's read processing interface, the corresponding registers (e.g., the base address of the read, the data size, etc.) are set, a read interrupt is triggered, and the device waits for the root complex data processing completion flag.
[0054] Next, the polling application module in the user space on the root complex SOC-1510 side receives a read interrupt from the endpoint device SOC-2510 via the PCIe switch 520, reads data from the user space, writes the data to the corresponding PCIe field, and sets the root complex data processing completion flag. After receiving the root complex data processing completion flag via the PCIe switch 520, the endpoint device SOC-2510 extracts the data from the corresponding PCIe field and transmits it to the user space, where the user space's data storage module saves the data.
[0055] Figure 6 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0056] like Figure 6 As shown, the PCIe-based vehicle communication system 600 includes system-on-a-chip (SoC) SOC-1610, SOC-2610, and SOC-3610, and a PCIe switching device 620. The SoC SOC-1610 is implemented as a root complex, and the SoCs SOC-2610 and SOC-3610 are implemented as endpoint devices. The PCIe switching device 620 is coupled to the root complex SOC-1610 and the endpoint devices SOC-2610 and SOC-3610 to enable write operations between the endpoint devices SOC-2610 and SOC-3610.
[0057] Optionally, the PCIe switching device 620 can be configured to receive write operation requests and write completion interrupts from the endpoint device SOC-2610 and send the write operation requests and write completion interrupts to the root composite SOC-1610, so that the root composite SOC-1610, in response to the write completion interrupt, obtains the corresponding data in the PCIe domain and transmits the data back to the user space; and receive write operation requests from the root composite SOC-1610 and send the write operation requests to the endpoint device SOC-3610, so that the endpoint device SOC-3610, in response to the write operation requests, obtains the corresponding data in the PCIe domain and transmits the data back to the user space for storage.
[0058] Figure 6 An example is shown of a write operation from endpoint device SOC-2610 to endpoint device SOC-3610. First, the write application module in the user space of endpoint device SOC-2610 initiates a write operation request. Through a system call, it sends data to the kernel's write processing interface. After mapping the CPU domain to the PCIe domain, it sets the corresponding registers (e.g., the base address for writing, the data size, etc.) and triggers a write completion interrupt.
[0059] Next, after receiving the write completion interrupt via the PCIe switch 620, the root complex SOC-1610 copies the data from the corresponding PCIe domain and transmits it to user space. The data forwarding module in the user space of the root complex SOC-1610 detects that this data is destined for the endpoint device SOC-3610, and forwards it to the corresponding driver processing interface of the endpoint device SOC-3610. Subsequent write operations can be found in the write operation process of the root complex SOC-1310 to the endpoint device SOC-2310, which will not be described in detail here.
[0060] Figure 7 A block diagram of a PCIe-based vehicle communication system according to one or more embodiments of this application is shown.
[0061] like Figure 7 As shown, the PCIe-based vehicle communication system 700 includes system-on-a-chip (SoC) SOC-1710, SOC-2710, and SOC-3710, and a PCIe switching device 720. The SoC SOC-1710 is implemented as a root complex, and the SoCs SOC-2710 and SOC-3710 are implemented as endpoint devices. The PCIe switching device 720 is coupled to the root complex SOC-1710 and the endpoint devices SOC-2710 and SOC-3710 to enable read operations between the endpoint devices SOC-2710 and SOC-3710.
[0062] Optionally, the PCIe switching device 720 can be configured to receive read operation requests and read interrupts from the endpoint device SOC-2710 and send the read operation requests and read interrupts to the root compound SOC-1710, so that the root compound SOC-1710, in response to the read interrupt, obtains the corresponding data from the endpoint device SOC-3710 and writes the data into the PCIe domain of the endpoint device SOC-2710, and sets a root compound data processing completion flag; and to receive the root compound data processing completion flag from the root compound SOC-1710 and send the root compound data processing completion flag to the endpoint device SOC-2710, so that the endpoint device SOC-2710, in response to the root compound data processing completion flag, transfers the data in the PCIe domain back to user space for storage.
[0063] Figure 7 An exemplary illustration shows a data read operation from an endpoint device SOC-3710 to an endpoint device SOC-2710. First, the user-space read app module of the endpoint device SOC-2710 initiates a read operation request. Through a system call, it reaches the kernel's read processing interface, performs CPU domain and PCIe domain mapping, sets the corresponding registers (e.g., the base address of the read, the data size, etc.), triggers a read interrupt, and waits for the root complex data processing completion flag.
[0064] Next, after the polling application module on the root complex SOC-1710 side receives a read interrupt from the endpoint device SOC-2710 via the PCIe switch 720, the user space detects that the read operation request is for reading data from the endpoint device SOC-3710, and therefore calls the corresponding driver processing interface of the endpoint device SOC-3710. Subsequent read operations can be referred to the read operation process of the root complex SOC-1210 on the endpoint device SOC-2210, which will not be repeated here. After the root complex SOC-1710 reads the data from the endpoint device SOC-3710, it writes it into the corresponding PCIe field of the endpoint device SOC-2710 and sets the root complex data processing completion flag. Finally, after receiving the root complex data processing completion flag via the PCIe switch 720, the endpoint device SOC-2710 extracts the data from the corresponding PCIe field and transmits it to the user space, where the user space's data storage module saves the data.
[0065] According to one aspect of this application, the PCIe-based vehicle communication system enables high-speed data communication between multiple system-on-a-chip (SoC) devices on a vehicle's central computer platform. This effectively solves the problem that traditional communication methods on the vehicle's central computer platform cannot meet the high-speed communication requirements of computing SoCs for tasks such as computing power sharing, dynamic load balancing, computing power scalability, and homogeneous cascading, providing important technical support for the rapid development of automotive intelligence. Furthermore, by using PCIe to achieve communication between multiple SoC devices on the vehicle's central computer platform, the current high load rate of the central computer platform's vehicle Ethernet is reduced, effectively alleviating the high dependence of communication between multiple SoC devices on vehicle Ethernet and SPI. Simultaneously, it fully utilizes the Linux system driver development architecture and system call interface functions, requiring less development effort, exhibiting strong portability, and capable of transmitting various types of data, including images and video streams.
[0066] Alternatively, this application can also be implemented as a vehicle that includes a PCIe-based vehicle communication system according to one aspect of this application.
[0067] The embodiments and examples presented herein are provided to best illustrate embodiments of this application and its particular applications, thereby enabling those skilled in the art to implement and use this application. However, those skilled in the art will understand that the above description and examples are provided for ease of illustration and example only. The descriptions presented are not intended to cover all aspects of this application or to limit this application to the precise forms disclosed.
Claims
1. A PCIe-based in-vehicle communication system, characterized by, The vehicle-mounted communication system comprises: a plurality of system on chips (SOCs) divided into a root complex and a plurality of endpoint devices; and a PCIe switch device coupled to the root complex and the plurality of endpoint devices for performing communication operations between the root complex and the plurality of endpoint devices and between the plurality of endpoint devices, wherein the communication operations are implemented by the following communication strategies: (1) the plurality of endpoint devices implement request sending, data processing and polling functions in user space and call system functions to interact with a kernel state for data; (2) the plurality of endpoint devices implement responses to read and write commands, copying of data and triggering of interrupts to notify the root complex to process data in a kernel state; (3) the root complex processes data and interacts with a user state of the root complex for data through system calls after detecting that an interrupt is set by an interrupt polling module in the kernel state; and (4) the user state of the root complex implements request sending, data processing and polling functions to actively initiate requests and respond to data requests of the plurality of endpoint devices; and the root complex is configured to obtain states of the plurality of endpoint devices by enumerating a PCIe tree, wherein the states include device identification and address mapping information, and respective CPU domains and PCIe domains are mapped on the root complex and the plurality of endpoint devices based on the device identification and the address mapping information of the plurality of endpoint devices to implement CPU operation of PCIe domain addresses.
2. The vehicle-mounted communication system of claim 1, wherein the communication operations include a read operation of the root complex on one of the plurality of endpoint devices, and the PCIe switch device is configured to perform the read operation by: receiving a read operation request from the root complex and sending the read operation request to the one of the plurality of endpoint devices, so that the one of the plurality of endpoint devices reads corresponding data from user space and writes the data into a PCIe domain and triggers a write completion interrupt in response to the read operation request; and receiving the write completion interrupt from the one of the plurality of endpoint devices and sending the write completion interrupt to the root complex, so that the root complex returns the data in the PCIe domain to user space for saving in response to the write completion interrupt.
3. The vehicle-mounted communication system of claim 1, wherein the communication operations include a write operation of the root complex on one of the plurality of endpoint devices, and the PCIe switch device is configured to perform the write operation by: receiving a write operation request from the root complex and sending the write operation request to the one of the plurality of endpoint devices, so that the one of the plurality of endpoint devices obtains corresponding data of the PCIe domain to trigger a write completion interrupt in response to the write operation request, and returns the data to user space for saving.
4. The in-vehicle communication system of claim 1, wherein the communication operation comprises a write operation by one of the plurality of endpoint devices to the root complex, the PCIe switch device configured to perform the write operation by: receiving a write operation request and a write completion interrupt from the one of the plurality of endpoint devices and sending the write operation request and the write completion interrupt to the root complex, such that the root complex, in response to the write completion interrupt, fetches corresponding data of a PCIe domain and passes the data back to user space for saving.
5. The in-vehicle communication system of claim 1, wherein the communication operation comprises a read operation by one of the plurality of endpoint devices to the root complex, the PCIe switch device configured to perform the read operation by: receiving a read operation request and a read interrupt from the one of the plurality of endpoint devices and sending the read operation request and the read interrupt to the root complex, such that the root complex, in response to the read interrupt, fetches corresponding data from user space and writes the data to a PCIe domain, and sets a root complex data processing completion flag; and receiving the root complex data processing completion flag from the root complex and sending the root complex data processing completion flag to the one of the plurality of endpoint devices, such that the endpoint device, in response to the root complex data processing completion flag, passes the data in the PCIe domain back to user space for saving.
6. The in-vehicle communication system of claim 1, wherein the communication operation comprises a write operation between the plurality of endpoint devices, the PCIe switch device configured to perform the write operation by: receiving a write operation request and a write completion interrupt from one of the plurality of endpoint devices and sending the write operation request and the write completion interrupt to the root complex, such that the root complex, in response to the write completion interrupt, fetches corresponding data of a PCIe domain and passes the data back to user space; receiving the write operation request from the root complex and sending the write operation request to another one of the plurality of endpoint devices, such that the endpoint device, in response to the write operation request, fetches corresponding data of a PCIe domain and passes the data back to user space for saving.
7. The in-vehicle communication system of claim 1, wherein the communication operation comprises a read operation between the plurality of endpoint devices, the PCIe switch device configured to perform the read operation by: receiving a read operation request and a read interrupt from one of the plurality of endpoint devices and sending the read operation request and the read interrupt to the root complex, such that the root complex, in response to the read interrupt, fetches corresponding data of another one of the plurality of endpoint devices and writes the data to a PCIe domain of the one of the plurality of endpoint devices, and sets a root complex data processing completion flag; and receiving the root complex data processing completion flag from the root complex and sending the root complex data processing completion flag to the one of the plurality of endpoint devices, such that the endpoint device, in response to the root complex data processing completion flag, passes the data in the PCIe domain back to user space for saving. receiving the root complex data processing completion indication from the root complex and sending the root complex data processing completion indication to one of the plurality of endpoint devices such that the endpoint device returns the data in the PCIe domain to user space for saving in response to the root complex data processing completion indication.
8. A vehicle characterized by comprising: The vehicle comprises: The PCIe-based in-vehicle communication system according to any one of claims 1-7.
Citation Information
Patent Citations
Endpoint device management method, device and system
CN112306913A
Interchip interaction processing method and system, electronic equipment and readable storage medium
CN115756883A