Dual channel based communication method and system

By employing a dual-channel communication method in the RV control system, utilizing a TCP channel to transmit highly reliable messages and a UDP channel to transmit low-latency messages, the problems of short transmission distance and insufficient bandwidth are solved, enabling efficient transmission of control commands and video streams and improving communication quality.

CN123055770APending Publication Date: 2026-11-06上海松鼠创科技术有限责任公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611382489.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-07
Publication Date
2026-11-06

AI Technical Summary

Technical Problem

In the control system of RVs, the existing communication methods have short transmission distances and insufficient bandwidth, making it impossible to carry video streams. Furthermore, the real-time performance and reliability of different services cannot be simultaneously guaranteed, and the communication quality needs to be improved.

Method used

A dual-channel communication method is adopted, which transmits the first type of application layer messages with reliability requirements through the TCP channel and the second type of application layer messages with latency requirements through the UDP channel, thereby achieving business separation.

Benefits of technology

It improves the real-time performance and reliability of different services, ensures the absolute reliability of control commands, guarantees low-latency transmission of vehicle status and video streams, and enhances communication quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123055770A_ABST
    Figure CN123055770A_ABST
Patent Text Reader

Abstract

This application discloses a dual-channel communication method and system. The dual-channel communication method is applied to in-vehicle control equipment. The method includes: establishing a Transmission Control Protocol (TCP) connection with a domain controller and completing security authentication by exchanging authentication messages with the domain controller; sending a first type of application layer message with reliability requirements to the domain controller via the TCP channel; constructing a UDP channel with the domain controller based on the first type of application layer message, and sending a second type of application layer message with latency requirements to the domain controller via the UDP channel. The above technical solution, while ensuring communication security through security authentication, achieves service separation based on TCP and UDP channels. Highly reliable application layer messages are transmitted via the TCP channel, while low-latency application layer messages are transmitted via the UDP channel, improving the real-time performance or reliability of different services, thereby improving communication quality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of vehicle communication technology, and in particular to a communication method and system based on dual channels. Background Technology

[0002] With the development of vehicle technology, vehicle functions and components are becoming increasingly diversified, leading to higher requirements for in-vehicle communication. Taking RVs as an example, RV control often uses wired switches or single Bluetooth communication, which has short transmission distance, insufficient bandwidth, and cannot support video streams. Ordinary WiFi communication lacks a unified application layer protocol, and data for various services such as control commands, in-vehicle data, and video streams all share the same transmission channel. This results in easily stuttering and delayed transmitted images, chaotic device access, vulnerability to unauthorized control, and an inability to simultaneously ensure the real-time performance and reliability of different services, thus requiring improved communication quality. Summary of the Invention

[0003] This application provides a dual-channel communication method and system to achieve service separation and improve communication quality.

[0004] In a first aspect, embodiments of this application provide a dual-channel communication method applied to vehicle control equipment, comprising: Establish a Transmission Control Protocol (TCP) connection with the domain controller and complete security authentication by exchanging authentication messages with the domain controller; Send a first type of application layer message with reliability requirements to the domain controller via a TCP channel; Based on the first type of application layer messages, a User Datagram Protocol (UDP) channel is constructed with the domain controller, and a second type of application layer messages with latency requirements are sent to the domain controller through the UDP channel.

[0005] Secondly, embodiments of this application also provide a dual-channel communication method applied to a domain controller, including: Establish a TCP connection with the vehicle control device and complete security authentication by exchanging authentication messages with the vehicle control device; Receive first-type application layer messages with reliability requirements sent by the vehicle control device through the TCP channel; Based on the first type of application layer message, a UDP channel is established with the vehicle control device, and a second type of application layer message with delay requirements is sent to the vehicle control device through the UDP channel.

