Data transmission method, and chip and storage medium

By only receiving and parsing the indicator data in the target data packet in the electronic control unit to determine whether to update the target data group, the problem of cumbersome data transmission process and delay in the prior art is solved, and fast and efficient data transmission is achieved.

WO2025044552A1PCT designated stage expired Publication Date: 2025-03-06SHENZHEN GOODIX TECH CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/105328
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-09
Filing Date
2024-07-12
Publication Date
2025-03-06

AI Technical Summary

Technical Problem

During the data transmission process, existing electronic control units need to receive complete data packets before cache and parse, resulting in cumbersome data transmission process and large delay.

Method used

When receiving the target data packet, you only need to receive the indication data in the target data group, and then start to cache and parse the indication data to determine whether the matching conditions are met. If they are met, the target data group will be updated. If they are not met, the target data group will be received normally.

Benefits of technology

By simply cache and parsing the indicator data, you can determine whether to update the target data group. The target node can update the data group during the reception of the target data packet, significantly reducing the data transmission delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024105328_06032025_PF_FP_ABST
    Figure CN2024105328_06032025_PF_FP_ABST
Patent Text Reader

Abstract

The embodiments of the present application relate to the field of data processing, and particularly relate to a data transmission method, and a chip and a storage medium. The method is applied to a target node, and comprises: during the reception of a target data packet, receiving indication data comprised in any target data group among at least one data group comprised in the target data packet, and then determining whether the indication data meets a matching condition; if the indication data meets the matching condition, updating the target data group; and if the indication data does not meet the matching condition, normally receiving the target data group. In the solution, it is only necessary for a target node to succeed in caching indication data, such that whether a target data group is to be updated can be determined; and after it is determined that the target data group is to be updated, the target data group is updated during the reception of a target data packet, without it being necessary to cache data other than the indication data, such that data transmission can be quickly and efficiently performed on the basis of the target node, thereby reducing the time delay when data transmission is performed on the basis of the target node.
Need to check novelty before this filing date? Find Prior Art

Description

Data transmission method, chip and storage medium

[0001] This application claims priority to PCT patent application filed on August 25, 2023, with application number "PCT / CN2023 / 115046" and patent name "A data forwarding method, chip and electronic device", and PCT patent application filed on December 26, 2023, with application number "PCT / CN2023 / 142094" and patent name "Networked data transmission method, chip and communication system", and PCT patent application filed on February 9, 2024, with application number "PCT / CN2024 / 077133" and patent name "Data transmission method, chip and storage medium", and PCT patent application filed on February 9, 2024, with application number "PCT / CN2024 / 077134" and patent name "Chip, networking system and electronic device", the entire contents of which are incorporated herein by reference. Technical Field

[0002] The embodiments of the present application relate to the field of data processing, and in particular to a data transmission method, chip, and storage medium. Background Art

[0003] As cars become more and more intelligent, there are more and more Electronic Control Units (ECUs) in cars. Data transmission inside the car is achieved by data transmission between different ECUs.

[0004] When a current electronic control unit acts as a receiver of data transmission, it usually caches and parses the data packet after receiving the complete data packet, and then processes the data packet according to the parsed data packet to obtain the processed data packet.

[0005] However, since the electronic control unit needs to cache and parse the data packet after receiving the complete data packet, and then process the parsed data packet, the process of data transmission between different electronic control units is relatively cumbersome, resulting in a large delay in data transmission based on the electronic control unit.

[0006] Summary of the Invention

[0007] In view of this, embodiments of the present application provide a data transmission method, a chip, and a storage medium to at least partially solve the above-mentioned problems.

[0008] According to a first aspect of an embodiment of the present application, a data transmission method is provided, which is applied to a target node, and the method includes: in a process of receiving a target data packet, after receiving indication data included in any target data group in at least one data group included in the target data packet, determining whether the indication data meets a matching condition; if the indication data meets the matching condition, updating the target data group; if the indication data does not meet the matching condition, receiving the target data group normally.

[0009] According to the second aspect of the embodiment of the present application, a chip is provided, including: a processing unit and a storage unit, the processing unit and the storage unit communicating with each other; the storage unit is used to store at least one executable instruction, and the executable instruction enables the processing unit to perform the operation corresponding to the above-mentioned first aspect.

[0010] According to a third aspect of the embodiments of the present application, a computer storage medium is provided, on which a computer program is stored, and the program is used by a processor to execute the method of the first aspect.

[0011] According to the data transmission scheme provided in the embodiment of the present application, when receiving a target data packet, the target node only needs to receive the indication data included in the target data group in the target data packet, and then starts to cache the indication data and determine whether the indication data meets the matching conditions. If the matching conditions are met, the target data group is updated; if the matching conditions are not met, the target data group is received normally. Therefore, the target data group in the target data packet includes indication data. The target node only needs to determine whether the indication data meets the matching conditions after receiving the indication data, so as to determine whether the target node needs to update the current target data group. That is to say, in the actual process of receiving the entire target data group, we only need to cache and parse the indication data in the target data group, and there is no need to completely cache and parse all the data in the entire target data group before determining whether to update the target data group. After determining to update the target data group, the target node can update the target data group in the process of receiving the target data packet. Compared with the related art, it is necessary to determine whether to update the target data group only after the target node receives and caches the complete target data packet, and then update the target data group after determining to update the target data group. In the embodiment of the present application, it only needs to cache and parse the indication data to determine whether to update the target data group, and after determining to update the target data group, update the target data group in the process of receiving the target data packet. There is no need to cache data other than the indication data, so that data transmission based on the target node can be carried out quickly and efficiently, reducing the delay of data transmission based on the target node. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0013] FIG1 is a flow chart of a data transmission method according to an embodiment of the present application;

[0014] FIG2 is a schematic diagram of a target data packet according to an embodiment of the present application;

[0015] FIG3 is a schematic diagram of a target data set according to an embodiment of the present application;

[0016] FIG4 is a schematic diagram of a target node connection method according to another embodiment of the present application.

[0017] FIG5 is a schematic diagram of a target node connection method according to an embodiment of the present application;

[0018] FIG6 is a schematic diagram of a transmission system according to an embodiment of the present application;

[0019] FIG7 is a schematic diagram of a transmission system according to another embodiment of the present application;

[0020] FIG8 is a schematic diagram of a transmission system according to another embodiment of the present application;

[0021] FIG9 is a schematic block diagram of a chip according to an embodiment of the present application. DETAILED DESCRIPTION

[0022] Application environment of this application

[0023] The embodiments of the present application provide a data transmission solution. This data transmission solution is relatively versatile and can be used for data transmission between multiple nodes, such as between different nodes in a networking system for an in-vehicle scenario. Furthermore, the data transmission solution of the embodiments of the present application is not limited to use in a networking system for an in-vehicle scenario and can also be applied to other scenarios.

[0024] Data transmission method

[0025] An embodiment of the present application provides a data transmission method, which is described in detail below through multiple embodiments.

[0026] FIG1 is a flow chart of a data transmission method according to an embodiment of the present application. The data transmission method is applied to a target node, as shown in FIG1 , and includes the following steps:

[0027] Step 101: During the process of receiving a target data packet, after receiving indication data included in any target data group of at least one data group included in the target data packet, determine whether the indication data meets a matching condition.

[0028] Wherein, the target data packet includes at least one data group, the target data group is any data group included in the target data packet, the data packet format of the target data packet is shown in Figure 2, the target data packet includes at least one first data field, each first data field is used to load a data group, the target data group is a data group loaded in any first data field, and the first data field used to load the target data group is used for transmission between different nodes to achieve transmission of the target data group. It should be understood that the data field is an area in a data unit such as a data packet or a data frame, which is used to carry data and usually has a specific length or format, etc. The embodiment of the present application does not limit the length or format of the data field.

[0029] The destination node of the target data group obtains the data included in the target data group from the first data field used to load the target data group, and processes the connected external device and / or local module according to the data, for example, reading or writing the connected external device and / or local module according to the data in the target data group. The external device can be a Local Interconnect Network (LIN) bus external device, a Pulse Width Modulation (PWM) driver device, an Inter-Integrated Circuit (I2C) bus external device, a Serial Peripheral Interface (SPI) bus external device, a Quad Serial Peripheral Interface (QSPI) bus external device, a General-purpose Input / Output (GPIO) port external device, an Ethernet external device, a Controller Area Network (CAN) bus external device, a Media Independent Interface (MII) and various extensions and derivative versions of the Media Independent Interface external device, a Universal Asynchronous Receiver / Transmitter (UART ... Serial Peripheral Interface (SPI) bus external device, a Quad Serial Peripheral Interface (QSPI) bus external device, a General-purpose Input / Output (GPIO) port external device, Receiver / Transmitter, UART) external device, Single Edge Nibble Transmission (SENT) bus external device, Peripheral Sensor Interface 5 (PSI5) protocol external device, Integrated Circuit Internal Audio Bus (Inter-IC Sound, I2S) external device, Time Division Multiplexing (TDM) external device, Analog Microphone (AMIC) external device, Digital Microphone (DMIC) external device, Analog-to-digital converter (ADC) external device, Digital Signal Processing (DSP), etc. The local module can be a register set inside the target node, which is not limited in the embodiment of the present application.

