Data transmission method and device, switching equipment, system, medium and product

By utilizing switching equipment to determine the data transmission path in intelligent vehicles and adopting fiber optic Ethernet technology, the cost and efficiency issues of high-bandwidth camera data transmission in intelligent vehicles have been solved, achieving low-cost and high-efficiency multi-channel data transmission.

CN122093315APending Publication Date: 2026-05-26BEIJING CO WHEELS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411697964.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-25
Publication Date
2026-05-26

Smart Images

  • Figure CN122093315A_ABST
    Figure CN122093315A_ABST
Patent Text Reader

Abstract

The invention discloses a data transmission method and device, switching equipment, a system, a medium and a product. The method comprises the steps that data of data acquisition equipment is acquired, the data comprises an address and a target address of the data acquisition equipment, and the target address corresponds to at least one target controller; determining a transmission path from the data to at least one target controller according to the address of the data acquisition device, the target address and the interface of the switching device; and transmitting the data to the target address according to the transmission path. According to the technical scheme, the transmission path of the data from the data acquisition device to the at least one target controller is determined by using the interface of the switching device, transmission to any one or more target controllers can be supported by using the target address during data transmission, multiple pairs of serial deserializers are not needed, and complex wiring is also avoided; and low-cost and efficient data transmission is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of data processing technology, and in particular to a data transmission method, apparatus, switching equipment, system, medium and product. Background Technology

[0002] In-vehicle video communication typically uses Low-Voltage Differential Signaling (LVDS) cables for transmission to achieve video transmission from the camera to the controller. Mainstream LVDS video transmission is based on the Gigabit Multimedia Serial Links (GMSL) protocol, supporting speeds up to 6Gbps, which can meet the bandwidth requirements of 30fps for commonly used 2MP / 3MP / 8MP cameras in smart cars. If the camera frame rate is 50fps, the bandwidth requirement may be as high as 9.6Gb / s, and for a 3K screen, the bandwidth requirement is approximately 7.6Gb / s. With the development of intelligent vehicles in intelligent driving, Advanced Driving Assistance Systems (ADAS) have increasingly higher requirements for high-definition cameras; 12MP cameras are already used in mass-produced vehicles, and the bandwidth demand will continue to increase. The single-channel GMSL protocol is insufficient to meet these bandwidth requirements.

[0003] To achieve high-bandwidth transmission, two LVDS channels need to be used simultaneously. This requires two pairs of serializers (SerDes) and cables for serialization and deserialization, increasing costs. If camera data needs to be transmitted to multiple controllers for processing simultaneously, the physical cabling for multiplex transmission further increases costs and cannot guarantee that each data stream will meet transmission latency requirements, thus compromising data transmission efficiency. Therefore, achieving low-cost, high-efficiency multi-channel data transmission has become a pressing issue. Summary of the Invention

[0004] This invention provides a data transmission method, apparatus, switching equipment, system, medium, and product to achieve low-cost and efficient data transmission.

[0005] In a first aspect, embodiments of this application provide a data transmission method, including:

[0006] Acquire data from a data acquisition device, the data containing the address of the data acquisition device and a target address, the target address corresponding to at least one target controller;

[0007] The transmission path of the data to the at least one target controller is determined according to the address of the data acquisition device, the target address, and the interface of the switching device;

[0008] The data is transmitted to the target address according to the transmission path.

[0009] Secondly, embodiments of this application also provide a data transmission apparatus, including:

[0010] An acquisition module is used to acquire data from a data acquisition device, the data including the address of the data acquisition device and a target address, the target address corresponding to at least one target controller;

[0011] The path determination module is used to determine the transmission path of the data to the at least one target controller according to the address of the data acquisition device, the target address, and the interface of the switching device;

[0012] A transmission module is used to transmit the data to the target address according to the transmission path.

[0013] Thirdly, embodiments of this application also provide a switching device, including:

[0014] At least one processor;

[0015] A memory communicatively connected to the at least one processor; wherein,

[0016] The memory stores a computer program that can be executed by the at least one processor, which enables the at least one processor to perform the data transmission method described above.