[0006] Thirdly, embodiments of this application also provide a dual-channel communication system, including: the vehicle control device as described in the third aspect and the domain controller as described in the fourth aspect; The vehicle control device and the domain controller adopt a dual-channel communication architecture with separate TCP and UDP channels at the application layer; The vehicle control device sends a first type of application layer message with reliability requirements to the domain controller via a TCP channel. The vehicle control device and the domain controller establish a UDP channel based on the first type of application layer messages; The domain controller sends a second type of application layer message with latency requirements to the vehicle control device through the UDP channel.

[0007] This application provides a dual-channel communication method and system. The dual-channel communication method is applied to in-vehicle control equipment. The method includes: establishing a Transmission Control Protocol (TCP) connection with a domain controller and completing security authentication by exchanging authentication messages with the domain controller; sending a first type of application layer message with reliability requirements to the domain controller via the TCP channel; constructing a UDP channel with the domain controller based on the first type of application layer message, and sending a second type of application layer message with latency requirements to the domain controller via the UDP channel. This technical solution, while ensuring communication security through security authentication, achieves service separation based on TCP and UDP channels. Highly reliable application layer messages are transmitted via the TCP channel, while low-latency application layer messages are transmitted via the UDP channel, improving the real-time performance or reliability of different services, thereby improving communication quality. Attached Figure Description

[0008] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.

[0009] Figure 1 A flowchart illustrating a dual-channel communication method provided in an embodiment of this application; Figure 2 A schematic diagram illustrating the communication process between an in-vehicle control device and a domain controller, provided as an embodiment of this application; Figure 3 A flowchart illustrating another dual-channel communication method provided in this application embodiment; Figure 4 This is a schematic diagram of the structure of an in-vehicle control device provided in an embodiment of this application; Figure 5This application provides a schematic diagram of the structure of a domain controller according to an embodiment of the present application. Figure 6 This is a schematic diagram of a dual-channel communication system provided in an embodiment of this application. Detailed Implementation

[0010] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the present application are shown in the drawings, not all structures. Moreover, unless otherwise specified, the embodiments and features described in the present application can be combined with each other.

[0011] Before discussing the exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the steps as sequential processes, many of these steps can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the steps can be rearranged. The process can be terminated when its operation is complete, but may also have additional steps not included in the figures. The process can correspond to a method, function, procedure, subroutine, subroutine, etc.

[0012] It should be noted that the concepts of "first" and "second" mentioned in the embodiments of this application are only used to distinguish different devices, modules, units or other objects, and are not used to limit the order of functions performed by these devices, modules, units or other objects or their interdependencies.

[0013] In the embodiments of this application, "multiple" refers to at least two unless otherwise specified.

[0014] In the embodiments of this application, "A / B" refers to A and / or B when there is no conflict, and can refer to A or B when there is a conflict.

[0015] The acquisition, storage, use, and processing of data in this application all comply with the relevant provisions of national laws and regulations.

[0016] In the embodiments of this application, certain software, components, models and other existing solutions in the industry may be mentioned. These should be regarded as exemplary and are only intended to illustrate the feasibility of implementing the technical solution of this application. However, they do not mean that the applicant has used or necessarily used the relevant content of the solution.

[0017] Figure 1This flowchart illustrates a dual-channel communication method provided in this application embodiment, applicable to the transmission of vehicle-mounted service data. Specifically, this dual-channel communication method can be executed by a dual-channel communication device, which can be implemented through software and / or hardware and integrated into the vehicle control equipment. The vehicle control equipment includes, but is not limited to, electronic devices with vehicle data processing or control functions such as computers, smartphones, servers, and in-vehicle tablets (PADs). These electronic devices can install applications (Apps) for controlling the vehicle and support technologies such as WiFi, TCP / UDP, and H.264 decoding. The core functions of the vehicle control equipment include monitoring vehicle status and issuing control commands to the vehicle.

[0018] like Figure 1 As shown, the method specifically includes the following steps: S110. Establish a Transmission Control Protocol (TCP) connection with the domain controller and complete security authentication by exchanging authentication messages with the domain controller.

