Network data transmission method, chip and communication system
By adopting the network data transmission method in the on-board system, the first node initiates a public data packet and adds node data from the child nodes, solving the problems of low bandwidth, time delay and poor reliability in the existing on-board data transmission scheme, and achieving flexible transmission and high-reliability data transmission of various data types.
Patent Information
- Application Number
- CN202311825182.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-26
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2043-12-26
AI Technical Summary
The existing on-board data transmission solutions have low bandwidth, long time delay, poor reliability and inability to meet the needs of multiple data types to transmit. Especially in the context of intelligent development, traditional Ethernet and CAN bus solutions cannot meet the requirements of high transmission rates and low latency.
A network data transmission method is proposed, which initiates the transmission of public data packets through the first node and receives and adds node data by the child nodes, forming a flexible network structure, which improves the reliability of transmission and reduces the delay. This method supports multiple data types to be transmitted in the same data packet, including audio data, configuration data, and sensing data.
It realizes flexible transmission of multiple data types, improves the reliability of network transmission and reduces delay, adapts to the complex communication needs of intelligent vehicle-mounted systems, and reduces system costs.
Smart Images

Figure CN117749565B_ABST
Abstract
Description
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 tend to be diversified. There are various data transmissions in the vehicle to meet different application scenarios of the vehicle system, 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, the A2B digital audio solution only supports a single serial daisy chain transmission, which has disadvantages such as low bandwidth, extended latency, and poor reliability. In addition, the A2B 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 it is mature and reliable, it requires more switches to connect the in-vehicle electronic control unit (ECU), 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 various data types, has flexible configuration, high reliability, low cost and low transmission delay has become a problem that needs to be solved. Summary of the invention
[0004] The present application provides a network data transmission method, chip and communication system, which can meet the transmission of multiple data types in the same data packet, form a flexibly configured network, improve the reliability of network transmission and reduce the delay of transmitted data.
[0005] In a first aspect, a networking data transmission method is provided, wherein the networking includes a head node and N child nodes, N being greater than 1, and the networking data transmission method including: the head node initiates transmission of a first public packet, wherein the first public packet includes first public data; the i-th child node receives the first public packet transmitted sequentially in the networking, and adds the first node data to the first public packet; the terminating node receives the first public packet transmitted sequentially in the networking via the N child nodes, wherein 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 networking and obtains the first node data in the first public packet, the terminating node receives the first public packet transmitted sequentially in the networking via the N child nodes, wherein the first public packet includes the first public data, wherein, in terms of transmission order, i is less than k.
[0006] In a possible implementation manner, the termination node is the first node, or the termination node is the last child node among the N child nodes.
[0007] In one possible implementation, the networking also includes a branch child node of the i-th child node, and 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.
[0008] In one possible implementation, the networking also includes a branch subnode of the i-th subnode, the i-th subnode receives the first public packet and adds the first node data before the first public packet, the method also includes: the branch subnode of the i-th subnode sends the first node data to the i-th child node, the branch subnode of the i-th subnode is only connected to the i-th child node, and the first node data is generated by the branch subnode of the i-th subnode or by a peripheral device connected to the branch subnode of the i-th subnode.
[0009] In a 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.
[0010] In a possible implementation manner, the head node divides the idle part in the first public packet into one or more idle fields, and the multiple idle fields are of equal length.
[0011] 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, the f-th child node marks the field corresponding to the first non-public data as an idle field, or 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.
[0012] 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.
[0013] In a 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.
[0014] In a 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 field in the first public packet, respectively.
[0015] In a possible implementation, the method also includes: the first node initiates transmission of a second public packet, the second public packet includes second public data; the i-th child node receives the first public packet transmitted sequentially in the networking, and adds the second part of the at least two segments of first node data to the free field in the second public packet; the terminating node receives the first public packet and the second public 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.
[0016] In a 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 the first public package has any free part, and if so, adds the first node data to the first public package.
[0017] In a possible implementation, when the termination node is the head node, the method further includes: the head node parsing the first public packet to determine whether a target node of the first node data in the first public packet is the head node.
[0018] In a 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 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.
[0019] In a possible implementation manner, 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.
[0020] In a possible implementation manner, the first node data is generated by the i-th child node, or is generated by a peripheral device connected to the i-th child node.
[0021] In a second aspect, a networking data transmission method is provided, wherein the networking includes a head node and N child nodes, N is greater than 1, and the networking data transmission method includes: a starting node initiates transmission of a first node packet, and the first node packet includes a first packet header; an i-th child node receives the first node packet transmitted sequentially in the networking, and adds the first node data to the first node packet; a terminating node receives the first node packet transmitted sequentially in the networking 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 networking and obtains the first node data in the first node packet, the head node receives the first node packet transmitted sequentially in the networking 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.
[0022] In a 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.
[0023] 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.
[0024] In one possible implementation, the networking also includes a branch subnode of the i-th subnode, and before the i-th subnode receives the first node packet and adds the first node data to the first node packet, the method also includes: the branch subnode of the i-th subnode sends the first node data to the i-th child node, the branch subnode of the i-th subnode is only connected to the i-th child node, and the first node data is generated by the branch subnode of the i-th subnode or by a peripheral device connected to the branch subnode of the i-th subnode.
[0025] In a possible implementation, the first node data includes first public data, the first node packet also includes a public data field, 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, and adds the first public data to the public data field in the first node packet.
[0026] In a possible implementation manner, 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.
[0027] 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 also 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, 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.
[0028] In a 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.
[0029] In a 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 free field in the first node packet.
[0030] 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.
[0031] 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.
[0032] In a 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.
[0033] In a 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.
[0034] In a possible implementation, the method also 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 networking, 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.
[0035] 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.
[0036] In a possible implementation, when the start node and the end node are both the head nodes, the method further includes: the head node parsing the first node packet to determine whether the target node of the first node data in the first node packet is the head node.
[0037] 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 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 or different from the transmission direction of the third node packet.
[0038] 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.
[0039] In a possible implementation manner, 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.
[0040] In a possible implementation, when the starting node is the last child node, the terminating 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 also includes: the first node parses the first node packet to determine 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.
[0041] According to 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.
[0042] In a fourth aspect, a system is provided, the system comprising the chip as described in the third aspect and a peripheral device, wherein the peripheral device is connected and communicates with the chip. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 A schematic diagram of a system structure provided for an embodiment of the present application;
[0044] Figure 2 A schematic diagram of a networking system provided in an embodiment of the present application Figure 1 ;
[0045] Figure 3 A schematic diagram of a networking system provided in an embodiment of the present application Figure 2 ;
[0046] Figure 4 Another networking system provided in the embodiment of the present application is shown in FIG. Figure 1 ;
[0047] Figure 5 Another networking system provided in the embodiment of the present application is shown in FIG. Figure 2 ;
[0048] Figure 6A schematic flow chart of a data transmission method 100 provided in an embodiment of the present application Figure 1 ;
[0049] FIG. 7( a ) is a schematic diagram of a process based on method 100 provided in an embodiment of the present application. Figure 1 ;
[0050] FIG. 7( b ) is a schematic diagram of a process based on method 100 provided in an embodiment of the present application. Figure 2 ;
[0051] FIG. 7( c ) is a schematic diagram of a process based on method 100 provided in an embodiment of the present application. Figure 3 ;
[0052] FIG. 7( d ) is a schematic diagram of a process based on method 100 provided in an embodiment of the present application. Figure 4 ;
[0053] FIG. 8( a ) is a schematic diagram of a data format of a first public packet in method 100 provided in an embodiment of the present application. Figure 1 ;
[0054] FIG8( b ) is a schematic diagram of a data format of the first public packet in the method 100 provided in an embodiment of the present application. Figure 2 ;
[0055] Fig. 9 Another data format diagram based on the first public packet in method 100 provided in an embodiment of the present application Figure 1 ;
[0056] FIG. 10( a ) is a schematic diagram of another data format of the first public packet in the method 100 provided in an embodiment of the present application. Figure 1 ;
[0057] FIG. 10( b ) is a schematic diagram of another data format based on the first public packet in method 100 provided in an embodiment of the present application. Figure 2 ;
[0058] Fig.11 A data transmission schematic diagram corresponding to an example process 200 provided in an embodiment of the present application;
[0059] Fig.12 A schematic flow chart of a data transmission method 100 provided in an embodiment of the present application Figure 2 ;
[0060] Fig.13 A schematic flow chart of a data transmission method 300 provided in an embodiment of the present application;
[0061] FIG. 14( a ) is a schematic diagram of a data format of a first node packet in method 300 provided in an embodiment of the present application. Figure 1 ;
[0062] FIG. 14( b ) is a schematic diagram of a data format of a first node packet in method 300 provided in an embodiment of the present application. Figure 2 ;
[0063] FIG. 15( a ) is a schematic diagram of a process based on method 300 provided in an embodiment of the present application. Figure 1 ;
[0064] FIG. 15( b ) is a schematic diagram of a process based on method 300 provided in an embodiment of the present application. Figure 2 ;
[0065] FIG. 15( c ) is a schematic diagram of a process based on method 300 provided in an embodiment of the present application. Figure 3 ;
[0066] FIG. 16( a ) is a schematic diagram of another process based on method 300 provided in an embodiment of the present application. Figure 1 ;
[0067] FIG. 16( b ) is another process diagram based on method 300 provided in an embodiment of the present application. Figure 2 ;
[0068] FIG. 17( a ) is a schematic diagram of a data format of a first node packet in method 300 provided in an embodiment of the present application. Figure 1 ;
[0069] FIG. 17( b ) is a schematic diagram of a data format of a first node packet in method 300 provided in an embodiment of the present application. Figure 2 ;
[0070] Fig.18 A data transmission schematic diagram corresponding to an example process 400 provided in an embodiment of the present application;
[0071] Fig.19 A schematic flow chart of a data transmission method 300 provided in an embodiment of the present application Figure 2 ;
[0072] Fig. 20 A schematic diagram of the structure of a chip provided in an embodiment of the present application;
[0073] Fig.21 A schematic diagram of the structure of a communication system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0074] Nowadays, the equipment and functions of vehicles tend to be diversified. There are multiple data transmissions in the vehicle to meet the different application scenarios of the vehicle system, such as vehicle audio data. However, the transmission of 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. At present, digital audio solutions based on A2B are also emerging. However, the digital audio solution of A2B only supports single serial daisy chain transmission, which has the disadvantages of low bandwidth, long delay, poor reliability, etc., and the digital audio solution of A2B cannot carry large data transmission other than audio data. In addition, the current mainstream solution for vehicle non-audio data transmission is based on Ethernet and CAN bus transmission. However, with the development of intelligence, the CAN bus cannot meet the requirements of transmission rate and delay. At present, the in-vehicle Ethernet adopts traditional switch-based communication. Although it is mature and reliable, it requires more switches to connect the in-vehicle ECU, and does not support direct communication with vehicle sensors. It is costly and complex to implement. It cannot support more flexible node interconnection scenarios and the application of complex communication structures. Therefore, there is currently a lack of a data transmission networking system that can adapt to various types of data transmission and can simultaneously realize audio data transmission and non-audio data transmission.
[0075] Therefore, the present application proposes a networking transmission method, chip and system that can realize networking data transmission that meets the transmission of multiple data types, has flexible configuration, high reliability, low cost and low transmission delay.
[0076] It should be understood that the terms "vehicle", "vehicle-mounted" 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, etc.
[0077] The technical solution in the present application will be described clearly and completely below in conjunction with the accompanying drawings. Obviously, the described embodiments are only used to explain the present invention, not to limit the present invention. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present invention. It should also be noted that, for the convenience of description, only the parts related to the present invention are shown in the accompanying drawings, not all structures.
[0078] It should be understood that the various steps described in the method implementation of the present application can be performed in different orders and / or performed in parallel. In addition, the method implementation may include additional steps and / or omit the steps shown. The scope of the present application is not limited in this respect.
[0079] 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". 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.
[0080] In the embodiments of the present disclosure, the term "and / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B may represent three situations: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.
[0081] As used throughout the description herein and in the claims, a list of items connected 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.
[0082] 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 function. The terms "coupled" and "connected" together 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, "connected" 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 contact 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).
[0083] Figure 1 A schematic diagram of a system structure provided in an embodiment of the present application is shown in FIG. Figure 1As shown, in the system structure, it includes a host, a head 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 head node through any peripheral interface such as an integrated circuit internal circuit (Inter-Integrated Circuit, I2C), a serial peripheral interface (Serial Peripheral Interface, SPI), a universal asynchronous receiver / transmitter (UART), and a system management interface (System Management Interface, SMI). The head node and the N child nodes can be connected and communicated in sequence through a physical transmission medium. The physical transmission medium is, for example, a twisted pair. This application does not make specific limitations on this. The host, the head 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 the downlink transmission, data processing includes data encapsulation and unpacking, etc. In the 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 the data collected by the peripheral device 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.
[0084] The host is a device that controls or processes a networking link. For example, the host may be or may 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 may be any device, module or chip that can execute the solution of the present application, such as 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 may be based on the Ethernet protocol or may be based on a private Ethernet packet format definition to support full-duplex transmission and increase transmission bandwidth.
[0085] In addition, both the head node and the sub-node can be connected to peripheral devices. This application does not limit the connection method between the head node or the sub-node and the peripheral devices. For example, the sub-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 sub-node to the peripheral devices, different functional applications can be realized. The peripheral devices can be various communication sensing devices such as microphones, speakers, audio amplifiers, millimeter-wave radars, laser radars, ultrasonic radars, cameras, positioning systems, speed sensors, humidity sensors, light intensity sensors, speakers, etc. For example, when Figure 1 When the system structure shown is applied in a vehicle audio scenario, the peripheral devices may be speakers and / or microphones.
[0086] 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. The present application does not make any specific limitations on this.
[0087] The present application embodiment provides a Figure 1 Schematic diagram of the ring networking system formed by the system structure shown Figure 1 ,like Figure 2 As shown, the nodes in the figure include a head node 0 and N child nodes, 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 be connected to peripheral devices. For simplicity, the peripheral devices connected to the head node and the child nodes are not shown in the figure. Figure 1In the embodiment, the first node 0, the subnode 1, the subnode 2, the subnode 3, the subnode 4, ..., the subnode N are connected in sequence through the physical transmission medium, and form a ring networking system, so that the 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 first node does not connect and communicate with the last subnode, in the ring networking transmission provided by the embodiment of the present application, the first subnode and the last subnode in the networking link are both connected to the first node, and data communication can be performed. In the 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 regarded as the clockwise direction of the illustrated ring networking, and the second direction can be regarded as the counterclockwise direction of the illustrated ring networking. In the first direction, the flow direction of data transmission can be the first node 0 → subnode 1 → subnode 2 → subnode 3 → subnode 4 → ... → subnode N → the first node 0 → subnode 1 → ..., it should be understood that data can be transmitted in any number of nodes along the first direction, or it 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 in any several nodes along the second direction, or can be transmitted cyclically in the second direction.
[0088] Figure 2 The ring networking structure shown can support more flexible and diverse data transmission and node configuration solutions, meeting the networking transmission needs in various scenarios.
[0089] exist Figure 2 Based on the ring networking system shown in the figure, the present application also provides a Figure 1 Schematic diagram of the ring networking system formed by the system structure shown Figure 2 ,like Figure 3 As shown, 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 one child node in the networking system, such as child node 3. 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 nodes, and branch child nodes can all be connected to peripheral devices. For simplicity, the peripheral devices connected to the head node and child nodes are not shown in the figure. Figure 1 The first node 0, subnode 1, subnode 2, subnode 3, subnode 4, ..., subnode N are connected in sequence through physical transmission media, while branch subnode 1 is only connected to subnode 3 through physical transmission media, and branch subnode 1 can only communicate with subnode 3, thus forming a special ring networking system with branches, so that communication data can be transmitted in the ring system. Figure 2The difference between the shown ring networking system is that the branch subnode 1, as a branch subnode in the ring networking system, only communicates with the subnode 3 connected to it. It should be understood that in the ring networking system with branch subnodes, there can be multiple subnodes as branch subnodes, and the branch subnodes can be connected to the same subnode or to different subnodes. For example, subnode 3 can be connected to multiple branch subnodes, and for example, subnode 4 can also be connected to one or more subnodes and the one or more subnodes are used as branch subnodes. The embodiment of the present application only uses branch subnode 1 connecting subnode 3 and branch subnode 1 as a branch subnode as an exemplary explanation. In the ring networking system, the 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 regarded as the clockwise direction of the illustrated ring network, and the second direction can be regarded as the counterclockwise direction of the illustrated ring network. In the first direction, the direction of data transmission can be head node 0→subnode 1→subnode 2→subnode 3→subnode 4→…→subnode N→head node→subnode 1→…, and it should be understood that data can be transmitted in 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→subnode N→…→subnode 4→subnode 3→subnode 2→subnode 1→head node→subnode N→…, and it should be understood that data can be transmitted in 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 sub-node connected to the branch sub-node sends the data transmitted in the first direction or the second direction to the branch sub-node, or the branch sub-node sends the data to the sub-node connected to the branch sub-node and then transmits it in the first direction or the 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 continued transmission. In other words, if branch sub-node 1 performs data transmission in the ring networking system as a branch sub-node, it must pass through sub-node 3 connected to it. It should be noted that even if the ring networking 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 networking system, the direction of data transmission remains the same. Figure 2 As shown, that is, if the branch subnode 1 does not participate in the transmission of the ring networking system, for example, does not need to receive or add any data, the subnode 3 can send the data directly to the subnode 4 without passing through the branch subnode 1.
[0090] like Figure 3 The ring networking scheme with branch sub-nodes shown can reduce the wiring between networking nodes and save the overall cost of the networking system.
[0091] based on Figure 2 or Figure 3 The ring networking system shown in the present application further proposes a method such as Figure 4 The networking system shown and Figure 5 The networking system shown in Figure 4 As shown, 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 head node 0, sub-node 1, sub-node 2, sub-node 3 and the failed node sub-node 4, and the second link includes the head 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 head node 0, sub-node 6, and sub-node 5, so Figure 4 The network structure shown can improve the system fault tolerance of the network and reduce the impact of sub-node failure on data transmission. Figure 4 The network structure shown in the figure can support the disconnection between sub-nodes and thus be divided into two links. Then the data sent by the head node can be transmitted on the first link and the second link at the same time. Figure 2 or Figure 3 The network structure of a complete ring link is shown in Figure 4 The networking structure shown for data transmission can shorten the data transmission delay, thereby ensuring the synchronization and real-time transmission of data between different nodes and improving the user experience. Figure 4 In the networking structure shown, although there are two links, only one of the links may be used for data transmission.
[0092] Likewise, if Figure 5 The networking system shown can be, for example, Figure 3 The ring networking system shown is similar, with branch sub-nodes such as Figure 5 Branch child node 1 in, specifically, Figure 5The networking system shown includes multiple subnodes, for example, 6 subnodes and 1 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 the 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, subnode 4 does not participate in the data transmission of the first link. The failure of subnode 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 head node 0, subnode 6, and subnode 5. It should be understood that in Figure 5 In the network structure shown, although there are two links, only one of the links can be used for data transmission. Figure 5 The networking solution with branch sub-nodes shown can reduce the wiring between networking nodes and save the overall cost of the networking system.
[0093] exist Figure 2 or Figure 3 The ring networking system shown and Figure 4 or Figure 5 In the networking system shown, the host can transmit data to the head node through various peripheral interfaces such as the Media Independent Interface (MII), the Inter-IC Sound (I2S) interface, and the Time Division Multiplexing (TDM) interface. The data is transmitted between the head node and the child node through a physical transmission medium, and the physical transmission medium is, for example, a twisted pair. Furthermore, the head node or the child node can further transmit the 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), the General Purpose Input / Output (GPIO), the Controller Area Network (CAN) bus, the Local Interconnect Network (LIN) bus, etc.
[0094] Furthermore, the embodiment of the present application provides a data transmission method 100, which can form the following Figure 2 or Figure 3 The data transmission of the ring networking system or Figure 4 or Figure 5 The data transmission of the networking system supports the realization that during the transmission of data packets in the networking, the child nodes can add new data to the data packets initiated by the first node according to the configuration and actual application requirements, or obtain data in the data packets transmitted in the networking, 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 with the existing methods.
[0095] 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 networking 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 networking and is only received or processed by the set target node.
[0096] Figure 6 FIG. 7( a), FIG. 7( b), and FIG. 7( c) are schematic diagrams of a process based on method 100 provided in an embodiment of the present application. Figure 6 As shown, the data transmission method 100 is applied to Figure 2 or Figure 3 The data transmission of the ring networking system or Figure 4 or Figure 5 The data transmission of the networking system, method 100 includes some or all of the following steps:
[0097] Step 110: The head node initiates transmission of a first public packet, where the first public packet includes first public data.
[0098] Specifically, for example, when the method 100 is applied to Figure 2 or Figure 3 When the ring network is shown, 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 may be, 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 and may be received or processed by multiple nodes. If used in a vehicle audio scenario, the public data may be audio data.
[0099] It should be noted that when method 300 is applied to Figure 2 or Figure 3 In the case of the ring network shown in the figure, 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 the method 300 is applied to Figure 4 or Figure 5 When networking is shown, the starting node is the head node and the ending node is the end subnode of the networking link. The first direction is the direction in which the head node transmits data to the subnode, and the second direction is opposite to the first direction, and the second direction is the direction in which the subnode transmits data to the head node. Public data. The first public packet may also include a first header, which is a public header of a data packet in the ring networking data transmission, and may be used to indicate real-time information of each node.
[0100] Step 120: The i-th child node receives the first public packet transmitted sequentially in the networking, and adds the first node data to the first public packet.
[0101] In step 120, the first public packet is transmitted in the networking, 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. The specific content and function of the first node data are not limited in the embodiments of the present application.
[0102] Step 130: the terminating node receives the first public packet transmitted sequentially through N child nodes in the networking, and 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 networking 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 networking, and the first public packet includes the first public data. In terms of transmission order, i is less than k.
[0103] In step 130, when applied to Figure 2 or Figure 3 In the ring networking system shown in the figure, the terminating node is the first node, that is, the first node initiates the transmission as the starting node and ends the transmission as the terminating node. Figure 4 or Figure 5 When the network system is shown, the termination node is the last child node, that is, Figure 4 or Figure 5 The last child node connected to the first link or the second link and working normally. The node data added by the i-th child node can be received by the termination node after network transmission, or by a 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.
[0104] Furthermore, if the method 100 is applied to Figure 3 or Figure 5 The networking system shown, that is, the networking system further includes a branch sub-node, and when the branch sub-node participates in the networking data transmission, while executing step 120 in the method 100, it may also include:
[0105] 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.
[0106] Specifically, in the networking system, the branch subnode of the ith subnode is only connected to the ith subnode. After the ith subnode receives the first public packet in step 120, if the branch subnode of the ith subnode participates in the networking data transmission as a branch subnode, the ith subnode sends the first public packet to the branch subnode of the ith subnode. It should be understood that when the ith subnode sends the first public packet to the branch subnode, it will also continue to transmit the first public packet to the next subnode of the ith subnode in the first direction. In step 121, the branch subnode of the ith subnode can receive the first public data in the first public packet.
[0107] Alternatively, before step 120 in method 100, the following steps may also be included:
[0108] 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.
[0109] Specifically, in the networking system, the branch subnode of the ith subnode is only connected to the ith subnode. Before the ith subnode adds the first node data to the first public package in step 120, the branch subnode of the ith subnode sends the first node data to the ith subnode, and the first node data is generated by the branch subnode of the ith subnode or the peripheral device connected to the branch subnode of the ith subnode, and then the ith 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 to say, 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 ith subnode or the peripheral device connected to the branch subnode of the ith subnode.
[0110] Now the above method 100 is applied to Figure 2 or Figure 3 In the exemplary transmission flow chart of the ring networking system shown in FIG. 1 , if in step 130, the first node receives the first public packet transmitted by the N subnodes in the first direction, at this time, the first public packet includes the first public data and the first node data, as shown in FIG. 7 (a), during the transmission of the first public packet along the first direction, for example, after passing through the third subnode among the N subnodes, that is, subnode 3, subnode 3 receives the first public packet with the first public data, and then adds the first node data to the first public packet, and the node data can be generated by subnode 3 itself, or by a peripheral device connected to subnode 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 subnode 3. Subnode 3 continues to send the first public packet with the first public data and the first node data to the next node along the first direction, and after passing through subnodes 4, ..., and subnode N, it is received by the first node, as shown in FIG. 8 (b), and 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 networking. 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.
[0111] 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), during the process of transmitting the first public packet 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 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 a 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), the first public packet including the first public data is transmitted along the first direction, and branch subnode 1, as the 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, and subnode 3 sends the first public packet including the first node data and the first public data to the next node to continue 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 Figure 3 The branch sub-nodes in the and one or more of the N nodes can receive the first public packet through the sub-nodes connected to the branch sub-nodes, or add the node data sent by the branch sub-nodes to the first public packet through the sub-nodes connected to the branch sub-nodes, and then transmit it to the first node through the ring networking. The embodiment of the present application only takes branch sub-node 1 as the branch sub-node to execute steps 121 and 122 as an example.
[0112] Alternatively, if in step 130, after the kth child node receives the first public packet and obtains the first node data in the first public packet, 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, 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, i.e., child node 3, after child node 3 receives the first public packet with the first public data, it 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 the child node 3. The child node 3 continues to send the first public packet with the first public data and the first node data to the next node along the first direction. When passing through the child node 4, the child node 4 receives the first node data in the first public packet. At this time, the first public packet does not carry the first node data. After that, the child node 4 continues to send the first public packet with 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 it is received by a child node after the transmission order of the child node that adds the node data 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 the child node 3 adding the first node data to the first public packet, and then the child node 4 receives and obtains the first node data in the first public packet as an example for illustrative description.
[0113] 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.
[0114] It should be understood that if method 100 is applied to Figure 4 or Figure 5 In the system shown, 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 example is given here.
[0115] Therefore, through the above method 100, the transmission of various networking systems can be supported, such as Figure 2 or Figure 3 Ring networking system transmission and Figure 4 or Figure 5As shown, single-link and dual-link transmission are realized, 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.
[0116] In an optional embodiment, in step 110 of networking transmission, as Fig. 9 As shown, 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. The present 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 can also send non-public data to one or more child nodes, that is, the non-public data can 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 peripherals, etc. It should be understood that the first public packet may include multiple non-public data, so that they are respectively obtained by multiple child nodes. The present application only takes the first non-public data as an example for illustration.
[0117] Optionally, the first non-public data may also be attached 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 limit the specific data format of the first non-public data target information. Preferably, the first non-public data target information can be set as the packet header of the first non-public data.
[0118] If the first public packet also includes first non-public data, and the target 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 networking, and obtains the first public data.
[0119] Specifically, after the first node executes step 110, Fig. 9The first public packet shown is transmitted sequentially in the first direction in the network. When the transmission passes through the target node of the first non-public data, the target node of the first non-public data obtains the first non-public data in the first public packet. At this time, the first public packet does not carry the first non-public data. The target node of the first non-public data continues to transmit the first public packet without the first non-public data to the next node in the first direction.
[0120] The target node of the first public data may 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, and 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 may be a child node or a termination node. As described in steps 120 and 130 above, in the following example, Fig. 9 In the process of sequentially transmitting the first public packet in the first direction in the networking, the i-th child node can add the node data to the first public packet, and the first public packet with the node data is transmitted to the termination node via the networking. It should be understood that the embodiment of the present application does not limit 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 limit the order of receiving the first non-public data and adding the node data.
[0121] Therefore, the first public packet initiated by the first node may include the 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 networking transmission at the same time, so as to improve the transmission efficiency of different data and save the data transmission delay.
[0122] Furthermore, in an optional embodiment, in step 110, the method 100 further includes:
[0123] Step 111: The head node divides the idle part in the first public packet into one or more idle fields, and the multiple idle fields are of equal length.
[0124] As shown in Figure 10(a), when the first public packet includes the first public data, and because 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, and the first node divides the idle part into one or more idle fields, and the multiple idle fields are equal in 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 equal in length.
[0125] 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, the first public packet still has an idle part, and the first node divides the idle part into multiple idle fields, and the multiple idle fields are of equal length.
[0126] That is, if the first public packet also includes first non-public data, the method 100 may further include:
[0127] 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.
[0128] 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 which can divide the idle fields, 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.
[0129] 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.
[0130] After executing step 111 and / or step 140, the first public packet has a free field, so when executing step 120, step 120 includes step 123:
[0131] The i-th child node may add the first node data to a free field in the first public packet.
[0132] Specifically, when the first public packet is transmitted to the i-th child node in the networking, 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, and the embodiments of the present application do not limit this.
[0133] It should be understood that step 111 and step 140 may exist at the same time, or only step 111 or step 140 may exist, and 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 executed, step 111 and / or step 140 must be executed first. If the free field in step 123 is generated by step 140, then in the first direction, f is less than or equal to i.
[0134] 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 the present application does not limit this. Specifically, the present application provides an example process 200 of the above method 100, Fig.11 This is a data transmission diagram corresponding to the exemplary process 200. The process 200 includes the following steps:
[0135] Process 201: The first 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 by step 111. The target node of the first non-public data is child node 1, and the target node of the second non-public data is child node 3.
[0136] 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, there may be no idle field, that is, step 111 is not performed.
[0137] Process 202: Subnode 1 receives the first public packet and obtains the first non-public data of subnode 1 in the first public packet, and marks the field corresponding to the first non-public data of subnode 1 as an idle field, i.e., the second idle field, and adds the first node data of subnode 1 to the first idle field and sends it to subnode 2. Optionally, subnode 1 may also add the first node data to the second idle field and send it to subnode 2. The present application does not limit the idle field where subnode 1 adds the first node data. The first node data may be generated by subnode 1 itself or by a peripheral device of subnode 1, and the present application embodiment does not limit this.
[0138] Process 203: Subnode 2 receives the first public packet, adds the second node data to the second free field in the first public packet, and then sends it to subnode 3. As shown in the figure, the first public packet 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 subnode 2 itself or by a peripheral device of subnode 2, and the embodiment of the present application does not limit this.
[0139] Process 204: Subnode 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 subnode 3 as the third free field, and sends it to the next node in the first direction. Optionally, if subnode 3 has node data of subnode 3 that needs to be transmitted in the first direction at this time, the node data of subnode 3 can be added to the third free field and then sent to the next node.
[0140] 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 sequentially transmitted to the remaining sub-nodes in the first direction, and finally transmitted to the terminating node, and received by the terminating node. For example, the method 100 is applied to Figure 2 or Figure 3 In the ring network shown in the figure, the terminating node is the first node 0.
[0141] Further, 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 also include:
[0142] Step 1231: The i-th child node divides the first node data so that the first node data includes at least two segments of the first node data.
[0143] If multiple free fields in the current first public packet can be used to place the node data of the node, step 123 includes:
[0144] 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.
[0145] It should be understood that in step 1232, one segment of the at least two segments of the first node data corresponds to one free field, and multiple segments of the first node data correspond to multiple free fields. Afterwards, when the terminating node receives the first public packet with at least two segments of the first node data, it is combined into a complete first node data.
[0146] If all free fields in the current first public packet cannot accommodate the node data of the node, step 123 includes:
[0147] 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.
[0148] It should be understood that in step 1233, since the free fields in the current first public packet are limited, the i-th child node first puts a part of at least two segments of the first node data into all the free fields in the current first public packet. Similarly, one segment of the first node data corresponds to one free field.
[0149] Furthermore, the method 100 further includes:
[0150] Step 150: The head node initiates transmission of a second public packet, where the second public packet includes second public data.
[0151] Optionally, in step 150, if method 100 is applied to Figure 2 or Figure 3 The ring networking system shown in FIG. 1 , the first node can initiate the transmission of the second public packet in the first direction or the second direction. If the method 100 is applied to Figure 4 or Figure 5 In the networking system shown, the first node initiates transmission of a second public packet in the first direction, step 160: the i-th child node receives the second public packet, the second public packet includes an idle field, and adds the second part of at least two segments of the first node data to the idle field in the second public packet.
[0152] 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.
[0153] Specifically, the first node can transmit one or more service packets in the network. Multiple service packets, such as the first public packet and the second public packet, are applied to Figure 2 or Figure 3When the ring network is shown, the transmission directions of the first public packet and the second public packet may 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, since the node data to be added by the i-th child node is too long, so that the idle field in the first public packet cannot support the i-th child node to add all the node data, 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 first direction to the termination node in the network. 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 the terminating node receives 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 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 are combined into complete first node data.
[0154] It should be understood that the node data of the child node i may need to be divided into multiple segments. The embodiment of the present application only takes the node data of the child node i divided into two ends, namely the first segment of the first node data and the second segment of the first node data as an exemplary explanation. If the node data of the child node i is divided into multiple segments, then in multiple service packets, the multiple segments of node data are added to the free fields in the service packet respectively until the multiple segments of node data are added, and finally combined by the termination node.
[0155] 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 overly long data completely in the network, and improve the transmission efficiency and latency of such long data.
[0156] 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 adding data to the nodes, is simple to implement, and has high reliability and stability of data transmission.
[0157] It should be noted that if the idle field is not divided through step 111 and step 140, that is, step 123 is not performed, then step 120 also includes step 124:
[0158] 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.
[0159] When child node i receives the first public package, it parses the first public package to see if there is any free part. 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 a different length.
[0160] 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 the 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 the network transmission is low.
[0161] Further, 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, Fig.12 As shown, the method 100 may further include step 180:
[0162] 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.
[0163] 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 exemplary illustration. 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 determine whether the target node of the node data is the first node through the addressing information, and other child nodes can also know whether the target node of the node data is themselves through the addressing information.
[0164] If yes, execute step 181: Step 181: The first node obtains the first node data in the first public packet.
[0165] 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.
[0166] 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.
[0167] Optionally, the first node packet may also include third public data, that is, the first node packet may be regarded as the third public packet, the third public data is public data, and during the transmission of the first node packet, the above steps 110, 111, 140, 120, and 130 may still be executed for processing the first public packet. For the sake of brevity, they will not be described here. The first node packet may also not include the third public data, but include other non-public data, etc. This application does not limit the specific function and form of the first node packet.
[0168] pass Fig.12 Step 180, step 181 or step 182 shown can support the data transmission requirements of each child node, 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.
[0169] Further, if in step 130, the termination node is the head node, that is, when method 100 is applied to Figure 2 or Figure 3 When the ring networking system is shown, 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 in the first direction, i is greater than m, the method 100 may further include:
[0170] 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.
[0171] That is to say, if the ith child node wants to transmit the first node data to the mth child node, and in the first direction, i is greater than m, then the ith child node can be implemented according to steps 120, 180, and 182, or directly implemented through step 190. The ith 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 mth child node. It should be understood that for the ith child node, there can be transmission in the first direction and the second direction at the same time, which means that the ith 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.
[0172] Through the above step 190, it is possible to more flexibly support the scenario of data transmission between sub-nodes, thereby saving the delay of data transmission between sub-nodes.
[0173] The embodiment of the present application also provides a data transmission method 300, Fig.13 The data transmission method 300 shown can also be applied to Figure 2 or Figure 3 The ring networking system shown or Figure 4 or Figure 5 The data transmission of the networking system supports the realization that during the transmission of data packets in the networking, 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 networking, 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, reduce the delay of data transmission, and reduce the cost of networking compared with the existing methods.
[0174] 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 may include, 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 networking and can be received or processed by multiple nodes. Non-public data may include, 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 networking and is only received or processed by the set target node.
[0175] like Fig.13 As shown, method 300 includes some or all of the following steps:
[0176] Step 310: The starting node initiates transmission of a first node packet, where the first node packet includes a first packet header.
[0177] Specifically, the first packet header is a common packet header of a data packet in a network data transmission, which can be used to indicate the real-time information of 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 FIG. 14(a), the first node packet initiated by the start node includes the first packet header. It should be noted that when the method 300 is applied to Figure 2 or Figure 3 In the case of the ring networking shown in the figure, 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 sends the first node packet to N child nodes in the ring networking system in the first direction, that is, the clockwise direction shown in the figure. When the method 300 is applied to Figure 4 or Figure 5 When networking is shown, the starting node is the first node and the terminating node is the last subnode of the networking link, or the starting node is the last subnode of the networking link or the terminating node is the first node, the first direction is the direction in which the first node transmits data to the subnode, and the second direction is opposite to the first direction, and the second direction is the direction in which the subnode transmits data to the first node. It should be understood that in step 310, if the starting node is the first node and the terminating node is the first 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 first node and the terminating node is the last subnode, the starting node initiates transmission from the first direction, or if the starting node is the last subnode and the terminating node is the first node, the starting node initiates transmission from the second direction.
[0178] Step 320: The i-th child node receives the first node packet transmitted sequentially in the networking, and adds the first node data to the first node packet.
[0179] In step 320, the i-th child node receives the first node packet transmitted sequentially in the networking, 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, public data. The embodiment of the present application does not limit the specific content and function of the first node data.
[0180] Step 340: the terminating node receives the first node packet transmitted sequentially through N child nodes in the networking, and 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 networking 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 networking, and the first node packet includes a first packet header. In terms of transmission order, i is less than k.
[0181] In step 340, the terminating node receives the first node packet transmitted by N child nodes in the networking, as shown in FIG. 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 first node, the first node packet does not include the first node data.
[0182] Further, if the method 300 is applied to Figure 3 or Figure 5 The networking system shown, that is, the ring networking system further includes a branch sub-node, and when the branch sub-node participates in the ring networking data transmission, the method 300 may further include the following steps at the same time as step 320:
[0183] 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.
[0184] Alternatively, before step 320, the following may also be included:
[0185] 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.
[0186] The specific process of step 321 and step 322 is similar to step 121 and step 122 in reference method 100, and will not be repeated here for the sake of brevity.
[0187] 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 a branch child node of the jth child node during the transmission process, or may be finally received by the terminating node.
[0188] 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 FIG. 15(a) or FIG. 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 FIG. 15(a) or FIG. 15(b). It should be understood that the first direction can also be the counterclockwise direction in the ring network shown in FIG. 15(a) or FIG. 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, 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 may 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. The present 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 other 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
[0189] It should be noted that if the target node of the first target data is a 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, the first target data may not carry the first addressing information and finally be transmitted to the termination node through the network.
[0190] If the first node packet also includes the first target data and the target node of the first target data is the jth child node, then before step 340, the method 300 further includes:
[0191] Step 330: The j-th child node receives the first node packet and obtains the first target data in the first node packet.
[0192] In step 330, the first node packet with the first target data is sequentially transmitted in the networking transmission direction and received by the jth child node. Since the target node of 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 step 320 and step 330 can be the same node, that is, the jth child node can be the i-th child node, and j is equal to i. And if step 320 and step 330 are not the same child node, the embodiment of the present application does not limit the order of execution of step 320 and step 330.
[0193] If the first node packet also includes the 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:
[0194] Step 331: The branch child node of 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 in the first direction, the child nodes executing steps 320 and 330 can be the same child node or different child nodes, that is, i can be equal to j.
[0195] Hereinafter, when the first node packet of step 310 in the above method 300 also includes the first target data and is applied to Figure 2 or Figure 3 There are three exemplary transmission flow charts of the ring networking system shown in FIG. 15( a). As shown in FIG. 15( 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 the child node 2. After being transmitted by two child nodes, the first node packet is received by the second child node, i.e., the child node 2. The child node 2 executes step 330, i.e., the child node 2 obtains the first target data in the first node packet. After that, the 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 the packet is transmitted to the child node 3, the child node 3 executes step 32 0, i.e., adding the first node data to the first node packet, the target node of the first node data is child node 4, then child node 3 will send 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, and 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.
[0196] 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.
[0197] It should be understood that in the embodiment shown in FIG. 15(a) or FIG. 15(b) above, in step 310, the first node package may 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 description. 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 description.
[0198] Alternatively, further, if the method 300 is applied to Figure 3 In the networking system with branch sub-nodes shown in FIG. 15, when the branch sub-node executes step 331, for example, as shown in FIG. 15(c), the first node packet initiated by the head node 0 includes the first packet header and the first target data, and the target node of the first target data is the branch sub-node 1. When the first node packet is transmitted along the first direction, when it is transmitted to the sub-node 3 connected to the branch sub-node 1, the sub-node 3 simultaneously executes steps 320 and 321, that is, the sub-node 3 sends the first node packet to the branch sub-node 1, and adds the first node data to the first node packet, which is generated by the sub-node 3 or the peripheral device connected to the sub-node 3, and then continues to send the first node packet with the first packet header and the first node data to the next sub-node along the first direction, and finally transmits it to the head node 0 in sequence. After the branch sub-node 1 receives the first node packet sent by the sub-node 3, it executes step 331, that is, obtains the first target data in the first node packet. It should be understood that the simultaneous execution of step 320 and step 321 by subnode 3 does not interfere with each other, and there may be multiple branch subnodes, and multiple branch subnodes may all execute step 321, or before subnode 3 executes step 320, the branch subnode executes step 322, and the first node data generated by the branch subnode or the peripheral device connected to the branch subnode is first sent to subnode 3, and then subnode 3 executes step 322, that is, the first node data is added to the first node packet and then transmitted to the first node through the ring network. The embodiment of the present application only takes subnode 3 executing step 320 and branch subnode 1 executing steps 321 and 331 as an example.
[0199] Now, when the first node packet in step 310 of the above method 300 also includes the first target data and is applied to Figure 4 or Figure 5 2 exemplary transmission flow charts of the networking system shown in FIG. 1 , and taking the starting node as the last child 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. Figure 4 and Figure 5 The first link in the network shown is taken as an example for explanation. As shown in Figure 16(a), in this network, the first node 0, child node 1, child node 2, and child 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, it will pass through child node 1, child node 2, and child node 3 in sequence. If data is initiated by child node 3, it will pass through child node 2, child node 1, and the first node 0 in sequence.
[0200] Subnode 3 is the last subnode of the link. Subnode 3 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. After receiving the first node packet, subnode 2 adds the first node data to the first node packet. The target node of the first node data is subnode 1. Subnode 3 sends the first node packet with the first target data and the first node data to 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 therein. 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 head node 0, which is received by head node 0. Optionally, the target node of the first node data may not be subnode 1, but the first node data is received by head node 0. The target node of the first target data may also be a certain subnode, such as subnode 2, and the first node packet received by the head node does not include the first target data. Optionally, subnode 1 may also obtain the first target data in the first node packet at the same time, and also add the node data to the first node packet.
[0201] Alternatively, further, if the method 300 is applied to Figure 5In the system with branch sub-nodes, 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.
[0202] 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 the 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 networking data transmission, improve the efficiency and bandwidth of data transmission and reduce the delay of data transmission. If 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.
[0203] 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. That is to say, 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 is, for example, audio data, broadcast data and other publicly transmitted data, that is, public data refers to data publicly transmitted between nodes in the network, which can be received or processed by multiple nodes, and non-public data is, 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, which means data non-publicly transmitted between nodes in the network, which is only received or processed by the set target node. It should be understood that the first node data added by the i-th child node can include the first public data and the first non-public data at the same time, or only the first public data, and the first target data initiated by the starting node can include the second public data and the second non-public data at the same time, 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 is invalid data, for example, it can be empty, and after the public data is added, the public data field includes 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 is helpful for the child node to 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.
[0204] 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.
[0205] When the first node packet initiated by the start node includes a public data field, and the first node packet includes first target data, and the first target data includes second public data, step 310 includes:
[0206] Step 312: The starting node initiates transmission of a first node packet, wherein the first node packet includes first target data and a public data field, wherein the first target data includes second public data, and the public data field is used to place the second public data.
[0207] 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.
[0208] When the first node packet when the start node initiates the transmission includes a public data field, and the first node data includes first public data, step 320 in method 300 includes:
[0209] 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.
[0210] Specifically, in step 323, since the first node data includes the first common data, the i-th child node adds the first common data to the common data field in the first node packet. After adding, it should be understood that the common data field includes valid data at this time.
[0211] By adding the public data to the public data field through the above step 320, the public data can be better centrally transmitted, the implementation is simple, and the delay of public data transmission is controllable.
[0212] Furthermore, in an optional embodiment, in step 310, the method 300 further includes:
[0213] Step 311: The starting node divides the idle part in the first public packet into one or more idle fields, and the multiple idle fields are of equal length.
[0214] In step 311, as shown in FIG. 17(a), if the first node packet includes only the first target data, the idle part of the first node packet except 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 FIG. 17(b), if the first node packet includes only the public data field and the first target data, and the first target data includes only non-public data, the idle part of the first public packet except the public data field and the first target data is divided into one or more idle fields, and 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.
[0215] In an optional embodiment, in step 330, the method 300 further includes:
[0216] 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.
[0217] 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.
[0218] In particular, if 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, marks the field corresponding to the first target data in the first node packet as a free field and transmits it to the next node, and 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 a free field for adding new data.
[0219] And, in step 340, it may also include:
[0220] 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 a free field.
[0221] It should be understood that the j-th child node and the k-th child node may be the same node or different nodes. The implementation of step 341 may refer to step 311 and will not be described in detail here.
[0222] 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 child nodes in adding data, reducing the configuration complexity of child nodes, and simplifying the implementation.
[0223] After executing step 311 and / or step 332 and / or step 341, the first node packet includes a free field, so when executing step 320, step 320 may include:
[0224] 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.
[0225] Alternatively, if the first node data includes first non-public data, the method 300 may further include:
[0226] 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.
[0227] If the node data is divided into public data and non-public data, when adding node data, the public data is added to the public data field, and the non-public data is added to the idle field, that is, different types of data are added to different fields, which is convenient for data transmission management and improves the stability of network data transmission. After the public data executes step 311 and / or 332 and / or step 341, the first node packet includes an idle field, and each child node can add the node data that needs to be transmitted in the network to the idle 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.
[0228] The above-mentioned step 311, step 332 and step 341 may exist at the same time, or only step 311, step 332 or step 341 may exist. If step 324 or step 325 is executed, step 311 and / or step 332 and / or step 341 must be executed first.
[0229] It should be understood that during the transmission of the first node packet in the first direction, the process of a child node acquiring data and marking the free field in step 332 and step 341 and the process of a child node adding node data in step 323, step 324, and step 325 may occur multiple times, and the present application does not limit this. Specifically, the present application provides an example process 400 of the above method 300, which is the method 300 applied to Figure 2 or Figure 3 The exemplary flow chart of the ring network shown in FIG. Fig.18 4 is a schematic diagram of data transmission corresponding to the example process 400. In the example process 400 and the corresponding schematic diagram of data transmission Fig.18 In the example process 400, the node data is divided into public data and non-public data, and the first target data includes only non-public data. In the example process 400, the above steps 310, 311, 323, 332, and 325 are executed.
[0230] Specifically, process 400 includes the following steps:
[0231] Process 401: The first node 0 sends a first node packet in a first direction, where the first node packet includes a first packet header, a common data field, first target data, second target data, and a first idle field.
[0232] The target node of the first target data is subnode 1, the target node of the second target data is subnode 3, and the first idle field is the idle field divided by 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, there may be no idle field, that is, step 311 is not performed.
[0233] Process 402: Subnode 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, that is, a second idle field.
[0234] Specifically, since the target node of the first target data is the child node 1, when the first node packet is transmitted to the child node 1, the child node obtains the first target data and executes step 332.
[0235] Process 403: Subnode 2 receives a 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.
[0236] 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.
[0237] Process 404: Subnode 3 receives the first node packet, obtains the second target data in the first node packet, marks the second target data as the third idle field, and the second node data of subnode 3 includes the second public data and the second non-public data, subnode 3 adds the second public data to the public data field, and adds the second non-public data to the second idle field. At this time, 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, and subnode 3 continues to transmit the first node packet to the next node along the first direction.
[0238] In process 404, child node 3 simultaneously executes step 323, step 351, and step 332. After process 404, the first node packet includes first public data, second public data, second non-public data, a third free field, and first non-public data.
[0239] Process 405: The first node packet including the first public data, the second public data, the second non-public data, the third free field, and the first non-public data is transmitted sequentially to the remaining sub-nodes in the first direction, and finally transmitted to the head node 0 and received by the head node 0.
[0240] Further, 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 only include non-public data, then step 324 may also include:
[0241] Step 3241: The i-th child node divides the first node data so that the first node data includes at least two segments of the first node data.
[0242] If multiple free fields in the current first node packet can be used to place the node data of the node, step 324 includes:
[0243] 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.
[0244] 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.
[0245] Furthermore, the method 300 further includes step 361, step 362, and step 363:
[0246] Step 361: The starting node initiates transmission of a second node packet, where the second node packet includes a second packet header.
[0247] Step 362: The i-th child node receives the second node packet, the second node packet includes a free field, and the i-th child node adds the second part of at least two segments of the first node data to the free field of the second node packet.
[0248] 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.
[0249] The specific process and description 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, which will not be repeated here for the sake of brevity.
[0250] 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.
[0251] 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, and for the sake of brevity, it will not be repeated here.
[0252] It should be noted that if the idle field is not divided through step 311 and step 323, that is, step 324 and step 325 are not performed, therefore, step 320 may include:
[0253] Step 326: The i-th child node receives the first node packet, analyzes whether there is any free part in the first node packet, and if so, adds the first node data to the first node packet.
[0254] Alternatively, when the first node data includes first non-public data, step 320 may include:
[0255] Step 327: The i-th child node receives the first node packet, analyzes 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.
[0256] 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 its own node data or non-public data 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.
[0257] 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 to the idle field, the data transmission reliability of step 326 or step 327 is slightly worse, and the stability of network transmission is low.
[0258] Further, 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 As shown, the method 300 may further include:
[0259] Step 371: The first node parses the first node packet to determine whether the target node of the first node data or the first target data in the first node packet is the first node.
[0260] 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 carry addressing information, and the addressing information is used to indicate a target node of the node data, and the target node may be the first node or other child nodes. The first node may determine whether the target node of the node data is the first node through the addressing information, and other child nodes may also know whether the target node of the node data is themselves through the addressing information.
[0261] If yes, execute step 372: the first node obtains the first node data or the first target data in the first node packet.
[0262] If not, execute step 373: 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.
[0263] Or, when applied in Figure 4 or Figure 5 In the networking system shown in FIG. 3 , when there are two links transmitting at the same time in the networking system, 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 at this time 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:
[0264] Step 381: The first node parses the first node packet to determine 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.
[0265] 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.
[0266] If yes, execute step 382: the first node obtains the first node data or the first target data in the first node packet.
[0267] If not, execute step 383: 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.
[0268] Specifically, for example, in step 381, the first node data in the first node packet is as follows: Figure 4If the subnode 3 of the first link in the network is added, and its target node is the subnode 6 in the second link, the first link will first transmit the first node packet to the head node 0. The head node 0 determines that the first node data is not received by itself but by the subnode 6 of the second link, and 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 the subnode 6 when it is transmitted to the subnode 6 on the second link. In this way, the nodes between the first link and the second link can be satisfied to transmit data to each other, making the network transmission more flexible.
[0269] 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 execute the above steps 371 and 373 on the non-public data.
[0270] The above process can refer to the relevant processes and descriptions of step 180, step 181, and step 182 in method 100, and for the sake of brevity, they will not be repeated here.
[0271] pass Fig.19 The steps shown can support the data transmission needs of each child node, 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.
[0272] Further, if the method 300 is applied to Figure 4 or Figure 5 In the ring network shown, 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 the method 300 may further include:
[0273] Step 384: The i-th child node receives the fifth node packet transmitted by the head node in the second direction, and adds the first node data to the fifth node packet.
[0274] That is to say, if the ith child node wants to transmit the first node data to the mth child node, and in the first direction, i is greater than m, then the ith child node can be implemented according to steps 320, 381, and 383, or directly implemented through step 384. The ith 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 mth child node. It should be understood that for the ith child node, there can be transmission in the first direction and the second direction at the same time, which means that the ith 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.
[0275] Through the above step 384, it is possible to more flexibly support the scenario of data transmission between sub-nodes, thereby saving the delay of data transmission between sub-nodes.
[0276] like Fig. 20 As shown, 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 a 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.
[0277] like Fig.21 As shown, the embodiment of the present application also provides a communication system 600, the communication system 600 includes Fig. 20 The chip 500 and the peripheral device 610 are connected and communicated with each other to realize different application scenarios of the networking system.
[0278] In the implementation process, each step of the above method embodiment can be completed by the hardware integrated logic circuit or software instruction in the processor. The above processor or processing device can be a general processor, a digital signal processor (Digital Signal Processor, DSP), a microcontroller (Microcontroller Unit, MCU), a central processing unit (Central Processing Unit), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The disclosed methods, steps and logic block diagrams in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or the hardware and software modules in the decoding processor are combined and performed. The software module can be located in a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, and other mature storage media in the art. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0279] The above-mentioned memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, 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 (DRRAM). Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0280] The specific examples in the embodiments of the present application are only to help those skilled in the art to better understand the embodiments of the present application, rather than to limit the scope of the embodiments of the present application. Those skilled in the art may make various improvements and modifications based on the above embodiments, and these improvements or modifications shall all fall within the protection scope of the present application.
[0281] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A network data transmission method, wherein the network includes a head 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, wherein the first public packet includes first public data; The f-th child node receives the first public packet transmitted sequentially in the network, the first public packet also includes first non-public data, and after the f-th child node obtains the first non-public data, marks a 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 free field and sends it to the next node connected to it, the next node is the child node or the termination node, the termination node is the first node, or the termination node is the last child node among the N child nodes; The i-th child node receives the first public packet transmitted sequentially in the network, and adds the first node data to the idle field in the first public packet; The terminating node receives the first public packet transmitted sequentially by the N sub-nodes in the network, where the first public packet includes the first public data and the first node data. Alternatively, 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 in the network via the N child nodes, and the first public packet includes the first public data. Among them, in the transmission order, f is smaller than i, and i is smaller than k.
2. The method according to claim 1, characterized in that The network further includes a branch child node of the ith child node, the ith child node receives the first public packet, and adds the first node data to the first public packet, and the method further includes: The i-th child node sends the first public packet to a 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.
3. The method according to claim 1, characterized in that The network further includes a branch child node of the ith child node, the ith child node receives the first public packet and adds the first node data to the front of the first public packet, and the method further includes: The branch subnode of the i-th child node sends the first node data to the i-th child node, the branch subnode of the i-th child node is only connected to the i-th child node, and the first node data is generated by the branch subnode of the i-th child node or by a peripheral device connected to the branch subnode of the i-th child node.
4. The method according to claim 1, characterized in that 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.
5. The method according to claim 1, characterized in that The method further comprises: The head node divides the idle part in the first public packet into one or more idle fields, and the multiple idle fields are of equal length.
6. The method according to claim 1, characterized in that The i-th child node adds the first node data to the idle 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.
7. The method according to claim 1, characterized in that The i-th child node adds the first node data to the idle 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.
8. The method according to claim 7, characterized in that The method further comprises: The first node initiates transmission of a second public packet, wherein the second public packet includes second public data; The i-th child node receives the first public packet transmitted sequentially in the network, and adds the second part of the at least two segments of the first node data to the idle field in the second public packet; The termination node receives the first public packet and the second public 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.
9. The method according to claim 1, characterized in that: The i-th child node receives the first public packet and adds the first node data to the first public packet, including: The i-th child node receives the first public packet, analyzes whether the first public packet has any free part, and adds the first node data to the first public packet if there is any free part.
10. The method according to claim 1, characterized in that When the terminating node is the first node, the method further includes: The first node parses the first public packet and determines whether a target node of the first node data in the first public packet is the first node.
11. The method according to claim 10, characterized in that 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 transmission of a first node packet including the first node data. The transmission direction of the first node packet is the same as or different from the transmission direction of the first public packet.
12. The method according to claim 10, characterized in that 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.
13. The method according to claim 1, characterized in that The first node data is generated by the i-th child node, or is generated by a peripheral device connected to the i-th child node.
14. A network data transmission method, the network comprising a head node and N child nodes, N being greater than 1, the network data transmission method comprising: The starting node initiates transmission of a first node packet, wherein the first node packet includes a first packet header and a public data field, and the first node packet also includes first target data; When the target node of the first target data is the j-th child node, the j-th child node receives the first node packets sequentially transmitted in the network, and obtains the first target data in the first node packets, 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 transmitted sequentially 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; The j-th child node marks the field corresponding to the first target data as a free field; 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, wherein the first node packet also includes the idle field, the first node data includes first non-public data and / or first public data, the i-th child node adds the first non-public data to the idle field in the first node packet, and / or the i-th child node adds the first public data to the public data field; The terminating node receives the first node packet transmitted sequentially by the N subnodes in the network, where the first node packet includes the first packet header and the first node data. Alternatively, 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 first node packet transmitted sequentially in the network via the N child nodes is received by the head node, and the first node packet includes the first packet header, and in the transmission order, j is less than i, and i is less than k; 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.
15. The method according to claim 14, characterized in that The network further includes a branch child node of the ith child node, and when the ith child node receives the first node packet and adds the first node data to the first node packet, the method further includes: The i-th child node sends the first node packet to a 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.
16. The method according to claim 14, characterized in that The network further includes a branch child node of the ith child node, and before the ith child node receives the first node packet and adds the first node data to the first node packet, the method further includes: The branch subnode of the i-th child node sends the first node data to the i-th child node, the branch subnode of the i-th child node is only connected to the i-th child node, and the first node data is generated by the branch subnode of the i-th child node or by a peripheral device connected to the branch subnode of the i-th child node.
17. The method according to claim 14, characterized in that The method further comprises: The starting node divides the first node packet into one or more idle fields, and the idle fields are of equal length.
18. The method according to claim 14, characterized in that The kth child node receives the first node packets transmitted sequentially in the network and obtains the first node data in the first node packets, including: The kth child node receives the first node packets transmitted sequentially in the network and obtains the first node data in the first node packets, and marks the field corresponding to the first node data as the idle field.
19. The method according to claim 14, characterized in that 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.
20. The method according to claim 14, characterized in that The method further comprises: 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 the first node data to the plurality of free fields in the first node packet respectively.
21. The method according to claim 14, characterized in that The method further comprises: 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 the first node data to the free fields in the first node packet respectively.
22. The method according to claim 21, characterized in that The method further comprises: The starting node initiates transmission of a second node packet, wherein 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 the 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 the first node data and the second part of the at least two segments of the first node data into the first node data.
23. The method according to claim 14, characterized in that 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, analyzes whether there is any free 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, analyzes 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.
24. The method according to claim 14, characterized in that When the starting node and the ending node are both the first node, the method further includes: The first node parses the first node packet and determines whether a target node of the first node data in the first node packet is the first node.
25. The method according to claim 24, characterized in that 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 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.
26. The method according to claim 14, characterized in that 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.
27. The method according to claim 14, characterized in that The first node is generated by the i-th child node, or is generated by a peripheral device connected to the i-th child node.
28. The method according to claim 14, when the starting node is the last child node, the terminating 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 comprises: The first node parses the first node packet to determine whether a 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 via 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.
29. A chip, characterized in that: The method comprises 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 according to any one of claims 1 to 28.
30. A communication system, characterized in that: The invention comprises the chip as claimed in claim 29 and a peripheral device, wherein the peripheral device is connected to and communicates with the chip.
Citation Information
Patent Citations
Data transmission method and device and electronic equipment
CN116506499A
Data forwarding method, chip and electronic equipment
CN116827717A