[0030] The indicator data included in the target data group is located at a relatively front position in the target data group, for example, the indicator data included in the target data group is located at the head of the target data group. The indicator data can be used to indicate key information of the target data group, for example, the indicator data is used to indicate whether the first data field where the target data group is located is idle, the priority of the target data group and / or the destination node of the target data group and other key information. The matching condition is a condition for indicating an update to the target data group, for example, a condition for indicating modifying data in the target data group, deleting data in the target data group, or adding data to the target data group. It should be understood that the indicator data is used to indicate whether the first data field where the target data group is located is idle. If it is idle, it means that the node is allowed to write new data to the first data field where the target data group is located, or that the node is allowed to replace the original data in the first data field where the target data group is located with new data, that is, idle can indicate that there is no data in the first data field or that the data in the target data group is invalid data.

[0031] In a specific embodiment, the target node can gradually receive the target data packet from the beginning to the end during the process of receiving the target data packet, and then sequentially receive the data groups in each first data field included in the target data packet. When the target node receives the target data group, after receiving the indication data included in the target data group and determining whether the indication data meets the matching conditions, it can be determined whether the target node needs to update the current target data group. That is to say, in the process of actually receiving the entire target data group, we only need to cache and parse the indication data in the target data group, and there is no need to completely cache and parse all the data in the entire target data group, thereby greatly reducing the delay in data transmission and processing.

[0032] Step 102: If the indicated data meets the matching condition, the target data group is updated.

[0033] In a specific embodiment, after the indication data is identified, if it is identified that the indication data meets the matching condition, the target data group is updated according to the indication data.

[0034] Step 103: If the indicated data does not meet the matching condition, the target data group is received normally.

[0035] In a specific embodiment, after the indication data is identified, if it is identified that the indication data does not meet the matching condition, the target data group is received normally without updating the target data group.

[0036] In an embodiment of the present application, when receiving a target data packet, the target node only needs to receive the indication data included in the target data group in the target data packet, and then starts to cache the indication data and determine whether the indication data meets the matching conditions. If the matching conditions are met, the target data group is updated; if the matching conditions are not met, the target data group is received normally. Therefore, the target data group in the target data packet includes indication data. The target node only needs to determine whether the indication data meets the matching conditions after receiving the indication data, so as to determine whether the target node needs to update the current target data group. That is to say, in the actual process of receiving the entire target data group, we only need to cache and parse the indication data in the target data group, and there is no need to completely cache and parse all the data in the entire target data group before determining whether to update the target data group. After determining to update the target data group, the target node can update the target data group in the process of receiving the target data packet. Compared with the related art, it is necessary to determine whether to update the target data group only after the target node receives and caches the complete target data packet, and then update the target data group after determining to update the target data group. In the embodiment of the present application, it only needs to cache and parse the indication data to determine whether to update the target data group, and after determining to update the target data group, update the target data group in the process of receiving the target data packet. There is no need to cache data other than the indication data, so that data transmission based on the target node can be carried out quickly and efficiently, reducing the delay of data transmission based on the target node.

[0037] In one possible implementation, the target node is an intermediate node among multiple nodes used to transmit data in sequence. Based on this, the data transmission method also includes the following specific processing: if the indication data meets the matching conditions, then after completing the update of the target data group, the updated target data group is sent to the downstream node of the target node; if the indication data does not meet the matching conditions, the target data group is received normally and the target data group is sent to the downstream node of the target node.

[0038] In an embodiment of the present application, the target node is an intermediate node. In the process of receiving the target data packet, the target node only needs to receive the indication data included in the target data group in the target data packet, and then determine whether the indication data meets the matching condition. If the matching condition is met, the target data group is updated and sent to the downstream node of the target node. If the matching condition is not met, the target data group is sent to the downstream node of the target node. Therefore, since the target data group includes the indication data, the target node only needs to cache and parse the indication data and then determine whether to update the target data group according to the indication data. Moreover, after the target node determines whether to update the target data group, it can forward the updated target data group or the target data group to the downstream node in the process of receiving the target data packet, without caching the complete data packet for forwarding. Therefore, the target node can start forwarding the target data group in the process of receiving the target data packet, realizing stream-type data transmission. Compared with the related art, the target node receives and caches the complete target data packet, and then forwards the target data packet after parsing, processing and encapsulating according to the parsed target data packet. The target node in the embodiment of the application only needs to cache the indication data in the target data group to determine whether to update the target data group, and directly forward the updated target data group or target data group. For data other than the indication data, there is no need to cache, which realizes the process of receiving the target data packet and quickly forwarding the target data group after receiving the target data group. Furthermore, the target node in the embodiment of the present application can not only start forwarding the data group included in the target data packet during the process of receiving the target data packet, but also start determining whether to update the data group during the process of receiving each data group, thereby realizing fast and efficient transmission of the target data packet to reduce the delay of the target node in data transmission. It should be understood that the intermediate node does not represent the intermediate node in the physical connection relationship, but in the process of transmitting a certain target data packet in the data transmission link, all nodes except the node that initiates the transmission of the target data packet and the node that ends the transmission of the target data packet are regarded as intermediate nodes.

[0039] Optionally, the indication data may include a status indication identifier, which is used to indicate whether the first data field where the target data group is located is idle. For example, the status indication identifier may be 1 or 0, where 1 indicates that the first data field where the target data group is located is not idle, and 0 indicates that the first data field where the target data group is located is idle. It should be understood that the status indication identifier is used to indicate whether the first data field where the target data group is located is idle. If it is idle, it indicates that the node is allowed to write new data to the first data field where the status indication identifier is located, or that the node is allowed to replace the original data in the first data field where the status indication identifier is located with new data. That is, idle can indicate that there is no data in the first data field, or it can indicate that the data in the target data group is invalid data.

[0040] Optionally, the indication data may further include a node indication identifier, where the node indication identifier is used to indicate a destination node of the target data group. For example, the node indication identifier may be a node number of the destination node of the target data group.

[0041] Based on this:

[0042] In a possible implementation, determining whether the indication data satisfies the matching condition in step 101 may include the following specific processing:

[0043] If the status indication identifier included in the indication data indicates that the data field for loading the target data group is not idle, and the node indicated by the node indication identifier included in the indication data is the target node, then it is determined that the indication data meets the matching condition; if the status indication identifier indicates that the data field for loading the target data group is not idle, and the node indicated by the node indication identifier included in the indication data is not the target node, then it is determined that the indication data does not meet the matching condition; if the status indication identifier indicates that the data field for loading the target data group is idle, and the target node obtains the data to be transmitted from the external device connected to the target node and / or the local module included in the target node, then it is determined that the indication data meets the matching condition; if the status indication identifier indicates that the data field for loading the target data group is not idle, and the target node does not obtain the data to be transmitted from the external device and / or the local module, then it is determined that the indication data does not meet the matching condition.

[0044] Wherein, based on the fact that the target data packet includes at least one first data field for loading a data group, the data field for loading the target data group is the first data field where the target data group is located.

[0045] In an embodiment of the present application, the indication data includes a status indication identifier and a node indication identifier. The target node determines whether the indication data meets the matching condition based on the status indication identifier, the node indication identifier and whether the data to be transmitted is obtained. Therefore, the target node can determine whether the indication data meets the matching condition based on the status indication identifier and the node indication identifier in the received indication data, and whether the data to be transmitted is obtained, and then determine whether the target data group needs to be updated. Therefore, after receiving the indication data in the target data group, it can be determined whether the target data group needs to be updated without waiting until the target data group is completely received, thereby reducing the transmission delay of the target data group.

[0046] Optionally, the indication data may also include a priority indication identifier, etc. The priority indication identifier is used to indicate the processing priority of the destination node of the target data group after obtaining the data included in the target data group, and / or to indicate the adding priority of adding the target data group to the first data field. The embodiment of the present application does not limit the specific data included in the indication data.

