Networking data transmission method, chip, and communication system
Through the ring networking system and data packet optimization technology, the problems of low bandwidth, long time delay and high cost in on-board data transmission are solved, and efficient and flexible transmission of various data types are achieved, reducing transmission delay and networking costs.
Patent Information
- Application Number
- PCT/CN2023/142094
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-26
- Publication Date
- 2025-07-03
AI Technical Summary
The existing vehicle audio data transmission solutions have low bandwidth, long time delay and cannot carry multiple data types. The vehicle-mounted non-audio data transmission solutions cannot meet the transmission rate and delay requirements of intelligent development, and are costly, so they cannot support flexible node interconnection scenarios and complex communication structures.
Provide a network data transmission method. Through a ring networking system of the first node and multiple child nodes, a variety of data types are transmitted using public packets and node packets, including audio, broadcast, configuration, radar and other data. The idle field is used to optimize the data packet structure, support flexible node configuration and fault tolerance mechanism, and reduce transmission delay and cost.
It realizes flexible transmission of multiple data types, improves transmission efficiency and bandwidth, reduces delay and networking costs, and supports more flexible node configuration and fault tolerance.
Smart Images

Figure CN2023142094_03072025_PF_FP_ABST
Abstract
Description
Network data transmission method, chip and communication system Technical Field
[0001] The present application relates to the field of electronic communication technology, and in particular, to a network data transmission method, chip and communication system. Background Art
[0002] Nowadays, in-vehicle devices and functions are becoming more diverse. Various data transmissions are required in vehicles to meet different application scenarios of in-vehicle systems, such as in-vehicle audio data. However, the transmission of in-vehicle audio data still relies on analog solutions. Specifically, the audio data is first processed by a centralized power amplifier and then connected to various audio devices through analog audio cables for playback. Currently, digital audio solutions based on the Automotive Audio Bus (A2B) are also emerging. However, A2B's digital audio solution only supports single serial daisy chain transmission, which has disadvantages such as low bandwidth, extended latency, and poor reliability. In addition, A2B's digital audio solution cannot carry large data transmission other than audio data. In addition, the current mainstream solution for in-vehicle non-audio data transmission is based on Ethernet and Controller Area Network (CAN) bus transmission. However, with the development of intelligence, the CAN bus cannot meet the requirements of transmission rate and latency. The current in-vehicle Ethernet uses traditional switch-based communication. Although mature and reliable, it requires more switches to connect the in-vehicle electronic control units (ECUs) and does not support direct communication with on-board sensors. It is costly and complex to implement, and cannot support more flexible node interconnection scenarios and the application of complex communication structures.
[0003] Therefore, how to realize a networking system that can meet the transmission of multiple data types, has flexible configuration, high reliability, low cost and low transmission delay has become a problem that needs to be solved.
[0004] Summary of the Invention
[0005] The present application provides a network data transmission method, chip and communication system, which can meet the needs of transmitting multiple data types in the same data packet, forming a flexibly configured network, improving the reliability of network transmission and reducing the delay of data transmission.
[0006] In a first aspect, a network data transmission method is provided, wherein the network includes a first node and N child nodes, where N is greater than 1, and the network data transmission method includes: the first node initiates transmission of a first public packet, where the first public packet includes first public data; the i-th child node receives the first public packet transmitted sequentially in the network, and adds the first node data to the first public packet; the terminating node receives the first public packet transmitted sequentially in the network via the N child nodes, where the first public packet includes the first public data and the first node data, or, after the k-th child node receives the first public packet transmitted sequentially in the network and obtains the first node data in the first public packet, the terminating node receives the first public packet transmitted sequentially in the network via the N child nodes, where the first public packet includes the first public data, wherein, in terms of transmission order, i is less than k.
[0007] In a possible implementation, the termination node is the first node, or the termination node is the last child node among the N child nodes.
[0008] In one possible implementation, the networking also includes a branch child node of the i-th child node. The i-th child node receives the first public packet and adds the first node data to the first public packet. The method also includes: the i-th child node sends the first public packet to the branch child node of the i-th child node, and the branch child node of the i-th child node is only connected to the i-th child node.
[0009] In one possible implementation, the networking also includes a branch sub-node of the i-th sub-node, the i-th sub-node receives the first public package, and adds the first node data to the first public package. The method also includes: the branch sub-node of the i-th sub-node sends the first node data to the i-th sub-node, the branch sub-node of the i-th sub-node is only connected to the i-th sub-node, and the first node data is generated by the branch sub-node of the i-th sub-node or by a peripheral device connected to the branch sub-node of the i-th sub-node.
[0010] In one possible implementation, the first public package also includes first non-public data, the first public data includes at least one of audio data and broadcast data, and the first non-public data includes at least one of configuration data, read data, interrupt data, control data, command data, radar data, video data, image data, sensor data, and vehicle management data.
[0011] In a possible implementation, the head node divides the idle portion in the first public packet into one or more idle fields, where the multiple idle fields are of equal length.
[0012] In one possible implementation, after the f-th child node receives the first public packet transmitted sequentially in the network and obtains the first non-public data, it marks the field corresponding to the first non-public data as an idle field. Alternatively, the f-th child node receives the first public packet transmitted sequentially in the network, sends the first public packet to the branch child node of the f-th child node, and the branch child node of the f-th child node obtains the first non-public data in the first public packet. At the same time, the f-th child node also marks the field corresponding to the first non-public data as the idle field and sends it to the next node connected to it, and the next node is the child node or the termination node.
[0013] In a possible implementation manner, the i-th child node adds the first node data to the first public packet, including: the i-th child node adds the first node data to the free field in the first public packet.
[0014] In one possible implementation, the i-th child node adds the first node data to the free field in the first public packet, including: the i-th child node divides the first node data so that the first node data includes at least two segments of first node data; the i-th child node adds the at least two segments of first node data to the multiple free fields in the first public packet respectively.
[0015] In one possible implementation, the i-th child node adds the first node data to the free field in the first public packet, including: the i-th child node divides the first node data so that the first node data includes at least two segments of first node data; the i-th child node adds the first parts of the at least two segments of first node data to the free fields in the first public packet respectively.
[0016] In one possible implementation, the method further includes: the first node initiating transmission of a second public packet, the second public packet including second public data; the i-th child node receiving the first public packet transmitted sequentially in the network, and adding the second part of the at least two segments of first node data to the idle field in the second public packet; the terminating node receiving the first public packet and the second public packet, and combining the first part of the at least two segments of first node data and the second part of the at least two segments of first node data into the first node data.
[0017] In one possible implementation, the i-th child node receives the first public package and adds the first node data to the first public package, including: the i-th child node receives the first public package, parses whether there is any free part in the first public package, and if there is any free part, adds the first node data to the first public package.
[0018] In a possible implementation, when the terminating node is the first node, the method further includes: the first node parsing the first public packet and determining whether the target node of the first node data in the first public packet is the first node.
[0019] In one possible implementation, if the target node of the first node data is the first node, the first node obtains the first node data in the first public packet; if the target node of the first node data is not the first node, the first node initiates the transmission of the first node packet, the first node packet includes the first node data, and the transmission direction of the first node packet is the same as or different from the transmission direction of the first public packet.
[0020] In a possible implementation manner, the first node data includes first addressing information, where the first addressing information is used to indicate a target node of the first node data.
[0021] In a possible implementation manner, the first node data is generated by the i-th child node, or generated by a peripheral device connected to the i-th child node.
[0022] In a second aspect, a network data transmission method is provided, wherein the network includes a first node and N child nodes, where N is greater than 1, and the network data transmission method includes: the starting node initiates transmission of a first node packet, and the first node packet includes a first packet header; the i-th child node receives the first node packet transmitted sequentially in the network, and adds the first node data to the first node packet; the terminating node receives the first node packet transmitted sequentially in the network via the N child nodes, and at this time, the first node packet includes the first packet header and the first node data, or, after the k-th child node receives the first node packet transmitted sequentially in the network and obtains the first node data in the first node packet, the first node packet received sequentially in the network via the N child nodes, and at this time, the first node packet includes the first packet header, and in terms of transmission order, i is less than k.
[0023] In one possible implementation, the starting node and the ending node are both the first node, or the starting node is the first node and the ending node is the last child node among the multiple child nodes, or the starting node is the last child node among the multiple child nodes and the ending node is the first node.
[0024] In one possible implementation, the networking also includes a branch child node of the i-th child node. When the i-th child node receives the first node packet and adds the first node data to the first node packet, the method also includes: the i-th child node sends the first node packet to the branch child node of the i-th child node, and the branch child node of the i-th child node is only connected to the i-th child node.
[0025] In one possible implementation, the networking also includes a branch sub-node of the i-th sub-node, and before the i-th sub-node receives the first node packet and adds the first node data to the first node packet, the method also includes: the branch sub-node of the i-th sub-node sends the first node data to the i-th sub-node, the branch sub-node of the i-th sub-node is only connected to the i-th sub-node, and the first node data is generated by the branch sub-node of the i-th sub-node or by a peripheral device connected to the branch sub-node of the i-th sub-node.
[0026] In one possible implementation, the first node data includes first public data, the first node package also includes a public data field, the i-th child node receives the first node package, and adds the first node data to the first node package, including: the i-th child node receives the first node package, and adds the first public data to the public data field in the first node package.
[0027] In a possible implementation, the method further includes: the starting node dividing the first node packet into one or more idle fields, and the idle fields are of equal length.
[0028] In one possible implementation, the starting node initiates transmission of a first node packet in a first direction, and the first node packet also includes first target data. The method further includes: when the target node of the first target data is the j-th child node, the j-th child node receives the first node packet transmitted sequentially in the network, and obtains the first target data in the first node packet; or, when the target node of the first target data is a branch child node of the j-th child node, the j-th child node receives the first node packet transmitted sequentially in the network, sends the first node packet to the branch node of the j-th child node, the branch child node of the j-th child node receives the first node packet, and obtains the first target data in the first node packet.
[0029] In one possible implementation, the kth child node receives the first node packet transmitted sequentially in the network and obtains the first node data in the first node packet, including: the kth child node receives the first node packet transmitted sequentially in the network and obtains the first node data in the first node packet, and marks the field corresponding to the first node data as an idle field.
[0030] In one possible implementation, the i-th child node receives the first node packet transmitted sequentially in the network, and adds the first node data to the first node packet, including: the i-th child node receives the first node packet transmitted sequentially in the network, and adds the first node data to the idle field in the first node packet.
[0031] In one possible implementation, the first node data includes first non-public data and / or first public data, the i-th child node receives the first node packet transmitted sequentially in the network, and adds the first non-public data to the idle field in the first node packet, and / or the first node packet also includes a public data field, the i-th child node receives the first node packet transmitted sequentially in the network, and adds the first public data to the public data field.
[0032] In one possible implementation, the first public data includes at least one of audio data and broadcast data, and the first non-public data includes at least one of configuration data, read data, interrupt data, control data, command data, radar data, video data, image data, sensor data, and vehicle management data.
[0033] In one possible implementation, the method further includes: the i-th child node divides the first node data so that the first node data includes at least two segments of first node data; the i-th child node adds the at least two segments of first node data to the multiple free fields in the first node packet respectively.
[0034] In one possible implementation, the method further includes: the i-th child node divides the first node data so that the first node data includes at least two segments of first node data; the i-th child node adds the first parts of the at least two segments of first node data to the free fields in the first node packet respectively.
[0035] In one possible implementation, the method further includes: the starting node initiates transmission of a second node packet, the second node packet includes a second packet header; the i-th child node receives the second node packet transmitted sequentially in the network, the second node packet includes an idle field of the second node packet, and the i-th child node adds the second part of the at least two segments of first node data to the idle field of the second node packet; the terminating node receives the first node packet and the second node packet, and combines the first part of the at least two segments of first node data and the second part of the at least two segments of first node data into the first node data.
[0036] In one possible implementation, the i-th child node receives the first node packet and adds the first node data to the first node packet, including: the i-th child node receives the first node packet, parses whether there is any free part in the first node packet, and if so, adds the first node data to the first node packet; or, the first node data includes first non-public data, the i-th child node receives the first node packet, parses whether there is any free part in the first node packet, and if so, adds the first non-public data to the first node packet.
[0037] In a possible implementation, when the starting node and the ending node are both the first nodes, the method further includes: the first node parsing the first node packet to determine whether the target node of the first node data in the first node packet is the first node.
[0038] In one possible implementation, if the target node of the first node data is the first node, the first node obtains the first node data in the first node packet; if the target node of the first node data is not the first node, the first node initiates the transmission of a third node packet, the third node packet includes the first node data, and the transmission direction of the first node packet is the same as or different from the transmission direction of the third node packet.
[0039] In a possible implementation manner, the first target data includes first addressing information, where the first addressing information is used to indicate a target node of the first target data.
[0040] In a possible implementation, the first node is generated by the i-th sub-node, or is generated by a peripheral device connected to the i-th sub-node.
[0041] In one possible implementation, when the starting node is the last child node and the ending node is the first node, the networking includes a first link and a second link, and the first node connects the first link and the second link, the method further includes: the first node parses the first node packet and determines whether the target node of the first node data in the first node packet is the first node, wherein the first node packet is transmitted to the first node by the first link; if the target node of the first node data in the first node packet is not the first node, the first node initiates transmission of a fourth node packet on the second link, and the fourth node packet includes the first node data.
[0042] In a third aspect, a chip is provided, comprising a processor and a memory, wherein the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory to execute the method described in any one of the first aspect or the second aspect.
[0043] In a fourth aspect, a system is provided, comprising the chip as described in the third aspect and a peripheral device, wherein the peripheral device is connected to and communicates with the chip. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] FIG1 is a schematic diagram of a system structure provided in an embodiment of the present application;
[0045] FIG2 is a schematic diagram of a networking system according to an embodiment of the present application;
[0046] FIG3 is a second schematic diagram of a networking system provided in an embodiment of the present application;
[0047] FIG4 is a schematic diagram of another networking system provided in an embodiment of the present application;
[0048] FIG5 is a second schematic diagram of another networking system provided in an embodiment of the present application;
[0049] FIG6 is a schematic flowchart of a data transmission method 100 provided in an embodiment of the present application;
[0050] FIG7( a ) is a first process diagram based on method 100 provided in an embodiment of the present application;
[0051] FIG7( b ) is a second process diagram based on method 100 provided in an embodiment of the present application;
[0052] FIG7( c ) is a third process diagram based on method 100 provided in an embodiment of the present application;
[0053] FIG7( d ) is a fourth process diagram based on method 100 provided in an embodiment of the present application;
[0054] FIG8( a ) is a first schematic diagram of a data format based on the first public packet in method 100 provided in an embodiment of the present application;
[0055] FIG8( b ) is a second schematic diagram of a data format based on the first public packet in method 100 provided in an embodiment of the present application;
[0056] FIG9 is a first schematic diagram of another data format of the first public packet in the method 100 provided in an embodiment of the present application;
[0057] FIG10( a ) is a first schematic diagram of a data format of another embodiment of the present application based on the first public packet in method 100 ;
[0058] FIG10( b ) is a second schematic diagram of a data format of another embodiment of the present application based on the first public packet in method 100 ;
[0059] FIG11 is a schematic diagram of data transmission corresponding to an example process 200 provided in an embodiment of the present application;
[0060] FIG12 is a second schematic flow chart of a data transmission method 100 provided in an embodiment of the present application;
[0061] FIG13 is a schematic flow chart of a data transmission method 300 provided in an embodiment of the present application;
[0062] FIG14( a ) is a first diagram illustrating a data format of a first node packet in method 300 according to an embodiment of the present application;
[0063] FIG14( b ) is a second schematic diagram of a data format of the first node packet in method 300 provided in an embodiment of the present application;
[0064] FIG15( a ) is a first process diagram based on method 300 provided in an embodiment of the present application;
[0065] FIG15( b ) is a second process diagram based on method 300 provided in an embodiment of the present application;
[0066] FIG15( c ) is a third process diagram based on method 300 provided in an embodiment of the present application;
[0067] FIG16( a ) is another process diagram 1 based on method 300 provided in an embodiment of the present application;
[0068] FIG16( b ) is another process diagram 2 based on method 300 provided in an embodiment of the present application;
[0069] FIG17( a ) is a first diagram illustrating a data format of a first node packet in method 300 according to an embodiment of the present application;
[0070] FIG17( b ) is a second schematic diagram of a data format of the first node packet in method 300 provided in an embodiment of the present application;
[0071] FIG18 is a schematic diagram of data transmission corresponding to an example process 400 provided in an embodiment of the present application;
[0072] FIG19 is a second schematic flow chart of a data transmission method 300 provided in an embodiment of the present application;
[0073] FIG20 is a schematic diagram of the structure of a chip provided in an embodiment of the present application;
[0074] Figure 21 is a structural diagram of a communication system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0075] Nowadays, in-vehicle devices and functions are becoming increasingly diverse. A variety of data transmission methods are needed to meet diverse application scenarios within the vehicle system, such as in-vehicle audio data. However, this data transmission still relies on analog solutions, specifically, audio data is first processed by a centralized amplifier and then connected to various audio devices via analog audio cables for playback. Digital audio solutions based on A2B are also emerging. However, these solutions only support a single serial daisy chain transmission, resulting in low bandwidth, extended latency, and poor reliability. Furthermore, these solutions cannot handle large amounts of data beyond audio. Furthermore, the mainstream solutions for in-vehicle non-audio data transmission are currently based on Ethernet and CAN bus. However, with the development of intelligent systems, the CAN bus cannot meet the transmission rate and latency requirements. Current in-vehicle Ethernet uses traditional switch-based communication. While mature and reliable, it requires a large number of switches to connect in-vehicle ECUs and does not support direct communication with in-vehicle sensors. This is costly and complex to implement, making it incapable of supporting more flexible node interconnection scenarios and complex communication structures. Therefore, there is a lack of a networking system that can adapt to diverse data transmission types and simultaneously handle both audio and non-audio data transmission.
[0076] Therefore, the present application proposes a networking transmission method, chip and system that can realize networking data transmission that meets the requirements of transmission of multiple data types, flexible configuration, high reliability, low cost and low transmission delay.
[0077] It should be understood that the terms "vehicle", "on-board" or "in-vehicle" or other similar terms used herein generally include various private or commercial vehicles such as sedans, sport utility vehicles, buses, trucks, etc., as well as various boats, ships, aircraft, etc., and include hybrid vehicles, electric vehicles, plug-in hybrid electric vehicles, hydrogen-powered vehicles and other alternative fuel vehicles.
[0078] The following is a clear and complete description of the technical solutions in this application in conjunction with the accompanying drawings. Obviously, the embodiments described are only used to explain the present invention and are not intended to limit the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making any creative work are within the scope of protection of the present invention. It should also be noted that, for ease of description, only the parts related to the present invention are shown in the accompanying drawings, not all structures.
[0079] It should be understood that the various steps described in the method embodiments of the present application can be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present application is not limited in this respect.
[0080] The term "including" and its variations used in this document are open inclusions, that is, "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one other embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc. mentioned in this application are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0081] In the embodiments of the present disclosure, the term "and / or" describes the association relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally indicates that the associated objects are in an "or" relationship.
[0082] As used throughout this description and in the claims, a list of items linked by the term "at least one of" or "one or more of" may mean any combination of the listed items. For example, the phrase "at least one of A, B, or C" may mean A; B; C; A and B; A and C; B and C; or A, B, and C.
[0083] The term "circuit" or "module" may refer to one or more passive and / or active components that are arranged to cooperate with each other to provide the desired functionality. The terms "coupling" and "connection" along with their derivatives may be used in this article to describe the functional or structural relationship between components. It should be understood that these terms are not intended to be synonymous with each other. On the contrary, in a particular embodiment, "connection" includes but is not limited to various connection modes such as communication connection and electrical connection, which can be used to indicate that two or more elements are in direct physical, optical or electrical contact with each other. "Coupling" can be used to indicate that two or more elements are in direct or indirect (with other intermediate elements between them) physical or electrical contact with each other, and / or two or more elements cooperate or interact with each other (for example, as in a causal relationship).
[0084] Figure 1 is a schematic diagram of a system structure provided by an embodiment of the present application. As shown in Figure 1, in the system structure, it includes a host, a first node 0 and N child nodes, N is greater than 1, and the N child nodes include child node 1, child node 2,..., child node N. The host can be connected to the first node through any peripheral interface such as the internal circuit of the integrated circuit (Inter-Integrated Circuit, I2C), the serial peripheral interface (Serial Peripheral Interface, SPI), the universal asynchronous receiver / transmitter (UART), and the system management interface (System Management Interface, SMI). The first node and the N child nodes can be connected and communicate in sequence through a physical transmission medium. The physical transmission medium is, for example, a twisted pair cable. This application does not make specific limitations on this. The host, the first node and the N child nodes communicate with each other to form a networking link. The first node can directly receive data, information, commands, etc. sent by the host, and can encapsulate, integrate, and process the data, information, and commands before transmitting them downlink to N child nodes. The first node can also directly generate data and transmit it downlink to N child nodes. The host controls and instructs the N child nodes in the networking link through the first node. Specifically, the host processes the data through the first node and then transmits the data downlink to the N child nodes or collects the data transmitted uplink by the N child nodes. In downlink transmission, data processing includes data encapsulation and unpacking, etc. In uplink transmission, data processing includes data decapsulation and packet assembly, etc. The child node can forward the data sent by the previous adjacent node to the next adjacent node, and can obtain data collected by peripheral devices and transmit it uplink to the first node. The first node can directly receive the collected data or further transmit it to the host after processing.
[0085] The host is a device that controls or processes the networking link. For example, the host can be or can include one or more of various processors such as a digital signal processor (DSP), a microcontroller unit (MCU), and a central processing unit (Central Processing Unit). The head node and the child node are used for data transmission in the networking link and can be any device, module or chip that can execute the solution of the present application, for example, a physical layer (PHY) chip. In order to achieve shorter latency, higher bandwidth utilization and higher precision data transmission, the networking link transmission in the embodiment of the present application can be based on the Ethernet protocol or based on a private Ethernet packet format definition to support full-duplex transmission and increase transmission bandwidth.
[0086] In addition, both the head node and the child node can be connected to peripheral devices. This application does not limit the connection method between the head node or the child node and the peripheral devices. For example, the child node 1 can be connected to one or more peripheral devices through an I2C bus, or it can be connected to multiple peripheral devices through multiple I2C buses. By connecting the head node and the child node to the peripheral devices, different functional applications can be achieved. The peripheral devices can be various communication sensing devices such as microphones, speakers, audio amplifiers, millimeter wave radars, lidars, ultrasonic radars, cameras, positioning systems, speed sensors, humidity sensors, light intensity sensors, speakers, etc. For example, when the system structure shown in Figure 1 is applied to an in-vehicle audio scenario, the peripheral devices can be speakers and / or microphones.
[0087] It should be understood that the features such as the host, first node, and sub-node involved in the embodiments of the present application can be logical concepts or physical concepts. Furthermore, multiple features can be multiple physical devices respectively, or multiple features can be combined into one physical device. For example, the host and the first node can be integrated into a circuit board or a physical device. This application does not make specific limitations on this.
[0088] The embodiment of the present application provides a schematic diagram of a ring networking system formed by the system structure shown in Figure 1. As shown in Figure 2, the nodes in the figure include a head node 0 and N child nodes, where N is greater than 1. It should be understood that the embodiment of the present application does not limit the number of child nodes, and the head node and the child nodes can both be connected to peripheral devices. For the sake of simplicity, the peripheral devices connected to the head node and the child nodes are not shown in the figure. In Figure 1, the head node 0, child node 1, child node 2, child node 3, child node 4, ..., child node N are connected in sequence through a physical transmission medium, and form a ring networking system, so that communication data can be transmitted in the ring networking system. That is to say, unlike the existing serial daisy chain networking transmission scheme in which the head node does not connect and communicate with the last child node, in the ring networking transmission provided by the embodiment of the present application, the first child node and the last child node in the networking link are both connected to the head node, and data communication can be carried out. In this ring networking system, data transmission is divided into two directions, namely the first direction and the second direction, and the second direction is opposite to the first direction. For example, the first direction can be considered the clockwise direction of the illustrated ring network, and the second direction can be considered the counterclockwise direction of the illustrated ring network. In the first direction, the direction of data transmission can be head node 0 → child node 1 → child node 2 → child node 3 → child node 4 → ... → child node N → head node 0 → child node 1 → .... It should be understood that data can be transmitted among any number of nodes along the first direction, or can be transmitted cyclically in the first direction. In the second direction, the direction of data transmission can be head node 0 → child node N → ... → child node 4 → child node 3 → child node 2 → child node 1 → head node 0 → child node N → .... It should be understood that data can be transmitted among any number of nodes along the second direction, or can be transmitted cyclically in the second direction.
[0089] The ring networking structure shown in Figure 2 can support more flexible and diverse data transmission and node configuration solutions, meeting the networking transmission needs in various scenarios.
[0090] Based on the ring networking system shown in FIG2 , the present application also provides a second schematic diagram of a ring networking system formed by the system structure shown in FIG1 , as shown in FIG3 , the nodes in the figure include a head node 0, N child nodes, and a branch child node 1. The branch child node 1 is only connected to a certain child node, such as child node 3, in the networking system. It should be understood that the embodiment of the present application does not limit the number of child nodes and branch child nodes, and the head node, child node, and branch child node can all be connected to peripheral devices. For simplicity, the peripheral devices connected to the head node and child node are not shown in the figure. In FIG1 , the head node 0, child node 1, child node 2, child node 3, child node 4, ..., and child node N are connected in sequence through a physical transmission medium, while the branch child node 1 is only connected to the child node 3 through a physical transmission medium, and the branch child node 1 can only communicate with the child node 3, thereby forming a special ring networking system with branches, so that communication data can be transmitted in the ring system. Unlike the ring networking system shown in FIG2 above, branch sub-node 1, as a branch sub-node in the ring networking system, communicates only with the sub-node 3 connected thereto. It should be understood that in the ring networking system with branch sub-nodes, there can be multiple sub-nodes as branch sub-nodes, and the branch sub-nodes can be connected to the same sub-node or to different sub-nodes. For example, sub-node 3 can be connected to multiple branch sub-nodes, and for example, sub-node 4 can also be connected to one or more sub-nodes and the one or more sub-nodes serve as branch sub-nodes. The embodiment of the present application only uses branch sub-node 1 connected to sub-node 3 and branch sub-node 1 as a branch sub-node as an exemplary illustration. In the ring networking system, transmission is also divided into two directions, namely the first direction and the second direction, and the second direction is opposite to the first direction. For example, the first direction can be considered the clockwise direction of the ring network shown in the figure, and the second direction can be considered the counterclockwise direction of the ring network shown in the figure. In the first direction, the direction of data transmission can be head node 0 → child node 1 → child node 2 → child node 3 → child node 4 → ... → child node N → head node → child node 1 → .... It should be understood that data can be transmitted among any number of nodes along the first direction, or can be transmitted cyclically in the first direction. In the second direction, the direction of data transmission can be head node → child node N → ... → child node 4 → child node 3 → child node 2 → child node 1 → head node → child node N → .... It should be understood that data can be transmitted among any number of nodes along the second direction, or can be transmitted cyclically in the second direction.In addition, if data transmission requires the participation of a branch sub-node, such as branch sub-node 1, the data transmitted in the first or second direction is sent to the branch sub-node by the sub-node connected to the branch sub-node, or the data is sent to the sub-node connected to the branch sub-node and then transmitted in the first or second direction. For example, in the transmission in the first direction, the data received by sub-node 3 is sent to sub-node 4 and also to branch sub-node 1, or, after branch sub-node 1 sends its data to sub-node 3, sub-node 3 sends the data to sub-node 4 for further transmission. In other words, if branch sub-node 1 performs data transmission in a ring network system as a branch sub-node, it must pass through the sub-node 3 connected to it. It should be noted that even if the ring network system includes a branch sub-node, such as branch sub-node 1, when the branch sub-node, such as branch sub-node 1, does not participate in the transmission of the ring network system, the data transmission flow is still as shown in Figure 2. In other words, if branch sub-node 1 does not participate in the transmission of the ring network system, for example, if it does not need to receive or add any data, sub-node 3 can send data directly to sub-node 4 without passing through branch sub-node 1.
[0091] The ring networking scheme with branch sub-nodes as shown in FIG3 can reduce the wiring between networking nodes and save the overall cost of the networking system.
[0092] Based on the ring networking system shown in Figure 2 or Figure 3, the embodiment of the present application further proposes a networking system as shown in Figure 4 and a networking system as shown in Figure 5. As shown in Figure 4, the networking system includes multiple sub-nodes, for example, 6 sub-nodes, wherein if sub-node 4 fails, sub-node 4 and sub-node 5 can be disconnected, and the overall networking structure can be divided into two links. The first link includes the first node 0, sub-node 1, sub-node 2, sub-node 3 and the faulty node sub-node 4, and the second link includes the first node 0, sub-node 6, and sub-node 5. It should be understood that due to the failure of sub-node 4, sub-node 4 does not participate in the data transmission of the first link, and the failure of sub-node 4 will not affect the data transmission of the first link, and in the second link, it will not affect the data transmission of the first node 0, sub-node 6, and sub-node 5. Therefore, the networking structure shown in Figure 4 can improve the system fault tolerance of the network and reduce the impact of sub-node failures on data transmission. In addition, the networking structure shown in Figure 4 can support the disconnection between sub-nodes and thus divide them into two links. Then, the data sent by the head node can be transmitted simultaneously on the first link and the second link. Compared with the networking structure of a complete ring link shown in Figure 2 or Figure 3, the networking structure shown in Figure 4 for data transmission can shorten the data transmission delay, thereby ensuring the synchronization and real-time performance of data transmission between different nodes, and improving the user experience. It should be understood that in the networking structure shown in Figure 4, although there are two links, only one of the links can be used for data transmission.
[0093] Similarly, the networking system shown in FIG5 can be similar to the ring networking system shown in FIG3 , with branch subnodes, such as branch subnode 1 in FIG5 . Specifically, the networking system shown in FIG5 includes multiple subnodes, for example, six subnodes and one branch subnode. If subnode 4 fails, subnode 4 and subnode 5 can be disconnected, and the overall networking structure can be divided into two links. The first link includes the head node 0, subnode 1, subnode 2, subnode 3, and the failed node, subnode 4, and also includes branch subnode 1 connected only to subnode 2. The second link includes the head node 0, subnode 6, and subnode 5. Since subnode 4 is a failed node, it does not participate in data transmission on the first link. The failure of subnode 4 will not affect data transmission on the first link, and in the second link, it will not affect data transmission on the head node 0, subnode 6, and subnode 5. It should be understood that in the networking structure shown in FIG5 , although there are two links, only one link can be used for data transmission. The networking solution with branch sub-nodes as shown in FIG5 can reduce the wiring between networking nodes and save the overall cost of the networking system.
[0094] In the ring networking system shown in Figure 2 or Figure 3 and the networking system shown in Figure 4 or Figure 5, the host can transmit data to the head node through various peripheral interfaces such as the Media Independent Interface (MII), the Integrated Circuit Internal Audio (I2S) interface, and the Time Division Multiplexing (TDM) interface. Data is transmitted between the head node and the child node through a physical transmission medium, such as a twisted pair. Furthermore, the head node or the child node can further transmit data to the peripheral device through the MII interface, the Serial Peripheral Interface (SPI), the Inter-Integrated Circuit (I2C) interface, the Pulse Width Modulation (PWM) interface, the General Purpose Input / Output (GPIO), the Controller Area Network (CAN) bus, the Local Interconnect Network (LIN) bus, etc.
[0095] Furthermore, an embodiment of the present application provides a data transmission method 100, which can form data transmission of a ring networking system as described in Figure 2 or Figure 3 or data transmission of a networking system as described in Figure 4 or Figure 5, thereby supporting the implementation of data packets in the network transmission process. The child node can add new data to the data packet initiated by the first node according to the configuration and actual application requirements, or obtain data in the data packet transmitted by the network, and the same data packet can carry different types of data at the same time to form a more flexible networking data transmission, improve the efficiency and bandwidth of data transmission, and reduce the delay of data transmission, and reduce the cost of networking compared to existing methods.
[0096] It should be noted that the data transmitted in the method and system provided in the embodiments of the present application can be divided into public data and non-public data. Public data includes, for example, audio data, broadcast data and other publicly transmitted data, that is, public data represents data that is publicly transmitted between nodes in the network and can be received or processed by multiple nodes. Non-public data includes, for example, configuration data, read data, interrupt data, control data, command data, radar data, video data, image data, sensor data, vehicle management data and other non-publicly transmitted data, that is, non-public data is any data other than public data, representing data that is not publicly transmitted between nodes in the network and is only received or processed by the set target node.
[0097] FIG6 is a flow chart of a data transmission method 100 provided in an embodiment of the present application. FIG7(a), FIG7(b), and FIG7(c) are schematic diagrams of a process based on the method 100 provided in an embodiment of the present application. As shown in FIG6, the data transmission method 100 is applied to data transmission in the ring networking system described in FIG2 or FIG3 or data transmission in the networking system described in FIG4 or FIG5. The method 100 includes some or all of the following steps:
[0098] Step 110: The first node initiates transmission of a first public packet, where the first public packet includes first public data.
[0099] Specifically, for example, when method 100 is applied to a ring network as shown in Figure 2 or Figure 3, as shown in Figure 7(a) or Figure 7(b), the first node 0 generates a first public packet and initiates transmission of the first public packet in a first direction, as shown in Figure 8(a). At this time, the first public packet includes first public data, which is public data sent from the first node to the child node. The public data is, for example, audio data, broadcast data and other publicly transmitted data, that is, the public data represents data publicly transmitted between nodes in the network, which can be received or processed by multiple nodes. If applied in a vehicle audio scenario, the public data can be audio data.
[0100] It should be noted that when method 300 is applied to the ring network shown in Figure 2 or Figure 3, the starting node is the head node, the ending node is the head node, the first direction is the clockwise transmission direction shown in the figure, and the second direction is opposite to the first direction, that is, the counterclockwise transmission direction shown in the figure. For example, the head node initiates the transmission of the first node packet in the first direction, that is, the clockwise direction shown in the figure. When method 300 is applied to the network shown in Figure 4 or Figure 5, the starting node is the head node and the ending node is the last child node of the network link. The first direction is the direction in which the head node transmits data to the child node, and the second direction is opposite to the first direction, that is, the direction in which the child node transmits data to the head node. Public data. The first public packet can also include a first packet header, which is a public packet header for data packets in the ring network data transmission and can be used to indicate real-time information of each node.
[0101] Step 120: The i-th child node receives the first public packet transmitted sequentially in the network, and adds the first node data to the first public packet.
[0102] In step 120, the first public packet is transmitted in the network, and the first public packet is transmitted to the i-th child node in a first direction, where i is less than N. The i-th child node adds the first node data to the first public packet. It should be noted that the first node data can be generated by the i-th child node itself, or by a peripheral device connected to the i-th child node. The first node data can be any of the public data or non-public data involved above, such as audio data collected by a peripheral device connected to the i-th child node. According to the embodiment of the present application, there is no restriction on the specific content and function of the first node data.
[0103] Step 130: The terminating node receives the first public packet transmitted sequentially through N child nodes in the network. At this time, the first public packet includes the first public data and the first node data; or, after the kth child node receives the first public packet transmitted sequentially in the network and obtains the first node data in the first public packet, the terminating node receives the first public packet transmitted sequentially through N child nodes in the network. At this time, the first public packet includes the first public data. In terms of transmission order, i is less than k.
[0104] In step 130, when applied to the ring networking system shown in Figures 2 or 3, the terminating node is the first node, i.e., the first node initiates the transmission as the starting node and ends the transmission as the terminating node. When applied to the networking system shown in Figures 4 or 5, the terminating node is the last child node, i.e., the last child node connected and functioning normally on the first link or second link in Figures 4 or 5. Node data added by the i-th child node can be received by the terminating node after network transmission, or by a specific child node, such as the k-th child node, where k is less than N, and i is less than k in the first direction of data transmission.
[0105] Furthermore, if method 100 is applied to the networking system shown in FIG. 3 or FIG. 5 , that is, the networking system further includes branch sub-nodes, and the branch sub-nodes participate in network data transmission, then while executing step 120 in method 100, the following steps may also be included:
[0106] Step 121: The i-th child node sends the first public packet to the branch child node of the i-th child node, and the branch child node of the i-th child node is only connected to the i-th child node.
[0107] Specifically, in the networking system, the branch subnode of the i-th subnode is connected only to the i-th subnode. After the i-th subnode receives the first public packet in step 120, if the branch subnode of the i-th subnode participates in networking data transmission as a branch subnode, the i-th subnode sends the first public packet to the branch subnode of the i-th subnode. It should be understood that when the i-th subnode sends the first public packet to the branch subnode, it also continues to transmit the first public packet in the first direction to the next child node of the i-th subnode. In step 121, the branch subnode of the i-th subnode can receive the first public data in the first public packet.
[0108] Alternatively, before step 120 in method 100, the following steps may also be included:
[0109] Step 122: The branch child node of the i-th child node sends the first node data to the i-th child node, and the branch child node of the i-th child node is only connected to the i-th child node.
[0110] Specifically, in the networking system, the branch subnode of the i-th subnode is only connected to the i-th subnode. Before the i-th subnode adds the first node data to the first public package in step 120, the branch subnode of the i-th subnode sends the first node data to the i-th subnode. The first node data is generated by the branch subnode of the i-th subnode or the peripheral device connected to the branch subnode of the i-th subnode. Then, the i-th subnode adds the first node data to the first public package and continues to transmit it in the networking along the first direction. That is, when step 120 is executed after step 122 is executed, the first node data in step 120 is generated by the branch subnode of the i-th subnode or the peripheral device connected to the branch subnode of the i-th subnode.
[0111] Hereinafter, an exemplary transmission flow chart of the above-described method 100 as applied to the ring networking system shown in FIG. 2 or FIG. 3 is provided. In step 130, the head node receives the first public packet transmitted via N child nodes in the first direction. In this case, the first public packet includes first public data and first node data. As shown in FIG. 7( a ), during transmission along the first direction, the first public packet, for example, passes through the third child node among the N child nodes, namely, child node 3. After receiving the first public packet containing the first public data, child node 3 adds the first node data to the first public packet. This node data can be generated by child node 3 itself or by a peripheral device connected to child node 3. In this case, the first public packet includes the first public data generated by the head node and the first node data added by child node 3. Child node 3 then sends the first public packet containing the first public data and the first node data to the next node along the first direction. After passing through child nodes 4, ..., and child node N, the first public packet is received by the head node. As shown in FIG. 8( b ), the received first public packet includes the first public data and the first node data. It should be understood that during the transmission of the first public packet along the first direction, one or more of the N nodes can add node data to the first public packet, which is then transmitted to the first node through the ring network. That is, other child nodes except the i-th child node, i.e., child node i, can also add corresponding data to the first public packet. The embodiment of the present application only takes the example of child node 3 adding the first node data to the first public packet.
[0112] Alternatively, further, if method 100 includes step 121, that is, step 121 is also executed at the same time as step 120, then as shown in Figure 7(b), when the first public packet is transmitted along the first direction, when it is transmitted to child node 3, since child node 3 is connected to a branch child node, namely branch child node 1, after child node 3 receives the first public packet including the first public data, it sends the first public packet to branch child node 1. At the same time, child node 3 adds the first node data to the first public packet and continues to transmit it to the next node along the first direction. At this time, the first public packet includes the first public data and the first node data, and the first node data is generated by child node 3 or the peripheral device connected to child node 3. For another example, if method 100 includes step 122, then before executing step 120, step 122 is executed. As shown in FIG7(c), a first public packet including first public data is transmitted along a first direction. Branch subnode 1, as a branch subnode of subnode 3, sends the first node data to subnode 3. When the first public packet is transmitted to subnode 3, subnode 3 adds the first node data sent by branch subnode 1 to the first public packet. Subnode 3 then sends the first public packet including the first node data and the first public data to the next node, thereby continuing transmission in the first direction. The first node is generated by branch subnode 1 or a peripheral device connected to branch subnode 1. It should be understood that there may be multiple subnodes as the branch subnodes in FIG3, and one or more of the N nodes may receive the first public packet through a subnode connected to the branch subnode, or add the node data sent by the branch subnode to the first public packet through a subnode connected to the branch subnode, and then transmit it to the head node through the ring network. In this embodiment of the application, only branch subnode 1 is used as the branch subnode to execute steps 121 and 122 as an example.
[0113] Alternatively, if in step 130, the kth child node receives the first public packet and obtains the first node data in the first public packet, and the first node receives the first public packet transmitted by the N child nodes in the first direction, and the first public packet includes the first public data, then as shown in Figure 7(d), during the process of the first public packet being transmitted along the first direction, for example, passing through the third child node among the N child nodes, that is, child node 3, child node 3 receives the first public packet with the first public data and adds the first node data to the first public packet. The first node data can be generated by child node 3 itself or by a peripheral device connected to child node 3. At this time, the first public packet includes the first public data generated by the first node and the first node data added by child node 3. Child node 3 continues to send the first public packet containing the first public data and the first node data to the next node along the first direction. When passing through child node 4, child node 4 receives the first node data in the first public packet. At this time, the first public packet does not contain the first node data. Then, child node 4 continues to send the first public packet containing the first public data to the next node along the first direction until it is finally transmitted to the first node 0. The first public packet received by the first node 0 includes the first public data. It should be understood that during the transmission of the first public packet along the first direction, one or more of the N nodes can add node data to the first public packet, and the packet is received by a child node after the child node that added the node data in the transmission order in the first direction. That is, the kth child node receives the first public packet and obtains the first node data in the first public packet, i is less than k, and finally the first public packet including the first public data is received by the first node 0. The embodiment of the present application only takes the example of child node 3 adding the first node data to the first public packet and then child node 4 receiving and obtaining the first node data in the first public packet as an example for illustrative description.
[0114] It should be understood that the target node of the first node data in Figure 7(d) is illustrated using subnode 4 as an example. Optionally, the target node of the first node data in Figure 7(d) can be any node after subnode 3 in the transmission order in the first direction.
[0115] It should be understood that if method 100 is applied to the system shown in Figure 4 or Figure 5, the transmission process is similar to the above example, the only difference is that the terminal node of the last transmission is the last child node, such as child node 3. For the sake of simplicity, no examples are given here.
[0116] Therefore, through the above-mentioned method 100, the transmission of various networking systems can be supported, such as the transmission of the ring networking system shown in Figure 2 or Figure 3 and the single-link and dual-link transmission shown in Figure 4 or Figure 5, and during the transmission of data packets in the network, the child node can add new data to the data packet initiated by the first node, or the data in the data packet in the network according to the configuration and actual application requirements, and different types of data such as public data and node data can be carried in the same data packet to form a more flexible networking data transmission, improve the efficiency and bandwidth of data transmission, reduce the delay of data transmission, and reduce the overall networking cost. If method 100 also includes step 121 or step 122, it can further reduce the wiring of the network and further save the cost of the overall networking system.
[0117] In an optional embodiment, in step 110 of networking transmission, as shown in FIG9 , the first public packet sent by the first node may also include first non-public data, such as configuration data, read data, interrupt data, control data, command data, radar data, video data, image data, sensor data, vehicle management data and other non-public transmission data sent by the first node to the child node. This application does not limit the specific content and function of the first non-public data. Specifically, in this networking system, in addition to transmitting public data to each child node, the first node may also send non-public data to one or more child nodes, that is, the non-public data may be obtained by one or more target nodes. If the first non-public data is used to configure the target node of the first non-public data, such as configuring the node interface, transceiver cycle, node status, configuring the node's peripheral devices, etc., it should be understood that the first public packet may include multiple non-public data, thereby being obtained by multiple child nodes respectively. This application only takes the first non-public data as an example for illustration.
[0118] Optionally, the first non-public data may also be supplemented with first non-public data target information, and the first non-public data target information is used to indicate the target node of the first non-public data, that is, which node obtains the first non-public data. The present application does not impose any restrictions on the specific data form of the first non-public data target information. Preferably, the first non-public data target information may be set as the packet header of the first non-public data.
[0119] If the first public packet also includes first non-public data, and the destination node of the first non-public data is the f-th child node, the f-th child node receives the first public packet transmitted sequentially in the network and obtains the first public data.
[0120] Specifically, after the first node executes step 110, the first public packet shown in FIG9 is sequentially transmitted in the first direction within the network. When the packet passes through the destination node for the first non-public data, the destination node for the first non-public data obtains the first non-public data in the first public packet. At this point, the first public packet no longer contains the first non-public data. The destination node for the first non-public data then continues to transmit the first public packet, without the first non-public data, to the next node in the first direction.
[0121] The target node of the first public data can also be a branch child node, that is, if the first public packet also includes the first non-public data, and the target node of the first non-public data is the branch child node of the f-th child node, then the f-th child node receives the first public packet transmitted sequentially in the network, transmits the first public packet with the first public data to the branch child node of the f-th child node, and the branch child node of the f-th child node obtains the first non-public data in the first public packet. At the same time, the f-th child node also marks the field corresponding to the first non-public data as an idle field and sends it to the next node connected to it, and the next node can be a child node or a terminal node. As described in steps 120 and 130 above, in the process of the first public packet being transmitted sequentially in the first direction in the network as shown in Figure 9, the i-th child node can add node data to the first public packet, and the first public packet with node data is transmitted to the terminal node via the network. It should be understood that the embodiment of the present application does not impose any restrictions on the target node of the first non-public data and the node for adding the node data. The target node of the first non-public data and the node for adding the node data can be the same node or different nodes. The embodiment of the present application does not impose any restrictions on the order of receiving the first non-public data and adding the node data.
[0122] Therefore, the first public packet initiated by the first node may include first non-public data in addition to the first public data, that is, different types of data, namely public data and non-public data, may be placed in the same data packet for network transmission at the same time, so as to improve the transmission efficiency of different data and save the data transmission delay.
[0123] Furthermore, in an optional embodiment, in step 110, the method 100 further includes:
[0124] Step 111: The first node divides the idle portion in the first public packet into one or more idle fields, where the multiple idle fields are of equal length.
[0125] As shown in Figure 10(a), when the first public packet includes the first public data, and since the first public packet currently including the first public data does not occupy the maximum bandwidth for data transmission, there is an idle part in the first public packet, the first node divides the idle part into one or more idle fields, and the multiple idle fields are of equal length. It should be understood that, for example, the first idle field, the second idle field, and the first idle field and the second idle field are of equal length.
[0126] If the first public packet also includes the first non-public data, as shown in Figure 10(b), when the first public packet includes the first public data and the first non-public data, there is still an idle part in the first public packet, and the first node divides the idle part into multiple idle fields, and the multiple idle fields are equal in length.
[0127] That is, if the first public package further includes first non-public data, the method 100 may further include:
[0128] Step 140: the f-th child node receives the first public packet, obtains the first non-public data in the first public packet, and then marks the field corresponding to the first non-public data as an idle field.
[0129] Specifically, if the first public packet includes first non-public data, and the target node of the first non-public data is child node f, that is, the first public packet includes the first non-public data of child node f, in addition to step 111, the idle field can be divided. In step 140, that is, during the transmission of the first public packet in the first direction, after the first public packet including the first non-public data is received by child node f, child node f can mark the field corresponding to the first non-public data as idle, so that the first public packet can have more idle fields for adding new data.
[0130] Therefore, through step 111 and / or step 140, the first public packet can include an idle field, and multiple idle fields are of equal length, so that each child node can more quickly identify whether there is idle bandwidth in the first public packet to add new data, thereby reducing the configuration complexity of the child node, improving the efficiency of the child node in adding data, and simplifying the implementation.
[0131] After executing step 111 and / or step 140, the first public packet has a free field. Therefore, when executing step 120, step 120 includes step 123:
[0132] The i-th child node may add the first node data to a free field in the first public packet.
[0133] Specifically, when the first public packet is transmitted to the i-th child node in the network, the i-th child node, i.e., child node i, parses the first public packet to see whether there is an idle field. If there is an idle field, the node data of child node i is added to the idle field, and then transmitted to the termination node. The first node data of child node i can be generated by child node i itself or by a peripheral device connected to child node i. The embodiment of the present application does not limit this.
[0134] It should be understood that step 111 and step 140 may be performed simultaneously, or only step 111 or step 140 may be performed. Furthermore, the i-th child node in step 120 and the f-th child node in step 140 may be the same child node or different child nodes. If step 123 is performed, step 111 and / or step 140 must be performed first. If the idle field in step 123 is generated by step 140, then in the first direction, f is less than or equal to i.
[0135] It should be understood that during the transmission of the first public packet in the first direction, the process of adding node data of a certain child node in step 120 and the process of obtaining the first non-public data and marking the free field in step 140 may occur multiple times, and this application does not limit this. Specifically, this application provides an example process 200 of the above method 100. Figure 11 is a data transmission diagram corresponding to the example process 200. Process 200 includes the following steps:
[0136] Process 201: Head node 0 sends a first public packet in a first direction. The first public packet includes first public data, first non-public data, second non-public data, and a first idle field. The first idle field is the idle field divided in step 111. The first non-public data is destined for child node 1, and the second non-public data is destined for child node 3.
[0137] Optionally, when the amount of data in the first public packet sent by the first node is too large and there is no free space to divide the idle field, the idle field may not exist, that is, step 111 is not performed.
[0138] Process 202: Child node 1 receives the first public packet and obtains the first non-public data of child node 1 in the first public packet, and marks the field corresponding to the first non-public data of child node 1 as an idle field, i.e., the second idle field, and adds the first node data of child node 1 to the first idle field and then sends it to child node 2. Optionally, child node 1 may also add the first node data to the second idle field and then send it to child node 2. This application does not limit the idle field to which child node 1 adds the first node data. The first node data may be generated by child node 1 itself or by a peripheral device of child node 1. This embodiment of the application does not limit this.
[0139] Process 203: Child node 2 receives the first public packet, appends the second node data to the second free field in the first public packet, and then sends it to child node 3. As shown in the figure, the first public packet now includes the first public data, the second non-public data, the first node data, and the second node data. The second node data can be generated by child node 2 itself or by a peripheral device of child node 2, and this embodiment of the application does not limit this.
[0140] Process 204: Child node 3 receives the first public packet, obtains the second non-public data in the first public packet, marks the field corresponding to the second non-public data of child node 3 as the third free field, and transmits the data to the next node in the first direction. Optionally, if child node 3 has node data that needs to be transmitted in the first direction, the node data of child node 3 may be added to the third free field and then transmitted to the next node.
[0141] Process 205: The first public packet including the first public data, the third idle field, the second node data, and the first node data is transmitted in sequence to the remaining sub-nodes in the first direction, and finally transmitted to the termination node and received by the termination node. For example, if method 100 is applied to the ring network shown in Figure 2 or Figure 3, the termination node is the first node 0.
[0142] Furthermore, in executing step 123, there may be a situation where the data length of the node data of a certain node is too long so that a single free field or all the free fields in the current first public packet cannot accommodate the node data of the node, then step 123 may further include:
[0143] Step 1231: The i-th child node divides the first node data so that the first node data includes at least two segments of first node data.
[0144] If multiple free fields in the current first public packet can accommodate the node data of the node, step 123 includes:
[0145] Step 1232: The i-th child node adds at least two segments of first node data to multiple free fields in the first public packet respectively.
[0146] It should be understood that in step 1232, one segment of the at least two segments of first node data corresponds to one free field, and multiple segments of first node data correspond to multiple free fields. Subsequently, when the terminating node receives the first public packet carrying the at least two segments of first node data, it combines the first public packet into the complete first node data.
[0147] If all free fields in the current first public packet cannot accommodate the node data of the node, step 123 includes:
[0148] Step 1233: The i-th child node adds the first parts of at least two segments of the first node data to all free fields in the first public packet respectively.
[0149] It should be understood that in step 1233, since the free fields in the current first public package are limited, the i-th child node first puts a part of at least two segments of first node data into all the free fields in the current first public package. Similarly, one segment of first node data corresponds to one free field.
[0150] Furthermore, the method 100 further includes:
[0151] Step 150: The first node initiates transmission of a second public packet, where the second public packet includes second public data.
[0152] Optionally, in step 150, if method 100 is applied to the ring networking system shown in Figure 2 or 3, the first node can initiate transmission of the second public packet in the first direction or the second direction. If method 100 is applied to the networking system shown in Figure 4 or 5, the first node initiates transmission of the second public packet in the first direction. Step 160: the i-th child node receives the second public packet, which includes an idle field, and adds the second part of at least two segments of first node data to the idle field in the second public packet.
[0153] Step 170: The terminating node receives the first public packet and the second public packet, and combines the first part of at least two segments of first node data and the second part of at least two segments of first node data into first node data.
[0154] Specifically, the first node can transmit one or more service packets in the network, such as a first public packet and a second public packet. When applied to the ring network shown in Figure 2 or Figure 3, the transmission directions of the first public packet and the second public packet can be the same or different. For example, the first public packet and the second public packet are both transmitted in the ring network from the first direction. The first public packet includes the first public data, and the second public packet includes the second public data. When the first public packet is transmitted to the i-th child node, because the node data to be added by the i-th child node is too long, the idle field in the first public packet cannot support the i-th child node to add all the node data. In this case, the i-th child node divides the first node data into at least two segments of first node data, adds the first part of the at least two segments of first node data to the idle field in the current first public packet, and the first public packet continues to be transmitted in the network along the first direction to the terminating node. At this time, the first public packet includes the first public data and the first part of the at least two segments of first node data added by the child node i. When the terminating node continues to transmit the second public packet to the i-th child node along the first direction, the i-th child node then fills the second part of the remaining at least two segments of the first node data into the free field in the second public packet. It should be understood that the free field in the second public packet can also be obtained through steps 111 and 140. The second public packet continues to be transmitted to the terminating node along the first direction in the networking. At this time, the second public packet includes the second public data and the second part of the at least two segments of the first node data of the child node i. After receiving the first public packet including the first part of the at least two segments of the first node data of the child node i and the second public packet including the second part of the at least two segments of the first node data of the child node i, the terminating node combines the first part of the at least two segments of the first node data and the second part of the at least two segments of the first node data into complete first node data.
[0155] It should be understood that the node data of child node i may need to be divided into multiple segments. This embodiment of the present application only uses the example of the node data of child node i being divided into two ends, namely, the first segment of first node data and the second segment of first node data. If the node data of child node i is divided into multiple segments, then the multiple segments of node data are added to the free fields of the service packets in each of the multiple service packets until all the segments of node data are added, and finally the terminating node combines the data.
[0156] Therefore, by segmenting the node data through the above steps and placing the segmented node data in different service packages for transmission in batches, it is possible to transmit excessively long data completely in the network and improve the transmission efficiency and latency of such long data.
[0157] The steps in the above method 100 involve adding data to the free fields in the business package, and multiple free fields are of equal length, which reduces the configuration complexity of the sub-nodes, improves the efficiency of the nodes adding data, is simple to implement, and has high reliability and high stability of data transmission.
[0158] It should be noted that if the idle field is not divided through steps 111 and 140, that is, step 123 is not performed, then step 120 also includes step 124:
[0159] The i-th child node receives the first public packet, analyzes whether there is any free part in the first public packet, and if so, adds the first node data to the first public packet.
[0160] When child node i receives the first public package, it analyzes whether there is any free part in the first public package. If so, the node data is added to the first public package. When multiple child nodes need to add node data to the first public package, each child node directly puts it into the first public package according to the actual length of its own node data. The node data generated by each child node may have different lengths.
[0161] Through step 124, each child node can add node data according to the specific situation of the current first public packet, which can more effectively utilize bandwidth and improve bandwidth utilization. However, compared with the step of adding node data to the idle field, the data transmission reliability of step 124 is slightly worse and the stability of network transmission is low.
[0162] Furthermore, if in step 130, the terminating node is the head node, then in the first direction, after the first public packet passes through N nodes and is transmitted to the head node, that is, after step 130, as shown in FIG12, method 100 may further include step 180:
[0163] Step 180: The first node parses the first public packet and determines whether the target node of the first node data in the first public packet is the first node.
[0164] Specifically, after the first node receives the first public packet, the first public packet carries the first node data, and the first node parses and determines whether the target node of the first node data is the first node. It should be understood that the first public packet can carry the node data of multiple child nodes, and is parsed and determined by the first node. The embodiment of the present application only uses the first node data as an example. Optionally, the first node data may also include first addressing information, and the first addressing information is used to indicate the target node of the first node data. It should be understood that the node data added by each node may carry addressing information, and the addressing information is used to indicate the target node of the node data. The target node may be the first node or other child nodes. The first node can use the addressing information to determine whether the target node of the node data is the first node, and other child nodes can also use the addressing information to know whether the target node of the node data is themselves.
[0165] If yes, execute step 181 : Step 181 : The first node obtains the first node data in the first public packet.
[0166] If not, execute step 182. Step 182: the first node initiates transmission of a first node packet, where the first node packet includes first node data.
[0167] Specifically, if the target node of the node data is not the first node, but the mth child node among N nodes, the first node puts the node data whose target node is child node m into the first node packet and transmits it to child node m from the first direction or the second direction, where m is less than N.
[0168] Optionally, the first node packet may further include third public data, i.e., the first node packet may be considered a third public packet, and the third public data is public data. Furthermore, during the transmission of the first node packet, the relevant processes for processing the first public packet in steps 110, 111, 140, 120, and 130 may still be performed. For the sake of brevity, these steps are not further described here. The first node packet may also include other non-public data instead of the third public data. This application does not limit the specific function and form of the first node packet.
[0169] Through step 180, step 181 or step 182 shown in Figure 12, the data transmission needs of each child node can be supported, so that the data added by the child node can be received by any node, that is, the data added by the child node can be received by the first node and can also be received by any other child node, thereby improving the data flexibility of the networking data and meeting the needs of various types of data transmission.
[0170] Furthermore, if in step 130, the terminating node is the head node, that is, when method 100 is applied to the ring networking system shown in FIG. 2 or FIG. 3 , and if in step 120, the target node of the first node data added by the i-th child node is the m-th child node, and i is greater than m in the first direction, then method 100 may further include:
[0171] Step 190: The i-th child node receives the fourth public packet transmitted by the head node in the second direction, and adds the first node data to the fourth public packet.
[0172] That is, if the i-th child node wants to transmit the first node data to the m-th child node, and in the first direction, i is greater than m, then the i-th child node can implement it according to steps 120, 180, and 182, or it can directly implement it through step 190. The i-th child node can be configured to follow the priority transmission principle, determine which transmission path is closer, and then select one of the two methods to transmit the first node data to the m-th child node. It should be understood that for the i-th child node, transmission in the first direction and the second direction can exist simultaneously, which means that the i-th child node can arbitrarily choose to add the first node data to the first public packet transmitted in the first direction or the fourth public packet transmitted in the second direction.
[0173] Through the above step 190, it is possible to more flexibly support the scenario of data transmission between sub-nodes, thereby reducing the delay of data transmission between sub-nodes.
[0174] An embodiment of the present application also provides a data transmission method 300. The data transmission method 300 shown in Figure 13 can also be applied to the data transmission of the ring networking system shown in Figure 2 or Figure 3 or the networking system described in Figure 4 or Figure 5, thereby supporting the transmission of data packets in the network. The child node can add new data to the data packet initiated by the starting node according to the configuration and actual application requirements, or obtain data in the data packet transmitted in the network, and the same data packet can carry multiple types of data at the same time to form a more flexible ring networking data transmission, improve the efficiency and bandwidth of data transmission, and reduce the delay of data transmission, and reduce the cost of networking compared with the existing methods.
[0175] It should be noted that the data transmitted in the method and system provided in the embodiments of the present application may include public data and non-public data. Public data includes, for example, audio data, broadcast data and other publicly transmitted data, that is, public data represents data that is publicly transmitted between nodes in the network and can be received or processed by multiple nodes. Non-public data includes, for example, configuration data, read data, interrupt data, control data, command data, radar data, video data, image data, sensor data, vehicle management data and other non-publicly transmitted data, that is, non-public data is any data other than public data, representing data that is not publicly transmitted between nodes in the network and is only received or processed by the set target node.
[0176] As shown in FIG13 , method 300 includes some or all of the following steps:
[0177] Step 310: The starting node initiates transmission of a first node packet, where the first node packet includes a first packet header.
[0178] Specifically, the first packet header is a common header for data packets in networked data transmission and can be used to indicate real-time information about each node. It should be noted that in step 310, the first node packet may only include the first packet header, and the first node may not add any data to the first node packet. As shown in Figure 14(a), the first node packet initiated by the initiating node includes the first packet header. It should be noted that when method 300 is applied to the ring network shown in Figure 2 or Figure 3, the starting node is the first node, the ending node is the first node, the first direction is the clockwise transmission direction shown in the figure, and the second direction is opposite to the first direction, that is, the counterclockwise transmission direction shown in the figure. For example, the first node sends the first node packet to the N child nodes in the ring networking system in the first direction, that is, the clockwise direction shown in the figure. When method 300 is applied to the network shown in Figure 4 or Figure 5, the starting node is the first node and the ending node is the last child node of the networking link, or the starting node is the last child node of the networking link or the ending node is the first node, the first direction is the direction for the first node to transmit data to the child node, and the second direction is opposite to the first direction, and the second direction is the direction for the child node to transmit data to the first node. It should be understood that in step 310, if the starting node is the head node and the ending node is the head node, the starting node can initiate transmission of the first node packet from the first direction or the second direction; if the starting node is the head node and the ending node is the last child node, the starting node initiates transmission from the first direction; or if the starting node is the last child node and the ending node is the first node, the starting node initiates transmission from the second direction.
[0179] Step 320: The i-th child node receives the first node packet transmitted sequentially in the network, and adds the first node data to the first node packet.
[0180] In step 320, the i-th child node receives the first node packet transmitted sequentially in the network, and adds the first node data to the first node packet. The first node data can be generated by the i-th child node itself, or by a peripheral device connected to the i-th child node. The first node data can be any public data or non-public data. The embodiment of the present application does not limit the specific content and function of the first node data.
[0181] Step 340: The terminating node receives the first node packet transmitted sequentially through N child nodes in the network. At this time, the first node packet includes a first packet header and first node data; or, after the kth child node receives the first node packet transmitted sequentially in the network and obtains the first node data in the first node packet, the terminating node receives the first node packet transmitted sequentially through N child nodes in the network. At this time, the first node packet includes a first packet header. In terms of transmission order, i is less than k.
[0182] In step 340, the terminating node receives the first node packet transmitted by the N child nodes in the network, as shown in Figure 14(b). At this time, the received first node packet includes the first packet header and the first node data added by the i-th child node; or, during the transmission of the first node packet, the k-th child node obtains the first node data in the first node packet after receiving the first node packet, and finally when the first node packet is received by the head node, the first node packet does not include the first node data.
[0183] Furthermore, if method 300 is applied to the networking system shown in FIG. 3 or FIG. 5 , that is, the ring networking system further includes branch sub-nodes, and the branch sub-nodes participate in the ring networking data transmission, then in addition to step 320 in method 300 , the following steps may also be included:
[0184] Step 321: The i-th child node sends the first node packet to the branch child node of the i-th child node, and the branch child node of the i-th child node is only connected to the i-th child node.
[0185] Alternatively, before step 320, the following steps may also be included:
[0186] Step 322: The branch child node of the i-th child node sends the first node data to the i-th child node, and the branch child node of the i-th child node is only connected to the i-th child node.
[0187] The specific process of step 321 and step 322 is similar to step 121 and step 122 in the reference method 100 and will not be repeated here for the sake of brevity.
[0188] In an optional embodiment, in step 310 of method 300, the first node packet sent by the first node may also include first target data, which may be received by the jth child node or the branch child node of the jth child node during the transmission process, or may be finally received by the terminating node.
[0189] For example, when the target node of the first target data is the jth child node or the branch node of the jth child node, j is less than N. Specifically, as shown in Figure 15(a) or Figure 15(b), the first node 0 initiates the transmission of the first node packet in the first direction. The first direction is the clockwise direction in the ring network shown in Figure 15(a) or Figure 15(b). It should be understood that the first direction can also be the counterclockwise direction in the ring network shown in Figure 15(a) or Figure 15(b). At this time, the first node packet also includes the first target data, and the target node of the first target data is the jth child node or the branch child node of the jth child node. That is to say, the first target data will be obtained by the jth child node or the branch child node of the jth child node. Optionally, the first target data can include first addressing information, and the first addressing information is used to indicate the target node of the first target data, that is, which node receives the first target data. The first addressing information can be set as the packet header of the first target data. This application does not limit the specific data form of the first addressing information. The first target data can be generated by the starting node itself, or by a peripheral device connected to the starting node. When the starting node is the first node, the first target data can be generated by the host connected to the first node. The first target data can be any public data or non-public data, such as public data generated by the node or a peripheral device connected to the node, or non-public data such as node register data, node interrupt data, and any non-public data generated by the node itself or a peripheral device. The embodiment of the present application does not limit the specific content and function of the first target data. Public data Public data
[0190] It should be noted that if the target node of the first target data is the termination node, that is, if the target node of the first target data is not a child node or a branch node connected to a child node, then the first target data may not carry the first addressing information and finally be transmitted to the termination node through the network.
[0191] If the first node packet further includes first target data and the target node of the first target data is the j-th child node, then before step 340, the method 300 further includes:
[0192] Step 330: The j-th child node receives the first node packet and obtains the first target data in the first node packet.
[0193] In step 330, the first node packet containing the first target data is sequentially transmitted in the network transmission direction and received by the jth child node. Since the destination node for the first target data is the jth child node, the jth child node receives the first node packet and obtains the first target data in the first node packet. It should be understood that the node executing steps 320 and 330 can be the same node, that is, the jth child node can be the i-th child node, where j equals i. Furthermore, if steps 320 and 330 are not performed by the same child node, the present embodiment of the application does not limit the order in which steps 320 and 330 are performed.
[0194] If the first node packet also includes first target data and the target node of the first target data is a branch child node of the j-th child node, then after step 321 and before step 340, the method 300 further includes:
[0195] Step 331: The branch child node of the j-th child node receives the first node packet and obtains the first target data in the first node packet. It should be understood that in the first direction, the child node executing steps 320 and 330 can be the same child node or different child nodes, that is, i can be equal to j.
[0196] Here are three exemplary transmission flow charts of the method 300 when the first node packet of step 310 also includes the first target data and is applied to the ring networking system shown in FIG2 or FIG3. As shown in FIG15(a), the first node 0 initiates the transmission of the first node packet in the first direction, i.e., the clockwise direction of the ring networking shown in the figure. The first node packet includes the first packet header and the first target data. The target node of the first target data is child node 2. Then, after being transmitted by two child nodes, the first node packet is received by the second child node, i.e., child node 2. Child node 2 executes step 330, i.e., child node 2 obtains the first target data in the first node packet. After that, child node 2 continues to transmit the first node packet including the first packet header and the first node data in the ring networking. , when transmitted to child node 3, child node 3 executes step 320, i.e., adds the first node data to the first node packet, and the target node of the first node data is child node 4. Then child node 3 sends the first node packet including the first packet header and the first node data along the first direction to the next node, i.e., child node 4. Child node 4 obtains the first node data in the first node packet. At this time, the first node packet includes the first packet header but does not include the first node data. The first node packet including the first packet header continues to be transmitted along the first direction and is finally transmitted to the first node 0. The first node 0 receives the first node packet transmitted through all child nodes, i.e., N child nodes. At this time, the first node packet includes the first packet header but does not include the first target data and the first node data.
[0197] As shown in Figure 15(b), the difference between Figure 15(b) and Figure 15(a) is that in Figure 15(b), the first node data added by the child node 3 is finally received by the head node 0, and the first node packet received by the head node 0 includes the first packet header and the first node data, but does not include the first target data.
[0198] It should be understood that in the embodiment shown in Figure 15 (a) or Figure 15 (b) above, in step 310, the first node package can also include multiple target data, such as first target data, second target data, etc. The target node of the first target data is the jth child node, and the target node of the second target data is, for example, the i-th child node. The embodiment of the present application does not limit the number of target data in the first node package, and only takes the target node as the j-th child node as an example for exemplary explanation. The process of executing step 320 can be repeated multiple times, that is, multiple nodes can add corresponding node data to the first node package, for example, the i-th child node adds the first node data, and the k-th child node adds the second node data. The embodiment of the present application only takes the i-th child node as an example for exemplary explanation.
[0199] Alternatively, further, if method 300 is applied to a networking system with branch sub-nodes as shown in FIG3 , and the branch sub-nodes execute step 331, then, for example, as shown in FIG15( c ), the first node packet initiated by head node 0 includes a first packet header and first target data, and the target node of the first target data is branch sub-node 1. Then, during the transmission of the first node packet along the first direction, when it is transmitted to child node 3 connected to branch sub-node 1, child node 3 simultaneously executes steps 320 and 321, i.e., child node 3 sends the first node packet to branch sub-node 1 and adds the first node data to the first node packet. The first node data is generated by child node 3 or a peripheral device connected to child node 3. Then, the first node packet with the first packet header and first node data is continuously sent to the next child node along the first direction, and finally, it is transmitted sequentially to head node 0. After receiving the first node packet sent by child node 3, branch sub-node 1 executes step 331, i.e., obtains the first target data in the first node packet. It should be understood that child node 3's simultaneous execution of steps 320 and 321 does not interfere with each other, and that multiple branch child nodes may exist, and that multiple branch child nodes may all execute step 321. Alternatively, before child node 3 executes step 320, the branch child node may execute step 322, first sending the first node data generated by the branch child node or a peripheral device connected to the branch child node to child node 3. Child node 3 then executes step 322, appending the first node data to the first node packet and transmitting it to the head node via the ring network. This embodiment of the present application only uses child node 3 executing step 320 and branch child node 1 executing steps 321 and 331 as an example.
[0200] Now, two exemplary transmission flow charts are given when the first node packet in step 310 of the above method 300 also includes the first target data and is applied to the networking system shown in Figure 4 or Figure 5, and taking the starting node as the last sub-node and the ending node as the first node as an example, it should be understood that when executing step 310, the first node packet may only include the first packet header but not other data. This exemplary transmission flow chart is illustrated by taking the first link in the networking shown in Figures 4 and 5 as an example. As shown in Figure 16(a), in this networking, the first node 0, sub-node 1, sub-node 2, and sub-node 3 form a serial networking link. It should be understood that if in this serial networking link, data is initiated by the first node, then it passes through sub-node 1, sub-node 2, and sub-node 3 in sequence. If data is initiated by sub-node 3, then it passes through sub-node 2, sub-node 1, and the first node 0 in sequence.
[0201] Child node 3, as the last child node in the link, initiates the transmission of a first-node packet containing the first target data. Child node 3 then transmits this first-node packet to child node 2. After receiving the first-node packet, child node 2 adds the first-node data to the first-node packet. The first-node data is destined for child node 1. Child node 3 then sends this first-node packet containing the first target data and the first-node data to child node 1. Since the first-node data is destined for child node 1, child node 1 receives the first-node packet and obtains the first-node data. At this point, the first-node packet no longer contains the first-node data. Child node 1 then sends the first-node packet containing the first target data to head node 0, which receives it. Alternatively, the first-node data may be destined for a different child node than child node 1, with head node 0 receiving the first-node data. Alternatively, the first-node data may be destined for a different child node, such as child node 2, and the first-node packet received by the head node may not contain the first target data. Alternatively, child node 1 may simultaneously obtain the first target data from the first-node packet and also add the node data to the first-node packet.
[0202] Alternatively, further, if method 300 is applied to a system with branch sub-nodes as shown in Figure 5, then as shown in Figure 16(b), in this network, the first node 0, sub-node 1, sub-node 2, and sub-node 3 form a serial networking link. In addition, sub-node 2 is also connected to branch sub-node 1, and branch sub-node 1 only communicates with sub-node 2 when participating in transmission. Subnode 3, as the last subnode of the link, initiates the transmission of the first node packet, which includes the first target data. Subnode 3 then transmits the first node packet to subnode 2. Before subnode 2 executes step 320, branch subnode 1 sends the first node data to subnode 2. The first node data is generated by branch subnode 1 or a peripheral device connected to branch subnode 1. Subnode 2 then executes step 320 to add the first node data to the first node packet. At this time, the first node packet includes the first target data and the first node data. The first node packet continues to be transmitted to the next node, i.e., subnode 1. Since the target node of the first node data is subnode 1, subnode 1 receives the first node packet and obtains the first node data in the first node packet. At this time, the first node packet does not include the first node data. Subnode 1 then continues to send the first node packet with the first target data to the first node 0, which is received by the first node 0.
[0203] Therefore, through the above-mentioned method 300, it can be supported to realize that during the transmission process of data packets in the network, the child node can add new data to the data packet initiated by the starting node according to the configuration and actual application requirements, or obtain data in the data packet in the network, and the same data packet can carry multiple types of data at the same time to form a more flexible ring network data transmission, improve the efficiency and bandwidth of data transmission and reduce the delay of data transmission. If the method 300 also includes steps 321, 322, and 331 involving branch child nodes, it can further reduce the wiring of the network and save the cost of the overall networking system.
[0204] In an optional embodiment, in step 310 of the ring networking transmission, the first node packet sent by the starting node may also include a public data field, the first node data includes first public data and / or first non-public data, and the first target data may also include second public data and / or second non-public data. In other words, optionally, in order to facilitate the management of different types of data transmission and thus improve the stability of data transmission, the node data added by a certain child node and the first target data initiated by the starting node are subdivided into public data and non-public data. For example, the first node data added by the i-th child node includes the first public data, and the first target data initiated by the starting node includes the second non-public data. It should be noted that public data, for example, audio data, broadcast data, and other publicly transmitted data. Public data refers to data that is publicly transmitted between nodes in a network and can be received or processed by multiple nodes. Non-public data, for example, configuration data, read data, interrupt data, control data, command data, radar data, video data, image data, sensor data, and vehicle management data, refers to data that is not publicly transmitted, for example, configuration data, read data, interrupt data, control data, command data, radar data, video data, image data, sensor data, and vehicle management data. Non-public data refers to any data other than public data, and refers to data that is not publicly transmitted between nodes in a network and is only received or processed by the designated target node. It should be understood that the first node data added by the i-th child node may include both the first public data and the first non-public data, or only the first public data. The first target data initiated by the starting node may include both the second public data and the second non-public data, or only the second non-public data. The first node packet initiated by the first node includes a public data field. It should be understood that before the public data is added, the public data field contains invalid data, for example, it may be empty. After the public data is added, the public data field contains valid data. When the first node packet initiated by the first node also includes a common data field, the first packet header may also include indication length information, which is used to indicate the length of the common data field, which helps the child node identify the starting position of other data outside the common data field, so that the child node can quickly identify and obtain the data it needs.
[0205] By subdividing node data into public data and non-public data, it is beneficial to manage different types of data transmission, thereby improving the stability of data transmission.
[0206] When the first node packet initiated by the start node includes a public data field, the first node packet includes first target data, and the first target data includes second public data, step 310 includes:
[0207] Step 312: The starting node initiates transmission of a first node packet, where the first node packet includes first target data and a public data field. The first target data includes second public data, and the public data field is used to store the second public data.
[0208] It should be understood that in step 312, the first target data may also include second non-public data, but only the second public data can be placed in the public data field. At this time, the public data field can be filled with the second public data, or there may still be space left after being filled with the second public data to place the public data of other child nodes.
[0209] When the first node packet when the starting node initiates the transmission includes a public data field, and the first node data includes first public data, step 320 in the method 300 includes:
[0210] Step 323: The i-th child node receives the first node packet and adds the first public data to the public data field in the first node packet.
[0211] Specifically, in step 323, since the first node data includes the first public data, the i-th child node adds the first public data to the public data field in the first node packet. After the addition, it should be understood that the public data field now includes valid data.
[0212] By adding the public data to the public data field through the above step 320, the public data can be better centralized and transmitted, which is simple to implement and makes the delay of public data transmission controllable.
[0213] Furthermore, in an optional embodiment, in step 310, method 300 further includes:
[0214] Step 311: The starting node divides the idle portion in the first public packet into one or more idle fields, where the multiple idle fields are of equal length.
[0215] In step 311, as shown in FIG17(a), if the first node packet only includes the first target data, the idle part of the first node packet other than the first target data is divided into one or more idle fields, such as a first idle field and a second idle field, and the first idle field and the second idle field are of equal length; as shown in FIG17(b), if the first node packet only includes the public data field and the first target data, and the first target data only includes non-public data, the idle part of the first public packet other than the public data field and the first target data is divided into one or more idle fields. If multiple idle fields are divided, the multiple idle fields are of equal length. It should be understood that if the first target data includes second public data, the second public data can be placed in the public data field.
[0216] In an optional embodiment, in step 330, method 300 further includes:
[0217] Step 332: The j-th child node receives the first node packet, obtains the first target data in the first node packet, and marks the field corresponding to the first target data as a free field.
[0218] Specifically, after receiving the first node packet, the jth child node obtains the first target data in the first node packet and marks the field corresponding to the first target data as a free field so that the first node packet can have more free fields for adding new data.
[0219] In particular, if the target node of the first target data is the branch child node of the j-th child node, the j-th child node receives the first node packet, marks the field corresponding to the first target data in the first node packet as an idle field and transmits it to the next node, while the j-th child node executes step 321, so that the branch child node of the j-th child node obtains the first target data, because the first target data is invalid data for the transmission of the remaining nodes in the first direction, the field corresponding to the first target data can be marked as an idle field for adding new data.
[0220] Furthermore, in step 340, the following steps may also be included:
[0221] Step 341: The kth child node receives the first node packet and obtains the first node data in the first node packet, and marks the field corresponding to the first node data as an idle field.
[0222] It should be understood that the j-th child node and the k-th child node can be the same node or different nodes. The implementation of step 341 can refer to step 311 and will not be repeated here.
[0223] Therefore, through step 311 and / or step 332 and / or step 341, the first node packet can include an idle field, and multiple idle fields are of equal length, so that each child node can more quickly identify whether there is idle bandwidth in the first node packet to add new data, thereby improving the efficiency of the child node in adding data, reducing the configuration complexity of the child node, and simplifying the implementation.
[0224] After executing step 311 and / or step 332 and / or step 341, the first node packet includes a free field. Therefore, when executing step 320, step 320 may include:
[0225] Step 324: The i-th child node receives the first node packet and adds the first node data to the free field in the first node packet.
[0226] Alternatively, if the first node data includes first non-public data, the method 300 may further include:
[0227] Step 325: The i-th child node receives the first node packet and adds the first non-public data to the free field in the first node packet.
[0228] If the node data is divided into public data and non-public data, when adding node data, public data is added to the public data field and non-public data is added to the free field. That is, different types of data are added to different fields, which facilitates data transmission management and improves the stability of network data transmission. After executing steps 311 and / or 332 and / or step 341, if the first node packet includes a free field, each child node can add the node data it needs to transmit in the network to the free field in the first node packet. If the node data is not divided into public data and non-public data, step 324 is executed, and the child node adds the node data to the free field in the first node package; if the node data is divided into public data and non-public data, step 325 is executed, and the child node adds the non-public data in the node data to the free field in the first node package, and step 323 is executed, and the child node adds the public data in the node data to the public data field in the first node package. It should be understood that there is no order between executing step 323 and executing step 325. Step 323 can be executed first, or step 325 can be executed first, and there can be multiple child nodes that execute step 323 and step 325 respectively.
[0229] The above steps 311, 332 and 341 may exist at the same time, or only step 311, 332 or 341 may exist. If step 324 or 325 is executed, step 311 and / or step 332 and / or step 341 must be executed first.
[0230] It should be understood that during the transmission of the first node packet in the first direction, the process of a child node obtaining data and marking the free field in steps 332 and 341 and the process of a child node adding node data in steps 323, 324, and 325 may occur multiple times, and this application does not limit this. Specifically, this application provides an example process 400 of the above method 300. The example process 400 is an example flowchart of the method 300 applied to the ring network shown in Figure 2 or Figure 3. Figure 18 is a data transmission schematic diagram corresponding to the example process 400. In the example process 400 and the corresponding data transmission schematic diagram Figure 18, the node data is divided into public data and non-public data, and the first target data only includes non-public data. In the example process 400, the above steps 310, 311, 323, 332, and 325 are executed.
[0231] Specifically, process 400 includes the following steps:
[0232] Process 401: The first node 0 sends a first node packet in a first direction. The first node packet includes a first packet header, a common data field, first target data, second target data, and a first idle field.
[0233] The target node of the first target data is child node 1, the target node of the second target data is child node 3, and the first idle field is the idle field divided in step 311. Optionally, when the amount of data in the first node packet sent by the first node is too large and there is no free space to divide the idle field, the idle field may not exist, that is, step 311 is not performed.
[0234] Process 402: Child node 1 receives the first node packet and obtains the first target data in the first node packet, and marks the field corresponding to the first target data as an idle field, ie, a second idle field.
[0235] Specifically, since the target node of the first target data is child node 1, when the first node packet is transmitted to child node 1, the child node obtains the first target data and executes step 332.
[0236] Process 403: Subnode 2 receives the first node packet. The first node data of subnode 2 includes first public data and first non-public data. Subnode 2 adds the first public data to the public data field and adds the first non-public data to the first free field.
[0237] Optionally, the first non-public data may also be added to the second idle field, that is, the first non-public data may be added to any idle field except the public data field.
[0238] Process 404: Child node 3 receives the first node packet and obtains the second target data in the first node packet. It marks the second target data as the third free field, and the second node data of child node 3 includes the second common data and the second non-common data. Child node 3 adds the second common data to the common data field and the second non-common data to the second free field. At this point, the first node packet includes the first common data, the second common data, the second non-common data, the third free field, and the first non-common data. Child node 3 then continues to transmit the first node packet along the first direction to the next node.
[0239] In process 404, child node 3 simultaneously executes step 323, step 351, and step 332. After process 404, the first node packet includes the first public data, the second public data, the second non-public data, the third idle field, and the first non-public data.
[0240] Process 405: The first node packet including the first public data, the second public data, the second non-public data, the third idle field, and the first non-public data is transmitted sequentially to the remaining sub-nodes in the first direction, and finally transmitted to the first node 0 and received by the first node 0.
[0241] Furthermore, when executing step 324 or step 351, there may be a situation where the data length of the node data of a certain node is too long so that a single free field or all free fields cannot accommodate the node data of the node, wherein the node data may include only non-public data, then step 324 may further include:
[0242] Step 3241: The i-th child node divides the first node data so that the first node data includes at least two segments of first node data.
[0243] If multiple free fields in the current first node packet can accommodate the node data of the node, step 324 includes:
[0244] Step 3242: The i-th child node adds at least two segments of first node data to multiple free fields in the first node packet respectively.
[0245] If all free fields in the current first node packet cannot accommodate the node data of the node, step 324 includes: step 3243: the i-th child node adds the first parts of at least two segments of the first node data to the free fields in the first node packet respectively.
[0246] Furthermore, the method 300 further includes steps 361, 362, and 363:
[0247] Step 361: The starting node initiates transmission of a second node packet, where the second node packet includes a second packet header.
[0248] Step 362: The i-th child node receives the second node packet, which includes a spare field. The i-th child node adds the second part of the at least two segments of the first node data to the spare field of the second node packet.
[0249] Step 363: The terminating node receives the first node packet and the second node packet, and combines the first part of at least two segments of first node data and the second part of at least two segments of first node data into first node data.
[0250] The specific processes and descriptions of the above steps 3241, 3242, 3243, 361, 362, and 363 can refer to the relevant descriptions of steps 1231, 1232, 1233, 150, 160, and 170 in the above method 100. For the sake of brevity, they will not be repeated here.
[0251] Therefore, by segmenting the node data through the above steps and placing the segmented node data in different node packets for transmission in batches, it is possible to transmit overly long data completely in the network and improve the transmission efficiency and latency of such long data.
[0252] Similarly, if the node data includes public data and non-public data, the above-mentioned operation performed on the first node data can be performed only on the non-public data. For the sake of brevity, it will not be repeated here.
[0253] It should be noted that if the idle field is not divided through steps 311 and 323, that is, steps 324 and 325 are not performed, therefore, step 320 may include:
[0254] Step 326: The i-th child node receives the first node packet, analyzes the first node packet to see if there is any free part, and if so, adds the first node data to the first node packet.
[0255] Alternatively, when the first node data includes first non-public data, step 320 may include:
[0256] Step 327: The i-th child node receives the first node packet, analyzes the first node packet to see if there is any free part, and if so, adds the first non-public data to the first node packet.
[0257] That is to say, when child node i receives the first node packet, it parses the first node packet to see if there is any free part. If so, the first node data or the first non-public data in the first node data is added to the first node packet. When multiple child nodes need to add node data or non-public data to the first node packet, each child node directly puts it into the first node packet according to the actual length of its own node data or non-public data. The node data or non-public data generated by each child node may have different lengths.
[0258] Through step 326 or step 327, each child node can add node data according to the specific situation of the current first node packet, which can more effectively utilize the bandwidth and improve bandwidth utilization. However, compared with the step of adding node data in the idle field, the data transmission reliability of step 326 or step 327 is slightly worse, and the stability of the network transmission is low.
[0259] Furthermore, in method 300, when the starting node is the head node and the ending node is also the head node, in the network transmission direction, when the first node data or the first target data is transmitted to the head node 0 after passing through N nodes, that is, after step 340, as shown in FIG. 19, method 300 may further include:
[0260] Step 371: The first node parses the first node packet and determines whether the target node of the first node data or the first target data in the first node packet is the first node.
[0261] Specifically, the first target data may include first addressing information for indicating a receiving node of the first target data, and the first node data may include second addressing information for indicating a target node of the first node data. It should be understood that the first target data initiated by the starting node and the node data added by each node may both carry addressing information, and the addressing information is used to indicate the target node of the node data, which may be the head node or another child node. The head node can use the addressing information to determine whether the target node of the node data is the head node, and other child nodes can also use the addressing information to know whether the target node of the node data is themselves.
[0262] If yes, step 372 is executed: the first node obtains the first node data or the first target data in the first node packet.
[0263] If not, step 373 is executed: the first node initiates transmission of a third node packet, where the third node packet includes the first node data or the first target data.
[0264] Alternatively, when applied to the networking system shown in FIG. 4 or FIG. 5 , and the networking system has two links transmitting at the same time, that is, the first link and the second link are transmitting data at the same time, the two links are connected through the head node, and in this case, the starting node is the last child node and the ending node is the head node. When the first node data or the first target data is transmitted to the head node 0 through N nodes, that is, after step 340, the method 300 may further include:
[0265] Step 381: The first node parses the first node packet and determines whether the target node of the first node data or the first target data in the first node packet is the first node, wherein the first node packet is transmitted to the first node via the first link.
[0266] The specific process of step 381 can refer to the description of step 371 above, and for the sake of brevity, it will not be repeated here.
[0267] If yes, step 382 is executed: the first node obtains the first node data or the first target data in the first node packet.
[0268] If not, step 383 is executed: the first node initiates transmission of a fourth node packet on the second link, where the fourth node packet includes the first node data or the first target data.
[0269] Specifically, for example, in step 381, the first node data in the first node packet is added by child node 3 of the first link as shown in Figure 4, and its target node is child node 6 of the second link. The first node packet is first transmitted to the head node 0 by the first link. The head node 0 determines that the first node data is not received by itself but by child node 6 of the second link. It then initiates the transmission of the fourth node packet on the second link and puts the first node data into the fourth node packet. After that, the fourth node packet can be received by child node 6 when it is transmitted to child node 6 on the second link. In this way, the nodes between the first link and the second link can transmit data to each other, making the network transmission more flexible.
[0270] It should be noted that, after the data is divided into public data and non-public data, the public data will be received and acquired by the head node, and the head node can perform the above steps 371 and 373 on the non-public data.
[0271] The above process can refer to the relevant processes and descriptions of step 180, step 181, and step 182 in method 100. For the sake of brevity, they will not be repeated here.
[0272] Through the steps shown in Figure 19, the data transmission needs of each child node can be supported, so that the data added by the child node can be received by any node, that is, the data added by the child node can be received by the first node and can also be received by any other child node, thereby improving the data flexibility of the networking data and meeting the needs of various data transmissions.
[0273] Furthermore, if method 300 is applied to the ring network shown in FIG. 4 or FIG. 5 , that is, the starting node is the head node and the ending node is the head node, then in step 320, the target node of the first node data added by the i-th child node is the m-th child node, and in the first direction, i is greater than m, then method 300 may further include:
[0274] Step 384: The i-th child node receives the fifth node packet transmitted by the first node in the second direction, and adds the first node data to the fifth node packet.
[0275] That is, if the i-th child node wants to transmit the first node data to the m-th child node, and i is greater than m in the first direction, the i-th child node can implement this according to steps 320, 381, and 383, or directly implement this according to step 384. The i-th child node can be configured to follow the principle of priority transmission, determine which transmission path is closer, and then select one of the two methods to transmit the first node data to the m-th child node. It should be understood that for the i-th child node, transmission in the first and second directions can exist simultaneously, which means that the i-th child node can arbitrarily choose to add the first node data to the first public packet transmitted in the first direction or the fifth node packet transmitted in the second direction.
[0276] Through the above step 384, it is possible to more flexibly support the scenario of data transmission between sub-nodes, thereby reducing the delay of data transmission between sub-nodes.
[0277] As shown in Figure 20, an embodiment of the present application also provides a chip 500, which includes a processor 510 and a memory 520, wherein the processor 510 is used to call and run the computer program stored in the memory 520 to execute any step in the above-mentioned method 100 or the above-mentioned method 300. The chip 500 can be the first node or child node in the method 100 to implement the steps corresponding to the first node or child node in the above-mentioned method 100, or can be the first node or child node in the method 300 to implement the steps corresponding to the first node or child node in the above-mentioned method 300.
[0278] As shown in FIG21 , an embodiment of the present application further provides a communication system 600, which includes the chip 500 and the peripheral device 610 in FIG20 . The chip and the peripheral device 610 are connected and communicated to realize different application scenarios of the networking system.
[0279] During implementation, each step of the above-mentioned method embodiment can be completed by hardware integrated logic circuits in a processor or instructions in the form of software. The above-mentioned processor or processing device can be a general-purpose processor, a digital signal processor (DSP), a microcontroller unit (MCU), a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The various methods, steps, and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above-mentioned method in combination with its hardware.
[0280] The aforementioned memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. The non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct RAM bus random access memory (DR RAM). Those skilled in the art will appreciate that the units and algorithm steps of the various examples 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 each specific application, but such implementation should not be considered beyond the scope of this application.
[0281] The specific examples in the embodiments of this application are only intended to help those skilled in the art better understand the embodiments of this application, rather than to limit the scope of the embodiments of this application. Those skilled in the art may make various improvements and modifications based on the above embodiments, and these improvements or modifications shall fall within the scope of protection of this application.
[0282] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A networking data transmission method, the networking includes a first node and N sub-nodes, N>1, and the networking data transmission method includes: The first node initiates the transmission of a first common packet, and the first common packet includes first common data; The i-th sub-node receives the first common packet sequentially transmitted in the networking and adds first node data to the first common packet; The termination node receives the first common packet sequentially transmitted through the N sub-nodes in the networking. At this time, the first common packet includes the first common data and the first node data. Alternatively, after the k-th sub-node receives the first common packet sequentially transmitted in the networking and obtains the first node data in the first common packet, the termination node receives the first common packet sequentially transmitted through the N sub-nodes in the networking. At this time, the first common packet includes the first common data. Wherein, in terms of the transmission order, i is less than k.
2. The method according to claim 1, wherein The termination node is the first node, or the termination node is the last sub-node among the N sub-nodes.
3. The method according to claim 1, characterized in that, The networking further includes a branch sub-node of the i-th sub-node. When the i-th sub-node receives the first common packet and adds first node data to the first common packet, the method further includes: The i-th sub-node sends the first common packet to the branch sub-node of the i-th sub-node, and the branch sub-node of the i-th sub-node is only connected to the i-th sub-node.
4. The method according to claim 1, characterized in that, The networking further includes a branch sub-node of the i-th sub-node. Before the i-th sub-node receives the first common packet and adds first node data to the first common packet, the method further includes: The branch sub-node of the i-th sub-node sends the first node data to the i-th sub-node. The branch sub-node of the i-th sub-node is only connected to the i-th sub-node, and the first node data is generated by the branch sub-node of the i-th sub-node or an external device connected to the branch sub-node of the i-th sub-node.
5. The method according to claim 1, wherein The first common packet further includes first non-common data. The first common data includes at least one of audio data and broadcast data. The first non-common data includes at least one of configuration data, read data, interrupt data, control data, command data, radar data, video data, image data, sensing data, and vehicle management data.
6. The method according to claim 1, characterized in that, The method further includes: The first node divides one or more idle fields in the idle part of the first common packet, and the multiple idle fields are of equal length.
7. The method according to claim 5, wherein The method further includes: After the f-th sub-node receives the first common packet sequentially transmitted in the networking and obtains the first non-common data, the f-th sub-node marks the field corresponding to the first non-common data as an idle field. Alternatively, the f-th child node receives the first common packet transmitted sequentially in the network, sends the first common packet to the branch child nodes of the f-th child node, and the branch child nodes of the f-th child node obtain the first non-common data in the first common packet. At the same time, the f-th child node also marks the field corresponding to the first non-common data as the idle field and then sends it to the next node connected to it, and the next node is the child node or the termination node.
8. The method according to claim 6 or 7, characterized in that, The i-th child node adding the first node data to the first common packet includes: The i-th child node adding the first node data to the idle field in the first common packet.
9. The method according to claim 8, characterized in that, The i-th child node adding the first node data to the idle field in the first common packet includes: The i-th child node divides the first node data such that the first node data includes at least two segments of first node data; The i-th child node adds the at least two segments of first node data to the multiple idle fields in the first common packet respectively.
10. The method according to claim 8, characterized in that, The i-th child node adding the first node data to the idle field in the first common packet includes: The i-th child node divides the first node data such that the first node data includes at least two segments of first node data; The i-th child node adds the first part of the at least two segments of first node data to the idle field in the first common packet respectively.
11. The method according to claim 10, wherein The method further includes: The head node initiates the transmission of a second common packet, and the second common packet includes second common data; The i-th child node receives the first common packet transmitted sequentially in the network and adds the second part of the at least two segments of first node data to the idle field in the second common packet; The termination node receives the first common packet and the second common packet, and combines the first part of the at least two segments of first node data and the second part of the at least two segments of first node data into the first node data.
12. The method according to claim 1, wherein The i-th child node receiving the first common packet and adding the first node data to the first common packet includes: The i-th child node receives the first common packet, parses whether there is still an idle part in the first common packet, and if there is an idle part, adds the first node data to the first common packet.
13. The method according to claim 2, wherein When the termination node is the head node, the method further includes: The head node parses the first common packet and determines whether the target node of the first node data in the first common packet is the head node.
14. The method according to claim 13, wherein If the target node of the first node data is the head node, the head node obtains the first node data in the first common packet; If the target node of the first node data is not the head node, the head node initiates the transmission of a first node packet, the first node packet includes the first node data, and the transmission direction of the first node packet is the same as or different from the transmission direction of the first common packet.
15. The method according to claim 13, characterized in that The first node data includes first addressing information, and the first addressing information is used to indicate a target node of the first node data.
16. The method according to claim 1, characterized in that The first node data is generated by the i-th child node or by a peripheral device connected to the i-th child node.
17. A networking data transmission method, where the networking includes a head node and N child nodes, N>1, and the networking data transmission method includes: The starting node initiates the transmission of a first node packet, and the first node packet includes a first packet header. The i-th child node receives the first node packet sequentially transmitted in the networking and adds first node data to the first node packet. The terminating node receives the first node packet sequentially transmitted through the N child nodes in the networking. At this time, the first node packet includes the first packet header and the first node data. Alternatively, after the k-th child node receives the first node packet sequentially transmitted in the networking and obtains the first node data in the first node packet, the head node receives the first node packet sequentially transmitted through the N child nodes in the networking. At this time, the first node packet includes the first packet header. In terms of the transmission order, i is less than k.
18. The method according to claim 1, wherein Both the starting node and the terminating node are the head node, or the starting node is the head node and the terminating node is the last child node among the multiple child nodes, or the starting node is the last child node among the multiple child nodes and the terminating node is the head node.
19. The method according to claim 17, characterized in that The networking further includes a branch child node of the i-th child node. While the i-th child node receives the first node packet and adds first node data to the first node packet, the method further includes: The i-th child node sends the first node packet to the branch child node of the i-th child node, and the branch child node of the i-th child node is only connected to the i-th child node.
20. The method according to claim 17, characterized in that The networking further includes a branch child node of the i-th child node. Before the i-th child node receives the first node packet and adds first node data to the first node packet, the method further includes: The branch child node of the i-th child node sends the first node data to the i-th child node. The branch child node of the i-th child node is only connected to the i-th child node. The first node data is generated by the branch child node of the i-th child node or by a peripheral device connected to the branch child node of the i-th child node.
21. The method according to claim 17, wherein The first node data includes first common data, and the first node packet further includes a common data field. The i-th child node receives the first node packet and adds first node data to the first node packet, including: The i-th child node receives the first node packet and adds the first common data to the common data field in the first node packet.
22. The method according to claim 17, wherein The method further includes: The starting node divides one or more idle fields in the first node packet, and the idle fields are of equal length.
23. The method according to claim 17, wherein The starting node initiates the transmission of a first node packet in a first direction, and the first node packet further includes first target data. The method further includes: When the target node of the first target data is the j-th child node, the j-th child node receives the first node packet sequentially transmitted in the network and obtains the first target data in the first node packet; Alternatively, when the target node of the first target data is a branch child node of the j-th child node, the j-th child node receives the first node packet sequentially transmitted in the network, sends the first node packet to the branch node of the j-th child node, and the branch child node of the j-th child node receives the first node packet and obtains the first target data in the first node packet.
24. The method according to claim 23, wherein The method further includes: The j-th child node marks the field corresponding to the first target data as an idle field.
25. The method according to claim 17, wherein The k-th child node receives the first node packet sequentially transmitted in the network and obtains the first node data in the first node packet, including: The k-th child node receives the first node packet sequentially transmitted in the network and obtains the first node data in the first node packet, and marks the field corresponding to the first node data as an idle field.
26. The method according to claim 22, 24 or 25, characterized in that, The i-th child node receives the first node packet sequentially transmitted in the network and adds first node data to the first node packet, including: The i-th child node receives the first node packet sequentially transmitted in the network and adds the first node data to the idle field in the first node packet.
27. The method according to claim 25, characterized in that, The first node data includes first non-public data and / or first public data. The i-th child node receives the first node packet sequentially transmitted in the network and adds the first non-public data to the idle field in the first node packet, and / or, the first node packet further includes a public data field, and the i-th child node receives the first node packet sequentially transmitted in the network and adds the first public data to the public data field.
28. The method according to claim 27, wherein The first public data includes at least one of audio data and broadcast data, and the first non-public data includes at least one of configuration data, read data, interrupt data, control data, command data, radar data, video data, image data, sensing data, and vehicle management data.
29. The method according to claim 26, wherein The method further includes: The i-th child node divides the first node data such that the first node data includes at least two segments of first node data; The i-th child node adds the at least two segments of first node data to multiple idle fields in the first node packet respectively.
30. The method according to claim 26, wherein The method further includes: The i-th child node divides the first node data such that the first node data includes at least two segments of first node data; The i-th child node adds the first parts of the at least two segments of first node data to the idle fields in the first node packet respectively.
31. The method according to claim 30, wherein The method further includes: The starting node initiates the transmission of a second node packet, and the second node packet includes a second packet header; The i-th child node receives the second node packet transmitted sequentially in the network. The second node packet includes an idle field of the second node packet. The i-th child node adds the second part of the at least two segments of first node data to the idle field of the second node packet; The termination node receives the first node packet and the second node packet, and combines the first part of the at least two segments of first node data and the second part of the at least two segments of first node data into the first node data.
32. The method according to claim 17, characterized in that, The i-th child node receives the first node packet and adds first node data to the first node packet, including: The i-th child node receives the first node packet, parses whether there is still an idle part in the first node packet, and if so, adds the first node data to the first node packet; Alternatively, the first node data includes first non-public data. The i-th child node receives the first node packet, parses whether there is still an idle part in the first node packet, and if so, adds the first non-public data to the first node packet.
33. The method according to claim 18, wherein When both the starting node and the termination node are the first node, the method further includes: The first node parses the first node packet and determines whether the target node of the first node data in the first node packet is the first node.
34. The method according to claim 33, wherein: If the target node of the first node data is the first node, the first node obtains the first node data in the first node packet; If the target node of the first node data is not the first node, the first node initiates the transmission of a third node packet, and the third node packet includes the first node data. The transmission direction of the first node packet and the transmission direction of the third node packet are the same or different.
35. The method according to claim 23, wherein: The first target data includes first addressing information, and the first addressing information is used to indicate the target node of the first target data.
36. The method according to claim 17, wherein The first node is generated by the i-th child node or by a peripheral device connected to the i-th child node.
37. The method according to claim 18, when the starting node is the last child node, the termination node is the first node, the network includes a first link and a second link, and the first node connects the first link and the second link, the method further includes: The first node parses the first node packet and determines whether the target node of the first node data in the first node packet is the first node, wherein the first node packet is transmitted from the first link to the first node; If the target node of the first node data in the first node packet is not the first node, the first node initiates the transmission of a fourth node packet on the second link, and the fourth node packet includes the first node data.
38. A chip, wherein: It includes a processor and a memory. The memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory to execute the method according to any one of claims 1 to 37.
39. A communication system, characterized in that it includes the chip according to claim 38 and peripheral devices, and the peripheral devices are connected to and communicate with the chip.
Citation Information
Patent Citations
Data transmission method and device and electronic equipment
CN116506499A
Data forwarding method, chip and electronic equipment
CN116827717A
Method for dynamic data insertion in optical transmission network nodes
CN1643974A
Method and optical switching node for transmitting data packets in an optical transmission network
EP3160073A1
Method and system for secured information exchange between intermediate and endpoint nodes in a communications network
WO2021009554A1
Cited By
Data transmission method, chip, and storage medium
WO2025044072A1
Chip, networking system and electronic device
WO2025044073A1
Data transmission method, and chip and storage medium
WO2025044552A1