[0019] For example, the vehicle control device establishes a TCP connection with a domain controller (such as a cockpit domain controller CDC). Through the TCP connection, it can exchange authentication messages with the domain controller. For instance, the vehicle control device initiates an authentication request message, the domain controller completes device authentication and returns an authentication response message. During this process, the vehicle control device can obtain the session key with the domain controller, thereby ensuring the security of subsequent communication processes.

[0020] S120. Send a first type of application layer message with reliability requirements to the domain controller via the TCP channel.

[0021] For example, the TCP channel can be used to send the first type of application layer messages to the domain controller. The first type of application layer messages mainly refer to application layer messages with certain reliability requirements, mainly related to the transmission of high-reliability services, such as control commands, vehicle status information, heartbeat messages, etc.

[0022] S130. Construct a UDP channel with the domain controller based on the first type of application layer message, and receive the second type of application layer message with delay requirements sent by the domain controller through the UDP channel.

[0023] For example, based on the first type of application layer messages, a UDP channel can be established between the vehicle controller and the domain controller. The UDP channel can be used to transmit the second type of application layer messages sent by the domain controller. The second type of application layer messages mainly refer to application layer messages with certain latency requirements, mainly concerning low-latency services, such as the transmission of audio or video stream data.

[0024] In this embodiment, at the network layer, the vehicle control device can connect to the vehicle's software access point (SoftAP) in Station (STA) mode, using IPv4 addressing and a preset network segment. At the transport layer, a TCP+UDP dual-channel architecture is primarily adopted. The TCP channel is used for authentication, control command transmission, heartbeat message transmission, and error reporting, primarily to ensure reliable data transmission. The UDP channel is used for periodic broadcasting of vehicle status information, transmission of audio streams, and transmission of video streams (such as 360° vehicle monitoring images), primarily to ensure low latency and high bandwidth, improving audio and video smoothness. At the application layer, both types of application layer messages follow a unified format, such as a 12-byte general message header + variable-length payload + cyclic redundancy check (CRC), and are transmitted in big-endian order (multi-byte data is transmitted with the most significant byte first (lower address) and the least significant byte last (higher address)).

[0025] This application provides a dual-channel communication method, offering a robust, secure, real-time, and scalable communication architecture. While ensuring secure communication through authentication, it separates services based on TCP and UDP channels. The TCP channel transmits highly reliable application-layer messages, ensuring the absolute reliability of critical messages such as control commands and authentication. The UDP channel transmits low-latency application-layer messages, ensuring smooth, uninterrupted, and low-latency real-time applications such as vehicle status and video streams. This enables intelligent vehicle control, status information monitoring, and low-latency 360° image display, improving the real-time performance and reliability of different services, thereby enhancing communication quality.

[0026] In one embodiment, the first type of application layer messages includes at least one of the following: authentication messages (such as authentication request messages and authentication response / acknowledgment messages), control command messages (such as messages sending control commands and command response / result messages), heartbeat messages (used to transmit heartbeat messages), and error reporting messages (used to report vehicle errors and anomalies); the second type of application layer messages includes at least one of the following: messages encapsulating vehicle status information, and messages encapsulating video stream data. Based on this, by classifying application layer messages and using appropriate channels for each type of message, zero loss of critical communication content is ensured from the application layer design perspective, while high-speed paths are reserved for streaming media data requiring high bandwidth and high real-time performance, thus optimizing the overall system resource utilization.

[0027] In one embodiment, application layer messages transmitted over TCP and UDP channels follow a uniform format. Both the first and second types of application layer messages include at least header data, payload data, and checksum data; wherein the header data can be used to guide message parsing, routing, control, and processing, ensuring that the receiver can correctly understand and handle the message body, and may include a Start of Frame (SOF) field for synchronization. Payload data is used to carry the specific content of the corresponding application layer messages, such as vehicle status information, control command content, video stream data, heartbeat data, error or abnormal information about the vehicle, etc., and its length is variable. The verification data includes at least a cyclic redundancy check code calculated based on the application layer message, such as CRC16 (0x8005, initial value 0xFFFF), which covers the entire segment from the start flag (SOF) to the payload data. Messages with incorrect CRC can be discarded directly.