[0047] Based on the status indication identifier, priority indication identifier and node indication identifier included in the indication data, it usually takes 3-4 units of buffer time for the target node to complete the process from receiving the target data group to starting to send the target data group or the updated target data group to the downstream node. Taking the case where the sum of the data lengths of the status indication identifier and the priority indication identifier included in the indication data is almost the same as the data length of the node indication identifier, it usually takes 3 units of buffer time for the target node to complete the process from receiving the target data group to starting to send the target data group or the updated target data group to the downstream node. The indication data including the status indication identifier, the priority indication identifier and the node indication identifier can be received in the first unit buffer time, and the received status indication identifier and priority indication identifier can be identified in the second unit buffer time. The received node indication identifier can be identified within the third unit buffer time. At this time, the target data group has usually been received, and the target data group can be updated and sent to the downstream node based on the identification result, or the target data group can be sent to the downstream node. Since the time for updating the target data group is negligible relative to the unit buffer time, it usually takes 3 unit buffer times for the target node to complete the process from receiving the target data group to sending the target data group or the updated target data group to the downstream node. Among them, the unit buffer time is usually 60-80 nanoseconds. Therefore, it usually takes no more than 240 nanoseconds for the target node to complete the process from receiving the target data group to sending the target data group or the updated target data group to the downstream node, thereby achieving rapid transmission of the target data group, and then achieving rapid transmission of the target data packet.

[0048] Furthermore, the forwarding delay of the target data packet is determined by the maximum forwarding delay of the data groups therein. Since the forwarding delay of the target data group generally does not exceed 240 nanoseconds, the forwarding delay of the entire target data packet generally does not exceed 240 nanoseconds.

[0049] It should be noted that the above-mentioned 240 nanosecond delay is the forwarding delay for data forwarding within the target node, and does not include the delay for data transmission between the upstream node and the target node outside the target node, nor does it include the delay for data transmission between the target node and the downstream node outside the target node.

[0050] Optionally, the target data group may include indication data and main data. For example, as shown in Figure 3, the target data group includes indication data and main data, and the main data is located after the indication data. The embodiment of the present application does not limit the arrangement order of the indication data and the main data in the target data group. The main data is, for example, data to be processed or data used to indicate corresponding processing. The data to be processed may be video data waiting to be played or displayed. If the main data is data to be processed, then after the destination node of the target data group obtains the data included in the target data group, it can process the main data in the data, such as playing video data; the data used to indicate corresponding processing may be command data or control data, etc. If the main data is data used to indicate corresponding processing, then after the destination node of the target data group obtains the data included in the target data group, it can perform corresponding processing according to the main data in the data, such as executing the operation corresponding to the command data.

[0051] The data types of the main data include, for example, Local Interconnect Network (LIN) bus data, Pulse Width Modulation (PWM) data, Inter-Integrated Circuit (I2C) data, Serial Peripheral Interface (SPI) bus data, Quad Serial Peripheral Interface (QSPI) bus data, General-purpose input / output (GPIO) data, Ethernet data, Controller Area Network (CAN) bus data, Media Independent Interface (MII) and various extensions and derivative versions of the Media Independent Interface, Universal Asynchronous Receiver / Transmitter (UART) data, Single Edge Nibble Transmission (SENT) bus data, Peripheral Sensor Interface 5 (PSI5) protocol data, Inter-IC Audio Bus (ICA) data, and CAN bus data. The data types of the main data of different data groups in the same data packet may be the same or different, and the embodiments of the present application do not limit this.

[0052] In a possible implementation, based on the target node being an intermediate node among multiple nodes for sequentially transmitting data, updating the target data group in step 102 may include the following specific processing:

[0053] If the status indication identifier indicates that the data field used to load the target data group is not idle, the node indicated by the node indication identifier is the target node, and the target node obtains the data to be transmitted from the external device and / or the local module, then after receiving the target data group, the data included in the target data group is obtained, and the main data in the target data group is replaced by at least part of the data to be transmitted, and the indication data included in the target data group is also updated.

[0054] In a specific embodiment, during the process of identifying indication data, if the target node identifies that the data field for loading the target data group is not idle and the node indicated by the node indication identifier is the target node, and the target node also obtains the data to be transmitted from the external device and / or local module connected to the target node, then it means that the first data field where the target data group is located is not idle, the destination node of the target data group is the target node, and there is data to be transmitted in the target node. At this time, after receiving the target data group, the target node can read the data included in the target data group from the first data field where the target data group is located to obtain the data included in the target data group, and then can replace the main data in the first data field where the target data group is located with at least part of the data to be transmitted to update the main data, and then modify the node indication identifier and priority indication identifier in the first data field where the target data group is located according to the updated main data to complete the update of the target data group.

[0055] In an embodiment of the present application, after the target node receives the indication data, if it is identified that the indication data is used to indicate that the first data field where the target data group is located is not idle, the destination node of the target data group is the target node, and there is data to be transmitted in the target node, then after the target node receives the target data group, the data included in the target data group can be obtained, and the target data group can be updated according to the data to be transmitted. There is no need to delete the target data group or mark the first data field where the target data group is located as idle before updating, thereby reducing the delay for the target node to update the target data group.

[0056] In a possible implementation, based on the target node being an intermediate node among multiple nodes for sequentially transmitting data, updating the target data group in step 102 may include the following specific processing:

[0057] If the status indication identifier indicates that the data field used to load the target data group is not idle, the node indicated by the node indication identifier is the target node, and the target node has not obtained the data to be transmitted from the external device and / or the local module, then after receiving the target data group, the data included in the target data group is obtained, and the status indication identifier in the target data group is adjusted to indicate that the data field used to load the target data group is idle.

[0058] In a specific embodiment, in the process of identifying indication data, if the target node identifies that the data field for loading the target data group is not idle, the node indicated by the node indication identifier is the target node, and the target node has not obtained the data to be transmitted from the external device and / or local module connected to the target node, then it means that the first data field where the target data group is located is not idle, the destination node of the target data group is the target node, and there is no data to be transmitted in the target node. At this time, after receiving the target data group, the target node can read the data included in the target data group from the first data field where the target data group is located to obtain the data included in the target data group, and then modify the status indication identifier in the first data field where the target data group is located so that the modified status indication identifier indicates that the first data field where the target data group is located is idle, so as to complete the update of the target data group.

[0059] In an embodiment of the present application, after the target node receives the indication data, if it is identified that the indication data is used to indicate that the first data field where the target data group is located is not idle, the destination node of the target data group is the target node, and there is no data to be transmitted in the target node, then after the target node receives the target data group, the data included in the target data group can be obtained, and the status indication identifier in the target data group can be adjusted to indicate that the first data field where the target data group is located is idle. Then, after obtaining the data included in the target data group, there is no need to delete the target data group in the first data field where the target data group is located, and the status indication identifier can be directly modified. The amount of data in the status indication identifier is relatively small, thereby reducing the delay for the target node to update the target data group.

[0060] In a possible implementation, based on the target node being an intermediate node among multiple nodes for sequentially transmitting data, updating the target data group in step 102 may include the following specific processing:

[0061] If the status indication identifier indicates that the data field for loading the target data group is idle and the data to be transmitted is obtained from the external device and / or the local module, an updated target data group is generated in the data field for loading the target data group, wherein the main data included in the updated target data group is at least part of the data to be transmitted, and the indication data included in the updated target data group is determined based on the main data included in the updated target data group.

[0062] In a specific embodiment, when the target node is identifying indication data, if it is identified that the status indication identifier indicates that the data field for loading the target data group is idle, and the target node obtains the data to be transmitted from the external device and / or local module connected to the target node, then it means that the first data field where the target data group is located is idle, and there is data to be transmitted in the target node. At this time, the target node can load at least part of the data to be transmitted into the first data field, so as to use the at least part of the transmitted data as the main data of the data group loaded in the first data field, and then update the indication data of the data group loaded in the first data field based on the at least part of the data to be transmitted, so as to generate an updated target data group in the first data field. Based on this, the main data of the updated target data group is the at least part of the data to be transmitted loaded into the first data field, and the indication data of the updated target data group is the updated indication data in the first data field.

[0063] In an embodiment of the present application, after the target node receives the indication data, if it is identified that the first data field where the indication data is used to indicate the target data group is idle, and there is data to be transmitted in the target node, an updated target data group can be directly generated in the first data field based on at least part of the data to be transmitted. There is no need to clear the target data group in the first data field and then reload the updated target data group, thereby reducing the delay for the target node to update the target data group.

[0064] In one possible implementation, the destination node is the last node among multiple nodes used to sequentially transmit data. Therefore, the destination node has no downstream nodes. It should be understood that the last node represents the node that ends transmission of a target data packet in the data transmission link.