[0017] Fourthly, embodiments of this application also provide a data transmission system, including: at least one data acquisition device, at least one controller, and at least one of the above-described switching devices; each of the switching devices is connected to at least one data acquisition device via an optical fiber and to at least one controller;

[0018] The switching device is used to transmit the data to the target address according to the address of the data acquisition device, the target address and the interface of the switching device, and the target address corresponds to at least one target controller.

[0019] Fifthly, embodiments of this application also provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the above-described data transmission method.

[0020] Sixthly, embodiments of this application also provide a computer program product, including a computer program and / or instructions, which, when executed by a processor, implement the aforementioned data transmission method.

[0021] This application provides a data transmission method, apparatus, switching device, system, medium, and product. The method includes: acquiring data from a data acquisition device, the data containing the address of the data acquisition device and a target address, the target address corresponding to at least one target controller; determining a transmission path from the data acquisition device to the at least one target controller according to the address of the data acquisition device, the target address, and the interface of the switching device; and transmitting the data to the target address according to the transmission path. This technical solution utilizes the interface of the switching device to determine the transmission path of data from the data acquisition device to at least one target controller. During data transmission, the target address can be used to support transmission to any one or more target controllers, eliminating the need for multiple pairs of serializers and avoiding complex wiring, thus achieving low-cost and efficient data transmission. Attached Figure Description

[0022] 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.

[0023] Figure 1 A flowchart illustrating a data transmission method provided in an embodiment of this application;

[0024] Figure 2 This is a schematic diagram of a vehicle-mounted fiber optic Ethernet video transmission according to one embodiment;

[0025] Figure 3 This is a schematic diagram illustrating a method for tunneling data according to one embodiment.

[0026] Figure 4 This is a schematic diagram of the structure of a data transmission device provided in an embodiment of this application;

[0027] Figure 5 A schematic diagram of the structure of a switching device is provided for one embodiment;

[0028] Figure 6 This is a schematic diagram of a data transmission system provided in one embodiment. Detailed Implementation

[0029] 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 application and not intended to limit it. Furthermore, it should be noted that, for ease of description, the accompanying drawings show only the parts relevant to the present application, not the entire structure.

[0030] 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.

[0031] 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.

[0032] Furthermore, the embodiments and features described in this application may be combined with each other, unless otherwise specified.

[0033] Figure 1 This is a flowchart illustrating a data transmission method provided in an embodiment of this application. This embodiment is applicable to data transmission between devices. Specifically, the data transmission method can be executed by a data transmission device, which can be implemented in software and / or hardware and integrated into a switching device. It should be noted that this method can be implemented using a single switching device or a group of switching devices (including at least two switching devices). In this case, each switching device within the group can forward data within the group according to the transmission path. For ease of description, this embodiment primarily uses data transmission from a single data acquisition device as an example.

[0034] like Figure 1 As shown, the method includes:

[0035] S110. Acquire data from a data acquisition device, wherein the data includes the address of the data acquisition device and a target address, and the target address corresponds to at least one target controller;

[0036] In this system, data acquisition devices are used to collect data. These devices may include cameras, microphones, and / or various sensors (such as inertial measurement units, positioning sensors, and / or LiDAR). Correspondingly, the data can refer to video data, audio data, or data from various sensors. The controller can be a device with data processing capabilities, such as a system-on-chip (SoC), processor, or host computer. The data acquisition device is the data sender, and the target controller is the data receiver. The receiver can include one or more target controllers, and the target address can be understood as the receiving address corresponding to all receivers. The target address can be a specific address representing the address of a single target controller, or a multicast address representing the addresses of a group of target controllers.

[0037] Data from data acquisition devices is encapsulated, either by the data acquisition device itself or by modules or devices independent of it. The data is encapsulated using the device's address (source address) and destination address. The encapsulated data contains information about both the data acquisition device's address and the destination address, allowing the switching equipment to determine the data's source, recipient, and transmission path.

[0038] S120. Determine the transmission path of the data to the at least one target controller according to the address of the data acquisition device, the target address, and the interface of the switching device;