[0028] Based on this, a unified message format is defined for TCP and UDP dual channels at the application layer, which solves the problems of inconsistent data processing and scattered parsing logic between heterogeneous channels. This greatly simplifies the software implementation stack of the communication protocol, improves code reusability and system maintainability, and effectively reduces the transmission error rate and improves the reliability of data transmission through SOF synchronization and CRC16 check.

[0029] In one embodiment, the message header data includes at least one of the following fields: The Start of Frame (SOF) field is used by the domain controller to synchronize received application layer messages. It can be 2 bytes, fixed at 0x5A5A, and is used for message synchronization. Protocol version (Version) is used to identify the protocol version used by the corresponding application layer message. It can be 1 byte and supports iterative expansion. The message type (MsgType) is used to indicate the purpose and / or parsing method of the corresponding application layer message. It can be 1 byte and can be divided according to the transmitted data content (such as authentication, control commands, heartbeat messages, errors or exceptions, vehicle status data, etc.). The message sequence number (MsgID) is used to identify the corresponding application layer message. It can be 4 bytes and is used by the receiver for deduplication and request-response matching. A timestamp is used to indicate the freshness and / or timing of the corresponding application layer message. It can be 9 bytes and can be used for anti-replay and timing restoration. The address information of the load data is used to indicate the source address (SrcAddr) and / or destination address (DstAddr) of the load data. The source address can be 1 byte and can be used to identify the vehicle control device. The destination address can be 1 byte and can be used to identify the domain controller; PayloadLen indicates the length of the payload data. It can be 2 bytes and supports variable lengths from 0 to 65535.

[0030] Based on this, it provides the application layer with fine-grained communication control capabilities such as end-to-end message boundary synchronization, protocol evolution, request-response matching, packet loss detection, and timing management.

[0031] In one embodiment, the first type of application layer message includes control instruction messages; the payload data contains an instruction set, which is defined hierarchically by instruction type (CmdClass) and instruction code, wherein the instruction code is used to indicate the specific instruction under the corresponding instruction type.

[0032] For example, control command messages can be transmitted in the format of a message header, payload data, and a cyclic redundancy check (CRC) code. The payload data includes a set of commands, where command types can include basic vehicle commands (such as engine shutdown commands, power switch commands, etc.), air conditioning commands (such as commands to turn the air conditioning on / off or adjust the temperature), chassis commands, new energy vehicle commands, scene modes, 360-degree camera commands (such as commands to turn the camera on / off, display modes, etc.), and audible alarms (such as seatbelt warnings, obstacle nearby warnings, lane departure warnings, etc.).

[0033] Specifically, for control command messages, the load data may include the following parts: Command type (CmdClass), such as basic vehicle commands or air conditioning commands; The instruction code (CmdCode) is used to indicate the specific instruction under the corresponding instruction type, such as instruction 1 (stop engine instruction) in the basic vehicle instructions; The instruction length (ParamLen) is used to indicate the length of a control instruction message or instruction parameter. Command parameters are the specific parameter values ​​for control commands. For example, 0 indicates that a certain function is turned off, and 1 indicates that a certain function is turned on. Based on this, the transmission of control command messages is standardized, unambiguous, and easy to maintain.

[0034] A typical example of a control command is as follows: The vehicle control device sends a control command to the domain controller to turn off the bedroom light via the TCP channel: CmdClass=0x10, CmdCode=0x0002, Param=0x02; The domain controller responded successfully and sent the response result to the vehicle control device via the TCP channel: Result=0x00.

[0035] Based on this, the macroscopic scalability and microscopic precision of the instruction space are taken into account, the reliability of the transmission of vehicle control instructions is improved, the risk of naming conflicts and parsing confusion caused by the increase of instructions is reduced, and the function is conducive to continuous iteration.