[0065] In one possible implementation, based on the target node being the last node among multiple nodes used to transmit data in sequence, determining whether the indication data meets the matching condition in the above step 101 may include the following specific processing: if the status indication identifier included in the indication data indicates that the data field for loading the target data group is not idle, and the node indicated by the node indication identifier included in the indication data is the target node, then it is determined that the indication data meets the matching condition; if the status indication identifier indicates that the data field for loading the target data group is not idle, and the node indicated by the node indication identifier included in the indication data is not the target node, then it is determined that the indication data does not meet the matching condition; if the status indication identifier indicates that the data field for loading the target data group is idle, then it is determined that the indication data does not meet the matching condition.

[0066] In an embodiment of the present application, the indication data includes a status indication identifier and a node indication identifier. The target node determines whether the indication data meets the matching condition based on the status indication identifier and the node indication identifier. Thus, the target node can determine whether the indication data meets the matching condition based on the status indication identifier and the node indication identifier in the received indication data, and then determine whether the target data group needs to be updated. Therefore, after receiving the indication data in the target data group, it can be determined whether the target data group needs to be updated without waiting until the target data group is completely received, thereby reducing the transmission delay of the target data group.

[0067] In one possible implementation, based on the target node being the last node among multiple nodes used to transmit data in sequence, updating the target data group in the above step 102 may include the following specific processing: if the status indication identifier indicates that the data field used to load the target data group is not idle and the node indication identifier indicates that the node is the target node, then after receiving the target data group, the data included in the target data group is obtained, and the status indication identifier in the target data group is adjusted to indicate that the data field used to load the target data group is idle.

[0068] In a specific embodiment, during the process of identifying indication data, if the target node identifies that the status indication identifier indicates that the data field used to load the target data group is not idle, and the node indicated by the node indication identifier is the target node, then it means that the first data field where the target data group is located is not idle, and the destination node of the target data group is the target node. At this time, after receiving the target data group, the target node can read the data included in the target data group from the first data field where the target data group is located to obtain the data included in the target data group, and then modify the status indication identifier in the first data field where the target data group is located so that the modified status indication identifier indicates that the first data field where the target data group is located is idle, thereby completing the update of the target data group.

[0069] In an embodiment of the present application, after the target node receives the indication data, if it is identified that the indication data is used to indicate that the first data field where the target data group is located is not idle, and the destination node of the target data group is the target node, then after the target node receives the target data group, the data included in the target data group can be obtained, and the status indication identifier in the target data group can be adjusted to indicate that the first data field where the target data group is located is idle. Then, after obtaining the data included in the target data group, there is no need to delete the target data group in the first data field where the target data group is located, and the status indication identifier can be directly modified. The amount of data in the status indication identifier is relatively small, thereby reducing the delay for the target node to update the target data group.

[0070] In another possible implementation, based on the target node being the last node among multiple nodes for sequentially transmitting data, the updating of the target data group in step 102 may also include the following specific processing: if the status indicator indicates that the data field for loading the target data group is not idle and the node indicator indicates that the target node is the target node, then, after receiving the target data group, obtaining the data included in the target data group. In other words, only the data may be obtained without adjusting the status indicator to idle.

[0071] In an embodiment of the present application, after the target node receives the indication data, if it is identified that the indication data is used to indicate that the first data field where the target data group is located is not idle, and the destination node of the target data group is the target node, then the target node can obtain the data included in the target data group after receiving the target data group. Therefore, after obtaining the data included in the target data group, there is no need to modify the status indication identifier in the first data field where the target data group is located, so as to reduce the delay for the target node to update the target data group.

[0072] After obtaining the data included in the target data group, the target node will process the data according to the data. There are at least three specific processing methods as follows.

[0073] In a first possible implementation, the main data includes preprocessing information and non-preprocessing information. Based on this, the data transmission method also includes: after obtaining the data included in the target data group, preprocessing the external device and / or local module according to the preprocessing information included in the main data, and then processing the external device and / or local module according to the non-preprocessing information included in the main data, such as data interaction and / or data reading and writing.

[0074] In a second possible implementation, the main data includes non-preprocessing information but does not include preprocessing information. Based on this, the data transmission method further includes: after obtaining the data included in the target data group, obtaining the preprocessing information corresponding to the main data in the target data group from the target node, and then preprocessing the external device and / or local module based on the preprocessing information, and then processing the external device and / or local module based on the non-preprocessing information included in the main data, such as data interaction and / or data reading and writing.

[0075] In a third possible implementation, the main data includes non-preprocessed information but does not include preprocessed information. Based on this, the data transmission method also includes: obtaining preprocessed information corresponding to each external device and preprocessed information corresponding to the local module from the target node; preprocessing the external device according to the preprocessed information corresponding to the external device; preprocessing the local module according to the preprocessed information corresponding to the local module; after obtaining the data included in the target data group, processing the external device and / or local module according to the non-preprocessed information included in the main data, such as data interaction and / or data reading and writing.

[0076] It should be noted that in the embodiment of the present application, "obtaining preprocessing information corresponding to each external device and preprocessing information corresponding to the local module from the target node; preprocessing the external device according to the preprocessing information corresponding to the external device; and preprocessing the local module according to the preprocessing information corresponding to the local module" can be performed when the target node is powered on and initialized.

[0077] Therefore, compared with the main data including preprocessing information, the main data not including preprocessing information can make the data volume of the target data group smaller, thereby reducing the delay in transmitting the target data group and improving the bandwidth utilization of transmitting the target data group.

[0078] In one possible implementation, both the external device and the local module have corresponding pre-processing information. The pre-processing information corresponding to the external device can be used to instruct configuration of the external device or reading of the status of the external device, and the pre-processing information corresponding to the local module can be used to instruct configuration of the local module or reading of the status of the local module. The pre-processing information corresponding to the external device and the local module is obtained and stored locally on the target node after the target node is powered on. Based on this, the "obtaining pre-processing information corresponding to the main data in the target data group from the target node" in the second implementation described above may include the following specific processing:

[0079] Determine a processing object of non-preprocessing information included in the target data group, wherein the processing object is an object to be processed according to the corresponding non-preprocessing information, and the processing object includes at least part of an external device and / or at least part of a local module; obtain preprocessing information corresponding to the processing object from the local of the target node, that is, obtain the preprocessing information of each external device included in the processing object and the preprocessing information of the local module included in the processing object, as the preprocessing information corresponding to the main data in the target data group.

[0080] In a specific embodiment, after the target node is powered on, the target node locally stores an information group corresponding to each external device and local module. For the information group corresponding to each external device, the information group includes the identifier of the external device and the preprocessing information corresponding to the external device. The information group corresponding to the local module includes the identifier of the local module and the preprocessing information corresponding to the local module. Based on this, in the process of obtaining the preprocessing information corresponding to the main data in the target data group from the target node, the processing object of the non-preprocessing information included in the target data group can be determined first, and then the preprocessing information in the information group where each identifier is located can be obtained from the local of the target node according to the identifier of the external device and / or local module included in the processing object, so as to obtain the preprocessing information corresponding to the processing object, and use this part of the preprocessing information as the preprocessing information corresponding to the main data in the target data group.

[0081] In an embodiment of the present application, the preprocessing information corresponding to the external device and the local module is stored locally in the target node after the target node is powered on. When obtaining the preprocessing information corresponding to the main data, the corresponding preprocessing information can be obtained according to the processing object corresponding to the non-preprocessing information included in the main data, thereby achieving efficient acquisition of preprocessing information.

[0082] In one possible implementation, the data transmission method is implemented based on the physical layer of the target node, wherein the physical layer is the lowest layer in the network communication. It should be understood that the data transmission method is implemented based on the physical layer, but it does not mean that it only performs the functions that the physical layer defined in the standard protocol can perform. For example, in the standard protocol, the function of the physical layer is to convert the frame signal of the upper layer (such as the data link layer) above the physical layer into an electrical signal or optical signal that can be transmitted on the physical transmission medium, and to convert the electrical signal or optical signal received from the physical transmission medium into a bit stream for the upper layer (such as the data link layer) to process. The data transmission method of the present application is implemented based on the physical layer of the target node, which means that the data transmission method of the embodiment of the present application does not pass through the upper layer (such as the data link layer, the network layer, etc.) above the physical layer defined in the standard physical communication, but customizes a set of transmission methods based on the physical layer, so that it can implement data processing other than certain functions that the physical layer defined in the standard protocol can perform. Optionally, the physical transmission medium is, for example, a bus such as a twisted pair or a coaxial cable.

