Communication method in vehicle and related device
Patent Information
- Application Number
- CN202280096706.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-29
- Publication Date
- 2025-01-10
AI Technical Summary
The existing vehicle controller area network (CAN) cannot meet the secure communication needs of vehicle control units with increasingly higher functional safety requirements, leading to the problem of external interaction failure of the control unit.
Using a heterogeneous redundant communication method, associated messages are sent respectively through the first transmission interface and the second transmission interface. The two follow different communication protocols, such as CAN interface and vehicle Ethernet interface, to achieve heterogeneous redundancy of data. transmission to ensure the security and real-time nature of data.
It improves the interactive performance and communication security and reliability of control units, meets functional safety requirements, reduces the communication time overhead between control units, and enhances the security of data transmission.
Smart Images

Figure CN119301972A_ABST
Abstract
Description
Communication method and related device in vehicle Technical Field
[0001] The present application relates to the field of intelligent vehicle technology, and in particular to a communication method and related devices in a vehicle. Background Art
[0002] With the development of intelligent vehicle technology, especially autonomous driving, the data required to be communicated between various vehicle units is increasing, and the functional safety requirements for these units are becoming increasingly stringent. The existing Controller Area Network (CAN) in vehicles is no longer able to meet the secure communication needs of vehicle control units with increasingly stringent functional safety requirements.
[0003] Summary of the Invention
[0004] The embodiments of the present application disclose a communication method and related devices in a vehicle, which can meet the secure communication of vehicle control units with increasingly higher functional safety requirements.
[0005] In a first aspect, the present application provides a communication method in a vehicle, the method comprising:
[0006] The first control unit sends a first message through the first transmission interface;
[0007] The first control unit sends a second message through the second transmission interface;
[0008] The data in the aforementioned first message and the data in the aforementioned second message are associated, and the aforementioned first transmission interface and the aforementioned second transmission interface comply with different communication protocols.
[0009] Optionally, the first transmission interface is a controller area network (CAN) interface, and the second transmission interface is an in-vehicle Ethernet interface.
[0010] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data in the first message and the data in the second message are the same.
[0011] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is first target data, and the data included in the first message is verification information, and the verification information is used to verify the first target data.
[0012] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is the second target data, the data included in the first message is the first data, and the first data is part of the second target data.
[0013] Optionally, the data in the first message and the data in the second message may be associated with each other in the following manner: the data in the first message is the second data, the data in the second message is the third data, the second data and the third data are respectively portions of third target data, and the third target data is data to be sent by the first control unit within one or more clock cycles. The second data and the third data are used to restore the third target data.
[0014] In this application, the first control unit can transmit data through two transmission interfaces that follow different communication protocols. The data transmitted by these two transmission interfaces is related, that is, a heterogeneous redundant communication method is adopted. This can solve the problem of control unit external interaction failure caused by defects in the same transmission technology, improve the control unit's interactive performance, and also enhance the control unit's communication security and reliability. This meets the increasingly stringent functional safety requirements for secure communication of vehicle control units.
[0015] In a possible embodiment, the aforementioned first message includes N1 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M1 messages corresponding to the aforementioned second transmission interface, the data encapsulated in the aforementioned N1 messages is the same as the data encapsulated in the aforementioned M1 messages, and the aforementioned N1 and the aforementioned M1 are both integers greater than 0.
[0016] In this application, the data transmitted by the first transmission interface and the second transmission interface are identical, ensuring that the unit receiving the data (hereinafter referred to as the second control unit) can receive the data. Furthermore, the two transmission interfaces follow different communication protocols, which can solve the problem of the control unit's external interaction failure caused by defects in the same transmission technology.
[0017] In a possible embodiment, in the first case, M1=1, and the data in the second message includes the data to be sent by the first control unit within one or more clock cycles; or,
[0018] In the second case, the aforementioned N1=M1;
[0019] The first situation includes at least one of the following situations: the second message is a message sent by the first control unit in response to a data collection request of the data collection unit, the second message is a broadcast message or a multicast message, or the second message is a message sent by the first control unit in response to a request of the vehicle status monitoring unit;
[0020] The aforementioned second situation includes that the data in the aforementioned second message is information for controlling the aforementioned vehicle driving operation.
[0021] In the present application, although the data in the messages transmitted by the first transmission interface and the second transmission interface are the same, the number of encapsulated messages may be different for different application scenarios. For example, since the length of the message transmitted by the second transmission interface is longer, more data can be encapsulated at one time. Therefore, for the scenario of the first case mentioned above, since the real-time requirements for the data are not high, the data to be sent within one or more clock cycles can be encapsulated in one message and sent at one time. For the scenario of the second case mentioned above, the real-time requirements for the data are high, then the messages sent through the two interfaces can be encapsulated into the same number of messages, reducing the time for data encapsulation and ensuring data transmission efficiency. It can be seen that in the present application, heterogeneous transmission networks can be used to flexibly transmit messages in different ways for different application scenarios.
[0022] In a possible embodiment, the second message includes extended information, and the extended information includes one or more of the following: status information of the subsystem where the first control unit is located, control instructions issued by the first control unit, or sensor data collected by the first control unit.
[0023] In this application, since the length of the message transmitted by the second transmission interface is relatively large, more data can be encapsulated at one time. Therefore, some additional extended information can be encapsulated for transmission, and data can be transmitted in response to various application requirements, thereby improving the flexibility and practicality of the communication network.
[0024] In a possible embodiment, the aforementioned first message includes N2 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M2 messages corresponding to the aforementioned second transmission interface, the data included in the aforementioned M2 messages is the first target data, the data in the aforementioned N2 messages is verification information, the aforementioned verification information is used to verify the aforementioned first target data, and the aforementioned N2 and the aforementioned M2 are both integers greater than 0.
[0025] Compared to the aforementioned implementation of transmitting the same data through the first and second transmission interfaces, in this application, verification information for the data is transmitted through the first transmission interface, and the data itself is transmitted through the second transmission interface. This differential data transmission processing mechanism can significantly shorten data transmission time when the transmission bandwidth of the second transmission interface is large, allowing data transmission to be completed in a shorter time and effectively completing data verification. This reduces the time overhead of the common interaction between control units, reduces the time loss of direct communication between vehicle components, and improves interactive performance.
[0026] In a possible embodiment, the aforementioned first message includes N3 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M3 messages corresponding to the aforementioned second transmission interface, the data included in the aforementioned M3 messages is the second target data, the data in the aforementioned N3 messages is the first data, the aforementioned first data is part of the data in the aforementioned second target data, and the aforementioned N3 and the aforementioned M3 are both integers greater than 0.
[0027] In this application, a portion of the overall data is transmitted via a first transmission interface, and the overall data is transmitted via a second transmission interface. This differential data transmission processing mechanism can significantly shorten the data transmission time when the transmission bandwidth of the second transmission interface is large, and the data transmission can be completed in a shorter time. In addition, the data transmitted by the first transmission interface can be used to verify the overall data transmitted by the second interface, thereby effectively completing the data verification. This reduces the time overhead of the joint interaction between control units, reduces the time loss of direct communication between vehicle components, and improves the interactive performance.
[0028] In a possible embodiment, the aforementioned first message includes N4 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M4 messages corresponding to the aforementioned second transmission interface, the data of the aforementioned first message is the second data, the data of the aforementioned second message is the third data, the aforementioned second data and the aforementioned third data are respectively partial data in the third target data, the aforementioned third target data is the data to be sent by the aforementioned first control unit within one or more clock cycles, and the aforementioned N4 and the aforementioned M4 are both integers greater than 0.
[0029] Optionally, the second data and the third data are used to restore the third target data.
[0030] In this application, through the above design, even if the information in the message sent by a certain transmission interface is intercepted, the entire data cannot be restored, thereby playing a role in data encryption protection. In addition, this differentiated encrypted transmission method can reduce the dependence of transmission encryption on the encryption algorithm, and can achieve high-level ciphertext transmission without complex encryption algorithms. The embodiments of this application can significantly reduce the device's overhead in ciphertext transmission.
[0031] In a possible embodiment, the aforementioned first message includes a verification message, the aforementioned verification message and the aforementioned second message include synchronization verification information, the aforementioned verification message and the aforementioned synchronization verification information are used to verify the real-time nature of the aforementioned second message, and the aforementioned synchronization verification information includes the identification ID of the aforementioned verification message, the sequence number of the clock cycle in which the aforementioned verification message is sent, and the verification value of the data in the aforementioned second message.
[0032] In this application, the messages transmitted between the two transmission interfaces can be used to mutually correct and constrain the real-time communication, completing the real-time constrained communication solution of the transmission network and realizing the real-time communication transformation of the network. This constructs the real-time function in the redundant communication scenario.
[0033] In a possible embodiment, the aforementioned first control unit is a control unit included in the steering system of the aforementioned vehicle, a control unit included in the braking system of the aforementioned vehicle, a control unit included in the power system of the aforementioned vehicle, a control unit included in the body domain controller VDC system of the aforementioned vehicle, a vehicle control unit VCU of the aforementioned vehicle, or a control unit included in the autonomous driving and assistance system ADAS of the aforementioned vehicle.
[0034] In this application, the above-mentioned control units belong to units with higher functional safety level requirements. By designing heterogeneous redundant communication networks for these units, it can be ensured that the data of these units can be transmitted accurately and quickly to meet the requirements of the corresponding functional safety level.
[0035] In a possible embodiment, the first control unit is a control unit included in the VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS;
[0036] The first control unit communicates with the P second control units in the vehicle via the first transmission interface;
[0037] The first control unit communicates with the P second control units respectively through the P second transmission interfaces;
[0038] Wherein, the aforementioned P is an integer greater than 0.
[0039] In the present application, the communication network to which the first transmission interface is connected has a bus topology structure, and the communication network to which the second transmission interface is connected has a star topology structure.
[0040] In a possible embodiment, the first control unit is a control unit of a VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS;
[0041] The first control unit communicates with P second control units in the vehicle via the first transmission interface; P is an integer greater than 0;
[0042] The first control unit communicates with the P second control units through the second transmission interface.
[0043] In the present application, the communication networks to which the first transmission interface and the second transmission interface are connected both have a bus topology structure.
[0044] In a possible embodiment, the first control unit is a control unit of a VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS;
[0045] The first control unit communicates with P second control units in the vehicle via the first transmission interface; P is an integer greater than 0;
[0046] The first control unit communicates with the switching unit in the vehicle through the second transmission interface, and the switching unit is used to forward the message sent by the first control unit to the second control unit through the second transmission interface.
[0047] In the present application, the communication network to which the first transmission interface is connected is a bus topology structure, and the communication network to which the second transmission interface is connected is a switched network structure.
[0048] In a second aspect, the present application provides a communication method in a vehicle, the method comprising:
[0049] The second control unit receives the first message through the first transmission interface;
[0050] The second control unit receives the second message through the second transmission interface;
[0051] The data in the aforementioned first message and the data in the aforementioned second message are associated, and the aforementioned first transmission interface and the aforementioned second transmission interface comply with different communication protocols.
[0052] Optionally, the first transmission interface is a controller area network (CAN) interface, and the second transmission interface is an in-vehicle Ethernet interface.
[0053] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is first target data, and the data included in the first message is verification information, and the verification information is used to verify the first target data.
[0054] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is the second target data, the data included in the first message is the first data, and the first data is part of the second target data.
[0055] Optionally, the association of the data in the first message and the data in the second message may include the following situation: the data in the first message is the second data, the data in the second message is the third data, the second data and the third data are respectively partial data of third target data, and the third target data is data to be received by the second control unit within one or more clock cycles. The second data and the third data are used to restore the third target data.
[0056] In the present application, the above-mentioned first message and second message can come from the first control unit, and data can be transmitted between the first control unit and the second control unit through two transmission interfaces that follow different communication protocols. The data transmitted by the two transmission interfaces are related, that is, a heterogeneous redundant communication method is adopted, which can solve the problem of failure of external interaction of the control unit due to defects in the same transmission technology, improve the interactive performance of the control unit, and also improve the communication security and reliability of the control unit.
[0057] In a possible embodiment, the aforementioned first message includes N1 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M1 messages corresponding to the aforementioned second transmission interface, the data encapsulated in the aforementioned N1 messages is the same as the data encapsulated in the aforementioned M1 messages, and the aforementioned N1 and the aforementioned M1 are both integers greater than 0.
[0058] In this application, the data transmitted by the first transmission interface and the second transmission interface are identical, ensuring that the unit receiving the data (hereinafter referred to as the second control unit) can receive the data. Furthermore, the two transmission interfaces follow different communication protocols, which can solve the problem of the control unit's external interaction failure caused by defects in the same transmission technology.
[0059] In a possible embodiment, the aforementioned first message includes N2 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M2 messages corresponding to the aforementioned second transmission interface, the data included in the aforementioned M2 messages is the first target data, the data in the aforementioned N2 messages is verification information, the aforementioned verification information is used to verify the aforementioned first target data, and the aforementioned N2 and the aforementioned M2 are both integers greater than 0.
[0060] Compared to the aforementioned implementation of transmitting the same data through the first and second transmission interfaces, in this application, verification information for the data is transmitted through the first transmission interface, and the data itself is transmitted through the second transmission interface. This differential data transmission processing mechanism can significantly shorten data transmission time when the transmission bandwidth of the second transmission interface is large, allowing data transmission to be completed in a shorter time and effectively completing data verification. This reduces the time overhead of the common interaction between control units, reduces the time loss of direct communication between vehicle components, and improves interactive performance.
[0061] In a possible embodiment, the aforementioned first message includes N3 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M3 messages corresponding to the aforementioned second transmission interface, the data included in the aforementioned M3 messages is the second target data, the data in the aforementioned N3 messages is the first data, the aforementioned first data is part of the data in the aforementioned second target data, and the aforementioned N3 and the aforementioned M3 are both integers greater than 0.
[0062] In this application, a portion of the overall data is transmitted via a first transmission interface, and the overall data is transmitted via a second transmission interface. This differential data transmission processing mechanism can significantly shorten the data transmission time when the transmission bandwidth of the second transmission interface is large, and the data transmission can be completed in a shorter time. In addition, the data transmitted by the first transmission interface can be used to verify the overall data transmitted by the second interface, thereby effectively completing the data verification. This reduces the time overhead of the joint interaction between control units, reduces the time loss of direct communication between vehicle components, and improves the interactive performance.
[0063] In a possible embodiment, the aforementioned first message includes N4 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M4 messages corresponding to the aforementioned second transmission interface, the data of the aforementioned first message is the second data, the data of the aforementioned second message is the third data, the aforementioned second data and the aforementioned third data are respectively partial data in the third target data, the aforementioned third target data is the data to be sent by the aforementioned first control unit within one or more clock cycles, and the aforementioned N4 and the aforementioned M4 are both integers greater than 0.
[0064] Optionally, the second data and the third data are used to restore the third target data.
[0065] In this application, through the above design, even if the information in the message sent by a certain transmission interface is intercepted, the entire data cannot be restored, thereby playing a role in data encryption protection. In addition, this differentiated encrypted transmission method can reduce the dependence of transmission encryption on the encryption algorithm, and can achieve high-level ciphertext transmission without complex encryption algorithms. The embodiments of this application can significantly reduce the device's overhead in ciphertext transmission.
[0066] In a possible embodiment, the first message includes a check message;
[0067] The second message is determined to be valid if the second control unit receives the second message within a preset time period after the second control unit receives the verification message.
[0068] or,
[0069] When the second message is received by the second control unit after exceeding the preset time period, the second message is determined to be invalid.
[0070] In a possible embodiment, the check message and the second message include synchronization check information, and the synchronization check information includes an identification ID of the check message, a sequence number of a clock cycle in which the check message is sent, and a check value of data in the second message;
[0071] If the second message is received by the second control unit within a preset time period after the second control unit receives the verification message, the second message is determined to be valid, including:
[0072] The second message is determined to be valid if it is received by the second control unit within a preset time period after the second control unit receives the verification message, and the synchronization verification information in the second message is the same as the synchronization verification information in the verification message.
[0073] In this application, the messages transmitted between the two transmission interfaces can be used to mutually correct and constrain the real-time communication, completing the real-time constrained communication solution of the transmission network and realizing the real-time communication transformation of the network. This constructs the real-time function in the redundant communication scenario.
[0074] In a possible embodiment, the time when the first message is received by the second control unit is later than the time when the second message is received by the second control unit;
[0075] After the second control unit receives the second message through the second transmission interface, the method further includes:
[0076] The second control unit performs calculations based on the data in the second message.
[0077] In a possible embodiment, after the second control unit receives the first message through the first transmission interface, the method further includes:
[0078] The second control unit performs verification processing on the data in the first message and the second message.
[0079] In a possible embodiment, the second control unit performs verification processing on the data in the first message and the second message, including:
[0080] When it is determined that the data in the first message is different from the data in the second message, the second control unit receives a third message through the second transmission interface based on a retransmission mechanism;
[0081] In a case where the data in the third message is identical to the data in the second message, the second control unit executes an error correction strategy on the data in the first message.
[0082] In the present application, the communication network where the second transmission interface is located has a large transmission bandwidth, which can quickly transmit the above-mentioned second message to the second control unit. In this case, the second control unit can first perform calculations based on the data in the received second message. After receiving the data in the first message, verification is performed. Compared with the existing multi-channel redundant CAN communication mode of receiving data and processing and calculating data, the present application example can complete the two-step operation of receiving and processing data within the original data reception time, significantly improving the communication and data processing efficiency.
[0083] In a possible embodiment, the aforementioned second control unit is a control unit included in the steering system of the aforementioned vehicle, a control unit included in the braking system of the aforementioned vehicle, a control unit included in the power system of the aforementioned vehicle, a control unit included in the body domain controller VDC system of the aforementioned vehicle, a vehicle control unit VCU of the aforementioned vehicle, or a control unit included in the autonomous driving and assistance system ADAS of the aforementioned vehicle.
[0084] In this application, the above-mentioned control units belong to units with higher functional safety level requirements. By designing heterogeneous redundant communication networks for these units, it can be ensured that the data of these units can be transmitted accurately and quickly to meet the requirements of the corresponding functional safety level.
[0085] In a possible embodiment, the second control unit is a control unit included in a steering system of the vehicle, a control unit included in a braking system of the vehicle, or a control unit included in a power system of the vehicle;
[0086] The aforementioned second control unit communicates with the first control unit through the aforementioned first transmission interface, and the aforementioned second control unit also communicates with the aforementioned first control unit through the aforementioned second transmission interface. The aforementioned first control unit is the control unit included in the body domain controller VDC system in the aforementioned vehicle, the vehicle control unit VCU in the aforementioned vehicle, or the control unit included in the autonomous driving and assistance system ADAS in the aforementioned vehicle.
[0087] In a possible embodiment, the second control unit communicates with the switching unit in the vehicle through the second transmission interface, and the switching unit is used to forward messages sent by the second control unit to the first control unit through the second transmission interface.
[0088] In a third aspect, an embodiment of the present application provides a control unit, including:
[0089] A sending unit, configured to send a first message through a first transmission interface;
[0090] The aforementioned sending unit is further configured to send a second message via a second transmission interface;
[0091] The data in the aforementioned first message and the data in the aforementioned second message are associated, and the aforementioned first transmission interface and the aforementioned second transmission interface comply with different communication protocols.
[0092] Optionally, the first transmission interface is a controller area network (CAN) interface, and the second transmission interface is an in-vehicle Ethernet interface.
[0093] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data in the first message and the data in the second message are the same.
[0094] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is first target data, and the data included in the first message is verification information, and the verification information is used to verify the first target data.
[0095] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is the second target data, the data included in the first message is the first data, and the first data is part of the second target data.
[0096] Optionally, the data in the first message and the data in the second message may be associated with each other in the following manner: the data in the first message is the second data, the data in the second message is the third data, the second data and the third data are respectively portions of third target data, and the third target data is data to be sent by the first control unit within one or more clock cycles. The second data and the third data are used to restore the third target data.
[0097] In a possible embodiment, the aforementioned first message includes N1 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M1 messages corresponding to the aforementioned second transmission interface, the data encapsulated in the aforementioned N1 messages is the same as the data encapsulated in the aforementioned M1 messages, and the aforementioned N1 and the aforementioned M1 are both integers greater than 0.
[0098] In a possible embodiment, in the first case, M1=1, and the data in the second message includes the data to be sent by the first control unit within one or more clock cycles; or,
[0099] In the second case, the aforementioned N1=M1;
[0100] The first situation includes at least one of the following situations: the second message is a message sent by the first control unit in response to a data collection request of the data collection unit, the second message is a broadcast message or a multicast message, or the second message is a message sent by the first control unit in response to a request of the vehicle status monitoring unit;
[0101] The aforementioned second situation includes that the data in the aforementioned second message is information for controlling the aforementioned vehicle driving operation.
[0102] In a possible embodiment, the second message includes extended information, and the extended information includes one or more of the following: status information of the subsystem where the first control unit is located, control instructions issued by the first control unit, or sensor data collected by the first control unit.
[0103] In a possible embodiment, the aforementioned first message includes N2 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M2 messages corresponding to the aforementioned second transmission interface, the data included in the aforementioned M2 messages is the first target data, the data in the aforementioned N2 messages is verification information, the aforementioned verification information is used to verify the aforementioned first target data, and the aforementioned N2 and the aforementioned M2 are both integers greater than 0.
[0104] In a possible embodiment, the aforementioned first message includes N3 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M3 messages corresponding to the aforementioned second transmission interface, the data included in the aforementioned M3 messages is the second target data, the data in the aforementioned N3 messages is the first data, the aforementioned first data is part of the data in the aforementioned second target data, and the aforementioned N3 and the aforementioned M3 are both integers greater than 0.
[0105] In a possible embodiment, the aforementioned first message includes N4 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M4 messages corresponding to the aforementioned second transmission interface, the data of the aforementioned first message is the second data, the data of the aforementioned second message is the third data, the aforementioned second data and the aforementioned third data are respectively partial data in the third target data, the aforementioned third target data is the data to be sent by the aforementioned first control unit within one or more clock cycles, and the aforementioned N4 and the aforementioned M4 are both integers greater than 0.
[0106] Optionally, the second data and the third data are used to restore the third target data.
[0107] In a possible embodiment, the aforementioned first message includes a verification message, the aforementioned verification message and the aforementioned second message include synchronization verification information, the aforementioned verification message and the aforementioned synchronization verification information are used to verify the real-time nature of the aforementioned second message, and the aforementioned synchronization verification information includes the identification ID of the aforementioned verification message, the sequence number of the clock cycle in which the aforementioned verification message is sent, and the verification value of the data in the aforementioned second message.
[0108] In a possible embodiment, the aforementioned first control unit is a control unit included in the steering system of the aforementioned vehicle, a control unit included in the braking system of the aforementioned vehicle, a control unit included in the power system of the aforementioned vehicle, a control unit included in the body domain controller VDC system of the aforementioned vehicle, a vehicle control unit VCU of the aforementioned vehicle, or a control unit included in the autonomous driving and assistance system ADAS of the aforementioned vehicle.
[0109] In a possible embodiment, the first control unit is a control unit included in the VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS;
[0110] The first control unit communicates with the P second control units in the vehicle via the first transmission interface;
[0111] The first control unit communicates with the P second control units respectively through the P second transmission interfaces;
[0112] Wherein, the aforementioned P is an integer greater than 0.
[0113] In a possible embodiment, the first control unit is a control unit of a VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS;
[0114] The first control unit communicates with P second control units in the vehicle via the first transmission interface; P is an integer greater than 0;
[0115] The first control unit communicates with the P second control units through the second transmission interface.
[0116] In a possible embodiment, the first control unit is a control unit of a VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS;
[0117] The first control unit communicates with P second control units in the vehicle via the first transmission interface; P is an integer greater than 0;
[0118] The first control unit communicates with the switching unit in the vehicle through the second transmission interface, and the switching unit is used to forward the message sent by the first control unit to the second control unit through the second transmission interface.
[0119] In a fourth aspect, the present application provides a control unit, comprising:
[0120] A receiving unit, configured to receive a first message through a first transmission interface;
[0121] The aforementioned receiving unit is further configured to receive a second message through the second transmission interface;
[0122] The data in the aforementioned first message and the data in the aforementioned second message are associated, and the aforementioned first transmission interface and the aforementioned second transmission interface comply with different communication protocols.
[0123] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is first target data, and the data included in the first message is verification information, and the verification information is used to verify the first target data.
[0124] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is the second target data, the data included in the first message is the first data, and the first data is part of the second target data.
[0125] Optionally, the data in the first message and the data in the second message may be associated with each other in the following manner: the data in the first message is the second data, the data in the second message is the third data, the second data and the third data are respectively portions of third target data, and the third target data is data to be sent by the first control unit within one or more clock cycles. The second data and the third data are used to restore the third target data.
[0126] In a possible embodiment, the aforementioned first message includes N1 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M1 messages corresponding to the aforementioned second transmission interface, the data encapsulated in the aforementioned N1 messages is the same as the data encapsulated in the aforementioned M1 messages, and the aforementioned N1 and the aforementioned M1 are both integers greater than 0.
[0127] In a possible embodiment, the aforementioned first message includes N2 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M2 messages corresponding to the aforementioned second transmission interface, the data included in the aforementioned M2 messages is the first target data, the data in the aforementioned N2 messages is verification information, the aforementioned verification information is used to verify the aforementioned first target data, and the aforementioned N2 and the aforementioned M2 are both integers greater than 0.
[0128] In a possible embodiment, the aforementioned first message includes N3 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M3 messages corresponding to the aforementioned second transmission interface, the data included in the aforementioned M3 messages is the second target data, the data in the aforementioned N3 messages is the first data, the aforementioned first data is part of the data in the aforementioned second target data, and the aforementioned N3 and the aforementioned M3 are both integers greater than 0.
[0129] In a possible embodiment, the aforementioned first message includes N4 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M4 messages corresponding to the aforementioned second transmission interface, the data of the aforementioned first message is the second data, the data of the aforementioned second message is the third data, the aforementioned second data and the aforementioned third data are respectively partial data in the third target data, the aforementioned third target data is the data to be sent by the aforementioned first control unit within one or more clock cycles, and the aforementioned N4 and the aforementioned M4 are both integers greater than 0.
[0130] Optionally, the second data and the third data are used to restore the third target data.
[0131] In a possible embodiment, the first message includes a check message;
[0132] The second message is determined to be valid if the second control unit receives the second message within a preset time period after the second control unit receives the verification message.
[0133] or,
[0134] When the second message is received by the second control unit after exceeding the preset time period, the second message is determined to be invalid.
[0135] In one possible embodiment, the check message and the second message include synchronization check information, where the synchronization check information includes an identification ID of the check message, a sequence number of a clock cycle in which the check message is sent, and a check value of data in the second message; if the second message is received by the second control unit within a preset time period after the second control unit receives the check message, the second message is determined to be valid, including:
[0136] The second message is determined to be valid if it is received by the second control unit within a preset time period after the second control unit receives the verification message, and the synchronization verification information in the second message is the same as the synchronization verification information in the verification message.
[0137] In a possible embodiment, the time when the first message is received by the second control unit is later than the time when the second message is received by the second control unit;
[0138] The second control unit further includes a calculation unit configured to perform calculations based on data in the second message after the receiving unit receives the second message through the second transmission interface.
[0139] In a possible embodiment, the second control unit further includes a verification unit configured to verify data in the first message and the second message after the receiving unit receives the first message through the first transmission interface.
[0140] In a possible embodiment, the verification unit is specifically configured to:
[0141] When it is determined that the data in the first message is different from the data in the second message, receiving a third message through the second transmission interface based on a retransmission mechanism;
[0142] In a case where the data in the aforementioned third message is identical to the data in the aforementioned second message, an error correction strategy is executed on the data in the aforementioned first message.
[0143] In a possible embodiment, the aforementioned second control unit is a control unit included in the steering system of the aforementioned vehicle, a control unit included in the braking system of the aforementioned vehicle, a control unit included in the power system of the aforementioned vehicle, a control unit included in the body domain controller VDC system of the aforementioned vehicle, a vehicle control unit VCU of the aforementioned vehicle, or a control unit included in the autonomous driving and assistance system ADAS of the aforementioned vehicle.
[0144] In a possible embodiment, the second control unit is a control unit included in a steering system of the vehicle, a control unit included in a braking system of the vehicle, or a control unit included in a power system of the vehicle;
[0145] The aforementioned second control unit communicates with the first control unit through the aforementioned first transmission interface, and the aforementioned second control unit also communicates with the aforementioned first control unit through the aforementioned second transmission interface. The aforementioned first control unit is the control unit included in the body domain controller VDC system in the aforementioned vehicle, the vehicle control unit VCU in the aforementioned vehicle, or the control unit included in the autonomous driving and assistance system ADAS in the aforementioned vehicle.
[0146] In a possible embodiment, the second control unit communicates with the switching unit in the vehicle through the second transmission interface, and the switching unit is used to forward messages sent by the second control unit to the first control unit through the second transmission interface.
[0147] In a possible embodiment, the first transmission interface is a controller area network (CAN) interface, and the second transmission interface is an in-vehicle Ethernet interface.
[0148] In a fifth aspect, an embodiment of the present application provides a communication system, which includes a first control unit and a second control unit, wherein the first control unit is used to execute the method described in any one of the first aspects, and the second control unit is used to execute the method described in any one of the second aspects.
[0149] In a sixth aspect, embodiments of the present application provide a controller comprising a control unit and a memory. The memory is coupled to the control unit, and when the control unit executes a computer program or computer instructions stored in the memory, the method described in any one of the first aspects can be implemented. The device may also include a transmission interface for communicating with other devices. Exemplarily, the transmission interface may be a transceiver, circuit, bus, module, or other type of transmission interface.
[0150] In one possible implementation, the device may include:
[0151] Memory for storing computer programs or computer instructions;
[0152] Control unit for:
[0153] Sending a first message through a first transmission interface;
[0154] Sending a second message through the second transmission interface;
[0155] The data in the aforementioned first message and the data in the aforementioned second message are associated, and the aforementioned first transmission interface and the aforementioned second transmission interface comply with different communication protocols.
[0156] It should be noted that the computer programs or computer instructions in the memory of this application can be pre-stored or downloaded from the Internet when the device is used and stored. This application does not specifically limit the source of the computer programs or computer instructions in the memory. The coupling in the embodiments of this application is an indirect coupling or connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.
[0157] In a seventh aspect, embodiments of the present application provide a controller comprising a control unit and a memory. The memory is coupled to the control unit, and when the control unit executes a computer program or computer instructions stored in the memory, the method described in any one of the second aspects above can be implemented. The device may also include a transmission interface for communicating between the device and other devices. Exemplarily, the transmission interface may be a transceiver, circuit, bus, module, or other type of transmission interface.
[0158] In one possible implementation, the device may include:
[0159] Memory for storing computer programs or computer instructions;
[0160] Control unit for:
[0161] receiving a first message through a first transmission interface;
[0162] receiving a second message through a second transmission interface;
[0163] The data in the aforementioned first message and the data in the aforementioned second message are associated, and the aforementioned first transmission interface and the aforementioned second transmission interface comply with different communication protocols.
[0164] It should be noted that the computer programs or computer instructions in the memory of this application can be pre-stored or downloaded from the Internet when the device is used and stored. This application does not specifically limit the source of the computer programs or computer instructions in the memory. The coupling in the embodiments of this application is an indirect coupling or connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.
[0165] In an eighth aspect, an embodiment of the present application provides a chip comprising a processor and a memory, wherein the memory is used to store computer programs or computer instructions, and the processor is used to execute the computer programs or computer instructions stored in the memory, so that the chip executes the method described in any one of the first aspects above.
[0166] In the ninth aspect, an embodiment of the present application provides a chip, which includes a processor and a memory, wherein the memory is used to store computer programs or computer instructions, and the processor is used to execute the computer programs or computer instructions stored in the memory, so that the chip executes the method described in any one of the second aspects above.
[0167] In the tenth aspect, an embodiment of the present application provides a vehicle, which includes a first control unit and / or a second control unit, wherein the first control unit is used to execute the method described in any one of the first aspects, and the second control unit is used to execute the method described in any one of the second aspects.
[0168] In an eleventh aspect, the present application provides a computer-readable storage medium, which stores a computer program or computer instructions, and the aforementioned computer program or computer instructions are executed by a processor to implement the method described in any one of the above-mentioned first aspects.
[0169] In a twelfth aspect, the present application provides a computer-readable storage medium, which stores a computer program or computer instructions, and the aforementioned computer program or computer instructions are executed by a processor to implement the method described in any one of the above-mentioned second aspects.
[0170] In a thirteenth aspect, the present application provides a computer program product. When the computer program product is executed by a processor, the method described in any one of the above-mentioned first aspects will be executed.
[0171] In a fourteenth aspect, the present application provides a computer program product. When the computer program product is executed by a processor, the method described in any one of the above second aspects will be executed.
[0172] In the fifteenth aspect, an embodiment of the present application provides a chip, which includes a processor, wherein the processor is used to execute a computer program or computer instructions stored in a memory, so that the chip executes the method described in any one of the first aspects above.
[0173] In the sixteenth aspect, an embodiment of the present application provides a chip, which includes a processor, wherein the processor is used to execute a computer program or computer instructions stored in a memory, so that the chip executes the method described in any one of the above-mentioned second aspects.
[0174] The solutions provided in the third to sixteenth aspects are used to implement or cooperate with the corresponding methods provided in the first or second aspects above, and therefore can achieve the same or corresponding beneficial effects as the corresponding methods in the first or second aspects, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0175] FIG1A is a schematic diagram of a communication system architecture provided by an embodiment of the present application;
[0176] FIG1B is a schematic diagram of a communication system architecture provided by an embodiment of the present application;
[0177] FIG1C is a schematic diagram of a communication system architecture provided by an embodiment of the present application;
[0178] FIG2A is a schematic diagram of the steering system architecture provided by an embodiment of the present application;
[0179] FIG2B is a schematic diagram of the braking system architecture provided by an embodiment of the present application;
[0180] FIG3 is a flow chart of a communication method according to an embodiment of the present application;
[0181] FIG4 is a schematic diagram of message sending provided in an embodiment of the present application;
[0182] FIG5 is a schematic diagram of a message sending process according to an embodiment of the present application;
[0183] FIG6 is a schematic diagram of message sending provided in an embodiment of the present application;
[0184] FIG7 shows another schematic diagram of message sending provided in an embodiment of the present application;
[0185] FIG8 is a schematic diagram of a message format provided in an embodiment of the present application;
[0186] Figures 9 and 10 are schematic structural diagrams of a control unit provided in an embodiment of the present application;
[0187] 11 and 12 are another schematic structural diagram of the control unit provided in an embodiment of the present application. DETAILED DESCRIPTION
[0188] In the embodiment of the present application, "multiple" refers to two or more. In the embodiment of the present application, "and / or" is used to describe the association relationship of associated objects, indicating three relationships that can exist independently. For example, A and / or B can be expressed as follows: A exists alone, B exists alone, or A and B exist at the same time. The description methods such as "at least one of a1, a2, ... and an" used in the embodiment of the present application include the situation where any one of a1, a2, ... and an exists alone, and also include any combination of any multiple of a1, a2, ... and an, each of which can exist alone; for example, the description method of "at least one of a, b and c" includes the situation where a is alone, b is alone, c is alone, a and b combination, a and c combination, b and c combination, or abc combination.
[0189] In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between the various embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0190] The following is an introduction to the drawings required for use in the embodiments of this application.
[0191] 1A , 1B and 1C , schematic diagrams of a communication system within a vehicle provided by the present application are exemplarily shown.
[0192] In one possible implementation, a communication system within a vehicle provided by an embodiment of the present application may be as shown in FIG1A . The communication system includes a plurality of control units, and the figure exemplarily shows n control units as an example, where n is an integer greater than 1. As can be seen in the figure, each control unit includes a first communication network interface and a second communication network interface. The first communication network interface and the second communication network interface included in the control unit are redundant communication interfaces for the control unit. That is, the control unit can communicate with another control unit through the first communication network interface, and can also communicate with the other control unit through the second communication network interface. The control unit accesses the first communication network through the first communication network interface, and accesses the second communication network through the second communication network interface. The control unit is both a network node of the first communication network and a network node of the second communication network. The first communication network and the second communication network are redundant communication networks for the control unit. That is, the control unit can communicate with another control unit through the first communication network, and can also communicate with the other control unit through the second communication network.
[0193] The first communication network shown in Figure 1A is a network with a bus topology. The second communication network shown in Figure 1A is a network with a star topology, and the control unit 1 is the central node of the star topology. It can be seen that in the first communication network, each control unit includes a first communication network interface, and these first communication network interfaces are all connected to a first communication network bus, and data is transmitted through the first communication network bus. That is, the control unit can communicate with one or more other control units through the first communication network bus. In the second communication network, the control unit 1 is a central network node, including multiple second communication network interfaces, and each second communication network interface is connected to another control unit through the second communication network bus. The first communication network interface of the control unit 1 and each second communication network interface of the control unit 1 are mutually redundant communication interfaces.
[0194] In one possible implementation, a communication system within a vehicle provided in an embodiment of the present application may be as shown in FIG1B . The difference between the communication system shown in FIG1B and the communication system shown in FIG1A is the topology of the second communication network. The second communication network of the communication system shown in FIG1B is a network with a bus topology. It can be seen that in the second communication network, each control unit includes a second communication network interface, and these second communication network interfaces are all connected to a second communication network bus, and data is transmitted through the second communication network bus. That is, the control unit can communicate with one or more other control units through the second communication network bus. For the rest of the relevant introduction to FIG1B, please refer to the introduction to FIG1A above, which will not be repeated here.
[0195] In one possible implementation, a communication system within a vehicle provided by an embodiment of the present application may be as shown in FIG1C . The communication system shown in FIG1C differs from the communication system shown in FIG1A in the topology of the second communication network. The second communication network of the communication system shown in FIG1C is a switched network structure. It can be seen that, in addition to the control unit, the second communication network also includes multiple switching units. These switching units are used to forward data between the control units. Each switching unit can be connected to at least two control units via a second communication network interface for forwarding data between the at least two control units. A switching unit can also be connected to another switching unit via a second communication network interface, and the two switching units connected via the second communication network interface can forward data from each other. Optionally, the network interface in the second communication network can also be provided to other devices, units or equipment in the vehicle for single-point access for communication, that is, the control unit can communicate directly with other devices, units or equipment via the second communication network interface instead of the switching unit. For the rest of the relevant introduction to FIG1C, please refer to the introduction to FIG1A above, which will not be repeated here.
[0196] In one possible embodiment, the switching unit includes a local area network switch (LSW). Exemplarily, the switching unit may be a gateway or a vehicle integration unit (VIU). In a specific implementation, the VIU may provide some or all of the data processing or control functions for multiple control units. The following examples illustrate the functions of the VIU. It should be understood that the VIU may have one or more of the following functions:
[0197] ① Electronic control functions: The VIU is used to implement some or all of the electronic control functions provided by the electronic control unit (ECU) within the aforementioned control units. For example, the control functions required by a control unit or the data processing functions required by a control unit.
[0198] ② The same functions as the gateway, that is, the VIU can also have some or all of the same functions as the gateway, such as protocol conversion function, protocol encapsulation and forwarding function, and data format conversion function.
[0199] ③ The function of processing data across control units, that is, the function of processing or calculating data obtained from actuators of multiple control units.
[0200] It should be noted that the data involved in the above functions may include operating data of the actuator in the control unit, such as the motion parameters of the actuator, the working status of the actuator, etc. The data involved in the above functions may also be data collected by the data acquisition unit (e.g., a sensitive element or sensor) of the control unit. For example, the road information or weather information collected by the vehicle's sensitive element is not specifically limited in this embodiment of the present application.
[0201] In the embodiment of the present application, the first communication network interface and the second communication network interface follow different communication protocols, that is, the first communication network and the second communication network follow different communication protocols.
[0202] In one possible implementation, the first communication network may be a CAN network. The first communication network interface may be a CAN interface. The first communication network and the first communication network interface comply with the communication protocol of the CAN network. The second communication network may be an in-vehicle Ethernet. The second communication network interface may be an in-vehicle Ethernet interface. The second communication network and the second communication network interface comply with the communication protocol of the in-vehicle Ethernet.
[0203] In one possible implementation, the CAN network may be a controller area network with flexible data rate (CAN with flexible data-rate, CAN FD). The CAN interface of the control unit may be a CAN FD bus interface. Alternatively, in another possible implementation, the CAN network may be a third-generation CAN communication technology network (CAN extra large, CAN XL). The CAN interface of the control unit may be a CAN XL bus interface.
[0204] In a possible implementation, the vehicle-mounted Ethernet interface may be an Ethernet interface of a Fast Ethernet standard such as 10BASE-T1S, 10BASE-T1, 100Base-T1, or 1000Base-T1.
[0205] In one possible embodiment, the first communication network may be a CAN network. The first communication network interface may be a CAN interface. The first communication network and the first communication network interface comply with the communication protocol of the CAN network. The second communication network may be an in-vehicle wireless network. The second communication network interface may be an in-vehicle wireless network interface. The second communication network and the second communication network interface comply with the communication protocol of the in-vehicle wireless network.
[0206] The second communication network is not limited to the network described above, and may be, for example, a Bluetooth network or an in-vehicle network defined in the future. The second communication network interface is also not limited to the network interface described above, and may be, for example, a Bluetooth interface or an in-vehicle network interface defined in the future, and this embodiment of the present application does not impose any restrictions on this.
[0207] In one possible embodiment, the control unit in Figures 1A, 1B, and 1C may be a unit with higher functional safety. For example, the unit with higher functional safety may be a control unit with an automotive safety integrity level (ASIL) of C or D or higher. Units with higher functional safety will require redundant backup mechanisms for the communication links for primary control and system interaction to prevent risks such as control failure caused by failure of a single communication link. For example, the control unit 1 in Figures 1A, 1B, and 1C may be a control unit included in the vehicle domain controller (VDC) system in the vehicle, or may be a vehicle control unit (VCU) in the vehicle, or may be a control unit included in the vehicle's advanced driver assistance system (ADAS). For example, the control units other than the control unit 1 in the communication system shown in Figures 1A, 1B, and 1C may include a control unit included in the vehicle's steering system, a control unit included in the braking system, or a control unit included in the power system, etc. The power system may include devices such as the front drive motor and the rear drive motor. It should be noted that this is only an example and does not constitute a limitation on the embodiments of the present application. The control unit in the above communication system can be any subsystem or controller in the vehicle that requires redundant access, and the embodiments of the present application do not limit this.
[0208] The structures of the communication systems shown in FIG. 1A , FIG. 1B and FIG. 1C are merely examples and do not constitute a limitation to the embodiments of the present application.
[0209] The embodiments of the present application implement heterogeneous communication technology under dual networks with different communication protocols. By building heterogeneous network communications and improving functional safety characteristics, it can solve a series of problems such as common cause failures, excessive latency overhead caused by communication interaction efficiency, and difficulty in expanding network access points. Common cause failure refers to the risk of failure caused by the same factor in units implemented using related technologies due to the same design defect or quality problem. For example, if a serious logical defect is found in the CAN bus, or there are other unknown design defects, once a failure occurs, all interfaces using this technology may fail. This will lead to system interaction failure, and there is a common factor that causes the system to fail.
[0210] Based on the above description, in the communication system provided in the embodiments of the present application, the control unit includes a first communication network interface and a second communication network interface that are mutually redundant. The following describes the design of redundant communication interfaces for the control unit, taking a control unit for a steering system or a braking system as an example. For illustrative purposes, see Figures 2A and 2B.
[0211] Figure 2A shows a schematic structural diagram of a steering system. It can be seen that the steering system includes a steering controller 1 and a steering controller 2. The steering controller 1 and the steering controller 2 are the control units included in the above-mentioned steering system. The steering controller 1 and the steering controller 2 are connected to each other and can communicate with each other. The steering system also includes a power module 1, a power module 2, a power supply 1 and a power supply 2, etc. Among them, the power module 1 is connected to the steering controller 1 and is used to provide a steering control instruction signal, etc. to the steering controller 1. The power module 2 is connected to the steering controller 2 and is used to provide a steering control instruction signal, etc. to the steering controller 2. The power supply 1 is connected to the steering controller 1 and the power module 1 respectively, and is used to supply power to the steering controller 1 and the power module 1. The power supply 2 is connected to the steering controller 2 and the power module 2 respectively, and is used to supply power to the steering controller 2 and the power module 2. In addition, the steering controller 1 is connected to the first communication network interface and accesses the first communication network through the first communication network interface. The steering controller 2 is connected to the second communication network interface and accesses the second communication network through the second communication network interface.
[0212] As can be seen in FIG. 2A , the steering system includes two steering controllers, one steering controller is connected to the first communication network interface, and the other steering controller is connected to the second communication network interface, thereby realizing the design of heterogeneous redundant communication interfaces of the steering system.
[0213] Exemplarily, the first communication network interface may be a CAN transceiver. Exemplarily, the second communication network interface may be implemented based on an in-vehicle Ethernet physical layer (PHY), or may be an in-vehicle Ethernet transceiver. Exemplarily, the steering controller may be a microcontroller unit (MCU), an ECU, or other processing unit, etc., which is not limited in the embodiments of the present application.
[0214] In another possible embodiment, the first communication network interface and the second communication network interface may be designed on one of the two steering controllers, that is, the first communication network interface and the second communication network interface may be connected to one steering controller.
[0215] In another possible embodiment, the steering system may include one steering controller or two or more steering controllers. Then, the first communication network interface may be connected to any one of the steering controllers in the steering system, and the second communication network interface may also be connected to any one of the steering controllers in the steering system.
[0216] FIG2B exemplarily shows a schematic structural diagram of a braking system. It can be seen that the braking system includes a brake controller 1 and a brake controller 2. The brake controller 1 and the brake controller 2 are the control units included in the braking system. The brake controller 1 and the brake controller 2 are connected to each other and can communicate with each other. The braking system also includes a motor drive unit 1, a motor drive unit 2, a pedal travel sensor, a wheel speed sensor, a deceleration sensor, etc. Among them, the motor drive unit 1 is connected to the brake controller 1 and is used to drive the motor based on the instructions of the brake controller 1. The motor drive unit 2 is connected to the brake controller 2 and is used to drive the motor based on the instructions of the brake controller 2. The pedal travel sensor, the wheel speed sensor, and the deceleration sensor are all connected to the two brake controllers to provide corresponding sensor data to the brake controllers. In addition, the brake controller 1 is connected to the first communication network interface and accesses the first communication network through the first communication network interface. The brake controller 2 is connected to the second communication network interface and accesses the second communication network through the second communication network interface.
[0217] As can be seen in FIG. 2B , the braking system includes two brake controllers, one of which is connected to a first communication network interface and the other to a second communication network interface, thereby implementing a design for heterogeneous redundant communication interfaces for the braking system. For example, the first communication network interface can be a first transmission transceiver. For example, the second communication network interface can be implemented based on a second communication network PHY, or can be a second communication network transceiver. For example, the braking controller can be an MCU, ECU, or other processing unit, etc., which is not limited in the embodiments of the present application.
[0218] In another possible embodiment, the first communication network interface and the second communication network interface may be designed on one of the two brake controllers, that is, the first communication network interface and the second communication network interface may be connected to one brake controller.
[0219] In another possible embodiment, the braking system may include one brake controller or two or more brake controllers. Then, the first communication network interface may be connected to any one of the brake controllers in the braking system, and the second communication network interface may also be connected to any one of the brake controllers in the braking system.
[0220] The design of heterogeneous redundant communication interfaces of other control units, such as the control unit included in the power system, the control unit included in the VDC, the control unit included in the VCU or ADAS, etc., can refer to the redundant communication interface design of the above-mentioned steering system or braking system, and will not be repeated in the embodiments of this application.
[0221] The embodiment of the present application solves the problem of failure of the control unit to interact with the outside world due to defects in the same transmission technology by setting redundant heterogeneous network communication interfaces in the control unit. This improves the interactive performance of the control unit and also improves the communication security and reliability of the control unit. In addition, if the second communication network is an in-vehicle Ethernet, the large bandwidth characteristics of the second communication network can also be used to improve data transmission efficiency.
[0222] The following describes a communication method in a vehicle provided by an embodiment of the present application, which can be exemplarily applied to the control unit of the above-mentioned communication system. For example, referring to FIG3 , the communication method includes but is not limited to the following steps:
[0223] S301. The first control unit sends a first message through a first transmission interface and sends a second message through a second transmission interface. The data in the first message and the data in the second message are associated, and the first transmission interface and the second transmission interface follow different communication protocols.
[0224] Exemplarily, the above-mentioned first control unit can be a control unit included in the steering system of the vehicle, a control unit included in the braking system, a control unit included in the power system, a control unit included in the body domain controller VDC system, a vehicle control unit VCU in the vehicle, or a control unit included in the autonomous driving and assistance system ADAS, etc.
[0225] The first control unit is provided with a first transmission interface and a second transmission interface that are mutually redundant. For example, the first transmission interface may be the aforementioned first communication network interface, and the second transmission interface may be the aforementioned second communication network interface. The design of the first transmission interface and the second transmission interface in the first control unit can be referenced to FIG. 2A or FIG. 2B and the designs in their possible implementations, and are not further described here.
[0226] It should be noted that the examples of this application do not limit the specific form of the first control unit. Any control unit that is provided with a first transmission interface and a second transmission interface that are redundant with each other can be the first control unit described in the embodiments of this application.
[0227] Specifically, the first control unit can send a message to another control unit (referred to as the second control unit) through the mutually redundant first transmission interface and the second transmission interface. The message sent by the first control unit to the second control unit through the first transmission interface can be referred to as the first message. The message sent by the first control unit to the second control unit through the second transmission interface can be referred to as the second message. The data in the first message and the data in the second message are related, and the correlation between the data in the first message and the second message will be further introduced later, which will not be described in detail here. For example, the data in the first message refers to the payload in the first message, and the data in the second message refers to the payload in the second message.
[0228] S302: The second control unit receives a first message through a third transmission interface and receives a second message through a fourth transmission interface. The third transmission interface and the fourth transmission interface comply with different communication protocols.
[0229] For example, if the first control unit is a control unit included in a steering system, a control unit included in a braking system, or a control unit included in a power system in a vehicle, the second control unit may be a control unit included in a VDC system in the vehicle, a control unit included in a VCU in the vehicle, or an autonomous driving and assistance system (ADAS). In this case, for example, the first message and the second message sent by the first control unit to the second control unit may include control information or instruction information. This embodiment of the application does not limit the information included in the first message and the second message.
[0230] Alternatively, illustratively, if the first control unit is a control unit included in a VDC system in a vehicle, a VCU in a vehicle, or a control unit included in an autonomous driving and assistance system (ADAS), the second control unit may be a control unit included in a steering system, a control unit included in a braking system, or a control unit included in a power system in the vehicle. In this case, illustratively, the first message and the second message sent by the first control unit to the second control unit may include sensor data collected by the first control unit, etc. The embodiments of the present application do not limit the information included in the first message and the second message.
[0231] The second control unit is provided with a third transmission interface and a fourth transmission interface that are mutually redundant. For example, the third transmission interface may be the first communication network interface described above, and the fourth transmission interface may be the second communication network interface described above. The design of the third transmission interface and the fourth transmission interface in the second control unit can be referenced to FIG. 2A or FIG. 2B and the designs in their possible implementations, and are not further described here.
[0232] It should be noted that the examples of this application do not limit the specific form of the second control unit. Any control unit that is provided with a third transmission interface and a fourth transmission interface that are redundant with each other can be the second control unit described in the embodiments of this application.
[0233] In a specific implementation, after the first control unit sends the first message via the first transmission interface, the first message is transmitted by the first transmission interface to the first communication network, and then transmitted to the second control unit via the first communication network. For example, the first communication network may be the first communication network described in FIG. 1A , FIG. 1B , or FIG. 1C . The second control unit receives the first message via the third transmission interface.
[0234] Similarly, after the first control unit sends the second message via the second transmission interface, the second message is transmitted by the second transmission interface to the second communication network, and then transmitted to the second control unit via the second communication network. For example, the second communication network may be the second communication network described in FIG. 1A , FIG. 1B , or FIG. 1C . The second control unit receives the second message via the fourth transmission interface.
[0235] As can be seen, the first control unit accesses the first communication network via the first transmission interface and accesses the second communication network via the second transmission interface. The second control unit accesses the first communication network via the third transmission interface and accesses the second communication network via the fourth transmission interface. The first communication network and the second communication network are mutually redundant.
[0236] In a possible embodiment, the data in the first message and the data in the second message being associated may include the following situation: the data in the first message and the data in the second message are the same.
[0237] In a specific implementation, the first message includes N1 messages that comply with the communication protocol of the first communication network. For ease of description, the messages that comply with the communication protocol of the first communication network will be referred to as first communication network messages. The N1 first communication network messages are sent via the first transmission interface. The N1 first communication network messages can also be referred to as N1 messages corresponding to the first transmission interface. The second message includes M1 messages that comply with the communication protocol of the second communication network. For ease of description, the messages that comply with the communication protocol of the second communication network can also be referred to as second communication network messages. The M1 second communication network messages are sent via the second transmission interface. The M1 second communication network messages can also be referred to as M1 messages corresponding to the second transmission interface. Both N1 and M1 are integers greater than 0. Therefore, the data included in the N1 first communication network messages is the same as the data included in the M1 second communication network messages.
[0238] In one possible embodiment, the transmission bandwidth of the second communication network is greater than the transmission bandwidth of the first communication network, and the data length of the second communication network message is greater than the data length of the first communication network message. Therefore, when transmitting the same data, compared with the first communication network, the second communication network can complete the data transmission with less transmission time and fewer messages. For ease of understanding, the following example uses the first communication network as a CAN network (the first communication network message is a CAN message) and the second communication network as an in-vehicle Ethernet network (the second communication network message is an Ethernet message).
[0239] For example, because the payload length of an Ethernet message is relatively long, it can carry more bytes of data. For example, an Ethernet message is up to 1518 bytes long, of which the payload can carry up to 1476 bytes. The payload length of an Ethernet message may vary when using different Ethernet communication protocols. The payload length of a CAN message is smaller, and the amount of data carried is less. For example, a CAN message is approximately 11 bytes, of which the payload can carry up to 8 bytes. For example, the payload of a CAN FD network message, i.e., a CAN FD message, can only carry a maximum of 64 bytes. Therefore, if the same data is to be transmitted via the CAN network and the in-vehicle Ethernet network respectively, more CAN messages are needed to carry this data, while fewer Ethernet messages are needed to carry this data.
[0240] In one possible implementation, the communication bandwidth of the CAN network is relatively small (e.g., 1 Mbps), while the communication bandwidth of the vehicle-mounted Ethernet network is relatively large (e.g., 10 Mbps, 100 Mbps, or 1000 Mbps). Therefore, when transmitting the same amount of data within the same clock cycle, the M1 second communication network messages, i.e., the M1 Ethernet messages, are received by the second control unit earlier than the N1 first communication network messages, i.e., the N1 CAN messages. That is, the transmission efficiency of data transmitted via the vehicle-mounted Ethernet network is higher, and the transmission time overhead is smaller. Then, after the second control unit receives the M1 Ethernet messages, it can perform calculations based on the data in the M1 Ethernet messages, without having to wait until the N1 CAN messages are received, thereby improving the efficiency of data transmission and processing. For ease of understanding, please refer to FIG. 4 for example.
[0241] Figure 4 takes a clock cycle (cycling) as an example. The clock cycle is also called the oscillation period and is defined as the inverse of the clock frequency. The clock cycle is the most basic and smallest unit of time in a computer. A clock cycle can be, for example, 10 milliseconds or a multiple of 10 milliseconds, etc., and the embodiments of the present application are not limited to this. During this clock cycle, the first control unit sends data to the second control unit. The first control unit can send the data to the second control unit via a mutually redundant CAN network and an in-vehicle Ethernet network.
[0242] When sending this data over the CAN network, the first control unit can encapsulate the data into CAN messages. Because the payload of a CAN message is relatively short, multiple CAN messages (five CAN messages are used to carry this data in Figure 4 ) are required to fully load the data. The first control unit then sends these multiple CAN messages via the first transmission interface. These multiple CAN messages are then transmitted over the CAN network to the second control unit. Transmission to the second control unit signifies receipt by the second control unit.
[0243] When sending this data via the vehicle's Ethernet, the first control unit can encapsulate the data into an Ethernet message. Because the Ethernet message payload is relatively long, a relatively small number of Ethernet messages (one Ethernet message is used to carry the data in Figure 4) can be used to carry the data. The first control unit then sends the Ethernet message via the second transmission interface, and the Ethernet message is transmitted to the second control unit via the vehicle's Ethernet network.
[0244] The processing flow of the above-mentioned first control unit sending data through the CAN network and the in-vehicle Ethernet can be exemplified in Figure 5. First, the first control unit starts to organize the data, which can be exemplarily data within one or more clock cycles. After determining the data to be sent, on the one hand, the first control unit can split the data into several parts based on the CAN protocol, load the split data, and package them to generate multiple CAN messages. Then, the multiple CAN messages are sent through the CAN network. On the other hand, the first control unit can load and package the data to be sent into an Ethernet message based on the in-vehicle Ethernet protocol, and then send the Ethernet message through the in-vehicle Ethernet.
[0245] The transmission rate of the CAN network is lower than that of in-vehicle Ethernet. As shown in Figure 4, it takes longer to transmit a CAN message than an Ethernet message. For example, if the CAN network transmission rate is 500 kbps, the CAN message length is 11 bytes, and the in-vehicle Ethernet transmission rate is 100 Mbps, and the Ethernet message length is 360 bytes, then sending a CAN message over the CAN network takes approximately 0.26 milliseconds (ms). Specifically, T1, T2, T3, T4, and T5 in Figure 4 are approximately 0.26 ms. In contrast, sending an Ethernet message over in-vehicle Ethernet takes only 0.028 ms. Specifically, T1' in Figure 4 is approximately 0.028 ms. Furthermore, while multiple CAN messages need to be transmitted, only one Ethernet message needs to be transmitted. This shows that transmitting data over in-vehicle Ethernet can significantly improve transmission efficiency.
[0246] As shown in Figure 4, an Ethernet message sent via the in-vehicle Ethernet takes T1' to be transmitted to the second control unit. This means that data transmission via the in-vehicle Ethernet only takes T1'. Multiple CAN messages sent via the CAN network require (T1 + T2 + T3 + T4 + T5) to be fully transmitted to the second control unit. This means that data transmission via the CAN network takes (T1 + T2 + T3 + T4 + T5). Therefore, after the second control unit receives the data from the Ethernet message via the in-vehicle Ethernet, it can perform calculations based on the data to obtain a first calculation result.
[0247] For example, after receiving the Ethernet message, the second control unit may parse the Ethernet message to obtain the data in the message. The obtained data may be cached in a local buffer. The second control unit may then adopt a priority calculation strategy to import the obtained data into an application or algorithm module for calculation to obtain the first calculation result. This calculation result may serve as calculation input for another control unit, application, or module, and this embodiment of the present application is not limited to this.
[0248] During the calculation process, the second control unit can continue to receive CAN messages. In one possible embodiment, in FIG. 4 , after receiving the multiple CAN messages and obtaining the data in the CAN messages, the second control unit can verify the data in the CAN messages with the data in the previously received Ethernet messages. The specific implementation of this verification will be described in detail later and is not detailed here.
[0249] It can be seen that compared with the existing multi-channel redundant CAN communication mode of receiving data and processing and calculating data, the example of this application can complete the two-step operation of receiving and processing data within the original data receiving time, significantly improving the communication and data processing efficiency.
[0250] In a possible embodiment, based on the previous description, after the second control unit receives the above-mentioned first message (for example, the multiple CAN messages in the above-mentioned Figure 4) and the above-mentioned second message (for example, the Ethernet message in the above-mentioned Figure 4), it can perform verification based on the data in the first message and the second message.
[0251] In one possible implementation, the data in the first message and the data in the second message can be directly compared. If the two data are identical, it indicates that there were no errors or tampering during the data transmission process, and the received data is safe. If the two data are different, it indicates that at least one of the data is abnormal.
[0252] In one possible implementation, since the second control unit has already calculated the first calculation result based on the data in the second message, the second control unit may then calculate the second calculation result based on the data in the first message using the same calculation method. If the two calculation results are identical, this indicates that the data was not erroneous or tampered with during transmission, and the received data is secure. If the two calculation results are different, this indicates that at least one of the data copies is abnormal.
[0253] In one possible implementation, the first message transmitted may include a data check code, and the second message also includes the same data check code. The second control unit may compare the data check code in the first message with the data check code in the second message. If the data check codes in the two messages are the same, it indicates that there is no error or tampering with the data during transmission, and the received data is safe data. If the data check codes in the two messages are different, it indicates that at least one copy of the data is abnormal. Exemplarily, the data check code may be, for example, a hash value calculated using a hash algorithm for the data encapsulated in the first message or the second message.
[0254] Exemplarily, the above-mentioned data check code can be a data check code calculated by the first control unit for the data encapsulated in the first message or the second message. Since the first message includes N1 first communication network messages (such as the 5 CAN messages in Figure 4 above), then, any one of the N1 first communication network messages can carry the data check code. Or, exemplarily, the above-mentioned data check code includes N1 check codes. The N1 check codes are check codes calculated separately for the data encapsulated in each message in the N1 first communication network messages. In this case, each first communication network message includes a check code, which is the check code of the data encapsulated in the message. Then, the second message may include the N1 check codes.
[0255] In one possible implementation, the first message transmitted may include a data signature, and the second message may also include the same data signature. The second control unit may compare the data signature in the first message with the data signature in the second message. If the data signatures in the two messages are the same, this indicates that there were no errors or tampering with the data during transmission, and the received data is secure. If the data signatures in the two messages are different, this indicates that at least one of the data is abnormal.
[0256] Similarly, illustratively, the above-mentioned data signature can be a data signature calculated by the first control unit for the data encapsulated in the first message or the second message. Since the first message includes N1 first communication network messages (such as the 5 CAN messages in Figure 4 above), then, any one of the N1 first communication network messages can carry the data signature. Or, illustratively, the above-mentioned data signature includes N1 data signatures. The N1 data signatures are data signatures calculated separately for the data encapsulated in each message in the N1 first communication network messages. In this case, each first communication network message includes a data signature, which is the data signature of the data encapsulated in the message. Then, the second message may include the N1 data signatures.
[0257] In one possible implementation, the second control unit may use a hash algorithm to calculate the data in the first message to obtain a hash value, and then use the same hash algorithm to calculate the data in the second message to obtain another hash value. If the two hash values are the same, it indicates that there were no errors or tampering with the data during transmission, and the received data is secure. If the two hash values are different, it indicates that at least one of the data is abnormal.
[0258] In one possible implementation, if it is determined above that at least one piece of data is abnormal, then the second control unit may send a request to the first control unit to retransmit the data, and may indicate in the request that the data be retransmitted through a second communication network with a larger transmission bandwidth, such as an in-vehicle Ethernet. Based on the request, the first control unit may repackage the data to generate a new second communication network message (referred to as the third message for short), and then quickly send the third message to the second control unit through the second communication network. After receiving the third message, the second control unit parses and obtains the data in the third message, and compares the obtained data with the data in the second message. If the data in the second message and the third message are the same, it indicates that the data in the second message is normal, and the data in the first message is abnormal. Then, the second control unit may discard the data of the first message, or may request the first control unit to retransmit the data through a first communication network, such as a CAN network.
[0259] In one possible embodiment, due to transmission congestion between the first control unit and the second control unit, communication jitter occurs, which increases the transmission delay of the first message and / or the second message, and prevents the first message and / or the second message from being transmitted to the second control unit on time. In this case, if the received data is calculated according to the preset time, the received data may be partial data, resulting in an incorrect calculation result. To avoid this situation, it is necessary to eliminate the impact of the increased transmission delay caused by communication jitter.
[0260] Exemplarily, the influence of communication jitter can be eliminated by reserving a time gap during the communication transmission and reception process. Specifically, the above-mentioned second control unit can first perform data verification after receiving the above-mentioned second message and first message. If the data verification fails, it may be because the communication jitter causes the second message and / or the first message to not be completely received, then you can wait for a preset time length. Then, the data in the received first message and second message are verified. After the verification passes, the data is calculated. In this implementation method, the task processing time is allocated through the adjustment and waiting mechanism of data verification to ensure that the calculation is performed after all the data is received, thereby ensuring the correctness of the calculation result and eliminating the influence of communication jitter.
[0261] Alternatively, illustratively, when the second communication network is an in-vehicle Ethernet, high-precision time synchronization can be achieved through the in-vehicle Ethernet to eliminate the impact of communication jitter. Specifically, in the in-vehicle Ethernet, the general precise time protocol (gPTP) can be used to achieve high-precision time synchronization between the first control unit and the second control unit. In addition, during the operation of the first control unit and the second control unit, a transmission protocol based on time slot allocation can be implemented through the time-sensitive networking (TSN) protocol and the Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbv standard to achieve periodic task synchronization. Thus, communication jitter can be eliminated during the transmission of the message through strict timeline and time synchronization. In this implementation, after high-precision time synchronization is completed between the first control unit and the second control unit, when the first control unit sends a message to the second control unit, the message sending time can be staggered according to the order of time, the message sending time point can be controlled, and the communication conflict problem caused by time asynchrony can be solved from the source, thereby avoiding communication jitter.
[0262] In a possible embodiment, within a clock cycle, the first control unit has multiple transmission opportunities to send messages to the second control unit. The transmission opportunity refers to the transmission opportunity, and each transmission opportunity is pre-configured with transmission resources (time domain resources and / or frequency domain resources) for sending data. In this case, when the first control unit sends a message to the second control unit via the second communication network (such as the vehicle Ethernet), the data to be sent within a clock cycle can be divided into several times for transmission, without having to encapsulate all of the data into one message for transmission. For example, assuming that within a clock cycle, the first control unit has three transmission opportunities to send messages to the second control unit. Then, the first control unit can divide the data to be sent into three parts, and encapsulate one of the data into a message (such as an Ethernet message) and send it to the second control unit each time the transmission opportunity arrives. That is, within the clock cycle, the first control unit can complete the data transmission by sending one message three times each time. Optionally, each transmission opportunity is not limited to sending one message, but can also send multiple messages, and the embodiments of the present application are not limited to this.
[0263] In one possible embodiment, when the first control unit sends a message to the second control unit via the first communication network and the second communication network, the transmission trigger signal for sending the message via the first communication network can be the same as the transmission trigger signal for sending the message via the second communication network. That is, the transmission of the two messages is controlled by the same transmission trigger signal. Exemplarily, the transmission trigger signals for the first and second messages are the same.
[0264] In a possible embodiment, if the above-mentioned second control unit is used to collect data in the first control unit, the second control unit can be regarded as a data acquisition unit at this time. Then, the above-mentioned second message is a message sent by the above-mentioned first control unit to the second control unit in response to the data acquisition request of the second control unit (for example, it can be an Ethernet message transmitted through the above-mentioned on-board Ethernet). In this case, if the second control unit requires the collected data to be the data of the first control unit within one or more clock cycles, then the first control unit can encapsulate all the data to be sent within the one or more cycles in the above-mentioned second message and send it. That is, the data in the second message can include the data to be sent by the first control unit within one or more clock cycles. The embodiment of the present application can reduce the message encapsulation and sending overhead, reduce system complexity, and improve the efficiency of data acquisition by encapsulating the data of one or more cycles into a message for transmission.
[0265] In a possible embodiment, in addition to sending data to the second control unit, the first control unit may also send data to one or more other control units. In this case, the second message may be a multicast message or a broadcast message, that is, the first control unit sends the second message to the second control unit and one or more other control units by multicast or broadcast based on the second communication network (for example, it may be an in-vehicle Ethernet). The data in the multicast message or broadcast message may include the data to be sent by the first control unit within one or more clock cycles. Data distribution through multicast messages or broadcast messages can effectively reduce the overhead of maintaining multiple duplicate valid communication channels in one-to-many communication. In the case where the second communication network is an in-vehicle Ethernet, the layer 2 multicast or broadcast mechanism of the in-vehicle Ethernet can be used to effectively implement one-to-many communication.
[0266] In a possible embodiment, if the second control unit is used to monitor the status of the system where the first control unit is located, the second control unit can be regarded as a vehicle status monitoring unit. Then, the second message is a message sent by the first control unit to the second control unit in response to the status data collection request of the second control unit (for example, it can be an Ethernet message transmitted through the above-mentioned on-board Ethernet). In this case, the first control unit can encapsulate all the required data within one or more cycles in the second message and send it to the second control unit. That is, the data in the second message can include the data to be sent by the first control unit within one or more clock cycles. The embodiment of the present application can reduce the message encapsulation and sending overhead, reduce the system complexity, and improve the efficiency of data collection by encapsulating the data of one or more cycles into a message for transmission.
[0267] In one possible embodiment, the second control unit is used to specifically control vehicle driving operations (such as emergency braking operations, vehicle driving stability control operations (such as operations to control the vehicle to avoid skidding), etc.), and the first control unit is used to send specific information for controlling the vehicle driving operations to the second control unit, that is, to send instruction information for operation control. The real-time performance of the instruction information for operation control sent is required to be high, and the accuracy of the information must be guaranteed. In this case, within one clock cycle, the number of messages sent by the first control unit through the first communication network (such as the above-mentioned N1) is the same as the number of messages sent through the second communication network (such as the above-mentioned M1). Taking the first communication network as a CAN network and the second communication network as an in-vehicle Ethernet as an example, the first message includes N1 CAN messages, and the second message includes M1 Ethernet messages, where N1=M1. At this time, the N1 CAN messages correspond one-to-one to the M1 Ethernet messages, and a CAN message and the Ethernet message corresponding to the CAN message can be sent synchronously to ensure the real-time performance of the messages. Furthermore, the one-to-one correspondence between CAN messages and Ethernet messages can also facilitate verification of data in the messages, thereby improving the accuracy of the data in the messages.
[0268] In one possible embodiment, for the above-mentioned second message (for example, it can be an on-board Ethernet message), since its message length is long and it can carry more data, the second message can also include extended information. The extended information can, for example, include: the system status of the system where the first control unit is located, the control instructions sent by the first control unit, the sensor data collected by the first control unit, or the intermediate calculation amount calculated by the first control unit, etc. One or more information. Regarding the extended information, this is only an example and does not constitute a limitation on the embodiments of the present application. In a specific implementation, the extended information can also include other information, and the embodiments of the present application do not limit this.
[0269] In one possible embodiment, the first control unit and the second control unit can utilize the different transmission characteristics of the first communication network and the second communication network to implement a differential data transmission processing mechanism. In this case, the data in the first message and the data in the second message may be associated with each other in the following case: the data included in the second message is the first target data, and the data included in the first message is verification information, and the verification information is used to verify the first target data.
[0270] Specifically, the above-mentioned first message includes N2 first communication network messages. The N2 first communication network messages are sent through the above-mentioned first transmission interface, and the N2 first communication network messages can also be referred to as N2 messages corresponding to the first transmission interface. The above-mentioned second message includes M2 second communication network messages. The M2 second communication network messages are sent through the above-mentioned second transmission interface, and the M2 second communication network messages can also be referred to as M2 messages corresponding to the second transmission interface. Both N2 and M2 are integers greater than 0. Then, the data included in the M2 messages is the above-mentioned first target data, and the data of the N2 messages is the verification information for verifying the first target data. For ease of understanding, the following is an example of the first communication network being a CAN network (the first communication network message is a CAN message) and the second communication network being an in-vehicle Ethernet network (the second communication network message is an Ethernet message). Please refer to Figure 6 for an example.
[0271] Figure 6 takes a clock cycle as an example, during which the first control unit sends the first target data to the second control unit. The first control unit can send the first target data to the second control unit via the mutually redundant CAN network and the vehicle Ethernet network, and verify the first target data. The first target data can be any data, and the embodiments of the present application do not limit this.
[0272] Specifically, the first control unit can send the first target data to the above-mentioned second control unit through the vehicle Ethernet network, and then send the verification information of the first target data to the above-mentioned second control unit through the CAN network. When sending the first target data through the vehicle Ethernet, the first control unit can encapsulate the first target data into an Ethernet message. Since the payload length of the Ethernet message is relatively large, the first target data can be loaded using a smaller number of Ethernet messages (using 1 Ethernet message to load the first target data as an example in Figure 6). Then, the first control unit sends the Ethernet message (for example, the above-mentioned second message) through the second transmission interface, and the Ethernet message is transmitted to the second control unit via the vehicle Ethernet network.
[0273] The verification information of the first target data can be a verification value calculated by the first control unit based on the first target data. For example, the first control unit can calculate the first target data using a hash algorithm to obtain a hash value, and the hash value is the verification information of the first target data. Or, for example, the first control unit can calculate the first target data using an MD5 algorithm to obtain a hash value, and the hash value is the verification information of the first target data. The embodiment of the present application does not limit the specific verification calculation algorithm. Then, the first control unit can encapsulate the verification information of the first target data into a CAN message. Since the payload length of the CAN message is small, it can be determined based on the amount of verification information data to use one or more CAN messages (in Figure 6, one CAN message is used to load the verification information of the first target data as an example) to load the verification information of the first target data. Then, the first control unit sends the CAN message (for example, the first message mentioned above) through the first transmission interface, and the CAN message is transmitted to the second control unit via the CAN network.
[0274] The transmission rate of the CAN network is lower than that of the automotive Ethernet. As shown in Figure 6, it takes longer to transmit a CAN message than an Ethernet message. For example, if the CAN network transmission rate is 500 kbps, the CAN message length is 11 bytes, and the automotive Ethernet transmission rate is 100 Mbps, and the Ethernet message length is 1200 bytes, then sending a CAN message over the CAN network takes approximately 0.26 milliseconds (ms), meaning that T1 in Figure 6 is approximately 0.26 ms. In contrast, sending an Ethernet message over the automotive Ethernet takes only 0.112 ms, meaning that T2 in Figure 6 is approximately 0.112 ms. This shows that transmitting the first target data over the automotive Ethernet greatly improves transmission efficiency.
[0275] Since the Ethernet message is transmitted to the second control unit before the CAN message, after the second control unit receives the Ethernet message, it can first perform preprocessing and other operations on the data in the Ethernet message. Exemplarily, after the second control unit receives the above-mentioned Ethernet message, it can parse the Ethernet message to obtain the data in the message. And the obtained data can be cached in a local buffer. Then, the second control unit can perform some preprocessing operations based on the obtained data. For example, a cyclic redundancy check (CRC) can be performed on the data, or a checksum can be used to check whether the data has errors during transmission, such as whether a bit error (0 becomes 1, or 1 becomes 0) occurs. For example, the same check calculation algorithm as the first control unit can be used to calculate the obtained data to obtain another check value for comparison with the check information in the CAN message. This is only an example, and the embodiments of the present application do not limit the preprocessing operation.
[0276] Then, after receiving the CAN message, the second control unit obtains the verification information in the CAN message. Based on the above description, it can be seen that the verification information can be a verification value. If the second control unit has calculated the verification value of the data in the preprocessing of the data in the Ethernet message obtained above, then the verification value obtained from the CAN message can be directly compared with the calculated verification value. If the two verification values are the same, it indicates that there was no error or tampering with the data during transmission, and the received data is safe data. If the two verification values are different, it indicates that at least one of the data in the Ethernet message and the verification information in the CAN message is abnormal.
[0277] In another possible implementation, if the second control unit does not calculate a checksum for the data in the obtained Ethernet message during preprocessing, then, after obtaining the checksum from the CAN message, it can calculate the data in the Ethernet message using the same checksum calculation algorithm as the first control unit to obtain another checksum. The two checksums are then compared. If the two checksums are identical, this indicates that the data was not tampered with or had no errors during transmission, and the received data is secure. If the two checksums are different, this indicates that at least one of the data in the Ethernet message and the checksum information in the CAN message is abnormal.
[0278] In one possible implementation, if at least one of the data in the Ethernet message received by the second control unit and the verification information in the CAN message is abnormal, the second control unit may send a request to retransmit the data to the first control unit, and may indicate in the request that the data be retransmitted via the vehicle Ethernet. Based on the request, the first control unit may re-encapsulate the first target data to generate a new Ethernet message, and then quickly send the new Ethernet message to the second control unit via the vehicle Ethernet. After receiving the new Ethernet message, the second control unit parses and obtains the data in the new Ethernet message, and compares the obtained data with the data in the above Ethernet message. If the data in the Ethernet message and the new Ethernet message are the same, it indicates that the data in the Ethernet message is normal, but the verification information in the above CAN message is abnormal. Then, the second control unit may discard the verification information of the CAN message, or may request the first control unit to retransmit the verification information via the CAN network.
[0279] Compared to the aforementioned implementation of transmitting the same data over the CAN network and the in-vehicle Ethernet network, the differential data transmission mechanism in the embodiment of the present application significantly shortens data transmission time, enabling data transmission to be completed in a shorter timeframe and effectively completing data verification. This reduces the time overhead for interaction between control units, reduces the time loss for direct communication between vehicle components, and improves interaction performance.
[0280] In one possible embodiment, the first control unit and the second control unit can utilize the different transmission characteristics of the first communication network and the second communication network to implement a differential data transmission processing mechanism. In this case, the data in the first message and the data in the second message may be associated with each other in the following cases: the data included in the second message is the second target data, the data included in the first message is the first data, and the first data is a portion of the second target data.
[0281] Specifically, the above-mentioned first message includes N3 first communication network messages. The N3 first communication network messages are sent through the above-mentioned first transmission interface, and the N3 first communication network messages can also be referred to as N3 messages corresponding to the first transmission interface. The above-mentioned second message includes M3 second communication network messages. The M3 second communication network messages are sent through the above-mentioned second transmission interface, and the M3 second communication network messages can also be referred to as M3 messages corresponding to the second transmission interface. Both N3 and M3 are integers greater than 0. Then, the data included in the M3 messages is the above-mentioned second target data, and the data in the N3 messages is part of the second target data, namely the above-mentioned first data. For ease of understanding, the following is an example of the first communication network being a CAN network (the first communication network message is a CAN message) and the second communication network being an in-vehicle Ethernet network (the second communication network message is an Ethernet message). Please refer to Figure 7 for an example.
[0282] Figure 7 takes a clock cycle (cycling) as an example, during which the first control unit is to send the above-mentioned second target data to the second control unit. The first control unit can send the second target data to the second control unit through the mutually redundant CAN network and the vehicle Ethernet network. The second target data can be any data, and the embodiments of the present application are not limited to this. The first data included in the above-mentioned first message can be any part of the second target data. For example, after the first message is received by the second control unit, the first data in the first message can be used to verify the second target data in the received second message. For details, please refer to the following description.
[0283] Specifically, the first control unit can send the second target data to the above-mentioned second control unit through the vehicle Ethernet network, and then send the first data in the second target data to the above-mentioned second control unit through the CAN network. When sending the second target data through the vehicle Ethernet, the first control unit can encapsulate the second target data into an Ethernet message. Since the payload length of the Ethernet message is relatively large, the second target data can be loaded using a smaller number of Ethernet messages (using 1 Ethernet message to load the second target data as an example in Figure 7). Then, the first control unit sends the Ethernet message (for example, the above-mentioned second message) through the second transmission interface, and the Ethernet message is transmitted to the second control unit through the vehicle Ethernet network.
[0284] The first control unit can encapsulate the first data of the second target data into a CAN message. Since the payload length of a CAN message is relatively short, the amount of the first data can be used to determine whether to use one or more CAN messages (in FIG7 , one CAN message is used as an example to load the first data of the second target data) to load the first data of the second target data. The first control unit then sends the CAN message (e.g., the first message) via the first transmission interface, and the CAN message is transmitted to the second control unit via the CAN network.
[0285] The transmission rate of the CAN network is lower than that of in-vehicle Ethernet. As shown in Figure 7, it takes longer to transmit a CAN message than an Ethernet message. For example, if the CAN network transmission rate is 500 kbps, the CAN message length is 11 bytes, and the in-vehicle Ethernet transmission rate is 100 Mbps, and the Ethernet message length is 1200 bytes, sending a CAN message over the CAN network takes approximately 0.26 milliseconds (ms), meaning T1 in Figure 7 is approximately 0.26 ms. In contrast, sending an Ethernet message over in-vehicle Ethernet takes only 0.112 ms, meaning T2 in Figure 7 is approximately 0.112 ms. This shows that transmitting the second target data over in-vehicle Ethernet can significantly improve transmission efficiency.
[0286] Since the Ethernet message is transmitted to the second control unit before the CAN message, after the second control unit receives the Ethernet message, it can first perform preprocessing and other operations on the second target data in the Ethernet message. For example, after the second control unit receives the above-mentioned Ethernet message, it can parse the Ethernet message to obtain the data in the message. And the obtained data can be cached in a local buffer. Then, the second control unit can perform some preprocessing operations based on the obtained data. For example, the data can be checked by CRC or checksum verification to see whether there is an error in the data during transmission, such as whether a bit error occurs (0 becomes 1, or 1 becomes 0). This is only an example, and the embodiments of the present application do not limit the preprocessing operation.
[0287] Then, after the second control unit receives the above-mentioned CAN message, it obtains the first data in the CAN message. Based on the above description, it can be seen that the first data can be used to verify the above-mentioned received second target data. For example, the above-mentioned first control unit can mark the first data encapsulated in the second message, i.e., the second target data of the Ethernet message, for example, it can mark the bits occupied by the first data in the Ethernet message, etc., and the embodiment of the present application does not limit this. After the second control unit receives the Ethernet message, it can obtain the first data in the second target data in the Ethernet message based on the preset mark. Then, the obtained first data can be compared with the first data in the first message, i.e., the first data in the CAN message to realize data verification. If the two pieces of data are the same, it indicates that there is no error or tampering in the data during transmission, and the received data is safe data. If the two pieces of data are different, it indicates that at least one of the data in the Ethernet message and the data in the CAN message is abnormal.
[0288] In one possible implementation, if at least one of the data in the Ethernet message received by the second control unit and the first data in the CAN message is abnormal, the second control unit may send a request to the first control unit to retransmit the data, and may indicate in the request that the data be retransmitted via the vehicle Ethernet. Based on the request, the first control unit may re-encapsulate the second target data to generate a new Ethernet message, and then quickly send the new Ethernet message to the second control unit via the vehicle Ethernet. After receiving the new Ethernet message, the second control unit parses and obtains the data in the new Ethernet message, and compares the obtained data with the data in the above-mentioned Ethernet message. If the data in the Ethernet message and the new Ethernet message are the same, it indicates that the data in the Ethernet message is normal, while the first data in the above-mentioned CAN message is abnormal. Then, the second control unit may discard the first data of the CAN message, or may request the first control unit to retransmit the first data via the CAN network.
[0289] Compared to the aforementioned implementation of transmitting the same data over the CAN network and the in-vehicle Ethernet network, the differential data transmission mechanism in the embodiment of the present application significantly shortens data transmission time, enabling data transmission to be completed in a shorter timeframe and effectively completing data verification. This reduces the time overhead for interaction between control units, reduces the time loss for direct communication between vehicle components, and improves interaction performance.
[0290] In a possible embodiment, the first control unit and the second control unit can utilize the different transmission characteristics of the first communication network and the second communication network to implement a differential processing mechanism for data transmission, and the differential processing mechanism can achieve the effect of data encryption transmission. In this case, the association between the data in the first message and the data in the second message may include the following situations: the data in the first message is the second data, the data in the second message is the third data, the second data and the third data are respectively part of the third target data, and the third target data is the data to be sent by the first control unit within one or more clock cycles. The second data and the third data are used to restore the third target data. Exemplarily, the second data and the third data together are the third target data.
[0291] Specifically, the above-mentioned first message includes N4 first communication network messages. The N4 first communication network messages are sent through the above-mentioned first transmission interface, and the N4 first communication network messages can also be referred to as N4 messages corresponding to the first transmission interface. The above-mentioned second message includes M4 second communication network messages. The M4 second communication network messages are sent through the above-mentioned second transmission interface, and the M4 second communication network messages can also be referred to as M4 messages corresponding to the second transmission interface. Both N4 and M4 are integers greater than 0. Then, the data included in the M4 messages is the above-mentioned second target data, and the data in the N4 messages is part of the second target data, namely the above-mentioned first data. For ease of understanding, the following is an example in which the first communication network is a CAN network (the first communication network message is a CAN message) and the second communication network is an in-vehicle Ethernet network (the second communication network message is an Ethernet message).
[0292] In a specific implementation, data transmission between the first and second control units can be achieved using the CAN network and the vehicle Ethernet network to achieve data encryption. Specifically, by exploiting the differences in message formats, message protocols, and physical characteristics between the CAN network and the vehicle Ethernet network, high-level encrypted message transmission can be achieved. Due to the versatility and networked nature of Ethernet messages, they can be easily captured, cracked, or copied, resulting in information interception. Based on this, the heterogeneous redundant network of the embodiments of the present application can be used to achieve high-level encrypted and secure transmission.
[0293] For example, after the first control unit determines the data to be sent to the second control unit, it can divide the data into two parts according to a preset rule, one part is transmitted via the CAN network, and the other part is transmitted via the vehicle Ethernet. The preset rule can be, for example, to randomly divide the data into two parts, or it can be to extract data according to a preset byte length interval, with the extracted data as one part and the remaining data as another part, etc. The embodiment of the present application does not limit the preset rule. For example, the data sent by the first control unit to the second control unit can be the data to be sent within one or more clock cycles of the first control unit, and the embodiment of the present application does not limit this.
[0294] When sending data via the CAN network, the first control unit may encapsulate the data into N4 CAN messages. The first control unit then sends the N4 CAN messages via the first transmission interface, and the N4 CAN messages are transmitted to the second control unit via the CAN network. When sending data via the vehicle Ethernet, the first control unit may encapsulate the data into M4 Ethernet messages. The first control unit then sends the M4 Ethernet messages via the second transmission interface, and the M4 Ethernet messages are transmitted to the second control unit via the vehicle Ethernet network.
[0295] After receiving the N4 CAN messages and M4 Ethernet messages, the second control unit can obtain the data in these messages to complete subsequent calculations and processing. The embodiment of the present application does not limit the specific calculations and processing.
[0296] Through the above design, even if the information in the Ethernet message is intercepted, the entire data cannot be restored, thus achieving data encryption protection. In addition, this differentiated encryption transmission method can reduce the dependence of transmission encryption on encryption algorithms, and can achieve high-level ciphertext transmission without complex encryption algorithms. The embodiments of the present application can significantly reduce the device's overhead in ciphertext transmission.
[0297] In one possible embodiment, the first communication network is a hard real-time system, and the second communication network is a non-real-time system. Because communication in the second communication network is non-real-time, it is possible that messages sent from the first control unit to the second control unit on the second communication network may not be delivered on time, resulting in erroneous processing results. For example, for the first and second control units, the current clock cycle is clock cycle 2. Under normal circumstances, the second control unit receives the second communication network message sent by the first control unit in clock cycle 2. However, due to the non-real-time nature of the second communication network, if the second communication network is congested, the second communication network message sent by the first control unit is delayed, resulting in the second control unit receiving the second communication network message sent by the first control unit in clock cycle 1 during clock cycle 2. If the second control unit performs subsequent processing based on the second communication network message received during clock cycle 1, erroneous processing results may occur. Therefore, to improve the real-time performance of the entire communication system, the hard real-time nature of the first communication network and the deterministic transmission delay can be leveraged to verify the real-time performance of messages from the second communication network. For example, the first communication network is a CAN network, and the second communication network is an in-vehicle Ethernet.
[0298] Specifically, the first message may include a verification message that can be used to verify the real-time nature of the second message. For example, the verification message and the second message may use the same transmission trigger signal. When the transmission trigger signal is generated, the transmission of the verification message and the second message is simultaneously triggered. The verification message is then transmitted to the second control unit via the first communication network, and the second message is transmitted to the second control unit via the second communication network.
[0299] Based on the foregoing description, in the event that congestion occurs in the second communication network, the second message is blocked during transmission, resulting in a delay in being sent to the second control unit. In this case, the above-mentioned check message will be received by the second control unit before the second message. In a specific implementation, a preset duration can be set. If the second message is received by the second control unit within the preset duration after the check message is received, the second message is determined to be valid. If the second message is still not received by the second control unit after the preset duration after the check message is received, the second message is determined to be invalid. The second message is valid in that it can be used normally to participate in subsequent processing. The second message is invalid in that the second message is not a message to be received within the current clock cycle. Invalid messages can be discarded or other processing, and the embodiments of the present application do not impose any restrictions on this.
[0300] The preset duration does not exceed the clock cycle in which the verification message is transmitted. For example, assuming a clock cycle of 10 seconds, and the verification message is received by the second control unit at the 3rd second of the clock cycle, the preset duration can be any duration between 0 seconds and 7 seconds. The specific value of the preset duration is not limited in this embodiment of the present application.
[0301] In a specific implementation, since the first control unit continuously sends many messages to the second control unit, the relationship between the above-mentioned verification message and the second message must be determined in so many messages before the real-time performance of the second message can be further verified by the verification message. For example, the same synchronization verification information can be set in the verification message and the second message, and the second control unit can determine the relationship between the verification message and the second message based on the same synchronization verification information. The synchronization verification information may include the identification ID of the verification message, the sequence number of the clock cycle in which the verification message is sent, and the verification value of the data in the second message. For ease of understanding, take the above-mentioned first communication network as a CAN network, the verification insulation as a CAN message, the second communication network as an in-vehicle Ethernet, and the second message as an Ethernet message as an example. For example, see Figure 8.
[0302] As shown in Figure 8, the message identifier refers to the identifier generated when the check message is generated. This identifier can be a frame identifier, which is used to identify the sequence number of the frame in which the message is located and also identifies the sequence number of the message. The clock cycle sequence number refers to the sequence number of the clock cycle in which the check message, i.e., the CAN message, is sent. It is also the sequence number of the clock cycle in which the second message, i.e., the Ethernet message, is sent. This clock cycle sequence number can be represented as a sequence counter. The data check value is the check value of the data actually sent in the Ethernet message, i.e., data 1 in Figure 8. Exemplarily, this data check value can be calculated by performing a CRC check or a checksum check on data 1. Data 1 can be user-defined data. The message identifier, clock cycle sequence number, and data check value constitute the synchronization check information mentioned above. In a CAN message, this synchronization check information is carried in the bytes of the CAN message payload. Exemplarily, both the clock cycle sequence number and the data check value can occupy 4 bytes. In an Ethernet message, the message identifier may be loaded into a message header. Then, the clock cycle sequence number, data 1, and data check value may be loaded into the bytes of the payload of the Ethernet message. When the first control unit encapsulates the check message and the Ethernet message, the synchronization check information encapsulated into the check message and the Ethernet message is the same. After the second control unit receives the check message, it may first obtain the synchronization check information in the check message and save it. Then, the second control unit may check the corresponding synchronization check information in the subsequently received Ethernet message. If the synchronization check information in a certain Ethernet message is the same as the synchronization check information in the check message, and the time of receiving the certain Ethernet message is within the range of a preset time length after the check message is received, it may be determined that the certain Ethernet message is valid.
[0303] In one possible implementation, the data check value is not limited to checking data 1, but can also be checking the entire Ethernet message. In this case, the data check value can be a check value for the entire Ethernet message. Exemplarily, the data check value can be obtained by calculating the check value for the entire message using a CRC check or a checksum check.
[0304] In the above embodiment, since the first communication network is a hard real-time system, the transmission delay of messages transmitted on the bus of this network is determined, and the problem of delayed message transmission when congestion occurs in the second communication network described above does not occur. Therefore, the real-time performance of messages on the second communication network is verified by the hard real-time performance and transmission delay determinism of the first communication network. In this way, the determinism and timeliness of transmitted data are ensured, thereby improving the real-time performance of communication between communication systems. The embodiments of the present application can be applied in scenarios where data transmission is sensitive to business information and latency.
[0305] In summary, the present application solution utilizes the first communication network and the second communication network to construct a heterogeneous redundant communication network, implements a heterogeneous communication mode, and solves the common cause failure problem existing in high-functional safety communications between systems.
[0306] This application solution uses a new communication transmission mechanism to effectively improve transmission efficiency. This improved transmission efficiency can transmit more information and significantly shorten transmission time. This shortened transmission time can be used to change the calculation method. By performing calculations in advance and verifying the transmission results, the interactive computing efficiency of the alignment system can be improved, bringing system benefits. This changes the traditional transmission and calculation model.
[0307] This application enables a new data transmission method that can achieve highly reliable in-vehicle communication and encrypted data transmission requirements by placing data on different buses to complete the transmission. This differential transmission method can enhance the security of data transmission, reduce the reliance on complex encryption algorithms, and reduce the cost of secure communication and encrypted transmission.
[0308] Furthermore, by constructing a redundant communication network with a strong real-time first communication network, such as the CAN network, and a non-real-time second communication network, such as in-vehicle Ethernet, the real-time performance of the CAN network can be used to correct the real-time performance constraints of in-vehicle Ethernet communication, completing a real-time constraint communication solution for high-speed transmission networks and enabling real-time communication transformation of Ethernet networks. This allows for real-time performance in redundant communication scenarios.
[0309] The above mainly introduces the communication method in the vehicle provided by the embodiment of the present application. It can be understood that, in order to realize the corresponding functions mentioned above, each control unit or device includes a hardware structure and / or software module corresponding to the execution of each function. In combination with the units and steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0310] The embodiment of the present application can divide the functional modules of the device according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. In actual implementation, there may be other division methods.
[0311] In the case of dividing each functional module into corresponding functional modules, embodiments of the present application further provide an apparatus for implementing any of the above methods. For example, an apparatus is provided that includes a unit (or means) for implementing each step performed by the first control unit in any of the above methods. For another example, another apparatus is provided that includes a unit (or means) for implementing each step performed by the second control unit in any of the above methods.
[0312] For example, please refer to Figure 9, which is a schematic diagram of the structure of a control unit provided in an embodiment of the present application. The control unit 900 shown in Figure 9 can be the first control unit in the above method embodiment. The control unit 900 includes a sending unit 901. Among them:
[0313] The sending unit 901 is configured to send a first message through a first transmission interface;
[0314] The sending unit 901 is further configured to send a second message via the second transmission interface;
[0315] The data in the first message and the data in the second message are related, and the first transmission interface and the second transmission interface follow different communication protocols. The sending unit 901 can be used to implement the sending operation of S301 shown in FIG3 .
[0316] Optionally, the first transmission interface is a controller area network (CAN) interface, and the second transmission interface is an in-vehicle Ethernet interface.
[0317] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data in the first message and the data in the second message are the same.
[0318] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is first target data, and the data included in the first message is verification information, and the verification information is used to verify the first target data.
[0319] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is the second target data, the data included in the first message is the first data, and the first data is part of the second target data.
[0320] Optionally, the data in the first message and the data in the second message may be associated with each other in the following manner: the data in the first message is the second data, the data in the second message is the third data, the second data and the third data are respectively portions of third target data, and the third target data is data to be sent by the first control unit within one or more clock cycles. The second data and the third data are used to restore the third target data.
[0321] In a possible embodiment, the aforementioned first message includes N1 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M1 messages corresponding to the aforementioned second transmission interface, the data encapsulated in the aforementioned N1 messages is the same as the data encapsulated in the aforementioned M1 messages, and the aforementioned N1 and the aforementioned M1 are both integers greater than 0.
[0322] In a possible embodiment, in the first case, M1=1, and the data in the second message includes the data to be sent by the first control unit within one or more clock cycles; or,
[0323] In the second case, the aforementioned N1=M1;
[0324] The first situation includes at least one of the following situations: the second message is a message sent by the first control unit in response to a data collection request of the data collection unit, the second message is a broadcast message or a multicast message, or the second message is a message sent by the first control unit in response to a request of the vehicle status monitoring unit;
[0325] The aforementioned second situation includes that the data in the aforementioned second message is information for controlling the aforementioned vehicle driving operation.
[0326] In a possible embodiment, the second message includes extended information, and the extended information includes one or more of the following: status information of the subsystem where the first control unit is located, control instructions issued by the first control unit, or sensor data collected by the first control unit.
[0327] In a possible embodiment, the aforementioned first message includes N2 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M2 messages corresponding to the aforementioned second transmission interface, the data included in the aforementioned M2 messages is the first target data, the data in the aforementioned N2 messages is verification information, the aforementioned verification information is used to verify the aforementioned first target data, and the aforementioned N2 and the aforementioned M2 are both integers greater than 0.
[0328] In a possible embodiment, the aforementioned first message includes N3 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M3 messages corresponding to the aforementioned second transmission interface, the data included in the aforementioned M3 messages is the second target data, the data in the aforementioned N3 messages is the first data, the aforementioned first data is part of the data in the aforementioned second target data, and the aforementioned N3 and the aforementioned M3 are both integers greater than 0.
[0329] In a possible embodiment, the aforementioned first message includes N4 messages corresponding to the aforementioned first transmission interface, the aforementioned second message includes M4 messages corresponding to the aforementioned second transmission interface, the data of the aforementioned first message is the second data, the data of the aforementioned second message is the third data, the aforementioned second data and the aforementioned third data are respectively partial data in the third target data, the aforementioned third target data is the data to be sent by the aforementioned first control unit within one or more clock cycles, and the aforementioned N4 and the aforementioned M4 are both integers greater than 0.
[0330] Optionally, the second data and the third data are used to restore the third target data.
[0331] In a possible embodiment, the aforementioned first message includes a verification message, the aforementioned verification message and the aforementioned second message include synchronization verification information, the aforementioned verification message and the aforementioned synchronization verification information are used to verify the real-time nature of the aforementioned second message, and the aforementioned synchronization verification information includes the identification ID of the aforementioned verification message, the sequence number of the clock cycle in which the aforementioned verification message is sent, and the verification value of the data in the aforementioned second message.
[0332] In a possible embodiment, the aforementioned first control unit is a control unit included in the steering system of the aforementioned vehicle, a control unit included in the braking system of the aforementioned vehicle, a control unit included in the power system of the aforementioned vehicle, a control unit included in the body domain controller VDC system of the aforementioned vehicle, a vehicle control unit VCU of the aforementioned vehicle, or a control unit included in the autonomous driving and assistance system ADAS of the aforementioned vehicle.
[0333] In a possible embodiment, the first control unit is a control unit included in the VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS;
[0334] The first control unit communicates with the P second control units in the vehicle via the first transmission interface;
[0335] The first control unit communicates with the P second control units respectively through the P second transmission interfaces;
[0336] Wherein, the aforementioned P is an integer greater than 0.
[0337] In a possible embodiment, the first control unit is a control unit of a VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS;
[0338] The first control unit communicates with P second control units in the vehicle via the first transmission interface; P is an integer greater than 0;
[0339] The first control unit communicates with the P second control units through the second transmission interface.
[0340] In a possible embodiment, the first control unit is a control unit of a VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS;
[0341] The first control unit communicates with P second control units in the vehicle via the first transmission interface; P is an integer greater than 0;
[0342] The first control unit communicates with the switching unit in the vehicle through the second transmission interface, and the switching unit is used to forward the message sent by the first control unit to the second control unit through the second transmission interface.
[0343] The specific operations and beneficial effects of each unit in the control unit 900 shown in FIG9 can be found in the corresponding descriptions in FIG3 and its possible embodiments, and will not be repeated here.
[0344] For example, please refer to Figure 10, which is a schematic diagram of the structure of another control unit provided in an embodiment of the present application. The control unit 1000 shown in Figure 10 can be the second control unit in the above method embodiment. The control unit 1000 includes a receiving unit 1001. Among them:
[0345] The receiving unit 1001 is configured to receive a first message through a third transmission interface;
[0346] The aforementioned receiving unit 1001 is further configured to receive a second message through the fourth transmission interface;
[0347] The data in the first message and the data in the second message are related, and the third transmission interface and the fourth transmission interface follow different communication protocols. The receiving unit 1001 can be used to perform the receiving operation in S302 in FIG3 .
[0348] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is first target data, and the data included in the first message is verification information, and the verification information is used to verify the first target data.
[0349] Optionally, the association between the data in the first message and the data in the second message may include the following situation: the data included in the second message is the second target data, the data included in the first message is the first data, and the first data is part of the second target data.
[0350] Optionally, the data in the first message and the data in the second message may be associated with each other in the following manner: the data in the first message is the second data, the data in the second message is the third data, the second data and the third data are respectively portions of third target data, and the third target data is data to be sent by the first control unit within one or more clock cycles. The second data and the third data are used to restore the third target data.
[0351] In a possible embodiment, the aforementioned first message includes N1 messages corresponding to the aforementioned third transmission interface, the aforementioned second message includes M1 messages corresponding to the aforementioned fourth transmission interface, the data encapsulated in the aforementioned N1 messages is the same as the data encapsulated in the aforementioned M1 messages, and the aforementioned N1 and the aforementioned M1 are both integers greater than 0.
[0352] In a possible embodiment, the aforementioned first message includes N2 messages corresponding to the aforementioned third transmission interface, the aforementioned second message includes M2 messages corresponding to the aforementioned fourth transmission interface, the data included in the aforementioned M2 messages is the first target data, the data in the aforementioned N2 messages is verification information, the aforementioned verification information is used to verify the aforementioned first target data, and the aforementioned N2 and the aforementioned M2 are both integers greater than 0.
[0353] In a possible embodiment, the aforementioned first message includes N3 messages corresponding to the aforementioned third transmission interface, the aforementioned second message includes M3 messages corresponding to the aforementioned fourth transmission interface, the data included in the aforementioned M3 messages is the second target data, the data in the aforementioned N3 messages is the first data, the aforementioned first data is part of the aforementioned second target data, and the aforementioned N3 and the aforementioned M3 are both integers greater than 0.
[0354] In a possible embodiment, the aforementioned first message includes N4 messages corresponding to the aforementioned third transmission interface, the aforementioned second message includes M4 messages corresponding to the aforementioned fourth transmission interface, the data of the aforementioned first message is the second data, the data of the aforementioned second message is the third data, the aforementioned second data and the aforementioned third data are respectively partial data in the third target data, the aforementioned third target data is the data to be sent by the aforementioned first control unit within one or more clock cycles, and the aforementioned N4 and the aforementioned M4 are both integers greater than 0.
[0355] Optionally, the second data and the third data are used to restore the third target data.
[0356] In a possible embodiment, the first message includes a check message;
[0357] The second message is determined to be valid if the second control unit receives the second message within a preset time period after the second control unit receives the verification message; or
[0358] When the second message is received by the second control unit after exceeding the preset time period, the second message is determined to be invalid.
[0359] In one possible embodiment, the check message and the second message include synchronization check information, where the synchronization check information includes an identification ID of the check message, a sequence number of a clock cycle in which the check message is sent, and a check value of data in the second message; if the second message is received by the second control unit within a preset time period after the second control unit receives the check message, the second message is determined to be valid, including:
[0360] The second message is determined to be valid if it is received by the second control unit within a preset time period after the second control unit receives the verification message, and the synchronization verification information in the second message is the same as the synchronization verification information in the verification message.
[0361] In a possible embodiment, the time when the first message is received by the second control unit is later than the time when the second message is received by the second control unit;
[0362] The second control unit further includes a calculation unit configured to perform calculations based on data in the second message after the receiving unit 1001 receives the second message through the fourth transmission interface.
[0363] In a possible embodiment, the second control unit further includes a verification unit configured to verify data in the first message and the second message after the receiving unit 1001 receives the first message through the third transmission interface.
[0364] In a possible embodiment, the verification unit is specifically configured to:
[0365] When it is determined that the data in the first message is different from the data in the second message, receiving a third message through the fourth transmission interface based on a retransmission mechanism;
[0366] In a case where the data in the aforementioned third message is identical to the data in the aforementioned second message, an error correction strategy is executed on the data in the aforementioned first message.
[0367] In a possible embodiment, the aforementioned second control unit is a control unit included in the steering system of the aforementioned vehicle, a control unit included in the braking system of the aforementioned vehicle, a control unit included in the power system of the aforementioned vehicle, a control unit included in the body domain controller VDC system of the aforementioned vehicle, a vehicle control unit VCU of the aforementioned vehicle, or a control unit included in the autonomous driving and assistance system ADAS of the aforementioned vehicle.
[0368] In a possible embodiment, the second control unit is a control unit included in a steering system of the vehicle, a control unit included in a braking system of the vehicle, or a control unit included in a power system of the vehicle;
[0369] The aforementioned second control unit communicates with the first control unit through the aforementioned third transmission interface, and the aforementioned second control unit also communicates with the aforementioned first control unit through the aforementioned fourth transmission interface. The aforementioned first control unit is the control unit included in the body domain controller VDC system in the aforementioned vehicle, the vehicle control unit VCU in the aforementioned vehicle, or the control unit included in the autonomous driving and assistance system ADAS in the aforementioned vehicle.
[0370] In a possible embodiment, the second control unit communicates with the switching unit in the vehicle through the fourth transmission interface, and the switching unit is used to forward the message sent by the second control unit to the first control unit through the fourth transmission interface.
[0371] In a possible embodiment, the third transmission interface is a controller area network (CAN) interface, and the fourth transmission interface is an in-vehicle Ethernet interface.
[0372] The specific operations and beneficial effects of each unit in the control unit 1000 shown in FIG10 can be found in the corresponding descriptions in FIG3 and its possible embodiments, and will not be repeated here.
[0373] It should be understood that the division of the various units in the above devices (e.g., the above-mentioned control unit 900 or control unit 1000) is only a division of logical functions. In actual implementation, they can be fully or partially integrated into a physical entity, or they can be physically separated. In addition, the units in the device can be implemented in the form of a processor calling software; for example, the device includes a processor, the processor is connected to a memory, and the memory stores instructions. The processor calls the instructions stored in the memory to implement any of the above methods or realize the functions of the various units of the device, wherein the processor is, for example, a general-purpose processor, such as a central processing unit (CPU) or a microprocessor, and the memory is a memory within the device or a memory outside the device. Alternatively, the units in the device can be implemented in the form of hardware circuits, and the functions of some or all of the units can be realized by designing the hardware circuits. The hardware circuit can be understood as one or more processors. For example, in one implementation, the hardware circuit is an application-specific integrated circuit (ASIC), which realizes the functions of some or all of the above units by designing the logical relationship of the components in the circuit. For another example, in another implementation, the hardware circuit can be implemented by a programmable logic device (PLD). Taking a field programmable gate array (FPGA) as an example, it can include a large number of logic gate circuits, and the connection relationship between the logic gate circuits is configured by configuring the configuration file, thereby realizing the functions of some or all of the above units. All units of the above devices can be implemented in the form of software called by the processor, or in the form of hardware circuits, or in part by software called by the processor, and the rest by hardware circuits.
[0374] In an embodiment of the present application, a processor is a circuit with a signal processing capability. In one implementation, the processor may be a circuit with instruction reading and execution capability, such as a CPU, a microprocessor, a graphics processing unit (GPU) (which can be understood as a microprocessor), or a digital signal processor (DSP); in another implementation, the processor may implement certain functions through the logical relationship of a hardware circuit, and the logical relationship of the hardware circuit is fixed or reconfigurable, such as a hardware circuit implemented by an ASIC or PLD, such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration document and implementing the hardware circuit configuration can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units. In addition, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc.
[0375] It can be seen that each unit in the above device can be one or more processors (or processing circuits) configured to implement the above method, such as: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.
[0376] In addition, the various units in the above apparatus may be fully or partially integrated together, or may be implemented independently. In one implementation, these units are integrated together and implemented in the form of a system-on-a-chip (SOC). The SOC may include at least one processor for implementing any of the above methods or implementing the functions of the various units of the apparatus. The at least one processor may be of different types, for example, including a CPU and an FPGA, a CPU and an artificial intelligence processor, a CPU and a GPU, etc.
[0377] For example, refer to Figure 11, which is a schematic diagram of the structure of a possible physical entity of the control unit provided in this application. The control unit 1100 shown in Figure 11 can be the first control unit in the method described in the above embodiment. The control unit 1100 includes: a processor 1101, a memory 1102, and a communication interface 1103. The processor 1101, the communication interface 1103, and the memory 1102 can be interconnected or interconnected via a bus 1104. The communication interface 1103 can include the first transmission interface and the second transmission interface in the above-mentioned first control unit.
[0378] Exemplarily, the memory 1102 is used to store computer programs and data of the control unit 1100. The memory 1102 may include, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM) or portable read-only memory (CD-ROM).
[0379] The software or program codes required for all or part of the functions of the first control unit in the above method embodiment are stored in the memory 1102 .
[0380] In one possible implementation, if the software or program code required for some functions is stored in the memory 1102, the processor 1101, in addition to calling the program code in the memory 1102 to implement some functions, can also cooperate with other components (such as the communication interface 1103) to jointly complete other functions described in the method embodiment (such as the function of receiving or sending data).
[0381] There may be multiple communication interfaces 1103 , which are used to support the control unit 1100 to communicate, such as receiving or sending data or signals.
[0382] Exemplarily, the processor 1101 may be the CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor types, as described above. The processor 1101 may be configured to read the program stored in the memory 1102 and execute the operations performed by the first control unit in the method described in FIG. 3 and its possible embodiments.
[0383] The specific operations and beneficial effects of each unit in the control unit 1100 shown in FIG11 can be referred to the corresponding description in the above method embodiment, which will not be repeated here.
[0384] For example, refer to Figure 12, which is a schematic diagram of the structure of a possible physical entity of the control unit provided in this application. The control unit 1200 shown in Figure 12 can be the second control unit in the method described in the above embodiment. The control unit 1200 includes: a processor 1201, a memory 1202, and a communication interface 1203. The processor 1201, the communication interface 1203, and the memory 1202 can be interconnected or interconnected via a bus 1204. The communication interface 1203 can include the third transmission interface and the fourth transmission interface in the above-mentioned second control unit.
[0385] Exemplarily, the memory 1202 is used to store computer programs and data of the control unit 1200. The memory 1202 may include but is not limited to RAM, ROM, EPROM or CD-ROM.
[0386] The software or program codes required for all or part of the functions of the second control unit in the above method embodiment are stored in the memory 1202 .
[0387] In one possible implementation, if the software or program code required for some functions is stored in the memory 1202, the processor 1201, in addition to calling the program code in the memory 1202 to implement some functions, can also cooperate with other components (such as the communication interface 1203) to jointly complete other functions described in the method embodiment (such as the function of receiving or sending data).
[0388] There may be multiple communication interfaces 1203 , which are used to support the control unit 1200 to communicate, such as receiving or sending data or signals.
[0389] Exemplarily, the processor 1201 may be the aforementioned CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor types. The processor 1201 may be configured to read the program stored in the memory 1202 and execute the operations performed by the second control unit in the method described in FIG. 3 and its possible embodiments.
[0390] The specific operations and beneficial effects of each unit in the control unit 1200 shown in FIG12 can be referred to the corresponding description in the above method embodiment, which will not be repeated here.
[0391] An embodiment of the present application further provides a communication system, which includes the first control unit and the second control unit in the above method embodiment.
[0392] An embodiment of the present application also provides a chip, which includes a processor and a memory, wherein the memory is used to store computer programs or computer instructions, and the processor is used to execute the computer programs or computer instructions stored in the memory, so that the chip performs the operations performed by the first control unit.
[0393] An embodiment of the present application also provides a chip, which includes a processor and a memory, wherein the memory is used to store computer programs or computer instructions, and the processor is used to execute the computer programs or computer instructions stored in the memory, so that the chip performs the operations performed by the second control unit.
[0394] An embodiment of the present application also provides a chip, which includes a processor, wherein the processor is used to call a computer program or computer instruction stored in a memory, so that the chip executes the operations performed by the first control unit.
[0395] An embodiment of the present application also provides a chip, which includes a processor, wherein the processor is used to call a computer program or computer instruction stored in a memory, so that the chip executes the operations performed by the second control unit.
[0396] An embodiment of the present application also provides a vehicle, which includes the above-mentioned first control unit and / or second control unit.
[0397] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program or computer instructions, and the computer program or computer instructions are executed by a processor to implement the operations performed by the first control unit of any one of the above-mentioned embodiments and possible embodiments thereof.
[0398] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program or computer instructions, and the computer program or computer instructions are executed by a processor to implement the operations performed by the second control unit of any one of the above-mentioned embodiments and possible embodiments thereof.
[0399] An embodiment of the present application further provides a computer program product. When the computer program product is read and executed by a computer, the operations performed by the first control unit of any of the above-mentioned embodiments and possible embodiments thereof will be executed.
[0400] An embodiment of the present application further provides a computer program product. When the computer program product is read and executed by a computer, the operations performed by the second control unit in any of the above-mentioned embodiments and possible embodiments thereof will be executed.
[0401] To sum up, in the present application, data can be transmitted between the first control unit and the second control unit through two transmission interfaces that follow different communication protocols. The data transmitted by the two transmission interfaces are related, that is, a heterogeneous redundant communication method is adopted, which can solve the problem of failure of external interaction of the control unit due to defects in the same transmission technology, improve the interactive performance of the control unit, and also improve the communication security and reliability of the control unit.
[0402] In this application, the terms "first," "second," and the like are used to distinguish between identical or similar items having substantially the same function or effect. It should be understood that "first," "second," and "nth" do not have a logical or temporal dependency, nor do they limit the quantity or order of execution. It should also be understood that although the following description uses the terms "first," "second," and the like to describe various elements, these elements should not be limited by these terms. These terms are simply used to distinguish one element from another.
[0403] It should also be understood that in the various embodiments of the present application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0404] It will also be understood that the term “comprise” (also known as “includes,” “including,” “comprises,” and / or “comprising”) when used in this specification specifies the presence of stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0405] It should also be understood that references throughout this specification to "one embodiment," "an embodiment," or "one possible implementation" mean that specific features, structures, or characteristics associated with that embodiment or implementation are included in at least one embodiment of the present application. Therefore, the appearance of "in one embodiment," "in an embodiment," or "one possible implementation" throughout this specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0406] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some or all of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A communication method in a vehicle, characterized in that: The method includes: The first control unit sends a first message through the first transmission interface; The first control unit sends a second message through the second transmission interface; The data in the first message and the data in the second message are associated, and the first transmission interface and the second transmission interface comply with different communication protocols.
2. The method according to claim 1, characterized in that The first message includes N1 messages corresponding to the first transmission interface, the second message includes M1 messages corresponding to the second transmission interface, the data encapsulated in the N1 messages is the same as the data encapsulated in the M1 messages, and the N1 and M1 are both integers greater than 0.
3. The method according to claim 2, characterized in that In the first case, M1=1, and the data in the second message includes data to be sent by the first control unit within one or more clock cycles; or In the second case, N1=M1; The first situation includes at least one of the following situations: the second message is a message sent by the first control unit in response to a data collection request of a data collection unit, the second message is a broadcast message or a multicast message, or the second message is a message sent by the first control unit in response to a request of a vehicle status monitoring unit; The second situation includes that the data in the second message is information for controlling the driving operation of the vehicle.
4. The method according to claim 2 or 3, characterized in that The second message includes extended information, and the extended information includes one or more of the following: status information of the subsystem where the first control unit is located, a control instruction issued by the first control unit, or sensor data collected by the first control unit.
5. The method according to claim 1, wherein The first message includes N2 messages corresponding to the first transmission interface, and the second message includes M2 messages corresponding to the second transmission interface. The data included in the M2 messages is the first target data, and the data in the N2 messages is verification information, which is used to verify the first target data. Both N2 and M2 are integers greater than 0.
6. The method according to claim 1, characterized in that The first message includes N3 messages corresponding to the first transmission interface, the second message includes M3 messages corresponding to the second transmission interface, the data included in the M3 messages is the second target data, the data in the N3 messages is the first data, the first data is part of the second target data, and the N3 and the M3 are both integers greater than 0.
7. The method according to claim 1, characterized in that The first message includes N4 messages corresponding to the first transmission interface, the second message includes M4 messages corresponding to the second transmission interface, the data of the first message is the second data, the data of the second message is the third data, the second data and the third data are respectively part of the third target data, the third target data is the data to be sent by the first control unit within one or more clock cycles, and the N4 and the M4 are both integers greater than 0.
8. The method according to claim 7, characterized in that The second data and the third data are used to restore the third target data.
9. The method according to any one of claims 1 to 8, characterized in that The first message includes a check message, and the check message and the second message include synchronization check information. The check message and the synchronization check information are used to verify the real-time performance of the second message, and the synchronization check information includes the identification ID of the check message, the sequence number of the clock cycle in which the check message is sent, and the check value of the data in the second message.
10. The method according to any one of claims 1 to 9, characterized in that The first control unit is a control unit included in the steering system of the vehicle, a control unit included in the braking system of the vehicle, a control unit included in the power system of the vehicle, a control unit included in the body domain controller (VDC) system of the vehicle, a vehicle control unit (VCU) of the vehicle, or a control unit included in the autonomous driving and assistance system (ADAS) of the vehicle.
11. The method according to any one of claims 1 to 10, characterized in that The first control unit is a control unit included in the VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS; The first control unit communicates with P second control units in the vehicle via the first transmission interface; The first control unit communicates with the P second control units respectively through the P second transmission interfaces; Wherein, P is an integer greater than 0.
12. The method according to any one of claims 1 to 10, characterized in that The first control unit is a control unit of a VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS; The first control unit communicates with P second control units in the vehicle through the first transmission interface; P is an integer greater than 0; The first control unit communicates with the P second control units through the second transmission interface.
13. The method according to any one of claims 1 to 10, characterized in that The first control unit is a control unit of a VDC system in the vehicle, a vehicle control unit VCU in the VDC system, or a control unit of an autonomous driving and assistance system ADAS; The first control unit communicates with P second control units in the vehicle through the first transmission interface; P is an integer greater than 0; The first control unit communicates with the switching unit in the vehicle through the second transmission interface, and the switching unit is used to forward messages sent by the first control unit to the second control unit through the second transmission interface.
14. The method according to any one of claims 1 to 13, characterized in that The first transmission interface is a controller area network (CAN) interface, and the second transmission interface is an in-vehicle Ethernet interface.
15. A communication method in a vehicle, characterized in that: The method includes: The second control unit receives the first message through the first transmission interface; The second control unit receives a second message through the second transmission interface; The data in the first message and the data in the second message are associated, and the first transmission interface and the second transmission interface comply with different communication protocols.
16. The method according to claim 15, characterized in that The first message includes N1 messages corresponding to the first transmission interface, the second message includes M1 messages corresponding to the second transmission interface, the data encapsulated in the N1 messages is the same as the data encapsulated in the M1 messages, and the N1 and M1 are both integers greater than 0.
17. The method according to claim 15, characterized in that The first message includes N2 messages corresponding to the first transmission interface, and the second message includes M2 messages corresponding to the second transmission interface. The data included in the M2 messages is the first target data, and the data in the N2 messages is verification information, which is used to verify the first target data. Both N2 and M2 are integers greater than 0.
18. The method according to claim 15, characterized in that The first message includes N3 messages corresponding to the first transmission interface, the second message includes M3 messages corresponding to the second transmission interface, the data included in the M3 messages is the second target data, the data in the N3 messages is the first data, the first data is part of the second target data, and the N3 and the M3 are both integers greater than 0.
19. The method according to claim 15, characterized in that The first message includes N4 messages corresponding to the first transmission interface, the second message includes M4 messages corresponding to the second transmission interface, the data of the first message is the second data, the data of the second message is the third data, the second data and the third data are respectively part of the third target data, the third target data is the data to be received by the second control unit within one or more clock cycles, and the N4 and the M4 are both integers greater than 0.
20. The method according to claim 19, characterized in that The second data and the third data are used to restore the third target data.
21. The method according to any one of claims 15 to 20, characterized in that The first message includes a verification message; The second message is determined to be valid if the second control unit receives the second message within a preset time period after the second control unit receives the verification message; or, When the second message is received by the second control unit after exceeding the preset time period, the second message is determined to be invalid.
22. The method according to claim 21, characterized in that The check message and the second message include synchronization check information, the synchronization check information including the identification ID of the check message, the sequence number of the clock cycle in which the check message is sent, and the check value of the data in the second message; The second message is determined to be valid when the second control unit receives the second message within a preset time period after the second control unit receives the verification message, including: The second message is determined to be valid if the second control unit receives the second message within a preset time period after the second control unit receives the verification message, and the synchronization verification information in the second message is the same as the synchronization verification information in the verification message.
23. The method according to claim 16, wherein The time when the first message is received by the second control unit is later than the time when the second message is received by the second control unit; After the second control unit receives the second message through the second transmission interface, the method further includes: The second control unit performs calculations according to the data in the second message.
24. The method according to claim 23, wherein After the second control unit receives the first message through the first transmission interface, the second control unit further includes: The second control unit performs verification processing on the data in the first message and the second message.
25. The method according to claim 24, characterized in that The second control unit performs verification processing on the data in the first message and the second message, including: When it is determined that the data in the first message is different from the data in the second message, the second control unit receives a third message through the second transmission interface based on a retransmission mechanism; In a case where the data in the third message is identical to the data in the second message, the second control unit executes an error correction strategy on the data in the first message.
26. The method according to any one of claims 15 to 25, characterized in that The second control unit is a control unit included in the steering system of the vehicle, a control unit included in the braking system of the vehicle, a control unit included in the power system of the vehicle, a control unit included in the body domain controller (VDC) system of the vehicle, a vehicle control unit (VCU) of the vehicle, or a control unit included in the autonomous driving and assistance system (ADAS) of the vehicle.
27. The method according to any one of claims 15 to 26, characterized in that The second control unit is a control unit included in a steering system of the vehicle, a control unit included in a braking system of the vehicle, or a control unit included in a power system of the vehicle; The second control unit communicates with the first control unit through the first transmission interface, and the second control unit also communicates with the first control unit through the second transmission interface. The first control unit is a control unit included in the body domain controller VDC system in the vehicle, a vehicle control unit VCU in the vehicle, or a control unit included in the autonomous driving and assistance system ADAS in the vehicle.
28. The method according to claim 27, characterized in that The second control unit communicates with the switching unit in the vehicle through the second transmission interface, and the switching unit is used to forward messages sent by the second control unit to the first control unit through the second transmission interface.
29. The method according to any one of claims 15 to 28, characterized in that The first transmission interface is a controller area network (CAN) interface, and the second transmission interface is an in-vehicle Ethernet interface.
30. A communication system, characterized in that: The communication system includes a first control unit and a second control unit, the first control unit is used to execute the method according to any one of claims 1 to 14, and the second control unit is used to execute the method according to any one of claims 15 to 29.
31. A control unit, characterized in that: include: A sending unit, configured to send a first message through a first transmission interface; The sending unit is further configured to send a second message through a second transmission interface; The data in the first message and the data in the second message are associated, and the first transmission interface and the second transmission interface comply with different communication protocols.
32. A control unit, characterized in that: include: A receiving unit, configured to receive a first message through a first transmission interface; The receiving unit is further configured to receive a second message through a second transmission interface; The data in the first message and the data in the second message are associated, and the first transmission interface and the second transmission interface comply with different communication protocols.
33. A controller, characterized in that: The controller includes a control unit and a memory, wherein the memory is used to store a computer program or computer instructions, and the control unit is used to execute the computer program or computer instructions stored in the memory, so that the controller executes the method according to any one of claims 1 to 13; or, the controller executes the method according to any one of claims 15 to 29.
34. A chip, characterized in that: The chip includes a processor and a memory, wherein the memory is used to store computer programs or computer instructions, and the processor is used to execute the computer programs or computer instructions stored in the memory, so that the chip executes the method according to any one of claims 1 to 13; or, the controller executes the method according to any one of claims 15 to 29.
35. A vehicle, characterized in that: The vehicle includes a first control unit and / or a second control unit, the first control unit is used to execute the method according to any one of claims 1 to 14, and the second control unit is used to execute the method according to any one of claims 15 to 29.
36. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program or computer instructions, and the computer program or computer instructions are executed by a processor to implement the method according to any one of claims 1 to 14; Alternatively, the computer-readable storage medium stores a computer program or computer instructions, and the computer program or computer instructions are executed by a processor to implement the method according to any one of claims 15 to 29.
Citation Information
Patent Citations
Data backup method of Internet of Things equipment and Internet of Things equipment
CN110708352A
Communication method, device and system and computer readable storage medium
CN111601285A
Vehicles with disparate communication architectures and multiple gateway modules
CN112937597A
On-vehicle communication system, on-vehicle device, and vehicle communication method
CN113924753A
Vehicle inter-controller communication
US20180063301A1