[0036] In one embodiment, the second type of application layer message includes multiple UDP packets encapsulated from video stream data. Each UDP packet contains video header information and payload data, specifically video data (VideoData). The video header information includes: Stream ID is used to identify the current video stream data; The frame sequence number (FrameSeq) is used to identify the current frame; The packet sequence number (PacketSeq) is used to identify the current UDP packet; Total number of packets in the current frame (TotalPackets) The packet size indicates the total number of UDP packets contained in the current frame. A timestamp is used to indicate the timing of the current frame.

[0037] For example, the video stream data is encapsulated into multiple UDP packets, each of which includes video header information (i.e., message header) and video data (i.e. payload data). For example, the fields in the video header information are shown in Table 1.

[0038] Table 1. Fields in the video header information Based on this, by encapsulating video stream data into UDP packets and adding video header information to each packet, the problem of packet loss and out-of-order delivery caused by the connectionless, unordered, and boundaryless nature of the UDP protocol itself is effectively solved. When transmitting video stream data, it can provide the receiving end with the necessary information to restore the original video frame boundaries, enabling efficient low-latency video transmission on unreliable transmission protocols.

[0039] In one example, the video stream data is encoded using H.264 Baseline. The resolution is 720p / 1080p, and the frame rate is 25~30fps. UDP packets carry frame sequence numbers and packet sequence numbers, supporting packet loss resynchronization and intra-coded frame (I-frame) refresh. It should be noted that the video stream data in this embodiment can refer to the vehicle's monitoring video, collected by sensors installed on the vehicle and sent to the vehicle control equipment via the UDP channel.

[0040] In one embodiment, the second type of application layer message includes a message encapsulating video stream data; after receiving the second type of application layer message with latency requirements sent by the domain controller via the UDP channel, the method further includes: reassembling the payload data from different UDP packets according to the frame sequence number and packet sequence number contained in the video header information to obtain a complete video encoded frame.

[0041] For example, the vehicle control device sends a control command to the domain controller to activate the surround-view camera via a TCP channel. The domain controller replies with a successful activation response via a TCP channel and pushes an H.264 UDP video stream to the vehicle control device via a UDP channel. The vehicle control device receives the video stream and decodes and displays it.

[0042] Specifically, after receiving UDP data packets, the vehicle control equipment can sequentially assemble the video data from each UDP data packet into frames based on the frame sequence number and packet sequence number in each UDP data packet, and then reassemble the frames into a video stream, which is then decoded and displayed. For example, for frame sequence number i, if there are x UDP data packets with packet sequence numbers i1, i2, ... ix, then regardless of whether these x UDP data packets are received sequentially, the vehicle control equipment can accurately reassemble the video data from these x UDP data packets into frame i based on the packet sequence number.

[0043] Based on this, it can ensure accurate reassembly of out-of-order or interleaved UDP packets, resulting in smoother video streaming with lower latency. It also supports H.264+UDP packet reassembly, making vehicle driving or use (such as reversing, changing lanes, or turning) safer.

[0044] In one embodiment, security authentication is performed by exchanging authentication messages with the domain controller, including: Send an authentication request message through the TCP channel; The authentication response message, which is sent by the domain controller after verifying the legitimacy of the vehicle control device, is received through the TCP channel. The authentication response message carries a session identifier and a session key.

[0045] Based on this, the authentication process is bound to a highly reliable TCP transmission channel, ensuring that the authentication process itself is not eavesdropped on or tampered with. At the same time, the successfully established session key provides a foundation for possible subsequent encrypted communication, which can guarantee the security of communication and effectively prevent unauthorized access and instruction tampering.

[0046] Figure 2 A schematic diagram illustrating the communication process between an in-vehicle control device (PAD) and a domain controller (CDC) is shown. Figure 2 As shown, the communication process includes: PAD Connecting to Vehicle: The PAD connects to the CDC via WiFi and obtains the CDC's IP address; Establish TCP connection: PAD requests to establish a TCP connection with CDC and receives TCP connection confirmation (ACK) messages from CDC; Exchanging authentication messages with CDC: PAD sends an authentication request carrying the device ID to CDC through the TCP channel and receives the authentication response returned by CDC, which may include the session identifier and session key; The first type of application layer message transmission: PAD can send video stream requests to CDC through the TCP channel, send control commands to CDC, and receive command response results or status update results returned by CDC. The second type of application layer message transmission: CDC can periodically broadcast vehicle status information through the UDP channel, and can also transmit messages encapsulated with video streams; After receiving the second type of application layer message, PAD can parse it based on the UDP protocol; for messages encapsulating video streams, it can reassemble them to obtain complete video encoded frames.