[0083] In an embodiment of the present application, the data transmission method is implemented based on the physical layer of the target node. Thus, the processing of the target data group and the transmission of the target data group are both performed based on the physical layer of the target node. Since the target data group is sent from the upstream node through the physical layer of the target node, it does not need to be transmitted through a switch, nor does it need to be more complexly encapsulated through the microcontroller unit (MCU) of the upstream node, and further, there is no need to perform more complex parsing in the MCU of the target node. Therefore, the delay in data transmission at the target node can be reduced.

[0084] Optionally, based on the data transmission method applied to the physical layer of the target node, as shown in Figure 4, the target data packet may also include a common header, the common header includes a preamble code corresponding to the target data packet based on the physical layer protocol identification, etc., so that the data packet can be transmitted based on the physical layer of the target node. In addition, the target data packet may also include a second data field, the second data field is used to load common data, and the common data can be received and obtained by multiple nodes or all nodes. The common data can be audio data, broadcast data, etc.; when the physical layer of the target node with a downstream node receives the target data packet, if the common header is received, the common header is sent to the downstream node; if the common data loaded in the second data field is received, the common data is obtained from the second data field, and then the common data loaded in the second data field is continued to be sent to the downstream node.

[0085] In one possible implementation, a target data packet is sent from a physical layer of an upstream node of the target node to a physical layer of the target node via a first transmission medium, wherein the target node and the upstream node are connected via the first transmission medium. The first transmission medium is a physical transmission medium, such as a coaxial cable or a twisted pair cable, and the twisted pair cable can be a shielded twisted pair cable or an unshielded twisted pair cable.

[0086] In a specific embodiment, as shown in Figure 5, the target node is a target chip for data transmission based on the physical layer, and the upstream node is an upstream chip for data transmission based on the physical layer. Based on this, in the process of receiving the target data packet sent by the upstream chip, the target chip can receive the target data group sent by the upstream chip through the first interface, the first transmission medium for connecting the first interface and the second interface, and the second interface, so as to realize the physical layer of the upstream node of the target node sending to the physical layer of the target node through the first transmission medium; wherein the first interface is the interface on the upstream chip for transmitting physical layer data, and the second interface is the interface on the target chip for transmitting physical layer data, and the first interface and the second interface are, for example, physical layer interfaces.

[0087] In the embodiment of the present application, when the target node receives the target data packet, it receives the data sent from the physical layer of the upstream node through the physical layer of the target node. As a result, the transmission of the target data packet is directly based on the physical layer of the upstream node and the physical layer of the target node. Compared with the data group encapsulation of high-level or multi-layer protocols through the MCU outside the physical layer, the target data group does not include multiple protocol headers, and the main body of the target data group accounts for a larger proportion, thereby improving the bandwidth utilization of the target node for data transmission.

[0088] In one possible implementation, based on the target data packet being sent from the physical layer of the upstream node of the target node to the physical layer of the target node via the first transmission medium, the data transmission method may further include the following specific processing: after the target data packet is received, the target data packet is verified by the physical layer of the target node; if the verification of the target data packet is successful, the confirmation information corresponding to the target data packet is sent to the physical layer of the upstream node of the target node via the first transmission medium; if the verification of the target data packet fails, the corresponding exception information is uploaded.

[0089] In a specific embodiment, as shown in Figure 5, the target node is a target chip for data transmission based on the physical layer, and the upstream node is an upstream chip for data transmission based on the physical layer. After the target data packet is received, the target chip can verify the target data packet. If the verification of the target data packet is successful, the confirmation information corresponding to the target data packet is sent to the upstream chip through the second interface, the first transmission medium for connecting the first interface and the second interface, and the second interface, so as to realize the sending of the confirmation information corresponding to the target data packet from the physical layer of the target node to the physical layer of the upstream node of the target node through the first transmission medium. If the verification of the target data packet fails, the corresponding abnormal information can be uploaded to the heartbeat packet for management and maintenance.

[0090] Exemplarily, the confirmation information corresponding to the target data packet may be an acknowledgement character (ACK) information, and the ACK information corresponding to the target data packet generally includes a node identifier of the target node, an index of the target data packet, and cyclic redundancy check (CRC) data of the ACK information.

[0091] As shown in FIG. 2 and FIG. 4 , the target data packet may further include a confirmation information field for loading confirmation information, so that confirmation information corresponding to data packets other than the target data packet may be transmitted through the target data packet.

[0092] In addition, a specific implementation method of the above-mentioned "verifying the target data packet after the target data packet is received" can be as follows: as shown in Figure 3, the target data group also includes verification data, which can be CRC data. When the target node completes receiving the target data group, the target data group can be subjected to CRC verification through the CRC data. Based on this, after the target data packet is received, it is determined whether the CRC verification of each data group included in the target data packet is successful to complete the verification of the target data packet.

[0093] Among them, when the CRC check of each data group included in the target data packet is successful, it can be determined that the target data packet is successfully checked, and when there is a data group in the data group included in the target data packet that fails the CRC check, it can be determined that the target data packet is checked unsuccessfully. Alternatively, when the number of data groups in the data groups included in the target data packet that all succeed in the CRC check is greater than a preset number, it can be determined that the target data packet is successfully checked, and when the number of data groups in the data groups included in the target data packet that all succeed in the CRC check is less than or equal to a preset number, it can be determined that the target data packet is checked unsuccessfully. The embodiment of the present application does not limit the specific numerical value of the preset number, and the embodiment of the present application does not limit the success condition of the target data packet check.

[0094] In an embodiment of the present application, after receiving a target data packet, the target data packet is verified by the physical layer of the target node. If the verification is successful, confirmation information corresponding to the target data packet is sent to the physical layer of the upstream node. Otherwise, confirmation information corresponding to the target data packet is not sent. Thus, after the upstream node sends the target data packet to the target node, it can confirm from the upstream node whether the target node has received the successfully verified target data packet, which facilitates tracing the source of the problem when the target data packet transmission is abnormal.

[0095] Based on the target data packet being sent from the physical layer of the upstream node of the target node to the physical layer of the target node through the first transmission medium, if the target node is an intermediate node among multiple nodes used to transmit data in sequence, the target node sends the unupdated or updated target data packet to the physical layer of the downstream node from the physical layer of the target node through the physical transmission medium used to connect the physical layer of the target node and the physical layer of the downstream node.

[0096] In one possible implementation, if the target node is an intermediate node among multiple nodes used to transmit data in sequence, then based on the physical layer of the target node, the unupdated or updated target data packet is sent to the physical layer of the downstream node through the physical transmission medium used to connect the physical layer of the target node and the physical layer of the downstream node. The data transmission method may also include the following specific processing: starting from sending the target data packet to the physical layer of the downstream node, if the confirmation information sent by the physical layer of the downstream node for the target data packet is not received after a first waiting period, the target data packet is re-sent to the physical layer of the downstream node to achieve erroneous retransmission of the target data packet.

[0097] In an embodiment of the present application, error retransmission of the target data packet is performed based on the physical layer, that is, error retransmission of the target data packet is performed directly between the physical layer of the target node and the physical layer of the downstream node. Compared with error retransmission of the target data packet through a switch and MCU, the error retransmission delay is usually at the millisecond level, while in an embodiment of the present application, the error retransmission based on the physical layer is at the microsecond level, which reduces the error retransmission delay.

[0098] In one possible implementation, if the target node is an intermediate node among multiple nodes used to transmit data in sequence, then based on the physical layer of the target node, the unupdated or updated target data packet is sent to the physical layer of the downstream node through the physical transmission medium used to connect the physical layer of the target node and the physical layer of the downstream node. The data transmission method may also include the following specific processing: starting from sending the target data packet to the physical layer of the downstream node, if the confirmation information sent by the physical layer of the downstream node for the target data packet is not received after the second waiting period, the target data packet is discarded and the corresponding abnormal information is uploaded, for example, the target data packet can be discarded and an alarm information is reported. Among them, the second waiting period is greater than the first waiting period, and the embodiment of the present application does not limit the specific durations of the first waiting period and the second waiting period.

[0099] In a specific embodiment, the target node can cache and manage multiple received data packets in the form of a queue, that is, when sending a data packet to the physical layer of the downstream node, the multiple data packets in the queue are sent one by one, and the target data packet is any one of the multiple data packets. Based on this, starting from sending the target data packet to the physical layer of the downstream node, if no confirmation information sent by the physical layer of the downstream node for the target data packet is received after the second waiting period, the target data packet in the queue is discarded and the corresponding exception information is uploaded to continue sending the next data packet in the queue, where the uploaded corresponding exception information can be reporting alarm information, etc.

[0100] Therefore, when the target node has not received the confirmation information sent by the physical layer of the downstream node for the target data packet after a long time, the target data packet can be discarded to save computing resources and reduce the possibility that the transmission process of the target data packet is not completed and blocks the transmission of other data packets.