[0039] In this process, data travels from the address of the data acquisition device to each destination address through the interface of at least one switching device. The interfaces traversed from the data acquisition device's address to each destination address can be pre-configured for the switching devices; this configuration can be called a forwarding route configuration. For a single data acquisition device, data can be transmitted to one or more controllers in the system, i.e., target controllers. These target controllers may be in different domains (i.e., connected to different switching devices), and the transmission path from the data acquisition device to any target controller can be included in the forwarding route configuration.

[0040] For example, the forwarding route configuration may specifically include the address of the data acquisition device, the address of the target controller, the identifier of the switching device traversed, and the interface through which the switching device connects to the target controller. The forwarding route configuration can be performed by a separate host computer independent of each controller for each router, or it can be configured directly by the controller. Based on this, the transmission path from the data acquisition device to each target controller is determined according to the forwarding route configuration.

[0041] For example, the address of the data acquisition device is used to indicate the source address of the data; the destination address corresponds to one or more target controllers and is used to indicate the destination address of the data transmission, that is, the address of the controller receiving the data; the data transmission to the destination address may pass through one or more switching devices, and if it passes through multiple switching devices, it can also be understood as passing through different domains; the interface of the switching device associated with the destination address is used to indicate the interface through which the data is transmitted from the switching device to the destination controller.

[0042] Taking the transmission of in-vehicle video data as an example, the data acquisition device can be a camera, the controller can be a SoC (System-on-a-Chip), the address of the data acquisition device can be the Source Media Access Control Address (SMCA), and the destination address can be the address of the target SoC or the Destination Media Access Control Address (SMCA), which can correspond to one or more target SoCs. For a camera and any target SoC, the forwarding routing configuration also includes the interface through which the switching device connects to the target SoC.

[0043] The forwarding routing configuration for the switching device can be configured using a host computer or directly through the SoC. This process involves configuring the route between the camera and the switching device, which can also be understood as establishing an Ethernet tunnel from the camera to the controller. Based on this, a clear basis for data transmission is provided. When data needs to be transmitted to multiple controllers, the forwarding routing configuration can also be used to achieve multi-path parallel transmission, improving the reliability of data transmission.

[0044] It should be noted that there can be one or more switching devices. When there is only one switching device, determining the transmission path mainly involves identifying the interfaces within the switching device; when there are more than one switching device, determining the transmission path includes identifying the specific switching device and the corresponding interfaces within it.

[0045] Figure 2 This is a schematic diagram illustrating an embodiment of in-vehicle fiber optic Ethernet video transmission. For example... Figure 2As shown, taking an in-vehicle video data transmission scenario as an example, cameras 1-6 act as controllers, and SoCs 1-3 act as controllers. Cameras 1-3 are connected to TSN Ethernet switch 1, and cameras 4-6 are connected to TSN Ethernet switch 2. TSN Ethernet switch 1 uses a Mobile Industry Processor Interface (MIPI) interface (C-PHY / D-PHY) to connect to SoCs 1 and SoC 2; TSN Ethernet switch 2 uses a MIPI interface (C-PHY / D-PHY) to connect to SoC 3. SoCs 1 and SoC 2 belong to the same domain, while they belong to a different domain from SoC 3. One or more cameras may need to transmit data to multiple SoCs (which can be in the same domain or multiple SoCs in different domains).

[0046] like Figure 2 As shown, assume the data transmission requirements are as follows:

[0047] Camera 1: SOC1, SOC2 (target SOC, the same below);

[0048] Camera 2: SOC1, SOC2;

[0049] Camera 3: SOC1, SOC2, SOC3;

[0050] Camera 4: SOC2;

[0051] Camera 5: SOC1, SOC2, SoC3;

[0052] Camera 6: SoC1, SoC2, SoC3;

[0053] Data from cameras 1, 2, and 4 can be transmitted through a single switching device, while data from cameras 3, 4, and 6 require transmission through two switching devices.

[0054] Table 1 shows a forwarding route configuration table, which, as an example, includes the following configuration items:

[0055] Camera ID: Assign a unique ID to each camera to identify it;

[0056] Camera MAC address: Configure a unique MAC address for each camera in the vehicle to identify the data source address of each camera;

[0057] Target Address: Each camera is assigned a target address to identify the target controller from which each camera transmits video data. On the switching device, the target address and interface (port) can be associated to control the forwarding path from the camera to the corresponding target controller.

[0058] Optionally, the forwarding route configuration may also include the multicast group that each switching device joins (i.e., the interface associated with the destination address of the data passing through each switching device); it may also include remarks, such as the identifier of the target controller.

[0059] Table 1 Forwarding Route Configuration Table

[0060]

[0061] Based on this, a reliable basis is provided for the transmission of data from the data acquisition device to the target controller, ensuring the correctness of the data transmission path of each data acquisition device, and providing a foundation for realizing arbitrary single or multiple data transmission.

[0062] Optionally, the switching device can decapsulate the data before forwarding it to the target controller. The purpose of this decapsulation is to obtain the data collected by the data acquisition device. The decapsulation process may include removing the message header and reassembling and restoring the data. Taking a camera as an example, the data can be encapsulated line by line; therefore, decapsulation requires reassembling the line data.

[0063] S130. Transmit the data to the target address according to the transmission path.

[0064] For example, the switching device transmits data to the target address according to the determined transmission path; that is, it transmits the data to the target controller through the corresponding interface of the switching device. Specifically, when the target address is a specific address, the data is sent to that specific address, such as to a target SOC; when the target address is a multicast address, the data is sent to all target SOCs at that multicast address.

[0065] The method in this embodiment, based on the mapping relationship between the addresses of the data acquisition device, the switching device, and the target controller, can achieve efficient transmission from the data acquisition device to any one or more controllers. It can effectively solve the problems of insufficient communication bandwidth, insufficient flexibility, and high cost, and can guarantee deterministic forwarding latency.

[0066] In one embodiment, the data is obtained by encapsulating multiple payload data based on a Layer 2 Ethernet header, and the multiple payload data are obtained by fragmenting the data acquired by the data acquisition device;

[0067] The data includes the following fields:

[0068] The address field of the data acquisition device;

[0069] Target address field;

[0070] Load data field;

[0071] Row identifier field;

[0072] Tunnel head;

[0073] The tunnel header includes the following fields: the position field of the load data in the row data; and the row data status field, which is used to identify whether the row data is a start frame, an end frame, or an incomplete state.

[0074] Taking in-vehicle video data transmission as an example, the camera's CMOS generates raw data (MIPI raw data), which is then transmitted to the switching device via the MIPI interface. The MIPI over-Eth tunnel module in the camera fragments the data into multiple payload data, and then encapsulates these multiple payload data into an encapsulated message based on a Layer 2 Ethernet header.

[0075] Figure 3 This is a schematic diagram illustrating a method for tunneling data according to one embodiment. Figure 3 As shown, the MIPI raw data is fragmented into multiple packet payload data, encapsulated using a Layer 2 Ethernet header. The SMAC field represents the camera's MAC address, and the DMAC field represents the multicast MAC address destined for the target controller, used to control the data from the camera to the corresponding port on the switching device. The TYPE field represents the packet encapsulation type, such as VLAN encapsulation. The VLAN field represents the camera's virtual LAN ID. The Payload field represents the MIPI raw data. The Tunnel header includes: [timestamp|length|sequence|position|flag[more|start|end]]. The Timestamp field represents the time the camera generated the Ethernet packet; the Length field represents the effective length of the payload; the Sequence field represents the row identifier or row number, with the sequence monotonically increasing and the same sequence for data within the same row; the position field represents the current position of the payload data within the row; and the flag[more|start|end] field represents the row data status, for example, more indicates whether the row data is not yet complete, start indicates the beginning of the row data, and end indicates the end of the row data.

[0076] Table 2 provides an example of how row data is encapsulated. As shown in Table 2, the current row data sequence number is 0.