[0047] In addition, PAD and CDC can send bidirectional heartbeat messages through the TCP channel to keep the device alive, and can proactively notify the user at any time if the heartbeat is abnormal.

[0048] The dual-channel communication method described in this application provides a unified, scalable application layer protocol with verification and authentication, ensuring stable and secure communication. It also separates control commands, status information, and video streams, guaranteeing reliable control, efficient status transmission, and low-latency video transmission. This supports centralized control and real-time status feedback for all vehicle equipment, including lights, air conditioning, chassis, and 360-degree imaging. Figure 3This is a flowchart illustrating a dual-channel communication method provided in an embodiment of this application. Specifically, this dual-channel communication method can be executed by a dual-channel communication device, which can be implemented through software and / or hardware and integrated into a domain controller. The domain controller primarily refers to the controller (CDC) of the vehicle cockpit or space cabin domain, and can integrate WiFi hotspots, CAN communication, video encoding, protocol stacks, etc.

[0049] like Figure 3 As shown, the method specifically includes the following steps: S210. Establish a TCP connection with the vehicle control device and complete security authentication by exchanging authentication messages with the vehicle control device. S220. Receive the first type of application layer message with reliability requirements sent by the vehicle control device through the TCP channel; S230. Based on the first type of application layer message, a UDP channel is established with the vehicle control device, and a second type of application layer message with delay requirements is sent to the vehicle control device through the UDP channel.

[0050] Building upon this foundation, and ensuring secure communication through authentication, service separation is achieved using TCP and UDP channels. Highly reliable application-layer messages are transmitted via TCP, while low-latency application-layer messages are transmitted via UDP. This improves the real-time performance and reliability of different services, thereby enhancing overall communication quality. In one embodiment, the first type of application layer message includes at least one of the following: authentication message, control instruction message, heartbeat message, and error reporting message; The second type of application layer message includes at least one of the following: a message encapsulating vehicle status information, or a message encapsulating video stream data.

[0051] In one embodiment, the first type of application layer message and the second type of application layer message include at least message header data, payload data, and verification data: The message header data is used at least to guide the parsing, routing, control, and processing of the corresponding application layer messages; The payload data is used to carry the specific content of the corresponding application layer message, and its length is variable. The verification data includes at least a cyclic redundancy check code calculated based on the corresponding application layer message.

[0052] In one embodiment, the message header data includes at least one of the following fields: The frame start identifier field is used by the domain controller to synchronize received application layer messages; Protocol version, used to identify the protocol version used by the corresponding application layer message; Message type, used to indicate the purpose and / or parsing method of the corresponding application layer message; Message sequence number, used to identify the corresponding application layer message; Timestamps are used to indicate the freshness and / or timing of the corresponding application layer messages; The address information of the load data is used to indicate the source address and / or destination address of the load data; Load length, used to indicate the length of the load data.

[0053] In one embodiment, the first type of application layer message includes control instruction messages; the payload data includes an instruction set, which is defined hierarchically by instruction type and instruction code, wherein the instruction code identifies a specific instruction under the corresponding instruction type.

[0054] In one embodiment, the second type of application layer message includes multiple UDP packets encapsulated from video stream data, each UDP packet containing video header information and video data; wherein, the video header information includes: stream identifier, frame sequence number, packet sequence number, total number of packets in the current frame, data length of this packet, and timestamp.

[0055] In one embodiment, the second type of application layer message includes periodically broadcast status information.

[0056] In one embodiment, the step of completing security authentication by exchanging authentication messages with the domain controller includes: Authentication request messages are received through the TCP channel; Through the TCP channel, after verifying the legitimacy of the vehicle control device, an authentication response message is sent, which carries a session identifier and a session key.