[0101] In one possible implementation, if the target node is an intermediate node among multiple nodes used to transmit data in sequence, then based on the physical layer of the target node, the unupdated or updated target data packet is sent to the physical layer of the downstream node through the physical transmission medium used to connect the physical layer of the target node and the physical layer of the downstream node. The data transmission method may also include the following specific processing: starting from sending the target data packet to the physical layer of the downstream node, if the confirmation information sent by the physical layer of the downstream node for the target data packet is received within the second waiting period, the confirmation information is verified through the physical layer of the target node. If the verification of the confirmation information is successful, the target data packet is deleted. If the verification of the confirmation information fails, the target data packet is discarded and the corresponding exception information is uploaded, for example, the corresponding exception information is uploaded to the heartbeat packet for management and maintenance. The heartbeat packet can help and promptly discover communication anomalies or connection problems. Therefore, the target node can delete the target data packet after the forwarding process of the target data packet is completed, saving computing resources.

[0102] In one possible implementation, based on the target data packet being transmitted from the physical layer of an upstream node of the target node to the physical layer of the target node via a first transmission medium, the data transmission method may further include the following specific processing: during the process of the physical layer of the target node receiving multiple data packets, if a first data packet initially received duplicates any data packet that has already been received, deleting the first data packet after the first data packet is received, thereby deleting duplicate data packets received by the physical layer of the target node. The target data packet is any data packet among the multiple data packets, and the first data packet is any data packet other than the first data packet among the multiple data packets.

[0103] For example, when the physical layer of the target node is currently in the stage of planning to receive the nth data packet among multiple data packets, if the first data packet received is the mth data packet among the multiple data packets, m<n and m is a positive integer, it means that the first data packet is repeated with any data packet that has been received. At this time, the mth data packet can be deleted, where n>1 and n is a positive integer.

[0104] In one possible implementation, based on the target data packet being transmitted from the physical layer of an upstream node of the target node to the physical layer of the target node via a first transmission medium, the data transmission method may further include the following specific processing: during the process of receiving multiple data packets at the physical layer of the target node, if a third data packet is received after the second data packet is normally received, and the third data packet is not the next data packet after the second data packet in the multiple data packets, then the third data packet is received abnormally to cache the third data packet and not process the third data packet, thereby achieving sequential management of data packets transmitted by the target node. The target data packet is any data packet in the multiple data packets, the second data packet is any data packet in the multiple data packets, and the third data packet is any data packet other than the first data packet in the multiple data packets.

[0105] Exemplarily, after the second data packet is normally received, the physical layer of the target node is currently in a stage of planning to receive the next data packet of the second data packet among multiple data packets, and the next data packet of the second data packet among the multiple data packets is recorded as the hth data packet among the multiple data packets. During this stage, if the third data packet received is the gth data packet among the multiple data packets, g>h and g is a positive integer, then it means that the third data packet is transmitted to the target node in advance. At this time, the third data packet can be cached and the third data packet is not processed, so that the cached third data packet can be normally received and the third data packet can be processed when the physical layer of the target node is in the stage of planning to receive the third data packet, where h is a positive integer.

[0106] In one possible implementation, the target node is applied to a transmission system, which includes multiple nodes, and the multiple nodes include a main node and at least one child node; if there are at least two child nodes among the multiple nodes, the multiple nodes are connected in sequence to form a first link, the first link is a ring topology or a linear topology, and the target node is an intermediate node or an end node for transmitting the target data packet in the first link; if there is a child node among the multiple nodes, the main node and the child node are connected to form a second link, and the child node is the end node for transmitting the target data packet in the second link, and the target node is a child node, that is, the child node serves as the end node for transmitting the target data packet in the second link.

[0107] One of the multiple nodes is a master node, and the nodes other than the master node are child nodes. The master node and the child nodes, as well as the child nodes and the child nodes are connected through a first transmission medium (the first transmission medium is a physical transmission medium, such as a twisted pair or coaxial cable, etc., which conforms to the physical layer communication bus). The master node is connected to a host, and the master node and the host can be connected through a second transmission medium. The second transmission medium includes any one of a variety of buses such as SPI, I2C, TDM, USB (Universal Serial Bus), QSPI, MII series, UART, etc.

[0108] Optionally, the host includes a central processing unit (CPU) or an MCU, the CPU or the MCU is connected to the master node via an SPI bus, and the master node and the sub-nodes are connected via a physical transmission medium.

[0109] Optionally, the host may further include a digital signal processing (DSP) unit, the CPU or MCU is connected to the DSP unit, and the DSP unit is further connected to the master node. For example, the CPU or MCU is connected to the DSP unit via an I2S bus, and the DSP unit is connected to the chip via a TDM bus. Based on this, when the host transmits audio data and other data to the master node, the data is sent from the CPU or MCU to the master node through the DSP unit. When the host transmits control data and other data to the master node, the data is sent directly from the CPU or MCU to the master node through buses such as SPI, I2C, and USB.

[0110] When a target data packet is transmitted in a first link composed of multiple nodes, the node that initiates the transmission of the target data packet and the node that ends the transmission of the target data packet can be a master node or a child node. The node that ends the transmission of the target data packet is the end node for transmitting the target data packet in the first link, and the node between the node that initiates the transmission of the target data packet and the node that ends the transmission of the target data packet is the intermediate node for transmitting the target data packet in the first link; when a target data packet is transmitted in a second link composed of multiple nodes, the node that initiates the transmission of the target data packet is the master node, the node that ends the transmission of the target data packet can be a child node, and the node that ends the transmission of the target data packet is the end node for transmitting the target data packet in the second link.

[0111] The node that initiates the target data packet transmission has no upstream node, but the target data packet transmission between it and the adjacent nodes still follows the above-mentioned pipeline data transmission. The node that ends the target data packet transmission has no downstream node, but the target data packet transmission between its adjacent nodes and the node that ends the target data packet transmission still follows the above-mentioned pipeline data transmission.

[0112] Exemplarily, as shown in Figure 6, the transmission system includes a main node and multiple sub-nodes, and the first link is a ring topology. Taking the first link as an example, the target data packet is transmitted in the order of starting from the main node, passing through sub-node A, sub-node B, sub-node C, sub-node D, sub-node E, sub-node F and sub-node G, and finally transmitted to the main node, when the target node is sub-node B, sub-node C, sub-node D, sub-node E, sub-node F or sub-node G (the corresponding target node is the intermediate node transmitting the target data packet in the first link), the upstream node is the previous node that transmits the target data packet before the target node, and the downstream node is the next node that transmits the target data packet after the target node. When the target node is the main node (the corresponding target node is the end node transmitting the target data packet in the first link), the upstream node is sub-node G, and the target node has no downstream node.

[0113] Exemplarily, as shown in Figure 7, the transmission system includes a main node and multiple child nodes, and the first link is a linear topology. Taking the transmission of the target data packet in the first link starting from child node G, passing through the main node, child node A and child node B in sequence, and finally transmitted to child node C as an example, when the target node is the main node, child node A or child node B (the corresponding target node is the intermediate node transmitting the target data packet in the first link), the upstream node is the previous node that transmits the target data packet before the target node, and the downstream node is the next node that transmits the target data packet after the target node. When the target node is child node C (the corresponding target node is the end node transmitting the target data packet in the first link), the upstream node is child node B, and the target node has no downstream node.

[0114] Exemplarily, as shown in FIG8 , the transmission system includes a main node and a child node, the main node and the child node are connected to form a second link, and the target data packet is transmitted from the main node to the child node in the second link, the target node is the child node, the upstream node is the main node, and the target node has no downstream node.

[0115] In Figures 6 and 7, the main node, sub-node A, sub-node B, sub-node C, sub-node D, sub-node E, sub-node F and sub-node G constitute a first link, and at least some of the nodes are connected to at least one external device, for example, sub-node E is connected to external device e1, external device e2 and external device e3; in Figure 8, the main node and sub-nodes constitute a second link, and the sub-nodes are connected to at least one external device, for example, the sub-nodes are connected to external device e1, external device e2 and external device e3. The external device may be a Local Interconnect Network (LIN) bus external device, a Pulse Width Modulation (PWM) driver device, an Inter-Integrated Circuit (I2C) bus external device, a Serial Peripheral Interface (SPI) bus external device, a Quad Serial Peripheral Interface (QSPI) bus external device, a General-Purpose Input / Output (GPIO) port external device, an Ethernet external device, a Controller Area Network (CAN) bus external device, a Media Independent Interface (MII) and various extensions and derivatives of the Media Independent Interface external device, a Universal Asynchronous Receiver / Transmitter (UART) external device, a Single Edge Nibble Transmission (SENT) bus external device, a Peripheral Sensor Interface 5 (PSI5) protocol external device, an Inter-IC Audio bus (ICA) external device. Sound (I2S) external devices, Time-Division Multiplexing (TDM) external devices, Analog Microphone (AMIC) external devices, Digital Microphone (DMIC) external devices, Analog-to-digital converter (ADC) external devices, Digital Signal Processing (DSP), etc.The connection method between the external device and the node depends on the type of the external device. For example, if the external device is a CAN device, the external device and the node are connected through the CAN bus. If the external device is a DSP, the external device and the node can be connected through a bus such as SPI, UART or TDM.

