Vehicle-mounted communication processing method, device and system, vehicle and storage medium
By introducing PCIe links in the autonomous driving system and optimizing the data transmission process, the problem of insufficient bandwidth of the on-board Ethernet link is solved, efficient data transmission is achieved, and the real-time and multi-scenario adaptability requirements of the autonomous driving system are met.
Patent Information
- Application Number
- CN202511018760.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-22
- Publication Date
- 2025-10-17
AI Technical Summary
The existing communication links based on in-vehicle Ethernet cannot meet the ultra-large traffic requirements of large-scale model services, resulting in insufficient bandwidth and excessive transmission delay, and cannot adapt to the real-time requirements of autonomous driving systems.
PCIe links are used as high-speed links, and high-speed links are selected for data transmission through link selection reference information. Data serialization and deserialization mechanisms are designed at the sending and receiving ends to reduce memory copy operations and implement multi-link routing selection to adapt to different application scenarios.
It improves data transmission bandwidth and shortens transmission latency, meeting the ultra-large traffic and ultra-low latency requirements of end-to-end large-model services across SOCs in autonomous driving systems, and adapts to various application scenarios.
Smart Images

Figure CN120804018A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of automatic driving, and in particular to a vehicle-mounted communication processing method, device, system, vehicle and storage medium. BACKGROUND
[0002] Automatic driving technology plays an important role in the process of automobile intelligence. At present, end-to-end large model technology is being used in the perception, planning and decision-making of the automatic driving field. The use of large model technology also raises the necessary demand for large computing power and large bandwidth.
[0003] In related technologies, to cope with the demand for large computing power, the common processing method is to use multiple SOC (System on Chip, also known as System on Chip) to work together, one of which is responsible for data collection and business logic, and one of which is responsible for large model inference. The data flow between SOCs has also increased to the GBps level. In related technologies, a communication link based on vehicle-mounted Ethernet is generally used, and vehicle-mounted Ethernet is a gigabit network card.
[0004] However, the communication link based on vehicle-mounted Ethernet in related technologies is already difficult to meet the demand of large model business in terms of traffic. In actual large model business, the traffic exceeds the limit of mainstream vehicle-mounted Ethernet traffic, so the traffic bandwidth provided by the vehicle-mounted Ethernet communication middleware in the related technology solution cannot meet the large model business. SUMMARY
[0005] To solve or partially solve the problems in related technologies, the present application provides a vehicle-mounted communication processing method, device, system, vehicle and storage medium, which can meet the demand for large traffic between SOCs in end-to-end large model business of self-driving systems.
[0006] The first aspect of the present application provides a vehicle-mounted communication processing method applied to a sending end, the sending end including a user layer, a middleware layer and a link layer, and the method includes: obtaining user layer data of the user layer through the middleware layer; obtaining link selection reference information for sending a link; in the case where it is determined according to the link selection reference information that the link layer has a high-speed link and the high-speed link is enabled, selecting the high-speed link as the sending link; and transmitting the user layer data to the link layer; transmitting the user layer data from the link layer to a receiving end through the sending link.
[0007] In an embodiment, the case where it is determined according to the link selection reference information that the link layer has a high-speed link and the high-speed link is enabled, and the high-speed link is selected as the sending link, includes: If it is determined according to the link selection reference information that the receiving end is a receiving end chip outside the local end, and it is determined that the link layer has a high-speed link and the high-speed link is enabled, the high-speed link is selected as the sending link.
[0008] In an embodiment, the method further comprises: If the high-speed link is not selected as the sending link, a non-high-speed link is selected as the sending link.
[0009] In an embodiment, the method further comprises: If it is determined according to the link selection reference information that the receiving end is a receiving end chip inside the local end, a memory link is selected as the sending link.
[0010] In an embodiment, the link selection reference information comprises read information obtained through service discovery and user configuration information, and the if it is determined according to the link selection reference information that the receiving end is a receiving end chip outside the local end, and it is determined that the link layer has a high-speed link and the high-speed link is enabled, the high-speed link is selected as the sending link, comprises: If it is determined according to the read information that the receiving end is a receiving end chip outside the local end, and it is determined according to the user configuration information that the link layer has a high-speed link and the high-speed link is enabled, the high-speed link is selected as the sending link.
[0011] In an embodiment, the link selection reference information comprises read information obtained through service discovery, and the if it is determined according to the link selection reference information that the receiving end is a receiving end chip inside the local end, a memory link is selected as the sending link, comprises: If it is determined according to the read information that the receiving end is a receiving end chip inside the local end, a memory link is selected as the sending link.
[0012] In an embodiment, the read information contains unique identification information for identifying a chip set through service discovery; The user configuration information contains identification information for describing whether a chip has high-speed link capability and whether the high-speed link is enabled, set through service discovery.
[0013] In an embodiment, the transmitting the user layer data to the link layer comprises: serializing the user layer data obtained from the user layer into byte stream data at the middleware layer, and storing the serialized byte stream data into memory for storing byte stream data in the link layer corresponding to a virtual pointer according to the pre-acquired virtual pointer; The transmitting the user layer data to a receiving end through the sending link at the link layer comprises: sending the byte stream data to a receiving end through the high-speed link at the link layer.
[0014] The second aspect of the application provides a vehicle-mounted communication processing method applied to a receiving end, wherein the receiving end comprises a user layer, a middleware layer and a link layer, and the method comprises the following steps of: in the case where the sending end selects a high-speed link as a sending link to send user layer data of the sending end, receiving the user layer data of the sending end from the high-speed link of the link layer; transmitting the user layer data to the user layer of the receiving end for reading through the middleware layer.
[0015] In an embodiment, the method further comprises the following steps of: in the case where the sending end selects a non-high-speed link as a sending link to send user layer data of the sending end, receiving the user layer data of the sending end from the non-high-speed link; or, in the case where the sending end selects a memory link as a sending link to send user layer data of the sending end, receiving the user layer data of the sending end from the memory link.
[0016] In an embodiment, the transmitting the user layer data to the user layer of the receiving end for reading through the middleware layer comprises the following steps of: acquiring serialized byte stream data from a memory for storing byte stream data pre-applied by the link layer according to a virtual pointer pre-acquired by the middleware layer; deserializing the byte stream data into the user layer data of the sending end, and storing the deserialized user layer data into a memory for receiving user layer data in the user layer corresponding to a user layer receiving address pre-registered to the middleware layer, and reading the user layer data from the memory for receiving user layer data by the user layer.
[0017] The third aspect of the application provides a sending end device of vehicle-mounted communication, which comprises the following parts: a user layer module configured to store user layer data in a user layer; a middleware module configured to acquire user layer data of the user layer, acquire link selection reference information of a sending link, select a high-speed link as a sending link in the case where the link layer has the high-speed link and the high-speed link is enabled according to the link selection reference information, and transmit the user layer data to the link layer; a link layer module configured to send the user layer data to a receiving end through the sending link at the link layer.
[0018] The fourth aspect of the present application provides a receiving end device of vehicle-mounted communication, the receiving end device comprising: a link layer module, configured to receive, in a case where the sending end selects a high-speed link as a sending link to send user layer data of the sending end, the user layer data of the sending end from the high-speed link of the link layer; an intermediate layer module, configured to transmit the user layer data to a user layer of the receiving end through a middleware layer; a user layer module, configured to read the user layer data in the user layer.
[0019] The fifth aspect of the present application provides a vehicle-mounted communication processing system, the system comprising a sending end and a receiving end, the sending end and the receiving end comprising a user layer, a middleware layer and a link layer: the sending end, configured to acquire user layer data of a user layer through a middleware layer of the sending end; acquire link selection reference information of a sending link used to send the user layer data; in a case where it is determined according to the link selection reference information that the link layer has a high-speed link and the high-speed link is enabled, select the high-speed link as the sending link; transmit the user layer data to the link layer; and send the user layer data to the receiving end through the sending link in the link layer; the receiving end, configured to receive the user layer data of the sending end from the high-speed link of the link layer of the receiving end; and transmit the user layer data to a user layer of the receiving end through a middleware layer for reading.
[0020] The sixth aspect of the present application provides a vehicle, comprising: a processor; and a memory having executable code stored thereon, the executable code, when executed by the processor, causing the processor to perform the method as described above.
[0021] The seventh aspect of the present application provides a computer-readable storage medium having executable code stored thereon, the executable code, when executed by a processor of an electronic device, causing the processor to perform the method as described above.
[0022] The eighth aspect of the present application provides a computer program product, the computer program product comprising computer instructions, the computer instructions, when executed by a processor, implementing the method as described above.
[0023] The technical solution provided by the present application can include the following beneficial results: After the technical solution of the present application obtains the link selection reference information, the high-speed link is selected as the sending link in the case that the link layer has the high-speed link and the high-speed link is enabled according to the link selection reference information; and the user layer data of the user layer is sent to the receiving end through the sending link. Through the above processing, the present application introduces the communication middleware into the high-speed link (such as a PCIe link), introduces the high-speed link transmission, and selects the high-speed link as the sending link in the case that the high-speed link is enabled, so that the bandwidth can be greatly improved compared with the related art using the non-high-speed link (such as an Ethernet link) transmission, and the large packet data transmission problem is solved, thereby meeting the demand of the self-driving system end-to-end large model service cross-SOC super large flow.
[0024] Further, in the present application, the high-speed link is selected as the sending link in the case that the link layer has the high-speed link and the high-speed link is enabled according to the link selection reference information; or, the non-high-speed link is selected as the sending link in the case that the high-speed link is not selected as the sending link; or, the memory link is selected as the sending link in the case that the receiving end is the local chip according to the link selection reference information. Therefore, the present application combines different transmission links such as the memory link, the non-high-speed link and the high-speed link, and designs a multi-link link routing rule, which can meet different application scenarios.
[0025] Further, in the scheme, when the sending end sends data, the middleware layer serializes the user layer data obtained from the user layer into byte stream data, and stores the serialized byte stream data into the memory for storing byte stream data in the link layer corresponding to the virtual pointer according to the pre-obtained virtual pointer. That is, the middleware layer of the sending end can directly copy data to the memory for storing byte stream data in the high-speed link layer when serializing the data to be sent, so that the communication middleware layer does not consume data memory, and at least one memory copy in the sending end is reduced compared with the scheme in the related art, thereby shortening the transmission delay. In the scheme, when the receiving end receives data, the middleware layer deserializes the byte stream data into the user layer data of the user layer of the sending end, and stores the deserialized user layer data into the memory for receiving user layer data in the user layer corresponding to the user layer receiving address pre-registered to the middleware layer, and the user layer reads the user layer data from the memory for receiving user layer data. That is, the middleware layer of the receiving end can deserialize the data in the memory of the high-speed link layer to the memory for receiving data in the user layer, so that the middleware layer has no data copying behavior, and at least one memory copy in the receiving end is reduced compared with the scheme in the related art, thereby shortening the transmission delay. Therefore, the data copy-free mechanism of the sending end and the receiving end designed in the scheme can reduce the large packet data transmission delay.
[0026] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory and are not restrictive of the application. BRIEF DESCRIPTION OF DRAWINGS
[0027] The above and other objects, features and advantages of the present application will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which like reference characters refer to like parts throughout the figures, and in which:
[0028] Figure 1 is a first flowchart of a vehicle-mounted communication processing method according to an embodiment of the application; Figure 2 is a second flowchart of a vehicle-mounted communication processing method according to an embodiment of the application; Figure 3 is a schematic diagram of a logical hierarchy architecture in a vehicle-mounted communication processing method according to an embodiment of the application; Figure 4 is an application diagram of cross-SOC transmission in a vehicle-mounted communication processing method according to an embodiment of the application; Figure 5 is a third flowchart of a vehicle-mounted communication processing method according to an embodiment of the application; Figure 6 FIG. 1 is a structural schematic diagram of a sending end device of vehicle-mounted communication according to an embodiment of the present application; Figure 7 FIG. 2 is a structural schematic diagram of a receiving end device of vehicle-mounted communication according to an embodiment of the present application; Figure 8 FIG. 3 is a structural schematic diagram of a vehicle-mounted communication processing system according to an embodiment of the present application; Figure 9 FIG. 4 is a structural schematic diagram of a vehicle according to an embodiment of the present application. DETAILED DESCRIPTION
[0029] Embodiments of the present application will be described in more detail by referring to the drawings. Although embodiments of the present application are shown in the drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments described herein. Rather, these embodiments are provided so that the present application is more thorough and complete, and the scope of the present application is fully conveyed to those skilled in the art.
[0030] The terms used in the present application are merely for the purpose of describing specific embodiments and are not intended to limit the present application. The singular forms "a", "an" and "the" used in the present application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0031] It should be understood that although the terms "first", "second", "third", etc. are used to describe various information in the present application, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, the first information can also be referred to as the second information, and similarly, the second information can also be referred to as the first information without departing from the scope of the present application. Therefore, the features defined with "first", "second" can explicitly or implicitly include one or more of the features. In the description of the present application, the meaning of "multiple" is two or more, unless otherwise specifically limited.
[0032] In the related art, the traffic bandwidth provided by the vehicle-mounted Ethernet communication middleware cannot meet the large model service.
[0033] To solve the above problems, the embodiments of the present application provide a vehicle-mounted communication processing method, device, system, vehicle and storage medium, which can meet the demand of large traffic between SOC for end-to-end large model service of self-driving system.
[0034] The technical solutions of the embodiments of the present application will be described in detail below with reference to the drawings.
[0035] Figure 1 is a first flowchart of a vehicle-mounted communication processing method shown in an embodiment of the present application. The embodiment takes the method applied to a sending end as an example. The sending end may, for example, be an SOC but is not limited thereto. The sending end may, for example, include a user layer, a middleware layer and a link layer.
[0036] Referring to Figure 1 , the method includes: S101, obtaining user layer data of the user layer by the middleware layer.
[0037] The user layer of the sending end may, for example, generate user layer data, which may, for example, be custom data such as custom token data. In this step, the middleware layer of the sending end may, for example, obtain the user layer data of the user layer. It should be noted that the user layer data mentioned herein may, for example, be data generated outside the user layer and stored in the user layer.
[0038] S102, obtaining link selection reference information of the sending link.
[0039] The link selection reference information may, for example, include read information obtained through service discovery and user configuration information. The read information may, for example, be DataReader information but is not limited thereto.
[0040] The read information, for example, DataReader information, may, for example, include unique identification information set through service discovery for identifying a chip; and the user configuration information may, for example, include identification information set through service discovery for describing whether the chip has high-speed link capability and whether the high-speed link is enabled. Taking a PCIe link as an example but not limited thereto, the user configuration information may, for example, include identification information set through service discovery for describing whether the chip has PCIe link capability and whether the PCIe link is enabled. S103, in the case where it is determined according to the link selection reference information that the link layer has a high-speed link and the high-speed link is enabled, selecting the high-speed link as the sending link; and transmitting the user layer data to the link layer.
[0041] For example, in the case where it is determined according to the link selection reference information that the link layer has a high-speed serial computer expansion bus standard PCIe link and the PCIe link is enabled, selecting the PCIe link as the sending link; and transmitting the user layer data of the user layer to the link layer.
[0042] In this step, in the case where it is determined according to the link selection reference information that the receiving end is a receiving end chip outside the end and that the link layer has a high-speed link and the high-speed link is enabled, the high-speed link is selected as the sending link.
[0043] In an embodiment, the link selection reference information comprises read information obtained through service discovery and user configuration information, and if it is determined according to the link selection reference information that the receiving end is a receiving end chip outside the local end, and it is determined that the link layer has a high-speed link and the high-speed link is enabled, the high-speed link is selected as the sending link, which comprises: If it is determined according to the read information that the receiving end is a receiving end chip outside the local end, and it is determined according to the user configuration information that the link layer has a high-speed link and the high-speed link is enabled, the high-speed link is selected as the sending link.
[0044] For example, the PCIe link can be selected as the sending link if it is determined according to the link selection reference information that the receiving end is a receiving end chip outside the local end, and it is determined that the link layer has a high-speed serial computer expansion bus standard PCIe link and the PCIe link is enabled.
[0045] For example, the PCIe link can be selected as the sending link if it is determined according to the read information that the receiving end is a receiving end chip outside the local end, and it is determined according to the user configuration information that the link layer has a high-speed serial computer expansion bus standard PCIe link and the PCIe link is enabled.
[0046] Wherein, the user layer data of the user layer is transmitted to the link layer, which comprises: The user layer data obtained from the user layer is serialized into byte stream data in the middleware layer, and the serialized byte stream data is stored in the memory for storing byte stream data pre-applied in the link layer by the virtual pointer corresponding to the virtual pointer.
[0047] S104, the user layer data of the user layer is sent to the receiving end through the sending link in the link layer.
[0048] In this step, the byte stream data can be sent to the receiving end through the high-speed link such as the PCIe link in the link layer.
[0049] It should be further pointed out that the embodiment can also select a non-high-speed link as the sending link in the case where the high-speed link is not selected as the sending link, or select a memory link as the sending link if it is determined according to the link selection reference information that the receiving end is a chip in the local end. The non-high-speed link can be an Ethernet Eth link but is not limited thereto, and the non-high-speed link can be a shared memory SHM link but is not limited thereto.
[0050] For example, the Ethernet Eth link can be selected as the sending link in the case where the PCIe link is not selected as the sending link, or the shared memory SHM link can be selected as the sending link if it is determined according to the link selection reference information that the receiving end is a chip in the local end.
[0051] As can be seen from this embodiment, after the link selection reference information is acquired, the technical scheme of the application can select the high-speed link as the sending link in the case that the link layer has the high-speed link and the high-speed link is enabled, and transmit the user layer data of the user layer to the receiving end through the sending link. Through the above processing, the technical scheme of the application accesses the communication middleware to the high-speed link, introduces the high-speed link transmission, and selects the high-speed link as the sending link in the case that the high-speed link is enabled, so that compared with the related art using the non-high-speed link (for example, the Ethernet link) transmission, the bandwidth can be greatly improved, the large packet data transmission problem can be solved, and therefore the demand of the self-driving system end-to-end large model service cross-SOC super large flow can be met.
[0052] Taking the PCIe link as the high-speed link, the technical scheme of the application accesses the communication middleware to the PCIe link, introduces the PCIe link transmission, and selects the PCIe link as the sending link in the case that the PCIe link is enabled, so that compared with the related art using the Ethernet transmission, the bandwidth can be greatly improved, the large packet data transmission problem can be solved, and therefore the demand of the self-driving system end-to-end large model service cross-SOC super large flow can be met.
[0053] Figure 2 FIG. 2 is a second flowchart of a vehicle-mounted communication processing method according to an embodiment of the application. This embodiment takes the method applied to a receiving end as an example. The receiving end may, for example, be an SOC but is not limited thereto. The receiving end can include a user layer, a middleware layer and a link layer.
[0054] Referring to FIG. 2, Figure 2 the method comprises: S201. In the case that a high-speed link is selected as a sending link to send user layer data of a sending end, the user layer data of the sending end is received from the high-speed link of a link layer.
[0055] For example, in the case that a high-speed serial computer expansion bus standard (PCIe) link is selected as a sending link to send user layer data of a user layer of a sending end, the user layer data of the user layer of the sending end is received from the PCIe link of a link layer.
[0056] S202. The user layer data is transmitted to a user layer of a receiving end for reading through a middleware layer.
[0057] This step can include: acquiring, according to a virtual pointer acquired in advance, serialized byte stream data from a memory for storing byte stream data pre-applied in the link layer corresponding to the virtual pointer; The byte stream data is deserialized into user layer data of the user layer of the sending end, the deserialized user layer data is stored into the memory of the user layer corresponding to the user layer receiving address according to the user layer receiving address pre-registered to the middleware layer, and the user layer reads the user layer data from the memory for receiving the user layer data.
[0058] It should be further noted that the embodiment can also receive the user layer data of the sending end from a non-high-speed link when the sending end selects the non-high-speed link as the sending link to send the user layer data of the sending end; or receive the user layer data of the sending end from a memory link when the sending end selects the memory link as the sending link to send the user layer data of the sending end.
[0059] For example, the user layer data of the sending end is received from an Ethernet Eth link when the sending end selects the Ethernet Eth link as the sending link to send the user layer data of the user layer; or, The user layer data of the sending end is received from a shared memory SHM link when the sending end selects the shared memory SHM link as the sending link to send the user layer data of the user layer.
[0060] As can be seen from the embodiment, the user layer data of the user layer of the sending end is received from the high-speed link of the link layer when the sending end selects the high-speed link as the sending link to send the user layer data of the user layer. Through the above processing, the communication middleware is connected to the high-speed link, the PCIe link transmission is introduced, the user layer data of the user layer of the sending end is received from the PCIe link of the link layer, and thus compared with the Ethernet transmission in the related art, the bandwidth can be greatly improved, the large packet data transmission problem is solved, and thus the demand of the self-driving system end-to-end large model service across SOC super large flow can be met.
[0061] Taking the PCIe link as the high-speed link, the user layer data of the user layer of the sending end is received from the PCIe link of the link layer when the sending end selects the high-speed serial computer expansion bus standard PCIe link as the sending link to send the user layer data of the user layer. Through the above processing, the communication middleware is connected to the PCIe link, the PCIe link transmission is introduced, the user layer data of the user layer of the sending end is received from the PCIe link of the link layer, and thus compared with the Ethernet transmission in the related art, the bandwidth can be greatly improved, the large packet data transmission problem is solved, and thus the demand of the self-driving system end-to-end large model service across SOC super large flow can be met.
[0062] It should also be noted that in addition to the bandwidth problem of being unable to meet the needs of large-scale business models, the related technologies also have problems such as long transmission latency and limited application scenarios. Self-driving systems are real-time systems. When data exceeds the timeliness threshold, it will be discarded, so low latency is also a necessary requirement for self-driving systems. The data transmission between the SOCs of the end-to-end large-scale business of autonomous driving requires low latency, but the communication middleware based on in-vehicle Ethernet in the related technologies cannot meet the low transmission latency requirements. In addition, the related technologies cannot meet the need for the communication middleware to be applicable to a variety of different application scenarios.
[0063] This application proposes a PCIe-based in-vehicle communication processing method to meet the ultra-high traffic and ultra-low latency requirements of end-to-end, large-scale, cross-SOC services for autonomous driving systems, as well as the need to expand application scenarios. This application's communication middleware, which meets the service-oriented requirements of an in-vehicle SOA (Service-Oriented Architecture), features multiple functions, including service discovery, multi-link routing for SHM (Shared Memory), Ethernet, and PCIe, and private message construction. A PCIe-based communication processing solution is also designed to meet the high-traffic, low-latency communication requirements of large-scale services.
[0064] Figure 3 It is a schematic diagram of the logical hierarchical architecture of the vehicle communication processing method shown in an embodiment of the present application.
[0065] See also Figure 3 ,The logical hierarchical structure of SOC may include a user layer, a middleware layer, and a link layer such as a PCIe link layer.
[0066] When the SOC acts as the transmitter, the middle layer can include write modules such as the DataWriter module, the HybridTransmitter module, and the PCIeSender module. The HybridTransmitter module can include three types of transmission links: memory links, high-speed links, and non-high-speed links. For example, the memory link can be an SHM Transmitter (shared memory transmission) link, the high-speed link can be a PCIe Transmitter (PCIe transmission) link, and the non-high-speed link can be an Ethernet Transmitter (Ethernet transmission) link.
[0067] Wherein, when the SOC is a receiving end, the intermediate layer can include a reading module such as a DataReader module, a HybridReceiver module, and a PCIeDispatcher module. The HybridReceiver can include three transmission links, which are a memory link, a high-speed link, and a non-high-speed link. The memory link can be a SHM Receiver link, the high-speed link can be a PCIeReceiver link, and the non-high-speed link can be an Eth Receiver link.
[0068] It should be noted that the SHM Transmitter link and the SHM Receiver link can be collectively referred to as a SHM link, the PCIeTransmitter link and the PCIeReceiver link can be collectively referred to as a PCIe link, and the Eth Transmitter link and the Eth Receiver link can be collectively referred to as an Eth link.
[0069] The DataWriter is an important class in the Fast DDS library, which is used to implement the data writing function in the publish-subscribe communication model of DDS.
[0070] In the large model, for the sending end SOC, the user layer can generate user layer data. For example, the user layer can construct a DataWriter instance and use the DataWriter to send custom data such as custom token data. An instance generally refers to an object created according to a class. The class defines the properties and methods of the object, which are common to all instances created according to the class. The user layer can define the data format using an IDL (Interface definition file) file. The DataWriter class holds a HybridTransmitter instance. The HybridTransmitter is an encapsulation of each link, and the HybridTransmitter has link routing logic inside. The link routing in the HybridTransmitter includes a SHM Transmitter link, a PCIeTransmitter link, and an Eth Transmitter link.
[0071] Wherein, the service discovery can obtain reading information such as DataReader information and user configuration information, and the HybridTransmitter can select different link routes to send data according to the DataReader information and the user configuration information obtained from the service discovery. For example, when the SOCs (the sending SOC and the receiving SOC) at both ends have PCIe link capability and are enabled (the user configuration information is to use the PCIe function), the data is selected to be sent through the PCIeTransmitter link.
[0072] Wherein, the link route selection logic of the HybridTransmitter includes but is not limited to the following ways: 1) The DataWriter determines whether the DataReader is from the same SOC according to the SOC_ID (chip identification) information of the DataReader obtained from the service discovery, and when it is determined that the DataReader is from the same SOC, the SHMTransmitter link is selected, for example, the SHMTransmitter link can be enabled, the SHMTransmitter link is added when sending, that is, the SHMTransmitter link is selected as the link route for sending data at this time.
[0073] Wherein, the service discovery module of the middleware layer matches the corresponding DataReader for the DataWriter through the service discovery function, obtains the DataReader information and the user configuration information of the DataReader. In addition, the DataWriter information and the user configuration information of the DataWriter can also be obtained. Then, according to the obtained DataWriter information and the DataReader information, the SOC_ID (chip identification) information is added to the DataWriter and the matched corresponding DataReader in the service discovery message, and the service discovery message is sent to the DataWriter, so that the DataWriter can determine whether the DataReader is from the same SOC according to the SOC_ID of the DataReader matched by the service discovery module.
[0074] Wherein, in the user configuration information, the description information of whether to have PCIe link capability and whether to enable the PCIe link configured by the user can be generally included; in the DataWriter information and the DataReader information, the unique identification information for identifying the SOC can be generally included.
[0075] 2) When the DataWriter determines that the DataReader is from a different SOC, then the PCIeTransmitter link and the EthTransmitter link can both communicate across the SOC.
[0076] When the two end SOCs have PCIe link capability and are enabled (the user configures to enable PCIe function), the PCIeTransmitter link is selected for transmission. The EthTransmitter link is a basic link, and when the PCIeTransmitter link is not selected, the EthTransmitter link is selected.
[0077] It should be noted that the service discovery module can add a PCIe_flag identifier to the DataWriter and the DataReader in the service discovery packet according to the obtained user configuration information of the DataWriter and the user configuration information of the DataReader, to indicate whether the DataWriter and the DataReader have PCIe link capability. For example, different values of the PCIe_flag identifier can be set to indicate whether the PCIe link capability is present. For example, the value of the PCIe_flag identifier is 1, indicating that the PCIe link capability is present, and the value of the PCIe_flag identifier is 0, indicating that the PCIe link capability is not present. Alternatively, the opposite setting can be performed, which is not limited in the present application.
[0078] In addition, a PCIe_enable identifier can be added in the service discovery packet, to indicate that the user defines the PCIe link transmission (i.e., enables the PCIe link transmission). If the PCIe_enable identifier is included, it indicates that the user enables the PCIe link transmission, and if the PCIe_enable identifier is not included, it indicates that the user does not enable the PCIe link transmission.
[0079] The identifier information, including the PCIe_flag identifier information and the PCIe_enable identifier information, can be obtained through the service discovery before the data is transmitted. When it is found that the DataWriter and the DataReader have PCIe link capability and the user enables it, the PCIe link is used to transmit and receive data.
[0080] The PCIeSender is a packaging of a PCIe link layer transmission function, which is called in the transmission thread, and the PCIeDispatcher is a packaging of a PCIe link layer receiving function, which is called in the receiving thread.
[0081] Figure 5FIG. 3 is a third flowchart of a vehicle communication processing method according to an embodiment of the present application.
[0082] The embodiment takes transmission between a sending end and a receiving end as an example. The sending end can be a SOC, and the receiving end can be another SOC or the receiving end can be in the same SOC. Meanwhile, refer to FIG. 1 for details. Figure 4 Figure 4 FIG. 4 is an application diagram of cross-SOC transmission in the vehicle communication processing method according to an embodiment of the present application, which includes data transmission between SOC-A and SOC-B.
[0083] Refer to FIG. 1 for details. Figure 5 The method includes the following steps. S501, the sending end generates user layer data through a user layer.
[0084] The user layer of the sending end can generate user layer data, which can be custom data such as custom token data.
[0085] S502, the sending end acquires the user layer data of the user layer through a middleware layer.
[0086] The middleware layer can acquire the user layer data of the user layer through a DataWriter.
[0087] S503, the sending end acquires link selection reference information of a sending link through the middleware layer.
[0088] The link selection reference information can include DataReader information acquired through service discovery and user configuration information.
[0089] The DataReader information contains unique identification information set through service discovery for identifying a chip; and the user configuration information contains identification information set through service discovery for describing whether the chip has PCIe link capability and whether the PCIe link is enabled.
[0090] The service discovery module of the middleware layer can add SOC_ID (chip identification) information to the DataWriter and the matching corresponding DataReader in the service discovery message according to the acquired DataWriter information and DataReader information, and send the service discovery message to the DataWriter, so that the DataWriter can determine whether the DataReader is from the same SOC according to the SOC_ID of the DataReader matched by the service discovery module.
[0091] In the service discovery module of the middleware layer, PCIe_flag is added to the DataWriter and the DataReader in the service discovery message according to the acquired user configuration information of the DataWriter and the user configuration information of the DataReader, which is used to indicate whether the DataWriter and the DataReader have PCIe link capability. In addition, PCIe_enable is added to the service discovery message, which is used to indicate that the user defines the data to use (i.e., enable) the PCIe link transmission. If the PCIe_enable is included, it indicates that the user enables the PCIe link transmission, and if the PCIe_enable is not included, it indicates that the user does not enable the PCIe link transmission.
[0092] In S504, the middleware layer of the sending end selects a sending link according to the link selection reference information. If it is determined according to the DataReader information that the receiving end is a receiving end chip outside the local end, and it is determined according to the user configuration information that the link layer has a PCIe link and the PCIe link is enabled, the PCIe link is selected as the sending link.
[0093] Reference Figure 3 According to the link routing logic introduced in the foregoing description, in S504, the middleware layer of the sending end selects a sending link according to the link selection reference information, which can include the following steps: 1) If it is determined according to the DataReader information that the receiving end is a receiving end chip outside the local end, and it is determined according to the user configuration information that the link layer has a PCIe link and the PCIe link is enabled, the PCIe link is selected as the sending link.
[0094] 2) If it is determined according to the DataReader information that the receiving end is a receiving end chip outside the local end, and the PCIe link is not selected as the sending link, an Ethernet (Eth) link is selected as the sending link.
[0095] 3) If it is determined according to the link selection reference information that the receiving end is a local chip, a shared memory (SHM) link is selected as the sending link.
[0096] In S505, the middleware layer of the sending end transmits the user layer data of the user layer to the link layer, and transmits the user layer data of the user layer to the receiving end through the sending link in the link layer, including serializing the byte stream data of the user layer data through the PCIe link and transmitting the byte stream data to the receiving end.
[0097] In the related art, mainstream communication middleware has data caching when sending and receiving. The present application considers that the PCIe link is mainly used to transmit data of a large model, such as 100MB size data, and therefore the overhead of copying large data needs to be considered. The copying operation not only affects CPU and memory occupation, but also affects data transmission delay.
[0098] To reduce the migration and copying of large packet data (data with large data volume), at the sending end, the middleware layer applies for a piece of memory from the link layer before sending data, that is, applies for memory for storing byte stream data, and the link layer returns a virtual pointer of the memory to the middleware layer. Through this processing, when the PCIe transmitter serializes the data sent by the user layer into byte stream data, it can directly serialize the data stored in the memory of the user layer for sending into the memory of the PCIe link, and add a custom Header in the byte stream data. Finally, the middleware layer obtains the port number of the DataReader end according to service discovery, takes the port number as a target address, and calls the PCIeSender to send the byte stream data through the PCIe link layer, that is, through the PCIe controller.
[0099] In the related art, a complex data structure (such as an object, an array, a dictionary, etc.) is usually converted into a format that can be stored or transmitted, which is usually a string format. This conversion process is generally called “serialization”. For example, the serialize( ) method can be used for serialization operation. The role of serialization generally includes data storage, data transmission or data persistence. Data storage generally refers to saving objects to storage media such as files, databases, etc.; data transmission generally refers to transmitting objects through a network, such as transferring data between a client and a server; data persistence generally refers to saving the program running state for later recovery. Deserialization is the opposite of serialization, which is the process of converting serialized strings or binary data back to the original data structure.
[0100] Therefore, in the technical scheme of the present application, at the sending end, the communication middleware can directly apply for a piece of memory from the link layer before serializing the data, that is, apply for memory for storing byte stream data, and obtain the virtual pointer of the memory returned by the link layer to the middleware layer. The information of the memory of the user layer for sending data can also be registered to the communication middleware layer. When the serializer serializes the data to be sent stored in the memory of the user layer for sending data, the communication middleware layer can directly copy the data to the memory of the PCIe link layer for storing byte stream data, so that the communication middleware layer does not consume data memory. Compared with the scheme in the related art, the present application scheme at least reduces one memory copy at the sending end, thereby shortening the transmission delay.
[0101] S506, the receiving end receives the user layer data sent by the sending end, wherein the user layer data of the user layer of the sending end is received from the PCIe link of the link layer.
[0102] The receiving end receives the user layer data sent by the sending end, which can include: 1) in the case where the sending end selects the PCIe link as the sending link to send the user layer data of the user layer of the sending end, the user layer data of the user layer of the sending end is received from the PCIe link of the link layer.
[0103] 2) in the case where the sending end selects the Ethernet Eth link as the sending link to send the user layer data of the user layer of the sending end, the user layer data of the user layer of the sending end is received from the Ethernet Eth link.
[0104] 3) in the case where the sending end selects the shared memory SHM link as the sending link to send the user layer data of the user layer of the sending end, the user layer data of the user layer of the sending end is received from the shared memory SHM link.
[0105] S507, the receiving end transmits the user layer data to the user layer of the receiving end for reading through the middleware layer, which includes transmitting the serialized byte stream data to the user layer of the receiving end for reading after deserializing the user layer data.
[0106] In order to reduce the migration copy of large packet data (data with large data volume), in the receiving end, the PCIeDispatcher of the middleware layer obtains the virtual pointer of the memory of the PCIe link layer for storing byte stream data, and directly operates the PCIe link layer memory through the virtual pointer. First, the Header in the byte stream data can be parsed, and according to the parsed Header, the local PCIeReceiver of the middleware layer is indexed. In the PCIeReceiver of the middleware layer, the byte stream data in the memory of the PCIe link layer for storing byte stream data is deserialized to the memory of the user layer for receiving data registered to the middleware layer. After deserialization is completed, the user layer is notified to process data.
[0107] In the receiving end, the user layer can register the information of the memory of the user layer for receiving data to the communication middleware layer. When receiving data, the communication middleware layer obtains the virtual pointer of the memory of the PCIe link layer for storing byte stream data, and directly deserializes the data in the memory of the PCIe link layer to the memory of the user layer for receiving data in the deserializer, and notifies the user layer to process, so that the communication middleware layer has no data copy behavior. Compared with the scheme in the related art, the scheme of the present application at least reduces one memory copy in the receiving end, so that the transmission delay can be shortened.
[0108] In summary of the foregoing description, in the scheme of the present application, to solve the problem of large packet data transmission, the communication middleware is connected to the PCIe link, and the PCIe link transmission is introduced. The PCIe link can use the PCIe 4.0 standard on the hardware, and the 4Lane (number of data transmission channels) bandwidth can be increased to 8GBps. Compared with the Gigabit Ethernet used in the related art, the PCIe link transmission introduced in the present application can greatly improve the bandwidth and meet the demand of large flow between SOCs for end-to-end large model services of the self-driving system.
[0109] Further, in the scheme of the present application, the communication middleware integrates different transmission links such as shared memory link, Ethernet link and PCIe link, and can meet different application scenarios. In the scheme of the present application, multi-link routing rules are designed, for example, including: when transmitting within the SOC, using the shared memory link; when transmitting small packet data across the SOC, using the Ethernet link; and when transmitting large packet data across the SOC, using the PCIe link.
[0110] Further, in the scheme of the present application, a data copy-free mechanism is designed for the sending end and the receiving end, so as to reduce the large packet data transmission delay. For example, for large packet data of 100MB length, when data exists in the user layer, the communication middleware layer and the PCIe link layer, the transmission delay between the user end and the user end will be greatly increased. In the scheme of the present application, the memory usage is optimized, and only two memories of the user layer and the PCIe link layer are used at the sending end and the receiving end. The memory of the user layer is a memory for sending data defined by the user, and the memory of the PCIe link layer is a memory for storing the sent byte stream data, so that the communication middleware layer can lock the memories at both ends to directly perform serialization and deserialization operations, thereby shortening the whole link transmission delay. For example, taking a frame of 4MB data as an example, in the related art, a Gigabit network card is used, and due to the factors such as application layer software fragmentation and bottom ip protocol stack fragmentation, the actual user state to user state transmission delay is in the order of 20ms. However, in the present application, the PCIe link is used, and the transmission delay is only about 3ms. The larger the data, the more obvious the delay benefit.
[0111] Corresponding to the foregoing application function implementation method embodiments, the present application also provides a sending end device of vehicle-mounted communication, a receiving end device of vehicle-mounted communication, a vehicle-mounted communication processing system, a vehicle and corresponding embodiments.
[0112] Figure 6 FIG. 1 is a structural schematic diagram of a sending end device of vehicle-mounted communication according to an embodiment of the present application. The sending end device may, for example, be an SOC but is not limited thereto.
[0113] Referring to FIG. 1, Figure 6 The sending end device 60 of vehicle-mounted communication provided by the embodiment of the present application includes a user layer module 61, an intermediate layer module 62 and a link layer module 63.
[0114] A user layer module 61 is configured to store user layer data in the user layer. The user layer data can be custom data, such as custom token data.
[0115] A middle layer module 62 is configured to acquire the user layer data in the user layer, acquire link selection reference information, select a high-speed link as a transmission link in a case where it is determined according to the link selection reference information that the link layer has a high-speed link and the high-speed link is enabled, and transmit the user layer data to the link layer. For example, in a case where it is determined according to the link selection reference information that the link layer has a Peripheral Component Interconnect Express (PCIe) link and the PCIe link is enabled, the PCIe link is selected as the transmission link, and the user layer data in the user layer is transmitted to the link layer.
[0116] The link selection reference information can include reading information, such as DataReader information, acquired through service discovery and user configuration information. The DataReader information includes unique identification information set through service discovery for identifying a chip, and the user configuration information includes identification information set through service discovery for describing whether the chip has a PCIe link capability and whether the PCIe link is enabled.
[0117] The PCIe link can be selected as the transmission link in a case where it is determined according to the link selection reference information that the receiving end is a receiving end chip outside the local end, and it is determined that the link layer has a PCIe link and the PCIe link is enabled.
[0118] For example, the PCIe link can be selected as the transmission link in a case where it is determined according to reading information, such as DataReader information, that the receiving end is a receiving end chip outside the local end, and it is determined according to user configuration information that the link layer has a PCIe link and the PCIe link is enabled.
[0119] The transmitting of the user layer data in the user layer to the link layer includes: serializing, in the middle layer, the user layer data acquired from the user layer into byte stream data, and storing the serialized byte stream data into a memory for storing byte stream data in the link layer corresponding to a virtual pointer according to the virtual pointer acquired in advance.
[0120] A link layer module 63 is configured to transmit the user layer data in the user layer to a receiving end through the transmission link in the link layer. The link layer module 63 can transmit the byte stream data to the receiving end through a PCIe link in the link layer.
[0121] It should be noted that the embodiment can also select a non-high-speed link as the sending link in the case where the high-speed link is not selected as the sending link; or select a memory link as the sending link in the case where the receiving end is determined to be the local chip according to the link selection reference information. For example, select an Ethernet Eth link as the sending link in the case where the PCIe link is not selected as the sending link; or select a shared memory SHM link as the sending link in the case where the receiving end is determined to be the local chip according to the link selection reference information.
[0122] The sending end device of the vehicle-mounted communication provided by the embodiment of the application accesses the PCIe link to the communication middleware, introduces the PCIe link transmission, receives the user layer data of the user layer of the sending end from the PCIe link of the link layer, and thus can greatly improve the bandwidth compared with the related art using Ethernet transmission, solve the large packet data transmission problem, and therefore can meet the demand of the self-driving system end-to-end large model service cross-SOC super large flow.
[0123] Figure 7 FIG. 1 is a structural schematic diagram of a receiving end device of vehicle-mounted communication according to an embodiment of the application. The receiving end device may, for example, be an SOC but is not limited thereto.
[0124] Referring to FIG. 1, Figure 7 The receiving end device 70 of the vehicle-mounted communication provided by the embodiment of the application includes a link layer module 71, an intermediate layer module 72, and a user layer module 73.
[0125] The link layer module 71 is configured to receive the user layer data of the user layer of the sending end from the high-speed link of the link layer in the case where the sending end selects the high-speed link as the sending link to send the user layer data of the user layer. For example, receive the user layer data of the user layer of the sending end from the PCIe link of the link layer in the case where the sending end selects the PCIe link as the sending link to send the user layer data of the user layer.
[0126] The intermediate layer module 72 is configured to transmit the user layer data to the user layer of the receiving end through the middleware layer. The middleware layer can acquire the serialized byte stream data from the memory pre-applied in the link layer for storing the byte stream data according to a virtual pointer pre-acquired by the middleware layer; deserialize the byte stream data into the user layer data of the user layer of the sending end, and store the deserialized user layer data into the memory for receiving the user layer data in the user layer corresponding to the user layer receiving address according to the user layer receiving address pre-registered to the middleware layer. The user layer module 73 is configured to read the user layer data in the user layer. The user layer reads the user layer data from the memory for receiving the user layer data.
[0127] It should be noted that the embodiment can also receive the user layer data of the sending end from a non-high-speed link in the case that the sending end selects the non-high-speed link as the sending link to send the user layer data of the sending end; or receive the user layer data of the sending end from a memory link in the case that the sending end selects the memory link as the sending link to send the user layer data of the sending end.
[0128] For example, the user layer data of the sending end is received from an Ethernet Eth link in the case that the sending end selects the Ethernet Eth link as the sending link to send the user layer data of the user layer; or the user layer data of the sending end is received from a shared memory SHM link in the case that the sending end selects the shared memory SHM link as the sending link to send the user layer data of the user layer.
[0129] The receiving end device of the vehicle-mounted communication provided by the embodiment receives the user layer data of the user layer of the sending end from the PCIe link, introduces the PCIe link transmission, and receives the user layer data of the user layer of the sending end from the PCIe link at the link layer, so that the bandwidth can be greatly improved compared with the Ethernet transmission in the related art, and the large packet data transmission problem is solved, thereby meeting the demand of the large model service of the self-driving system end to end for super large flow between SOCs.
[0130] Figure 8 FIG. 1 is a structural schematic diagram of a vehicle-mounted communication processing system according to an embodiment of the present application. The sending end of the vehicle-mounted communication processing system can be an SOC, and the receiving end can be another SOC, or the receiving end is in the same SOC.
[0131] Referring to Figure 8 The vehicle-mounted communication processing system 80 provided by the embodiment includes a sending end 81 and a receiving end 82. The sending end 81 and the receiving end 82 include a user layer, a middleware layer and a link layer.
[0132] The sending end 81 is configured to acquire user layer data of a user layer through the middleware layer of the sending end 81; acquire link selection reference information of a sending link used to send the user layer data; in the case that it is determined according to the link selection reference information that the link layer has a high-speed link and the high-speed link is enabled, select the high-speed link as the sending link; transmit the user layer data to the link layer; and send the user layer data to the receiving end 82 through the sending link at the link layer. For example, in the case that it is determined according to the link selection reference information that the link layer has a high-speed Peripheral Component Interconnect Express (PCIe) link and the PCIe link is enabled, select the PCIe link as the sending link; transmit the user layer data of the user layer to the link layer; and send the user layer data of the user layer to the receiving end 82 through the sending link at the link layer.
[0133] The receiving end 82 is configured to receive user layer data from the transmitting end via a high-speed link at the link layer of the receiving end 82 and transmit the user layer data to the user layer of the receiving end 82 via the middleware layer for reading. For example, the user layer data from the user layer of the transmitting end 81 is received via a PCIe link at the link layer and transmitted to the user layer of the receiving end 82 via the middleware layer for reading.
[0134] The structure of the sending end 81 can be found in Figure 6 The structure of the receiving end 82 can be described in detail but is not limited thereto. Figure 7 Description but not limited to this.
[0135] Regarding the apparatus in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated again here.
[0136] Figure 9 It is a schematic structural diagram of a vehicle shown in an embodiment of the present application.
[0137] See also Figure 9 , vehicle 1000 includes a memory 1010 and a processor 1020 .
[0138] The processor 1020 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor. The memory 1010 can include various types of storage units such as a system memory, a read-only memory (ROM), and a permanent storage device. Among them, the ROM can store static data or instructions required by the processor 1020 or other modules of the computer. The permanent storage device can be a rewritable storage device. The permanent storage device can be a non-volatile storage device that does not lose stored instructions and data even after the computer is powered off. In some embodiments, the permanent storage device employs a mass storage device (e.g., a magnetic or optical disk, a flash memory) as a permanent storage device. In some other embodiments, the permanent storage device can be a removable storage device (e.g., a floppy disk, an optical drive). The system memory can be a readable and writable storage device or a volatile readable and writable storage device such as a dynamic random access memory. The system memory can store some or all of the instructions and data required by the processor during runtime. In addition, the memory 1010 can include a combination of any computer readable storage media, including various types of semiconductor storage chips (e.g., DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), magnetic disks and / or optical disks. In some embodiments, the memory 1010 can include a readable and / or writable removable storage device such as a compact disc (CD), a read-only digital versatile disc (e.g., DVD-ROM, double-layer DVD-ROM), a read-only Blu-ray disc, an ultra-density optical disc, a flash memory card (e.g., an SD card, a min SD card, a Micro-SD card, etc.), a magnetic floppy disk, etc. The computer readable storage medium does not include a carrier wave and an instantaneous electronic signal transmitted by wireless or wired transmission.
[0139] The memory 1010 stores executable code, which, when processed by the processor 1020, can cause the processor 1020 to perform part or all of the above-mentioned methods.
[0140] In addition, the method according to the present application can also be implemented as a computer program or a computer program product, which includes computer program code instructions for executing part or all of the steps of the above-mentioned methods of the present application.
[0141] Alternatively, the present application can also be implemented as a computer readable storage medium (or non-transitory machine readable storage medium or machine readable storage medium) having executable code (or computer program or computer instruction code) stored thereon, which is executed by a processor of an electronic device (or a server, etc.) to cause the processor to perform part or all of the steps of the above-mentioned methods according to the present application.
[0142] The present application also provides a computer program product, which includes computer instructions, which, when executed by a processor, implement the method as described above.
[0143] Having described various embodiments of the application, it is to be understood that the above description is meant to be illustrative only, and that many modifications and variations of the embodiments described herein are possible. It is therefore to be understood that within the scope of the appended claims, and their equivalents, many alternatives to the embodiments described herein are possible. The selection of terms to be used in the description is not intended to limit the scope of the embodiments described herein, but rather to best explain the principles of the embodiments, practical application, or improvement over the technology in the art, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A vehicle communication processing method, characterized in that: Applied to a transmitting end, the transmitting end includes a user layer, a middleware layer, and a link layer, and the method includes: Obtain user layer data of the user layer through the middleware layer; Obtain link selection reference information for the sending link; When it is determined according to the link selection reference information that the link layer has a high-speed link and the high-speed link is enabled, selecting the high-speed link as the transmission link; and transmitting the user layer data to the link layer; The user layer data is sent to a receiving end through the sending link at the link layer.
2. The method according to claim 1, characterized in that The selecting the high-speed link as the transmission link when it is determined according to the link selection reference information that the link layer has a high-speed link and the high-speed link is enabled includes: If it is determined according to the link selection reference information that the receiving end is a receiving end chip outside the local end, and it is determined that the link layer has a high-speed link and the high-speed link is enabled, the high-speed link is selected as the sending link.
3. The method according to claim 2, characterized in that The method further comprises: In the case that the high-speed link is not selected as the transmission link, a non-high-speed link is selected as the transmission link.
4. The method according to claim 2, characterized in that The method further comprises: If it is determined according to the link selection reference information that the receiving end is the local chip, the memory link is selected as the sending link.
5. The method according to claim 2, characterized in that The link selection reference information includes read information and user configuration information obtained through service discovery, and if it is determined according to the link selection reference information that the receiving end is a receiving end chip other than the local end, and it is determined that the link layer has a high-speed link and the high-speed link is enabled, selecting the high-speed link as the sending link includes: If it is determined according to the read information that the receiving end is a receiving end chip outside the local end, and it is determined according to the user configuration information that the link layer has a high-speed link and the high-speed link is enabled, the high-speed link is selected as the sending link.
6. The method according to claim 4, characterized in that The link selection reference information includes read information obtained through service discovery, and if it is determined according to the link selection reference information that the receiving end is the local chip, selecting the memory link as the sending link includes: If it is determined according to the read information that the receiving end is the local chip, the memory link is selected as the sending link.
7. The method according to claim 5, characterized in that: The read information includes unique identification information set through service discovery for identifying the chip; The user configuration information includes identification information set through service discovery and used to describe whether the chip has high-speed link capability and whether the high-speed link is enabled.
8. The method according to claim 2, characterized in that The transmitting the user layer data to the link layer includes: The middleware layer serializes the user layer data obtained from the user layer into byte stream data, and stores the serialized byte stream data in a memory for storing byte stream data that is pre-applied at the link layer and corresponds to the virtual pointer obtained in advance according to the pre-acquired virtual pointer; The sending of the user layer data to the receiving end through the sending link at the link layer includes: The byte stream data is sent to a receiving end via the high-speed link at the link layer.
9. A vehicle communication processing method, characterized in that: Applied to a receiving end, the receiving end includes a user layer, a middleware layer, and a link layer, and the method includes: In a case where the transmitting end selects a high-speed link as a transmitting link to transmit user layer data of the transmitting end, receiving the user layer data of the transmitting end from the high-speed link of the link layer; The user layer data is transmitted to the user layer of the receiving end through the middleware layer for reading.
10. The method according to claim 9, characterized in that The method further comprises: In a case where the transmitting end selects a non-high-speed link as a transmitting link to transmit the user layer data of the transmitting end, receiving the user layer data of the transmitting end from the non-high-speed link; or In a case where the transmitting end selects the memory link as a transmitting link to transmit the user layer data of the transmitting end, the user layer data of the transmitting end is received from the memory link.
11. The method according to claim 9 or 10, characterized in that The step of transmitting the user layer data to the user layer of the receiving end through the middleware layer for reading includes: The middleware layer obtains the serialized byte stream data from the memory corresponding to the virtual pointer and applied in advance at the link layer for storing byte stream data according to the pre-acquired virtual pointer; The byte stream data is deserialized into the user layer data of the sending end, and the deserialized user layer data is stored in the memory for receiving user layer data in the user layer corresponding to the user layer receiving address pre-registered in the middleware layer, and the user layer reads the user layer data from the memory for receiving user layer data.
12. A transmitting end device for vehicle communication, characterized in that: The sending end device includes: A user layer module, used for storing user layer data in the user layer; an intermediate layer module, configured to obtain user layer data of a user layer; obtain link selection reference information of a transmission link; if it is determined according to the link selection reference information that the link layer has a high-speed link and the high-speed link is enabled, select the high-speed link as the transmission link; and transmit the user layer data to the link layer; The link layer module is used to send the user layer data to the receiving end through the sending link at the link layer.
13. A receiving end device for vehicle communication, characterized in that: The receiving end device includes: A link layer module, configured to receive the user layer data of the transmitting end from the high-speed link of the link layer when the transmitting end selects a high-speed link as a transmitting link to transmit the user layer data of the transmitting end; An intermediate layer module, configured to transmit the user layer data to the user layer of the receiving end through a middleware layer; The user layer module is used to read the user layer data at the user layer.
14. A vehicle-mounted communication processing system, characterized in that: The system includes a sending end and a receiving end, each of which includes a user layer, a middleware layer, and a link layer. The sending end is used to obtain user layer data of the user layer through the middleware layer of the sending end; obtaining link selection reference information of a transmission link for transmitting the user layer data; selecting the high-speed link as the transmission link when determining, based on the link selection reference information, that the link layer has a high-speed link and the high-speed link is enabled; and transmitting the user layer data to the link layer; Sending the user layer data to a receiving end via the transmission link at the link layer; The receiving end is configured to receive the user layer data of the sending end from the high-speed link of the link layer of the receiving end; and transmit the user layer data to the user layer of the receiving end for reading through the middleware layer.
15. A vehicle, characterized in that: include: processor; as well as A memory having executable codes stored thereon, which, when executed by the processor, causes the processor to execute the method according to any one of claims 1 to 8 or any one of claims 9 to 11. 16 . A computer-readable storage medium having executable code stored thereon, wherein when the executable code is executed by a processor of an electronic device, the processor is caused to execute the method according to claim 1 or claim 9 .
Citation Information
Cited By
Vehicle-mounted communication method and system
CN121056486A