[0057] The dual-channel communication device provided in this application embodiment can be used to execute the dual-channel communication method provided in any of the above embodiments, and has corresponding functions and beneficial effects.

[0058] Figure 4 and Figure 5 Schematic diagrams of the vehicle control device 10 and the domain controller 20 are shown respectively. The components, their connections and relationships, and their functions shown herein are merely examples and are not intended to limit the implementation of the present application described and / or claimed herein.

[0059] like Figure 4As shown, the vehicle control device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer programs stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 can also store various programs and data required for the operation of the vehicle control device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0060] Multiple components in the vehicle control device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, optical disk, etc.; and a communication unit 19, such as a network card, modem, wireless transceiver, etc. The communication unit 19 allows the vehicle control device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks and wireless networks.

[0061] like Figure 5 As shown, the domain controller 20 includes at least one processor 21 and memory, such as read-only memory (ROM) 22 and random access memory (RAM) 23, communicatively connected to the at least one processor 21. The memory stores computer programs executable by the at least one processor. The processor 21 can perform various appropriate actions and processes based on the computer programs stored in the ROM 22 or loaded from storage unit 28 into the RAM 23. The RAM 23 may also store various programs and data required for the operation of the vehicle control device 10. The processor 21, ROM 22, and RAM 23 are interconnected via a bus 24. An input / output (I / O) interface 25 is also connected to the bus 24.

[0062] Multiple components in the domain controller 20 are connected to the I / O interface 25, including: input units 26, such as a keyboard and mouse; output units 27, such as various types of displays and speakers; storage units 28, such as disks and optical discs; and communication units 29, such as network interface cards, modems, and wireless transceivers. The communication unit 29 allows the domain controller 20 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks and wireless networks.

[0063] Processor 11 or processor 12 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above.

[0064] In some embodiments, the methods described above can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18 or storage unit 28. In some embodiments, part or all of the computer program can be loaded and / or installed on the vehicle control device 10 via ROM 12 and / or communication unit 19, or loaded and / or installed on the domain controller 20 via ROM 22 and / or communication unit 29. When the computer program is loaded into RAM and executed by a processor, one or more steps of the methods described above can be performed. Alternatively, in other embodiments, processor 11 or processor 12 can be configured to perform the methods of any of the embodiments described above by any other suitable means (e.g., by means of firmware).

[0065] This application also provides a dual-channel communication system. For example... Figure 6 As shown, the system includes: an in-vehicle control device 10 as described in any of the above embodiments and a domain controller 20 as described in any of the above embodiments; the in-vehicle control device 10 and the domain controller 20 adopt a dual-channel communication architecture with separate TCP and UDP channels at the application layer; the in-vehicle control device 10 sends a first type of application layer message with reliability requirements to the domain controller 20 through the TCP channel; the in-vehicle control device 10 and the domain controller 20 construct a UDP channel based on the first type of application layer message; the domain controller 20 sends a second type of application layer message with latency requirements to the in-vehicle control device 10 through the UDP channel.

[0066] Building upon this foundation, and ensuring secure communication through authentication, service separation was implemented using TCP and UDP channels. Highly reliable application-layer messages were transmitted via TCP, while low-latency application-layer messages were transmitted via UDP, improving the real-time performance and reliability of different services, thereby enhancing communication quality. Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input and at least one output device, and transferring data and instructions to the storage system, the at least one input and the at least one output device.

[0067] Computer programs used to implement the methods of this application may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0068] In the context of this application, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0069] To provide interaction with the user, the systems and techniques described herein can be implemented on an in-vehicle control device 10, which includes: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the in-vehicle control device 10. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0070] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0071] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0072] This application also provides a computer program product, including a computer program and / or instructions, which, when executed by a processor, implement the dual-channel communication method as described in any of the above embodiments.

[0073] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this application can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this application can be achieved, and this is not limited herein.