[0116] It should be noted that the embodiment of the present application does not limit the number of nodes and the number of external devices connected to the nodes, and in order to make the schematic diagram as concise and clear as possible, the schematic diagram of the transmission system in the embodiment of the present application only illustrates the external devices connected to one sub-node, namely external device e1, external device e2 and external device e3.

[0117] In an embodiment of the present application, by setting the above-mentioned transmission system applied by the target node and the downstream node, compared with using multiple subsystems corresponding to different types of buses to transmit multiple types of data, the transmission system can realize mixed transmission of multiple types of data through the first link or the second link, so that the wiring of the transmission system is relatively simple and the weight of the wiring harness is relatively small, which is convenient for the assembly and maintenance of the transmission system. In addition, different nodes in the transmission system transmit data through the physical layer, eliminating the MCU, and the transmission system does not need to use a switch, saving hardware costs and development and maintenance costs.

[0118] When the master node is the node that initiates the transmission of the target data packet, the above-mentioned data transmission method also includes: the master node receives the target data group sent by the host; the master node obtains the target data packet after packaging according to the received target data group; the master node sends the target data packet to at least one child node, so that the at least one child node processes the external device and / or local module connected to the at least one child node according to the target data group.

[0119] In a specific embodiment, when the master node is the node that initiates the transmission of the target data packet, the host is used to send at least one data group to the master node, and the master node groups the received one or more data groups into packets, thereby obtaining a target data packet with a common header, and the target data packet includes the data group sent by the host. The target data group in the above embodiment is any data group in at least one data group sent by the host, that is, the target data group in the above embodiment is sent by the host to the master node, and after the master node receives the target data group, the master node groups the target data packet with a common header, that is, the multiple data groups sent by the host can be grouped into a target data packet in the data format described in Figure 2 above, and then the target data packet is sent to the child node adjacent to the master node. When there are multiple child nodes, the target data packet is transmitted sequentially in the first link connected by the multiple nodes. When there is only one child node, the target data packet is transmitted in the second link connected by the master node and the child node. It should be understood that the data transmission between the host and the master node can also follow the above-mentioned stream-type data transmission.

[0120] Thus, when there is a child node among multiple nodes, the host can use the master node and the child node to enable the child node to obtain the target data group, thereby realizing remote control of the external device or local module connected to the child node; when there are multiple child nodes among multiple nodes, the host can use the first link formed by the master node and the child node to remotely control the external devices or local modules connected to all nodes on the first link. Therefore, through this remote control method, there is no need to additionally match or connect the MCU for the child node, which saves costs and improves the efficiency of responding to control commands. In addition, the target data packet transmission between nodes through the above steps 101, 102, and 103 can greatly reduce the data transmission delay and the data processing delay, thereby improving the data transmission efficiency.

[0121] chip

[0122] FIG9 is a schematic block diagram of a chip provided in an embodiment of the present application. The specific embodiment of the present application does not limit the specific implementation of the chip. As shown in FIG9 , the chip may include: a processing unit (processor) 902 and a memory unit (memory) 906.

[0123] in:

[0124] The processing unit 902 and the storage unit 906 communicate with each other.

[0125] The processing unit 902 is configured to execute a program 910 , and specifically may execute the relevant steps in any of the aforementioned data transmission method embodiments.

[0126] Specifically, the program 910 may include program codes, which include computer operation instructions.

[0127] The processing unit 902 may be an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits according to the embodiments of the present application.

[0128] RISC-V is an open-source instruction set architecture based on the principles of the Reduced Instruction Set (RISC). It can be applied to various fields, including microcontrollers and FPGA chips. Specifically, it has applications in areas such as IoT security, industrial control, mobile phones, and personal computers. Designed with small size, high speed, and low power consumption in mind, it is particularly suitable for modern computing devices such as warehouse-scale cloud computers, high-end mobile phones, and tiny embedded systems. With the rise of the artificial intelligence (AI) Internet of Things (AIoT), the RISC-V instruction set architecture has also received increasing attention and support, and is expected to become the next generation of widely used CPU architecture.

[0129] The computer operation instructions in the embodiments of the present application may be computer operation instructions based on the RISC-V instruction set architecture. Accordingly, the processing unit 902 may be designed based on the RISC-V instruction set. Specifically, the chip provided in the embodiments of the present application may be a chip designed using the RISC-V instruction set. The chip may execute executable code based on the configured instructions, thereby implementing the data transmission method in the above embodiments.

[0130] The storage unit 906 is used to store the program 910. Optionally, the storage unit 906 may include a high-speed RAM storage unit, or may also include a non-volatile memory unit (non-volatile memory), such as at least one disk storage unit.

[0131] The program 910 can be specifically used to enable the processing unit 902 to execute the data transmission method in any of the aforementioned embodiments.

[0132] The specific implementation of each step in program 910 can refer to the corresponding description of the corresponding steps and units in any of the aforementioned data transmission method embodiments, and will not be repeated here. Those skilled in the art will clearly understand that for the convenience and brevity of description, the specific working processes of the above-described devices and modules can refer to the corresponding process descriptions in the aforementioned method embodiments, and will not be repeated here.

[0133] Through the chip of the embodiment of the present application, when receiving a target data packet, the target node only needs to receive the indication data included in the target data group in the target data packet, and then start caching the indication data and determining whether the indication data meets the matching conditions. If the matching conditions are met, the target data group is updated; if the matching conditions are not met, the target data group is received normally. Therefore, the target data group in the target data packet includes indication data. The target node only needs to determine whether the indication data meets the matching conditions after receiving the indication data, so as to determine whether the target node needs to update the current target data group. That is to say, in the actual process of receiving the entire target data group, we only need to cache and parse the indication data in the target data group, and there is no need to completely cache and parse all the data in the entire target data group before determining whether to update the target data group. After determining to update the target data group, the target node can update the target data group in the process of receiving the target data packet. Compared with the related art, it is necessary to determine whether to update the target data group only after the target node receives and caches the complete target data packet, and then update the target data group after determining to update the target data group. In the embodiment of the present application, it only needs to cache and parse the indication data to determine whether to update the target data group, and after determining to update the target data group, update the target data group in the process of receiving the target data packet. There is no need to cache data other than the indication data, so that data transmission based on the target node can be carried out quickly and efficiently, reducing the delay of data transmission based on the target node.

[0134] Computer storage media

[0135] This application also provides a computer-readable storage medium storing instructions for causing a machine to execute the data transmission method described herein. Specifically, a system or device equipped with a storage medium can be provided, wherein the storage medium stores software program code that implements the functions of any of the above-described embodiments, and a computer (or CPU or MPU) of the system or device can read and execute the program code stored in the storage medium.

[0136] In this case, the program code read from the storage medium itself can realize the function of any one of the above embodiments, so the program code and the storage medium storing the program code constitute part of this application.

[0137] Examples of storage media for providing program code include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), magnetic tapes, non-volatile memory cards, and ROMs. Alternatively, the program code can be downloaded from a server computer via a communication network.

[0138] It should be noted that the user-related information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to sample data used to train the model, data used for analysis, stored data, displayed data, etc.) involved in the embodiments of this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0139] Those skilled in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for specific applications, but such implementation should not be considered to be beyond the scope of the embodiments of this application.

[0140] The above implementation methods are only used to illustrate the embodiments of the present application, and are not intended to limit the embodiments of the present application. Ordinary technicians in the relevant technical field can make various changes and modifications without departing from the spirit and scope of the embodiments of the present application. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of the present application, and the scope of patent protection of the embodiments of the present application should be defined by the claims.

Claims

1. A data transmission method, characterized in that: Applied to a target node, the method comprises: In the process of receiving the target data packet, after receiving the indication data included in any target data group in the target data packet, determining whether the indication data satisfies the matching condition; If the indication data meets the matching condition, updating the target data group; If the indication data does not satisfy the matching condition, the target data set is received normally.

2. The method according to claim 1, characterized in that The target node is an intermediate node among a plurality of nodes used to transmit data in sequence; The method further comprises: If the indication data satisfies the matching condition, after completing the update of the target data group, the updated target data group is sent to the downstream node of the target node; If the indication data does not satisfy the matching condition, the target data group is received normally and sent to a downstream node of the target node.