[0077] The first frame (the last row in Table 2) is encapsulated with a flag of 110, indicating that it is the starting frame, and there are more frames following it, with a length of 1460 bytes.

[0078] The second frame (second to last row in Table 2) to the second to last frame (second row in Table 2): the flag is 100, indicating that there are more frames after this, and the length of each frame is 1460.

[0079] Last frame: flag is 001, indicating that it is the last frame of the row data, and the current frame length is 450 bytes.

[0080] Based on this, by using MIPI CSI over Eth tunnel Layer 2 Ethernet encapsulation, MIPI video data can be transmitted through Ethernet to the controller with deterministic delay. The data source and controller receiver do not need to pay attention to protocol parsing, which improves data transmission efficiency and reduces the processing complexity of the transceiver.

[0081] Example of data encapsulation in Table 2

[0082] 985433001 450 0 13140 001 payload 975433023 1460 0 11680 100 payload 968433101 1460 0 10220 100 payload 954438741 1460 0 8760 100 payload 944477001 1460 0 7300 100 payload 934477066 1460 0 5840 100 payload 924475065 1460 0 4380 100 payload 914475065 1460 0 2920 100 payload 904475032 1460 0 1460 100 payload 894475038 1460 0 0 110 payload

[0083] In one embodiment, before transmitting the data to the target address along the transmission path, the method further includes:

[0084] The data shall be unsealed in the following manner:

[0085] Remove the second-level Ethernet header from the data;

[0086] Iterate through each row of data and store the payload data of the corresponding row into the cache;

[0087] If the row data status field indicates that the current row data is the end frame, then the payload data in the cache is used as the unpacked data.

[0088] For example, during the desealing process, the switching device can complete eth packet reassembly (i.e., line data reassembly) through the eth tunnel module. Specifically, the eth packet header is removed, the original data is restored based on SMAC, and then transmitted to the target controller, thereby completing the full path forwarding.

[0089] Taking in-vehicle video data as an example, the data recovery process includes: the switching device receives the encapsulated Ethernet data message. If flag&0x010 is true, it indicates the start frame of the video line data, and the payload of this frame is stored in the buffer. If flag&0x100 is true, it indicates that there are more frames to follow, and reception and buffering continue. If flag&0x001 is true, it indicates the last frame of the video line data, the line data reassembly is complete, and the data is sent to the target SoC using the MIPI interface. The sequence in the Ethernet tunnel header is used to identify whether the data is from the same line; the timestamp is used to determine if the received data arrived in chronological order; and position and length are used to calculate the length and bit offset of the line data. In the example shown in Table 2, the entire line data length is 11680+450. Receiving a message with sequence 0 and flag 001 indicates that all line data with sequence 0 and length 11680+450 has been received.

[0090] In one embodiment, the switching device includes at least one first switching device and one second switching device, and the data is transmitted to the target address by the second switching device; transmitting the data to the target address according to the transmission path includes: when the target controller corresponding to the target address is connected to the second switching device, sending the data to the second switching device through the at least one first switching device.

[0091] In this embodiment, there can be multiple switching devices, mainly classified into two types: first switching devices and second switching devices. The first switching device can refer to a switching device connected to the data acquisition device, which can acquire data from the data acquisition device. It can also refer to a switching device responsible for forwarding data to other switching devices, forwarding data hop-by-hop according to the transmission path without needing to deseal the data. The second switching device can refer to a switching device connected to the target controller, which is used to deseal the data and send it to the target controller through a corresponding interface. Based on this, by utilizing multiple switching devices, cross-domain transmission from any data acquisition device to any controller can be achieved. When cross-domain transmission is required, multiple pairs of serializers / deserializers are not needed, and complex wiring is avoided, offering advantages of low cost and high efficiency.

[0092] In one embodiment, the at least one target controller includes a master controller and at least one slave controller; the master controller and the at least one slave controller perform time synchronization based on the Generalized Precision Time Protocol (GPTP).

[0093] For example, a controller can be elected as the Grand Master (GM). The Grand Master sends synchronization information to the other slave controllers, aligning their times with the Grand Master's. Time synchronization of the entire system is achieved based on the GPTP protocol, with a time accuracy of up to 100ns. This further improves the overall system time accuracy, ensuring time consistency within the local area network.