[0074] The specific embodiments described above do not constitute a limitation on the scope of protection of this application. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A dual-channel communication method, characterized in that, Applied to in-vehicle control equipment, the method includes: Establish a Transmission Control Protocol (TCP) connection with the domain controller and complete security authentication by exchanging authentication messages with the domain controller; Send a first type of application layer message with reliability requirements to the domain controller via a TCP channel; Based on the first type of application layer messages, a User Datagram Protocol (UDP) channel is constructed with the domain controller, and a second type of application layer messages with delay requirements are received from the domain controller through the UDP channel.

2. The method according to claim 1, characterized in that, The first type of application layer message includes at least one of the following: Authentication messages, control command messages, heartbeat messages, and error reporting messages; The second type of application layer message includes at least one of the following: Messages encapsulating vehicle status information and messages encapsulating video stream data.

3. The method according to claim 1, characterized in that, Both the first type of application layer message and the second type of application layer message include at least message header data, payload data, and verification data. The message header data is used at least to guide the parsing, routing, control, and processing of the corresponding application layer messages; The payload data is used to carry the specific content of the corresponding application layer message, and its length is variable. The verification data includes at least a cyclic redundancy check code calculated based on the corresponding application layer message.

4. The method according to claim 3, characterized in that, The message header data includes at least one of the following fields: The frame start identifier field is used by the domain controller to synchronize received application layer messages; Protocol version, used to identify the protocol version used by the corresponding application layer message; Message type, used to indicate the purpose and / or parsing method of the corresponding application layer message; Message sequence number, used to identify the corresponding application layer message; Timestamps are used to indicate the freshness and / or timing of the corresponding application layer messages; The address information of the load data is used to indicate the source address and / or destination address of the load data; Load length, used to indicate the length of the load data.

5. The method according to claim 3, characterized in that, The first type of application layer message includes control instruction messages; the payload data contains an instruction set, which is defined hierarchically by instruction type and instruction code, wherein the instruction code is used to indicate the specific instruction under the corresponding instruction type.

6. The method according to claim 3, characterized in that, The second type of application layer message includes multiple UDP packets encapsulated from video stream data, each UDP packet containing video header information and the payload data; wherein the video header information includes at least one of the following: Stream identifier, used to identify the current video stream data; Frame sequence number, used to identify the current frame; Packet sequence number, used to identify the current UDP packet; Total number of packets in the current frame, used to indicate the total number of UDP packets contained in the current frame; The length of this packet indicates the length of the current UDP packet. A timestamp is used to indicate the timing of the current frame.

7. The method according to claim 6, characterized in that, After receiving the second type of application layer message with latency requirements sent by the domain controller via the UDP channel, the method further includes: Based on the frame sequence number and packet sequence number contained in the video header information, the payload data from different UDP packets are reassembled to obtain a complete video encoded frame.

8. The method according to claim 1, characterized in that, The step of completing security authentication by exchanging authentication messages with the domain controller includes: Send an authentication request message through the TCP channel; The authentication response message, which is sent by the domain controller after verifying the legitimacy of the vehicle control device, is received through the TCP channel. The authentication response message carries a session identifier and a session key.

9. A communication method based on dual channels, characterized in that, Applied to a domain controller, the method includes: Establish a TCP connection with the vehicle control device and complete security authentication by exchanging authentication messages with the vehicle control device; Receive first-type application layer messages with reliability requirements sent by the vehicle control device through the TCP channel; Based on the first type of application layer message, a UDP channel is established with the vehicle control device, and a second type of application layer message with delay requirements is sent to the vehicle control device through the UDP channel.

10. A dual-channel communication system, characterized in that, This includes onboard control equipment and domain controllers; The vehicle control device and the domain controller adopt a dual-channel communication architecture with separate TCP and UDP channels at the application layer; The vehicle control device sends a first type of application layer message with reliability requirements to the domain controller via a TCP channel. The vehicle control device and the domain controller establish a UDP channel based on the first type of application layer messages; The domain controller sends a second type of application layer message with latency requirements to the vehicle control device through the UDP channel.