3. The method according to claim 2, characterized in that The determining whether the indication data satisfies a matching condition comprises: If the state indication identifier included in the indication data indicates that the data field used to load the target data group is not idle, and the node indicated by the node indication identifier included in the indication data is the target node, it is determined that the indication data satisfies the matching condition; If the state indication identifier indicates that the data field for loading the target data group is not idle, and the node indicated by the node indication identifier included in the indication data is not the target node, it is determined that the indication data does not meet the matching condition; If the status indication flag indicates that the data field for loading the target data group is idle, and the target node obtains the data to be transmitted from an external device connected to the target node and / or a local module included in the target node, it is determined that the indication data meets the matching condition; If the status indication identifier indicates that the data field for loading the target data group is idle, and the target node has not obtained the data to be transmitted from the external device and / or the local module, it is determined that the indication data does not meet the matching condition.

4. The method according to claim 3, characterized in that The updating of the target data group includes: If the status indication identifier indicates that the data field used to load the target data group is not idle, the node indicated by the node indication identifier is the target node, and the target node obtains the data to be transmitted from the external device and / or the local module, then after receiving the target data group, the data included in the target data group is obtained, and the main data in the target data group is replaced by at least part of the data to be transmitted, and the indication data included in the target data group is also updated.

5. The method according to claim 3, characterized in that: The updating of the target data group includes: If the status indication identifier indicates that the data field used to load the target data group is not idle, the node indicated by the node indication identifier is the target node, and the target node has not obtained the data to be transmitted from the external device and / or the local module, then after receiving the target data group, the data included in the target data group is obtained, and the status indication identifier in the target data group is adjusted to indicate that the data field used to load the target data group is idle.

6. The method according to claim 3, characterized in that The updating of the target data group includes: If the status indicator indicates that the data field used to load the target data group is idle and the data to be transmitted is obtained from the external device and / or the local module, an updated target data group is generated in the data field used to load the target data group, wherein the main data included in the updated target data group is at least part of the data to be transmitted, and the indication data included in the updated target data group is determined based on the main data included in the updated target data group.

7. The method according to claim 1, characterized in that The target node is the last node among a plurality of nodes for sequentially transmitting data.

8. The method according to claim 7, characterized in that The determining whether the indication data satisfies a matching condition comprises: If the state indication identifier included in the indication data indicates that the data field used to load the target data group is not idle, and the node indicated by the node indication identifier included in the indication data is the target node, it is determined that the indication data satisfies the matching condition; If the state indication identifier indicates that the data field for loading the target data group is not idle, and the node indicated by the node indication identifier included in the indication data is not the target node, it is determined that the indication data does not meet the matching condition; If the status indication flag indicates that the data field for loading the target data group is idle, it is determined that the indication data does not meet the matching condition.

9. The method according to claim 8, characterized in that The updating of the target data group includes: If the status indication identifier indicates that the data field used to load the target data group is not idle and the node indicated by the node indication identifier is the target node, then after receiving the target data group, the data included in the target data group is obtained, and the status indication identifier in the target data group is adjusted to indicate that the data field used to load the target data group is idle.

10. The method according to claim 8, characterized in that The updating of the target data group includes: If the status indication identifier indicates that the data field for loading the target data group is not idle and the node indicated by the node indication identifier is the target node, after receiving the target data group, the data included in the target data group is acquired.

11. The method according to claim 4, 5, 9 or 10, characterized in that The method further comprises: After acquiring the data included in the target data group, acquiring preprocessing information corresponding to the main data in the target data group from the target node; Preprocessing an external device connected to the target node and / or a local module included in the target node according to the preprocessing information; The external device and / or the local module is processed according to the non-preprocessing information included in the main body data, wherein the main body data does not include the preprocessing information.

12. The method according to claim 11, characterized in that The obtaining, from the target node, preprocessing information corresponding to the main body data in the target data group includes: Determining a processing object of the non-preprocessed information included in the target data group, wherein the processing object includes at least part of the external device and / or at least part of the local module; Preprocessing information corresponding to the processing object is obtained from the local of the target node as preprocessing information corresponding to the main data in the target data group, wherein the preprocessing information corresponding to the external device and the local module is obtained after the target node is powered on and stored locally in the target node.

13. The method according to claim 4, 5, 9 or 10, characterized in that The method further comprises: Acquire, from the target node, preprocessing information corresponding to each external device connected to the target node and preprocessing information corresponding to a local module included in the target node; Preprocessing the external device according to the preprocessing information corresponding to the external device; Preprocessing the local module according to the preprocessing information corresponding to the local module; After acquiring the data included in the target data group, the external device and / or the local module is processed according to the non-preprocessing information included in the main body data in the target data group, wherein the main body data does not include the preprocessing information.

14. The method according to any one of claims 1 to 10, characterized in that The method is implemented based on the physical layer of the target node, wherein the physical layer is the lowest layer in network communication.

15. The method according to claim 14, characterized in that The target data packet is sent from the physical layer of the upstream node of the target node to the physical layer of the target node via a first transmission medium, wherein the first transmission medium is a physical transmission medium.

16. The method according to claim 15, characterized in that The method further comprises: After the target data packet is received, verifying the target data packet through the physical layer of the target node; If the target data packet is successfully verified, sending confirmation information corresponding to the target data packet to the physical layer of the upstream node of the target node through the first transmission medium; If the verification of the target data packet fails, the corresponding abnormal information is uploaded.

17. The method according to claim 16, characterized in that The method further comprises: If the target node is an intermediate node among multiple nodes used to transmit data in sequence, the process starts by sending the target data packet to the physical layer of the downstream node of the target node. If no confirmation information sent by the physical layer of the downstream node for the target data packet is received after a first waiting period, the target data packet is resent to the physical layer of the downstream node.

18. The method according to claim 17, characterized in that The method further comprises: If the target node is an intermediate node among multiple nodes used to transmit data in sequence, the process starts with sending the target data packet to the physical layer of the downstream node. If no confirmation information sent by the physical layer of the downstream node for the target data packet is received after a second waiting period, the target data packet is discarded and corresponding exception information is uploaded, wherein the second waiting period is greater than the first waiting period.

19. The method according to claim 18, characterized in that The method further comprises: If the target node is an intermediate node among multiple nodes used to transmit data in sequence, the process starts by sending the target data packet to the physical layer of the downstream node. If confirmation information sent by the physical layer of the downstream node for the target data packet is received within the second waiting period, the confirmation information is verified through the physical layer of the target node. If the verification of the confirmation information is successful, the target data packet is deleted. If the verification of the confirmation information fails, the target data packet is discarded and the corresponding exception information is uploaded.

20. The method according to claim 15, characterized in that The method further comprises: During the process of receiving multiple data packets at the physical layer of the target node, if the first data packet initially received is the same as any data packet that has been received, the first data packet is deleted after the first data packet is received, wherein the target data packet is any data packet among the multiple data packets.

21. The method according to claim 15, characterized in that The method further comprises: In the process of receiving multiple data packets at the physical layer of the target node, if the target node starts to receive the second data packet normally, A third data packet is received, and if the third data packet is not the next data packet of the second data packet among the multiple data packets, the third data packet is received abnormally to cache the third data packet and not process the third data packet, wherein the target data packet is any data packet among the multiple data packets.

22. The method according to claim 1, characterized in that The target node is applied to a transmission system, the transmission system includes a plurality of nodes, the plurality of nodes include a master node and at least one child node; If there are at least two sub-nodes in the multiple nodes, the multiple nodes are connected in sequence to form a first link, the first link is a ring topology or a linear topology, and the target node is an intermediate node or an end node in the first link that transmits the target data packet; If there is a child node among the multiple nodes, the main node and the child node are connected to form a second link, and the child node is the end node for transmitting the target data packet in the second link, and the target node is the child node.

23. A chip, comprising: A processing unit and a storage unit, wherein the processing unit and the storage unit communicate with each other; The storage unit is used to store at least one executable instruction, and the executable instruction enables the processing unit to perform an operation corresponding to the method according to any one of claims 1-22.

24. A computer storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the method according to any one of claims 1 to 22 is implemented.

Citation Information

Patent Citations

  • Data forwarding method, chip, and electronic device

    WO2025043406A1

  • Data transmission method, chip, and storage medium

    WO2025044072A1

  • Chip, networking system and electronic device

    WO2025044073A1

  • Networking data transmission method, chip, and communication system

    WO2025137884A1

  • Message packaging method and method, device and network equipment for detecting forwarding loop

    CN101764750A