[0094] In one embodiment, transmitting the data to the target address according to the transmission path includes:

[0095] According to the transmission path, the data is added to the data queue of the target interface, where the target interface is the interface between the switching device and the target controller;

[0096] Data queues are scheduled according to a delay threshold so that data in the data queues is transmitted to the corresponding target controller at a determined delay.

[0097] Each switching device is used to forward the received encapsulated packets to the corresponding interface (i.e., the target interface) based on DMAC at Layer 2. The forwarded data is queued at the corresponding interface. Each switching device is also used to schedule the queue at the corresponding interface according to a delay threshold, so that the data in the queue is transmitted to the corresponding target controller with a determined delay. The delay threshold can be understood as a threshold set for the delay of data transmission to the target controller, in order to control each transmission to meet the delay requirements. For example, the delay of each transmission does not exceed 500ms, that is, the time for data to be transmitted from the interface of switching device 10 to the target controller does not exceed 500ms.

[0098] For example, during the forwarding of Ethernet data packets by a switching device, the switching device modulates the received optical signal into an electrical signal. Figure 2 Taking the scenario shown as an example, switch 1 performs Layer 2 forwarding based on the DMAC address in the eth header. Since the DMAC address is a specific multicast address (01-00-5E-7E-01-03), the data is simultaneously distributed and copied to the corresponding ports (e.g., ports 4, 5, and 6 of switch 1 in the example). Various eth packets are arranged in the port dequeue. Switch 2 receives the eth packet and also performs Layer 2 forwarding based on the DMAC address, forwarding the packet to port 5 in the example. Simultaneously, switch 1 and switch 2 perform gated time queue scheduling and forwarding based on TSN 802.1Qbv, ensuring that Ethernet data packets are sent out from the interface at deterministic times. This improves the flexibility of data scheduling and data transmission efficiency while maintaining deterministic forwarding latency.

[0099] The data transmission method of this application provides a forwarding routing configuration scheme between data acquisition devices, switching devices, and controllers. By utilizing the high bandwidth characteristics (link transmission bandwidth increased from 6Gbps to 50Gbps) and high reliability characteristics (low bit error rate and no EMC interference) of fiber optic Ethernet, data transmission efficiency is improved. The switching device provides a transmission path for data transmission to the target controller, and combined with the target address, it can support transmission to any number of target controllers. It eliminates the need for multiple pairs of serializers and deserializers, avoiding complex wiring, and achieving low-cost, high-efficiency data transmission. One example is the transparent transmission of camera MIPI video data through a fiber optic Ethernet eth tunnel.

[0100] Figure 4 This is a schematic diagram of a data transmission device according to one embodiment. The data transmission device provided in this embodiment includes:

[0101] The acquisition module 210 is used to acquire data from the data acquisition device, the data including the address of the data acquisition device and the target address, the target address corresponding to at least one target controller;

[0102] The path determination module 220 is used to determine the transmission path of the data to the at least one target controller according to the address of the data acquisition device, the target address, and the interface of the switching device;

[0103] The transmission module 230 is used to transmit the data to the target address according to the transmission path.

[0104] This device uses the interface of the switching equipment to determine the data transmission path from the data acquisition device to at least one target controller. When transmitting data, the target address can be used to support transmission to any one or more target controllers. It does not require multiple pairs of serializers and avoids complex wiring, thus achieving low-cost and efficient data transmission.

[0105] Optionally, the data is obtained by encapsulating multiple payload data based on a Layer 2 Ethernet header, and the multiple payload data are obtained by fragmenting the data acquired by the data acquisition device;

[0106] The data includes the following fields:

[0107] The address field of the data acquisition device;

[0108] Target address field;

[0109] Load data field;

[0110] Row identifier field;

[0111] Tunnel head;

[0112] The tunnel header includes the following fields: the position field of the load data in the row data; and the row data status field, which is used to identify whether the row data is a start frame, an end frame, or an incomplete state.

[0113] Optionally, the device further includes: a desealing module, configured to deseale the data in the following manner before transmitting the data to the target address along the transmission path:

[0114] Remove the second-level Ethernet header from the data;

[0115] Iterate through each row of data and store the payload data of the corresponding row into the cache;

[0116] If the row data status field indicates that the current row data is the end frame, then the payload data in the cache is used as the unpacked data.

[0117] Optionally, the switching device includes at least one first switching device and one second switching device; the data is transmitted to the target address by the second switching device; the transmission module 230 is specifically used to: when the target controller corresponding to the target address is connected to the second switching device, send the data to the second switching device through at least one first switching device.

[0118] Optionally, at least one target controller includes a master controller and at least one slave controller; the master controller and the at least one slave controller perform time synchronization based on a universal precise time protocol.

[0119] Optional, transmission module 230, specifically used for:

[0120] According to the transmission path, the data is added to the data queue of the target interface, where the target interface is the interface between the switching device and the target controller;

[0121] Data queues are scheduled according to a delay threshold so that data in the data queues is transmitted to the corresponding target controller at a determined delay.

[0122] The data transmission device provided in this application embodiment can be used to execute the data transmission method provided in any of the above embodiments, and has corresponding functions and beneficial effects.

[0123] Figure 5A schematic diagram of an electronic device 10, which can be used to implement embodiments of this application, is shown. The electronic device 10 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device 10 may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, user equipment, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the application described and / or claimed herein.

[0124] like Figure 5 As shown, the electronic 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 program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic 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.

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

[0126] Processor 11 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, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above.

[0127] 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. In some embodiments, part or all of the computer program can be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the methods described above can be performed. Alternatively, in other embodiments, processor 11 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).

[0128] Figure 6 A data transmission system is provided as an embodiment of this application. For example... Figure 6 As shown, the system includes at least one data acquisition device 20, at least one controller 30, and at least one switching device 10. Each switching device 10 is connected to at least one data acquisition device 20 and at least one controller 30 via optical fiber. For each data acquisition device 20, the switching device 10 transmits data from the data acquisition device 20 to the target address according to the address of the data acquisition device 20, the target address, and the interface of the switching device 10. The target address corresponds to at least one controller 30, i.e., the target controller. The switching device 10 can be connected to the data acquisition device 20 and the controller 30 via optical fiber. Optical fiber communication has advantages such as high bandwidth, high reliability, and better electromagnetic compatibility (EMC), and the optical fiber bundle is lightweight, which can well meet the data transmission requirements.

[0129] It should be noted that, Figure 5 The diagram shows a relatively simple example of a data transmission system, consisting of only one data acquisition device 20, one controller 30, and one switching device 10. In practical applications, there are usually multiple data acquisition devices 20, switching devices 10, and controllers 30, and the specific number can be flexibly set according to actual needs.

[0130] It should be noted that the method in this embodiment is particularly applicable to fiber optic Ethernet transmission scenarios for in-vehicle video data. Optionally, Time Sensitive Networking (TSN) related protocols (such as 802.1Qbv) can be configured on the switching device via a host computer or controller, and threshold settings can be set based on the MAC address of the camera to ensure that the transmission delay of data from each data acquisition device to the corresponding target controller is within the determined delay threshold.

[0131] The data transmission system of this embodiment utilizes the high bandwidth and high reliability transmission characteristics of optical communication. Based on the forwarding routing configuration between the data acquisition device, the switching device, and the controller, it can achieve efficient transmission from the data acquisition device to any one or more controllers. It can effectively solve the problems of insufficient communication bandwidth, insufficient flexibility, and high cost, and can guarantee deterministic forwarding latency.

[0132] In one embodiment, the entire circuit connection of the system can be integrated onto a single circuit board, and optical fiber can be used for data transmission. This achieves high data transmission, high image quality, and resistance to electromagnetic interference for the vehicle-mounted equipment. It also supports data transmission from a single data acquisition device to multiple or multi-domain controllers simultaneously, effectively solving the time delay problem caused by a single data acquisition device needing to copy and forward data to other domain controllers via domain controllers, as well as addressing the issues of insufficient bandwidth and lack of flexibility in multi-channel transmission for vehicle-mounted LVDS. Furthermore, it can also achieve flexible video transmission communication from a single camera to multiple controllers (low cost), thereby reducing costs and increasing efficiency.

[0133] It should be noted that technical details not described in detail in this embodiment can be found in any of the above embodiments.

[0134] 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 device, and at least one output device, and transferring data and instructions to the storage system, the at least one input device, and the at least one output device.

[0135] 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.

[0136] 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.

[0137] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include 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.

[0138] 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.

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

[0140] 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.

[0141] 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 data transmission method, characterized in that, Applied to switching equipment, the method includes: Acquire data from a data acquisition device, the data containing the address of the data acquisition device and a target address, the target address corresponding to at least one target controller; The transmission path of the data to the at least one target controller is determined according to the address of the data acquisition device, the target address, and the interface of the switching device; The data is transmitted to the target address according to the transmission path.

2. The method according to claim 1, characterized in that, The data is obtained by encapsulating multiple payload data based on a Layer 2 Ethernet header, and the multiple payload data are obtained by fragmenting the data collected by the data acquisition device; The data includes the following fields: The address field of the data acquisition device; Target address field; Load data field; Row identifier field; Tunnel head; The tunnel header includes the following fields: the position field of the load data in the row data; and the row data status field, which is used to identify whether the row data is a start frame, an end frame, or an incomplete state.

3. The method according to claim 2, characterized in that, Before transmitting the data to the target address according to the transmission path, the method further includes: The data shall be unsealed in the following manner: Remove the second-level Ethernet header from the data; Iterate through each row of data and store the payload data of the corresponding row into the cache; If the row data status field indicates that the current row data is the end frame, then the payload data in the cache is used as the unpacked data.

4. The method according to claim 1, characterized in that, The switching equipment includes at least one first switching device and one second switching device; the data is transmitted to the target address by the second switching device. Transmitting the data to the target address according to the transmission path includes: When the target controller corresponding to the target address is connected to the second switching device, the data is sent to the second switching device through the at least one first switching device.

5. The method according to claim 1, characterized in that, The at least one target controller includes a master controller and at least one slave controller; the master controller and the at least one slave controller perform time synchronization based on a universal precise time protocol.

6. The method according to claim 1, characterized in that, Transmitting the data to the target address according to the transmission path includes: According to the transmission path, the data is added to the data queue of the target interface, where the target interface is the interface between the switching device and the target controller; Data queues are scheduled according to a delay threshold so that data in the data queues is transmitted to the corresponding target controller at a determined delay.

7. A data transmission device, characterized in that, include: An acquisition module is used to acquire data from a data acquisition device, the data including the address of the data acquisition device and a target address, the target address corresponding to at least one target controller; The path determination module is used to determine the transmission path of the data to the at least one target controller according to the address of the data acquisition device, the target address, and the interface of the switching device; A transmission module is used to transmit the data to the target address according to the transmission path.

8. A switching device, characterized in that, include: At least one processor; A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the data transmission method as described in any one of claims 1-5.

9. A data transmission system, characterized in that, include: The device comprises at least one data acquisition device, at least one controller, and at least one switching device as described in claim 7; each of the switching devices is connected to at least one data acquisition device via optical fiber and to at least one controller. The switching device is used to transmit the data to the target address according to the address of the data acquisition device, the target address and the interface of the switching device, and the target address corresponds to at least one target controller.

10. The system according to claim 9, characterized in that, Each of the data acquisition devices includes an encapsulation module and a photoelectric conversion module; The encapsulation module is used to encapsulate the data collected by the data acquisition device based on the address and target address of the data acquisition device; The photoelectric conversion module is used to convert the packaged data into optical signals.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the data transmission method as described in any one of claims 1-6.

12. A computer program product comprising a computer program and / or instructions, characterized in that, When the computer program and / or instructions are executed by the processor, they implement the data transmission method as described in any one of claims 1-6.