Chip, networking system and electronic device

By using chips in the on-board networking system for physical layer processing and transmission of data packets, the problem of difficult to meet the transmission rate and delay requirements in the prior art is solved, more efficient and reliable data transmission is achieved, and system costs are reduced.

WO2025044073A1PCT designated stage expired Publication Date: 2025-03-06SHENZHEN GOODIX TECH CO LTD

Patent Information

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

AI Technical Summary

Technical Problem

In the existing on-board data transmission scheme, the CAN bus cannot meet the requirements of high transmission rates and low latency, while traditional Ethernet communication requires multiple switches to connect, resulting in high cost, complexity and inability to support flexible node interconnection scenarios.

Method used

It provides a chip and networking system, which realizes the physical layer processing and transmission of data packets through the data scheduling unit and the data transmission unit, supports real-time streaming data transmission, reduces dependence on processors, and reduces the number of switches and processors.

Benefits of technology

It realizes direct physical layer transmission of data packets, reduces transmission delay and cost, supports more flexible node interconnection scenarios and complex communication structures, and improves the efficiency and reliability of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024077134_06032025_PF_FP_ABST
    Figure CN2024077134_06032025_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides a chip, a networking system and an electronic device. The chip is used for a target node of a networking system to realize data transmission, wherein the networking system comprises a plurality of connected nodes, and the target node is any one of the plurality of nodes. The chip comprises a data scheduling unit and at least one data transmission unit, wherein the data scheduling unit is used for obtaining a data packet and processing the data packet on the basis of a physical layer; and the at least one data transmission unit is used for receiving the data packet on the basis of the physical layer and transmitting the data packet to the data scheduling unit for processing, and / or, transmitting, on the basis of the physical layer, the data packet processed by the data scheduling unit to a node adjacent to the target node in the networking system.
Need to check novelty before this filing date? Find Prior Art

Description

Chips, networking systems and electronic equipment

[0001] This application claims priority to PCT patent application filed on August 25, 2023, with application number "PCT / CN2023 / 115046" and patent name "A data forwarding method, chip and electronic device", and PCT patent application filed on December 26, 2023, with application number "PCT / CN2023 / 142094" and patent name "Networked data transmission method, chip and communication system", all of which are incorporated herein by reference. Technical Field

[0002] The embodiments of the present application relate to the field of electronic communication technology, and in particular to a chip, a networking system, and an electronic device. Background Art

[0003] Nowadays, in-vehicle devices and functions are becoming more diverse, and there are multiple data transmissions in the vehicle to meet the different application scenarios of the vehicle system. At present, the mainstream solution for in-vehicle data transmission is based on Ethernet and Controller Area Network (CAN) bus transmission. However, with the development of intelligence, the CAN bus cannot meet the requirements of transmission rate and latency. The current in-vehicle Ethernet uses traditional switch-based communication. Although mature and reliable, it requires more switches to connect multiple electronic control units (ECUs) in the vehicle. Obviously, the cost is high and the implementation is complex. It cannot support more flexible node interconnection scenarios and the application of complex communication structures, and the transmission latency is also large.

[0004] Therefore, it is necessary to provide a technical solution to reduce the cost and transmission delay of the networking system (including but not limited to the networking system in the vehicle).

[0005] Summary of the Invention

[0006] In view of this, embodiments of the present application provide a chip, a networking system, and an electronic device to at least partially solve the above-mentioned problems.

[0007] According to a first aspect of an embodiment of the present application, a chip is provided for use as a target node in a networking system to implement data transmission, wherein the networking system includes a plurality of connected nodes, and the target node is any one of the plurality of nodes; the chip includes: a data scheduling unit and at least one data transmission unit;

[0008] The data scheduling unit is configured to: obtain a data packet and process the data packet based on a physical layer;

[0009] The at least one data transmission unit is used to: receive the data packet based on the physical layer and transmit the data packet to the data scheduling unit for processing, and / or transmit the data packet processed by the data scheduling unit to a node adjacent to the target node in the networking system based on the physical layer.

[0010] In some optional embodiments, the chip implements data transmission in real-time streaming, wherein: the data scheduling unit performs real-time streaming processing on the data packet based on the physical layer; the at least one data transmission unit streams the data packet to the data scheduling unit in real time, and / or streams the data packet processed by the data scheduling unit in real time to a node adjacent to the target node in the networking system.

[0011] In some optional embodiments, the at least one data transmission unit includes a first data transmission unit and a second data transmission unit, wherein the first data transmission unit is used to: receive a data packet transmitted from a previous node adjacent to the target node in the networking system, and transmit the data packet to the data scheduling unit for processing, so that the data scheduling unit transmits the processed data packet to the second data transmission unit; the second data transmission unit is used to: receive a data packet processed by the data scheduling unit, and transmit the processed data packet to a next node adjacent to the target node in the networking system.

[0012] In some optional embodiments, the data packet includes a common header, the common header includes a preamble, and the preamble is used to identify the physical layer protocol of the data packet.

[0013] In some optional embodiments, the data scheduling unit includes: a first processing module and a second processing module;

[0014] The first processing module is used to obtain node data and send the processed node data to the second processing module, wherein the node data is generated by the target node or the node data is generated by a peripheral device connected to the target node; the second processing module is used to obtain a data packet and load the node data obtained from the first processing module into the data packet, so that at least one of the data transmission units transmits the data packet loaded with the node data to a node adjacent to the target node in the networking system.

[0015] In some optional embodiments, the data packet includes multiple data fields; the second processing module is specifically used to: when there is an idle data field in the data packet, load the node data into the idle data field.

[0016] In some optional embodiments, the first processing module is specifically configured to transmit the node data to the second processing module according to the priority of the node data.

[0017] In some optional embodiments, the data packet includes multiple data fields; the second processing module is specifically used to: determine the priority of the data loaded in one of the multiple data fields; if the priority of the data loaded in one of the multiple data fields is lower than the first data field of the node data, then replace the node data with the first data field.

[0018] In some optional embodiments, the chip further includes: a replacement cache module, configured to cache data loaded before the first data field is replaced after the second processing module replaces the node data into the first data field.

[0019] In some optional embodiments, the second processing module is further configured to: when the time for which the low-priority node data has not been loaded into the data packet exceeds a preset time, increase the priority of the node data.

[0020] In some optional embodiments, the first processing module is further used to: when the data length of the node data is greater than a preset length, unpack the node data to obtain at least two fragment node data with a data length less than or equal to the preset length, and transmit the fragment node data to the second processing module; when the data length of the node data is less than or equal to the preset length, directly transmit the node data to the second processing module.

[0021] In some optional embodiments, the second processing module is further used to: load multiple repeated node data into the data packet.

[0022] In some optional embodiments, the data scheduling unit includes: a first processing module and a second processing module; the second processing module is used to: obtain a data packet from the data transmission unit, obtain data corresponding to the target node from the data packet, and transmit the data corresponding to the target node to the first processing module; the first processing module is used to: transmit the data corresponding to the target node to a peripheral device connected to the target node, and / or transmit the data corresponding to the target node to a local module of the target node.

[0023] In some optional embodiments, the data scheduling unit includes: a second processing module; the second processing module is used to: obtain the data packet from the first data transmission unit, and if it is identified that the data packet does not include data whose destination node is the target node, transmit the data packet to the second data transmission unit.

[0024] In some optional embodiments, the data packet includes multiple data fields, the data fields include data sub-blocks and data sub-block headers, the data sub-blocks are used to load data, the data sub-block headers record destination node identification information, and the destination node identification information is used to indicate the destination node to which the data loaded in the data sub-blocks is to be transmitted; the second processing module is specifically used to: determine whether there is a second data field in each data field based on the destination node identification information recorded in the data sub-block headers of each data field, wherein the destination node identification information recorded in the data sub-block header of the second data field indicates that the destination node of the data loaded in the second data field is the target node; if the second data field exists, obtain the data loaded in the data sub-block of the second data field from the data packet.

[0025] In some optional embodiments, the second processing module is further configured to: upon acquiring the data loaded in the data sub-block of the second data field, mark the second data field as an idle data field in the data packet.

[0026] In some optional embodiments, the second processing module is further configured to: transmit the data corresponding to the target node to the first processing module according to the priority of the data corresponding to the target node.

[0027] In some optional embodiments, the first processing module is further used to: when it is identified that there is unpacking identification information in the data corresponding to the multiple target nodes, and the unpacking identification information is used to indicate that the data is unpacked data, the data corresponding to the multiple target nodes are packaged to obtain packaged data, and the packaged data is transmitted to a peripheral device connected to the target node, and / or the packaged data is transmitted to a local module of the target node.

[0028] In some optional embodiments, the data packet includes multiple data fields, and the multiple data fields are capable of simultaneously carrying data of at least two different data types.

[0029] In some optional embodiments, the target node is connected to a peripheral device, and the peripheral device includes at least one of the following types: LIN bus peripheral device, PWM drive device, I2C peripheral device, SPI bus peripheral device, QSPI bus peripheral device, GPIO peripheral device, Ethernet peripheral device, CAN bus peripheral device, MII and various extended and derivative versions of MII peripheral devices, UART peripheral device, SENT bus peripheral device, PSI5 protocol peripheral device, I2S peripheral device, TDM peripheral device, AMIC peripheral device, DMIC peripheral device, ADC peripheral device.

[0030] In some optional embodiments, the data packet includes multiple data fields, and the multiple data fields are divided into multiple time slices in time, so that the data fields that are arranged earlier in the order of the data packet are transmitted or processed by the target node first in time.

[0031] According to a second aspect of an embodiment of the present application, a networking system is provided, comprising: a plurality of connected nodes, wherein any one of the plurality of nodes comprises a chip as described in any one of the first aspects, and the chip is used for the node to realize data transmission based on the physical layer.

[0032] In some optional embodiments, the multiple nodes are connected into a ring networking structure, and the multiple nodes include a main node and at least two sub-nodes. The main node initiates the transmission of a data packet, and the data packet passes through the at least two sub-nodes in sequence and is then received by the main node.

[0033] According to a third aspect of an embodiment of the present application, an electronic device is provided, comprising: a chip as described in any one of the first aspects.

[0034] According to the chip provided in the embodiment of the present application, since it is used as the target node of the networking system to realize data transmission, its data scheduling unit can obtain data packets and process the data packets based on the physical layer. At least one data transmission unit can receive data packets based on the physical layer and transmit the data packets to the data scheduling unit for processing, and / or transmit the data packets processed by the data scheduling unit to the node adjacent to the target node in the networking system based on the physical layer. Therefore, when the chip provided in the present application is used to establish a networking system, the chip can realize data packets directly based on the physical layer. It does not need to be processed by a processor (such as an MCU, etc.) based on a standard protocol, that is, it does not need to be processed based on a high-level protocol above the physical layer, but is directly processed and transmitted based on the physical layer, thereby ensuring the reliability of data transmission in the networking system. Direct transmission based on the physical layer can also realize real-time forwarding of data packets. In addition, this does not require a switch to transmit data packets, and also reduces the demand for processors (such as MCUs, etc.) of each node in the networking system during data packet transmission, thereby effectively reducing the transmission delay of data packets and being able to reduce costs by reducing the number of switches and processors (such as MCUs, etc.). BRIEF DESCRIPTION OF THE DRAWINGS

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

[0036] FIG1A shows a simplified schematic diagram of an exemplary vehicle-mounted networking system in the related art.

[0037] FIG. 1B shows an example data packet format in the related art.

[0038] FIG2A shows a schematic diagram of an exemplary chip in the present application.

[0039] FIG. 2B shows an example transmission path of a data packet transmitted from another node obtained by a chip of some examples.

[0040] FIG2C shows a schematic diagram of another exemplary chip in the present application.

[0041] FIG3A shows a schematic diagram of an exemplary networking system structure in the present application.

[0042] FIG3B shows a schematic diagram of another exemplary networking system structure in the present application.

[0043] FIG4 shows a data packet format of an example data packet in the present application.

[0044] FIG5 shows a schematic diagram of an exemplary data scheduling unit in the present application.

[0045] FIG6 is a schematic diagram showing that node data with a higher priority is replaced into the first data field.

[0046] Explanation of the reference numerals: 100, chip; 102, data scheduling unit; 1021, first processing module; 1022, second processing module; 1023, peripheral device; 1024, peripheral interface; 1025, first cache module; 1026, replacement cache module; 1027, second cache module; 104, data transmission unit. DETAILED DESCRIPTION

[0047] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and in detail described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the embodiments of the present application, all other embodiments obtained by ordinary technicians in this field should fall within the scope of protection of the embodiments of the present application.

[0048] Nowadays, the equipment and functions of vehicles are becoming more diverse, and there is a need to transmit a variety of data in the vehicle to meet the different application scenarios of the vehicle system. The current mainstream solution for vehicle data transmission is based on Ethernet and Controller Area Network (CAN) bus transmission. However, with the development of intelligence, the CAN bus cannot meet the requirements of transmission rate and latency. The current in-vehicle Ethernet uses traditional switch-based communication. Although mature and reliable, it requires a large number of switches to connect multiple electronic control units (ECUs) in the vehicle. Obviously, the cost is high and the implementation is complex. It cannot support more flexible node interconnection scenarios and the application of complex communication structures, and the transmission latency is also large. It should be understood that the terms "vehicle", "on-board" or "in-vehicle" or other similar terms used in this article generally include various private or commercial vehicles such as cars, 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.

[0049] To facilitate understanding of the above content, it can be understood in conjunction with the following exemplary explanation of the related art. In the related art, an on-board ECU generally consists of a microcontroller unit (MCU), memory (such as read-only memory (ROM) and random access memory (RAM)), input / output interface (I / O interface), analog-to-digital converter (A / D converter), and large-scale integrated circuits such as shaping and driving. For example, referring to Figure 1A, a simplified schematic diagram of an exemplary on-board networking system in the related art is shown. It shows multiple ECUs connected to a switch (Ethernet switch), and the structure of one ECU is simplified. The MCU in the ECU is responsible for local data processing, such as collecting peripheral data from peripheral devices (including but not limited to sensors or other devices), encapsulating it into Ethernet messages, and sending it to a remote regional central processing unit through the switch (the switch can be used for data forwarding). Conversely, the MCU can receive data from the switch, parse it according to the Ethernet protocol, and perform local control. As shown in Figure 1A, both sending and receiving data must pass through the Ethernet physical layer and be processed by the MCU. Data is transmitted using the standard Ethernet protocol, which introduces significant latency. With the rapid development of smart cars, the number of ECUs in vehicles is increasing. High-end, more intelligent vehicles can contain dozens or even hundreds of ECUs. Clearly, this increasing number of ECUs leads to significant cost increases, and this latency also increases.

[0050] For another example, referring to FIG1B , an example data packet format is shown. FIG1A above is an example of an ECU transmitting collected peripheral data to a remote central processing unit, and following the standard Ethernet transmission protocol, the data needs to be encapsulated into the data packet format shown in FIG1B (the data packet format shown in FIG1B includes a Media Access Control (MAC) header, an Internet Protocol (IP) header, a User Datagram Protocol / Transmission Control Protocol (UDP / TCP) header, an application layer protocol header, peripheral data, and a Cyclic Redundancy Check (CRC) 32 check data.). In other words, data transmitted in accordance with standard Ethernet usually undergoes multi-layer protocol processing, including a physical layer, a MAC layer, an IP layer, a UDP / TCP layer, and an application layer, thereby encapsulating the original peripheral data into the data packet format shown in FIG1B . This will result in a large overhead when the amount of peripheral data is small. First, it significantly reduces network bandwidth utilization because peripheral data accounts for a very small proportion of the entire data packet. Second, transmission latency is large. For example, a typical transmission latency is divided into: the latency of the MCU receiving peripheral data (about 1us), the latency of the MCU encapsulating peripheral data into a data packet (the data packet in the example here is a standard Ethernet data packet) (about 10us), the latency of the data packet transmitting between two switches (about 500us), and the latency of the regional central processing unit parsing the data packet and obtaining the peripheral data (about 5us). Such a large transmission latency is increasingly difficult to meet the usage requirements of today's in-vehicle networking systems.

[0051] In view of this, the present application provides a chip, networking system, and electronic device to improve the above-mentioned problems. The technical solution of the embodiment of the present application can support the physical layer transmission of data packets and can be well applied to the transmission of small-granular data. It should be noted that the technical solution of the embodiment of the present application is not limited to the networking system for use in vehicle scenarios, but can also be applied to other scenarios.

[0052] 2A , 2B and 2C , the chip 100 is used as a target node in a networking system to implement data transmission. The networking system includes a plurality of connected nodes, and the target node is any one of the plurality of nodes. Referring to FIG2A , the chip 100 includes: a data scheduling unit 102 and at least one data transmission unit 104. The data scheduling unit 102 is used to obtain data packets and process the data packets based on the physical layer. The at least one data transmission unit 104 is used to receive data packets based on the physical layer and transmit the data packets to the data scheduling unit 102 for processing, and / or transmit the data packets processed by the data scheduling unit 102 to a node adjacent to the target node in the networking system based on the physical layer.

[0053] Therefore, the chip 100 provided in the present application is used for the target node of the networking system to realize data transmission. Its data scheduling unit 102 can obtain data packets and process the data packets based on the physical layer. Its at least one data transmission unit 104 can receive data packets based on the physical layer and transmit the data packets to the data scheduling unit 102 for processing, and / or transmit the data packets processed by the data scheduling unit 102 to the node adjacent to the target node in the networking system based on the physical layer. Therefore, when the chip 100 provided in the present application is used to establish a networking system, the chip 100 can realize direct transmission of data packets based on the physical layer. There is no need for a processor (such as an MCU, etc.) to perform data encapsulation based on a standard protocol, that is, there is no need to process based on a high-level protocol above the physical layer. Instead, it is directly processed and transmitted based on the physical layer, thereby ensuring the reliability of data transmission in the networking system. Direct transmission based on the physical layer can also realize real-time forwarding of data packets. In addition, there is no need for a switch to transmit data packets, which also reduces the demand for processors (such as MCUs, etc.) of each node in the networking system during data packet transmission, thereby effectively reducing the transmission delay of data packets and reducing costs by reducing the number of switches and processors (such as MCUs, etc.).

[0054] It is understandable that, while reducing the demand for processors (such as MCUs, etc.) at each node in the networking system, the software development workload of each node is also greatly saved, thereby reducing software development costs.

[0055] In one possible implementation, the chip 100 in the present application implements data transmission in real-time streaming. Specifically, the data scheduling unit 102 performs real-time streaming processing on the data packet based on the physical layer, and at least one data transmission unit 104 transmits the data packet to the data scheduling unit 102 in real-time streaming, and / or at least one data transmission unit 104 transmits the data packet processed by the data scheduling unit 102 in real-time streaming to a node adjacent to the target node in the networking system. In other words, real-time streaming processing of the data packet means that the data packet is processed in real time immediately when it arrives at the target node, rather than waiting until the entire data packet is completely received before processing or transmitting it.

[0056] Because the chip in this application implements data transmission using real-time streaming, both the data transmission unit and the data scheduling unit transmit and process data packets in real-time streaming, enabling real-time processing of data in received data packets. This means that transmission and processing are performed immediately after a portion of the data in a packet is received. This further reduces data transmission latency and ensures that data in the packet can be transmitted and processed in real time. In contrast, existing technologies using switch-based transmission or other software-based or wireless data transmission methods require that all data in the packet be completely received before transmission or processing, resulting in significant latency.

[0057] The chip 100 of the present application can be applied in any scenario, for example, in the scenario of in-vehicle audio data transmission, and can also meet the requirements of scenarios requiring low latency, including but not limited to Advanced Driving Assistance Systems (ADAS).

[0058] In the present application, the networking system can be a networking system of any structural type. For example, it can be a ring network or a daisy chain network. The networking system may include multiple nodes, and the multiple nodes may be connected via a physical transmission medium (the physical transmission medium is, for example, a shielded twisted pair, an unshielded twisted pair, a coaxial cable, etc., which is not specifically limited in the present application). The node may be any device, module or chip that can implement the solution of the present application. Specifically, each of the multiple nodes includes a chip 100 for data transmission in the networking system. It is understandable that the node can be a chip, that is, the chip 100 can also be used directly as a node. For different types of networking systems, a master node among the multiple nodes can be specified first, and the nodes other than the master node among the multiple nodes can be referred to as child nodes. It should be noted that the networking system described in the embodiment of the present application may include only two nodes, i.e., a master node and a child node.

[0059] Each of the multiple nodes in the present application can be connected to a peripheral device 1023 (as shown in conjunction with FIG. 2B ). By connecting the node with the peripheral device, different functional applications can be realized. For example, the type of the peripheral device 1023 may include at least one of the following types: a Local Interconnect Network (LIN) bus peripheral device, a Pulse Width Modulation (PWM) driver device, an Inter-Integrated Circuit (I2C) peripheral device, a Serial Peripheral Interface (SPI) bus peripheral device, a Quad Serial Peripheral Interface (QSPI) bus peripheral device, a General-purpose input / output (GPIO) port peripheral device, an Ethernet peripheral device, a Controller Area Network (CAN) bus peripheral device, a Media Independent Interface (MII) and peripheral devices of various extensions and derivative versions of the Media Independent Interface, a Universal Asynchronous Receiver / Transmitter (UART) peripheral device, a Single Edge Nibble Transmission (SENT) bus peripheral device, a Peripheral Sensor Interface 5 (PSI) peripheral device, and a Serial Peripheral Interface (SPI) bus peripheral device. 5, PSI5) protocol peripherals, integrated circuit internal audio bus (Inter-IC Sound, I2S) peripherals, time-division multiplexing (Time-Division Multiplexing, TDM) peripherals, analog microphone (AMIC) peripherals, digital microphone (DMIC) peripherals, analog-to-digital converter (ADC) peripherals. The chip 100 applied to the target node in this application supports multiple types of peripherals mentioned above, and therefore has wider applicability.

[0060] Various extensions and derivative versions of the above-mentioned media independent interface may include, for example, Reduced Media Independent Interface (RMII), Gigabit Media Independent Interface (GMII), Reduced Gigabit Media Independent Interface (RGMII), etc.

[0061] This application does not limit the connection method between the node and the peripheral device. For example, the chip 100 in the node may include a peripheral interface 1024 (which can be understood with reference to Figure 5) that can be adapted to connect to the aforementioned type of peripheral device 1023. The peripheral device 1023 is connected to the peripheral interface 1024 to achieve the connection between the node and the peripheral device, so that the node and the peripheral device can interact with data. For example, more specifically, the peripheral device can be a microphone, a speaker, an audio amplifier, a millimeter wave radar, a lidar, an ultrasonic radar, a camera, a positioning system, a speed sensor, a humidity sensor, a light intensity sensor, a speaker, and other various communication sensing devices. For example, in a car audio scenario, the peripheral device can be a speaker and / or a microphone.

[0062] It should be understood that since the chip 100 of the target node (which can be any node) of the networking system in the present application integrates a rich set of peripheral interfaces, it can realize data transmission with a wide variety of peripheral devices.

[0063] It should be understood that what is shown in FIG2A is a schematic structure of a chip 100 of an intermediate node or a master node of some networking systems, including two data transmission units 104. The specific content of the intermediate node will be explained below and will not be repeated here. For example, the master node can be used as the master node (node ​​0) in FIG3A below, and one data transmission unit 104 can be used to receive a data packet transmitted by the previous node (node ​​7) adjacent to the target node in the networking system, and the other data transmission unit 104 can be used to transmit a data packet to the next node (node ​​1) adjacent to the target node in the networking system. For example, the master node can be used as the master node (node ​​0) in FIG3B below, and one data transmission unit 104 transmits a data packet to a child node in the first daisy chain networking structure, and the other data transmission unit 104 transmits a data packet to a child node in the second daisy chain networking structure. Related content can also be understood with reference to the following.

[0064] It should be understood that FIG2C illustrates a schematic structure of a chip 100 that may be a starting node or an ending node in some networking systems, and may include a data transmission unit 104. The data transmission unit 104 may transmit a data packet to the next node adjacent to the target node in the networking system based on the physical layer, or receive a data packet transmitted from the previous node adjacent to the target node in the networking system based on the physical layer. Related content may also be understood with reference to the following.

[0065] For example, referring to FIG2B , there is shown a transmission path of one example of a chip 100 obtaining a data packet transmitted from another node. The chip 100 in this example can be used as an intermediate node in a networking system. The chip 100 receives data packets transmitted by other nodes based on the physical layer through the first data transmission unit 104, and sends the data packets to other nodes through the second data transmission unit 104 after passing through the data scheduling unit 102. The chip 100 in this application can transmit data directly based on the physical layer. Compared with the related art in FIG1 , the chip 100 in this application transmits data directly based on the physical layer, without passing through a switch and with little demand on a processor (such as an MCU, etc.).

[0066] For example, Figure 3A shows a schematic diagram of an example networking system structure in the present application. Referring to Figure 3A, the networking system structure is a ring network. The networking system structure of Figure 3A includes 8 nodes, namely node 0, node 1, ..., node 7. It should be understood that there is no limit on the number of nodes in the embodiment of the present application, and it can be more or less. This is only used as an example for easy understanding. Among them, node 0 is the main node, and nodes 1 to 7 are child nodes. Each node can be connected to a peripheral device. Node 0 is also connected to a host, and the host can be a device that controls or processes a networking link. For example, the host can be or can include one or more of various processors such as a digital signal processor (DSP), a microcontroller unit (MCU), and a central processing unit (Central Processing Unit). In the data transmission of this networking system structure, the master node (node ​​0) can directly receive data, information, commands, etc. sent by the host, and can encapsulate, integrate, and process the data, information, and commands and then transmit them downlink to multiple child nodes (nodes 1 to 7). The master node can also generate data and transmit it downlink to multiple child nodes. The host controls and instructs the multiple child nodes in the networking system through the master node. Specifically, the host processes the data through the master node and then transmits the data downlink to multiple child nodes, or collects data transmitted uplink by multiple child nodes. In downlink transmission, data processing may include data encapsulation and unpacking, and in uplink transmission, data processing may include data decapsulation and packet assembly. The child node can then forward the data sent by the previous adjacent node to the next adjacent node, and can obtain data collected by the peripheral device and transmit it to the master node. The master node can directly receive the collected data or further transmit it to the host after processing. In the ring network of Figure 3A, 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. Both bidirectional data transmission can be initiated and terminated by the master node. For example, the first direction can be considered the clockwise direction of the ring network shown in Figure 3A, and the second direction can be considered the counterclockwise direction of the ring network shown in Figure 3A. In the first direction, the flow of data packet transmission can be: node 0 → node 1 → node 2 → node 3 → node 4 → ... → node 7 → node 0. It should be understood that data can be transmitted among any number of nodes along the first direction, or can be transmitted in a loop in the first direction. In the second direction, the flow of data packet transmission can be: node 0 → node 7 → node 6 → node 5 → ... → node 1 → node 0. It should be understood that data can be transmitted among any number of nodes along the second direction, or can be transmitted in a loop in the second direction.Optionally, the host in Figure 3A can centrally collect node data of the main node and each sub-node through the master node, or send data to the main node and each sub-node through the master node; each node can respond to the host's commands, receive data sent by the host and read and write data to peripheral devices and / or itself based on the received data, or generate node data and send it to the host for processing through the ring networking link. Optionally, the configuration information of all nodes is remotely controlled by the host connected to the master node, for example, the sending period of the scheduled data packet, the packet length of the data sub-block of the data packet, the unpacking configuration and unpacking strategy, the packet configuration and packet grouping strategy, and other information. The ring networking system structure shown in Figure 3A can support more flexible and diverse data transmission and node configuration schemes, and meet the networking transmission needs in various scenarios.

[0067] For another example, FIG3B shows a schematic diagram of another example networking system structure in the present application. Referring to FIG3B , the networking system structure is a daisy chain networking. Disconnecting node 4 and node 5 in the ring networking system structure (schematically represented by a dotted double arrow) forms two daisy chain networking links. The first daisy chain networking link is composed of node 0, node 1, node 2, node 3, and node 4, and the second daisy chain networking link is composed of node 0, node 7, node 6, and node 5. It should be understood that the embodiment of the present application does not limit the number of nodes, which can be more or less. This is only an example. For the first daisy chain networking link, the master node is node 0, and the master node is the starting node. The child nodes are node 1, node 2, node 3, and node 4. The terminating node of these four child nodes is node 4. For the second daisy chain networking link, the master node is node 0, and the master node is the starting node. The child nodes are node 7, node 6, and node 5. The terminating node of these three child nodes is node 5. Each node can be connected to a peripheral device. Node 0 is also connected to a host, which can be a device that controls or processes a networking link. For example, the host can be or can include one or more of various processors such as a digital signal processor (DSP), a microcontroller unit (MCU), and a central processing unit (CPU). For the first daisy chain networking link, the flow of data packets can include: node 0 → node 1 → node 2 → node 3 → node 4, and: node 4 → node 3 → node 2 → node 1 → node 0. For the second daisy chain networking link, the flow of data packets can include: node 0 → node 7 → node 6 → node 5, and: node 5 → node 6 → node 7 → node 0. Alternatively, the host in FIG3B can centrally collect node data of the master node and each sub-node through the master node, or send data to the master node and each sub-node through the master node; each node can respond to the host's commands, receive data sent by the host and read and write data to peripheral devices and / or itself based on the received data, or generate node data and send it to the host for processing via a daisy chain networking link. Optionally, the configuration information of all nodes is remotely controlled by the host connected to the master node, such as the sending period of the scheduled data packet, the packet length of the data sub-block of the data packet, the unpacking configuration and unpacking strategy, the packet grouping configuration and packet grouping strategy, and other information. The structure of the daisy chain networking shown in FIG3B can also support more flexible and diverse data transmission and node configuration schemes, meeting the networking transmission requirements in various scenarios. It is understandable that the disconnection between node 4 and node 5 in FIG3B is only one example of forming a double daisy chain networking form. In other cases, it is also possible to disconnect between two other nodes to form a double daisy chain networking link.In a single daisy chain network, nodes 4 and 5 can be connected, while nodes 0 and 7 can be disconnected, or nodes 0 and 1 can be disconnected. It should be understood that the formation of a double daisy chain or a single daisy chain does not necessarily require a node in the ring network to be disconnected; a double daisy chain network or a single daisy chain network can also be formed directly.

[0068] It should be understood that the features of the host, master node, sub-node, etc. involved in the embodiments of this application can be logical concepts or physical concepts. Furthermore, multiple features can be multiple physical devices respectively, or multiple features can be combined into a single physical device. For example, the host and master node can be integrated into a single circuit board or physical device. The host can be connected to the master node to achieve remote control of the sub-nodes of the networking system. This application does not impose specific limitations on this.

[0069] For example, in the example networking system structures shown in FIG. 3A and FIG. 3B , the data flow of each node may be in the following form:

[0070] Master node: receives data from other sub-nodes to the peripheral devices connected to the master node; receives data from other sub-nodes and further transmits it to the host; obtains peripheral data from the peripheral devices connected to the master node and transmits it to other sub-nodes; receives data from the host and transmits it to the peripheral devices connected to the master node; transmits the data of the master node directly to the host; receives data from the host and transmits it to other sub-nodes in sequence through the network; receives data from a sub-node through the network, and then re-initiates transmission through the network to forward the data to the destination sub-node.

[0071] Subnode: The data of the main node is transmitted to this subnode through the network; the data of other subnodes are transmitted to this subnode through the network; the data of other subnodes are sent to other nodes, and this subnode acts as a transit; the data of this subnode is transmitted to the main node through the network; the data of this subnode is transmitted to other subnodes through the network.

[0072] It should be understood that since the chip 100 of the target node (which can be any node) of the networking system in this application integrates a rich set of peripheral interfaces, it can realize data transmission with a variety of peripheral devices, and can realize low-latency interactive data with the host, so that the host can obtain the peripheral data of the target node in a timely manner, and can send the data of the peripheral device that needs to be sent to the target node to the peripheral device of the target node in a timely manner; thereby enabling the host to realize direct control access to the peripheral device remotely through the networking, reducing the MCU demand of the node of the networking system and even removing the MCU to significantly save costs. In addition, while reducing the demand for processors (such as MCU, etc.) of each node in the networking system, it also saves the software development workload of each node and reduces the software development cost.

[0073] To facilitate the explanation of the embodiments of the present application, the chip 100 will be explained below in conjunction with the networking system structure of Figures 3A and 3B. However, it should be understood that the above Figures 3A and 3B are merely examples for ease of understanding and do not constitute any limitation on the embodiments of the present application.

[0074] The chip 100 in this application is used for the target node of the networking system to realize data transmission based on the physical layer. The target node can be any one of the multiple nodes included in the networking system. Optionally, the physical layer can be an Ethernet physical layer, a private physical layer carried by low-voltage differential signaling (LVDS), or other optional physical layers, which are not specifically limited in this application. Through this chip 100, data packets can be directly transmitted based on the physical layer, without the need for a processor (such as an MCU, etc.) to perform data encapsulation based on a standard protocol. For example, taking the networking system as the ring networking system structure in Figure 3A, the target node can be any one of nodes 0 to 7. The chip 100 can be used in each node in the networking system (such as node 0 to node 7). As mentioned above, the node can be any device, module or chip. It can be understood that the node can be a chip, that is, the chip 100 can also be used directly as a node.

[0075] In the present application, the data scheduling unit 102 can obtain a data packet and process the data packet. The data transmission unit 104 is used to receive a data packet based on the physical layer and transmit the data packet to the data scheduling unit 102 for processing, and / or transmit the data packet processed by the data scheduling unit 102 to a node adjacent to the target node in the networking system, thereby realizing direct transmission of the data packet based on the physical layer. Optionally, if the target node is an intermediate node of the networking system, two data transmission units 104 may be included in the chip 100 to facilitate data transmission (which can be understood with reference to Figures 2A and 2B). Optionally, if the target node is the starting node or the ending node of the networking system, at least one data transmission unit 104 may be included in the chip 100.

[0076] Optionally, as shown in FIG4 , the format of the data packet transmitted by the node in the present application may include a common header and multiple data fields, each of which includes a data sub-block and a data sub-block header. In the present application, such a data packet format is used to enable direct transmission of data packets based on the physical layer.

[0077] Optionally, the data packet includes multiple data fields, and the multiple data fields are divided into multiple time slices in time, so that the data fields that are arranged at the front of the data packet in the multiple data fields are transmitted or processed by the target node first in time. It should be understood that since the data packet transmitted in the present application includes multiple data fields, these data fields can be divided into time slices in time, which means that the data carried by each data field in the data packet is received in real time and in a temporal order. The node will first transmit and / or process the data carried by the data field that is arranged at the front of the data packet. At this time, the target node can immediately transmit and process part of the data received at a certain time (for example, the data carried by the data field that is arranged at the front) without waiting for the entire data packet to be received. That is, the target node streams and processes the data packet in real time. For example, in Figure 4, the data field adjacent to the common header in the data packet is data field 1, and the data field adjacent to data field 1 is data field 2. In the time dimension, the time slice of data field 1 is before the time slice of data field 2. After receiving the first data packet, the target node can process data field 1 and data field 2 in sequence, rather than processing the data loaded in data field 1, data field 2 and all other data fields after receiving them all. Therefore, the processing or transmission of data packets described in each embodiment of the present application can be regarded as processing or transmission in real-time streaming, which can meet the real-time data packet transmission requirements of the networking system. For the sake of brevity, no more details will be given when describing the specific scheme.

[0078] The public header contains some common information about the network and the data packet, such as the preamble, which is used to identify the physical layer protocol of the data packet. The preamble of the public header can be used to identify the physical layer protocol. Based on the identification results, the chip 100 of the present application can effectively implement direct physical layer transmission of the data packet.

[0079] The data sub-block in the data field can be loaded with data. The data can be of any data type. The above-mentioned different types of peripheral devices can correspond to data of different data types. For example, the data types may include but are not limited to: MAC data, SPI data, CAN data, LIN data, audio data, etc. For example, in terms of the transmission of peripheral data, the peripheral data can be loaded in the data sub-block of the data field of the data packet. For another example, when the host in Figures 3A and 3B sends data to the child nodes (nodes 1 to 7) through the master node (node ​​0), the master node (node ​​0) encapsulates the data packet and can load the data in the data sub-block of the data field.

[0080] Optionally, the data packet in the present application may include multiple data fields, each of which can simultaneously carry data of at least two different data types, so as to meet the requirements of direct physical layer transmission of data of different data types. Optionally, the two different data types can be carried in different data fields of the data packet.

[0081] The data sub-block header can record relevant information about the corresponding data sub-block. For example, the data sub-block header can record the data type and length of the data contained in the data sub-block. Optionally, it can also include at least one of priority indication information, destination node identification information, source node identification information, a free flag, and a packet sequence number identifier. The destination node identification information indicates the destination node to which the data contained in the data sub-block is to be transmitted. For example, the destination node identification information can be the node number or address of the destination node. The source node identification information indicates the source node that sent the data contained in the data sub-block. For example, the source node identification information can be the node number or address of the source node. The packet sequence number identifier indicates the sequence number of the data in the data packet, which can serve the retransmission mechanism described below and / or indicate the order dependency of data contained in multiple data sub-blocks. The free flag indicates whether the data field is free. The priority indication information will be discussed further below and will not be elaborated on here.

[0082] Optionally, the data sub-block may further include check information for checking the data loaded in the data sub-block. Check information may include, but is not limited to, parity check, cyclic redundancy check (CRC), error checking and correcting (ECC), etc.

[0083] The ECC check based on the physical layer in the technical solution of the embodiment of the present application can improve the reliability of data transmission and reduce the probability of errors in data transmission.

[0084] The following describes the optional use of the chip 100 in this application for different nodes in a networking system.

[0085] It should be noted that for a ring network (refer to Figure 3A for understanding, it should be understood that the number of nodes can be more or less, this is just an example), the starting node can be the master node (i.e., node 0). Since the data packets sent by the master node will eventually return to the master node, the ending node of the ring network is also the master node (i.e., node 0), that is, the starting node and the ending node of the ring network are both the master node (i.e., node 0), and the intermediate nodes can be other child nodes (i.e., nodes 1 to 7). For daisy chain networking (refer to Figure 3B for understanding, it should be understood that the number of nodes can be more, this is just an example), the starting node can be the main node (i.e., node 0), the ending node can be the node located at the end of the daisy chain link opposite to the starting node (for example, for the first daisy chain networking link, the ending node is node 4; for the second daisy chain networking link, the ending node is node 5), and the intermediate nodes can be other nodes located between the starting node and the ending node (for the first daisy chain networking link, the intermediate nodes are node 1, node 2, and node 3; for the second daisy chain networking link, the intermediate nodes are node 7 and node 6).

[0086] In some optional embodiments, the target node is the starting node of the networking system, and the data scheduling unit 102 is also used to initiate the transmission of data packets, and transmit the data packets processed by the data scheduling unit 102 to the nodes adjacent to the target node in the networking system through at least one data transmission unit 104.

[0087] For example, referring to the example networking system structure (ring networking structure) shown in FIG3A , the master node is the starting node, i.e., node 0. Node 0 (the starting node) can receive data sent by the host, data from other child nodes, and can also obtain node data. Node data can be generated by peripheral devices connected to node 0 (e.g., it can include peripheral data generated by peripheral devices connected to node 0), or it can be generated by node 0 itself (e.g., it can include various status data of node 0, etc.). Optionally, in this ring networking structure, the chip 100 of the starting node can include two data transmission units 104 to facilitate data transmission. Taking data packet transmission in the first direction (clockwise in the figure) as an example, the data scheduling unit 102 of the chip 100 of node 0 can encapsulate at least one of the data sent by the host, data from other child nodes, and node data into a data packet and initiate data packet transmission. The encapsulated data packet for transmission is transmitted to node 1 via a data transmission unit 104. Node 1 can continue to transmit the data packet and can also transmit it to nodes 2 to 7 in sequence, returning to node 0 (which is equivalent to reaching the end node at this point). Optionally, the chip 100 of the initiating node may also perform the same operations described above through another data transmission unit 104 and transmit data packets in a second direction (counterclockwise in the figure). Thus, the chip 100 of the initiating node may include two data transmission units 104 to support data transmission in two directions, thereby improving data transmission efficiency and making application scenarios more flexible. It should be understood that this is only for ease of understanding and is not intended to limit the present application.

[0088] For example, referring to the example networking system structure (dual daisy chain networking structure) shown in FIG3B , the master node is the starting node, i.e., node 0. Node 0 (the starting node) can receive data sent by the host, data from other child nodes, and can also obtain node data. The node data can be generated by a peripheral device connected to node 0 (for example, it can include peripheral data generated by a peripheral device connected to node 0), or it can be generated by node 0 (for example, it can include various status data of node 0, etc.). Optionally, in this daisy chain networking structure, the chip 100 of the starting node can include two data transmission units 104 to facilitate data transmission. The data scheduling unit 102 of the chip 100 of node 0 can encapsulate at least one of the data sent by the host, the data from other child nodes, and the node data into a data packet, and initiate data packet transmission. The encapsulated data packet for transmission is transmitted to node 1 through one of the data transmission units 104. Node 1 can continue to transmit the data packet and can also transmit it to nodes 2 to 4 in sequence, that is, the data transmission of the first daisy chain; or, the encapsulated data packet for transmission is transmitted to node 7 through another data transmission unit 104. Node 7 can continue to transmit the data packet and can also transmit it to nodes 6 and 5 in sequence, that is, the data transmission of the second daisy chain. Thus, the chip 100 of the starting node can include two data transmission units 104 to support data transmission on two daisy chains at the same time, thereby improving data transmission efficiency and making application scenarios more flexible. It should be understood that this is only for ease of understanding and is not a limitation of this application.

[0089] Optionally, if it is a single daisy chain networking structure, when the target node is the starting node, the chip 100 may include only one data transmission unit 104 (refer to FIG. 3B and omit nodes 5 to 7 for understanding).

[0090] Based on the above optional implementations, the chip 100 in the present application can be effectively applied to a networking system to realize the transmission of data packets from a starting node to other nodes, so as to realize the direct transmission of data packets based on the physical layer in the networking system.

[0091] In some optional embodiments, the target node is an intermediate node of the networking system, and at least one data transmission unit 104 includes a first data transmission unit and a second data transmission unit, wherein the first data transmission unit is used to: receive data packets transmitted from the previous node adjacent to the target node in the networking system, and transmit the data packets to the data scheduling unit 102 for processing, so that the data scheduling unit 102 transmits the processed data packets to the second data transmission unit; the second data transmission unit is used to: receive data packets processed by the data scheduling unit 102, and transmit the processed data packets to the next node adjacent to the target node in the networking system.

[0092] For example, the networking system structure (ring networking structure) shown in FIG3A can be referred to, in which the master node is the starting node, i.e., node 0. The ending node is also the master node. The intermediate nodes can be nodes 1 to 7. Optionally, in this ring networking structure, the chip 100 of the intermediate node can include two data transmission units 104 (i.e., a first data transmission unit and a second data transmission unit) to facilitate data transmission. Taking the data packet transmission in the first direction (clockwise in the figure), the target node is node 1 as an example. After its first data transmission unit receives the data packet transmitted by the previous node adjacent to node 1, i.e., node 0, the first data transmission unit can transmit the data packet to the data scheduling unit 102 for processing. The data scheduling unit 102 transmits the processed data packet to the second data transmission unit. The second data transmission unit 104 transmits the processed data packet to the next node adjacent to node 1, i.e., node 2. Node 2 can continue to transmit the data packet and can also transmit it to nodes 3 to 7 in sequence, and then back to node 0. It should be understood that this is only for ease of understanding and does not limit the present application.

[0093] For example, referring to the exemplary networking system structure (daisy chain networking structure) shown in FIG3B , the master node is the starting node, i.e., node 0. For the first daisy chain networking link, the intermediate nodes may be node 1, node 2, and node 3; for the second daisy chain networking link, the intermediate nodes may be node 7 and node 6. Optionally, in this daisy chain networking structure, the chip 100 of the intermediate node may include two data transmission units 104 (i.e., a first data transmission unit and a second data transmission unit) to facilitate data transmission. In the first daisy chain networking link, taking node 1 as the target node, after its first data transmission unit receives a data packet transmitted by node 0, the previous node adjacent to node 1, the first data transmission unit may transmit the data packet to the data scheduling unit 102 for processing. The data scheduling unit 102 transmits the processed data packet to the second data transmission unit. The second data transmission unit 104 transmits the processed data packet to node 2, the next node adjacent to node 1. Node 2 may continue to transmit the data packet and may also transmit it to nodes 3 and 4 in sequence. In the second daisy chain networking link, taking node 7 as the target node, after its first data transmission unit receives a data packet transmitted by node 0, the previous node adjacent to node 7, the first data transmission unit can transmit the data packet to the data scheduling unit 102 for processing. The data scheduling unit 102 transmits the processed data packet to the second data transmission unit. The second data transmission unit 104 transmits the processed data packet to node 6, the next node adjacent to node 7. Node 6 can continue to transmit the data packet and can also transmit it to node 5 in turn. It should be understood that this is only for ease of understanding and is not a limitation of the present application.

[0094] Based on the above optional implementations, the chip 100 in the present application can be effectively applied to a networking system to realize the transmission of data packets from an intermediate node to other nodes, so as to facilitate the direct transmission of data packets based on the physical layer in the networking system.

[0095] In some optional embodiments, if the target node is a termination node of the networking system, data packets transmitted from nodes adjacent to the target node in the networking system are received through at least one data transmission unit 104, and the data scheduling unit 102 is also used to terminate the transmission of data packets.

[0096] For example, referring to the example networking system structure (ring networking structure) shown in FIG3A , the master node is the termination node, i.e., node 0. Optionally, in this ring networking structure, the chip 100 may include two data transmission units 104 to facilitate data transmission. Taking the data packet transmission in the first direction (clockwise direction in the figure) as an example, a data transmission unit 104 of node 0 receives a data packet transmitted from node 7 adjacent to node 0 in the networking system, and the data scheduling unit 102 terminates the transmission of the data packet, completing the data packet transmission process. It should be understood that this is only for ease of understanding and is not intended to limit the present application.

[0097] For example, reference can be made to the example networking system structure (daisy chain networking structure) shown in FIG3B , in which the master node is the starting node, i.e., node 0. The terminating node of the first daisy chain networking link is node 4, and the terminating node of the second daisy chain networking link is node 5. Optionally, in this daisy chain networking structure, the chip 100 of the terminating node may include a data transmission unit 104 to facilitate data transmission. For example, in the case of the first daisy chain networking link, node 4 (terminating node) receives a data packet transmitted from node 3 adjacent to node 4 in the networking system, and the data scheduling unit 102 terminates the transmission of the data packet, completing the data packet transmission process. For example, in the case of the second daisy chain networking link, node 5 (terminating node) receives a data packet transmitted from node 6 adjacent to node 5 in the networking system, and the data scheduling unit 102 terminates the transmission of the data packet, completing the data packet transmission process. It should be understood that this is only for ease of understanding and is not intended to limit the present application.

[0098] Based on the above optional implementations, the chip 100 in the present application can be effectively applied to a networking system to realize the transmission of data packets from the terminating node to the terminating node, so as to realize the direct transmission of data packets based on the physical layer in the networking system.

[0099] In some optional embodiments, the target node is a master node of the networking system and can periodically send data packets, for example, at a certain time interval. The timing duration and period can be set as needed. For example, the period can be 50us.

[0100] The composition of the data scheduling unit 102 is not specifically limited in this application, and the data scheduling unit can be implemented in any suitable manner. For example, referring to the schematic diagram of an example data scheduling unit shown in Figure 5, in some optional embodiments, the data scheduling unit 102 includes: a first processing module 1021 and a second processing module 1022; the first processing module 1021 is used to: obtain node data and send the processed node data to the second processing module 1022, wherein the node data is generated by the target node, or the node data is generated by a peripheral device connected to the target node; the second processing module 1022 is used to: obtain a data packet, load the node data obtained from the first processing module 1021 into the data packet, so that at least one data transmission unit 104 transmits the data packet loaded with the node data to a node adjacent to the target node in the networking system.

[0101] Based on this, in this application, through such an embodiment, the chip 100 can effectively load the data generated by the target node or the data of the peripheral device into the data packet, so as to effectively realize the data generated by the target node or the data of the peripheral device directly transmitted based on the physical layer along with the data packet, so as to better adapt to the data transmission of the networking system.

[0102] Optionally, when the node data is generated by the target node, it may be the state data of the target node, including but not limited to register data. When the node data is generated by a peripheral device, it may be the peripheral data of the peripheral device, including but not limited to sensor data collected by the peripheral device, stored data, and state data of the peripheral device.

[0103] In some optional embodiments, the first processing module 1021 is also used to: when the data length of the node data is greater than the preset length, unpack the node data to obtain at least two fragment node data with a data length less than or equal to the preset length, and transmit the fragment node data to the second processing module 1022; when the data length of the node data is less than or equal to the preset length, transmit the node data directly to the second processing module 1022.

[0104] Based on this, in this application, by using such a first processing module 1021, by unpacking the node data with a longer data length, it can be ensured that the node data can be effectively loaded into the data packet to facilitate data transmission.

[0105] Optionally, the preset length may be the maximum data length that can be loaded by the data fields divided in the data packet. If the data length of the node data does not exceed the preset length, then the unpacking process may not be required.

[0106] For example, if the node data is an Ethernet packet obtained from an Ethernet device (a peripheral device), the Ethernet packet is generally large. If its data length is greater than the preset length, the Ethernet packet is unpacked to obtain multiple fragment node data and transmitted to the second processing module 1022.

[0107] Optionally, the second processing module 1022 may be used for bus processing of data at the physical layer. After obtaining a data packet, the data packet may be parsed at the physical layer and the node data may be loaded into the data packet.

[0108] Optionally, as shown in FIG. 5 , the chip 100 may further include a plurality of peripheral interfaces 1024 , and the peripheral interfaces 1024 may be used to connect to the peripheral devices 1023 so as to obtain the node data generated by the peripheral devices 1023 .

[0109] In some optional embodiments, the data packet includes multiple data fields; the second processing module 1022 is specifically configured to: when there is an idle data field in the data packet, load the node data into the idle data field.

[0110] Based on this, in the above-mentioned embodiment of the present application, the second processing module 1022 can load the node data into the idle data field in the data packet to ensure that the node data can be effectively loaded into the data packet, so as to facilitate the data generated by the target node or the data of the peripheral device to be directly transmitted based on the physical layer with the data packet.

[0111] Optionally, when loading node data into an idle data field, the node data can be loaded into a data sub-block of the data field, and the data sub-block header can also be updated based on the node data. It should be understood that the optional data packet formats of the data packets of this application, as well as the optional contents of the data fields, data sub-blocks, and data sub-block headers, have been previously described and will not be repeated here.

[0112] In the present application, any suitable method can be used to determine whether there is an idle data field in the data packet. Optionally, the data sub-block header included in the data field may include an idle flag, which can indicate whether the data field is idle. For example, when the idle flag is a first value, the data field is an idle data field, and when the idle flag is a second value, the data field is a non-idle data field (for ease of understanding, the blank flag can be understood as a 1-bit binary flag, the first value is 0, and the second value is 1. Of course, this is only an optional example and does not constitute any limitation to the present application). The second processing module 1022 can parse the data packet to determine whether there is a data field with an idle flag of the first value, thereby determining whether there is an idle data field in the data packet. Optionally, after the second processing module 1022 loads the node data into the idle data field, it can correspondingly set the idle flag in the data sub-block header corresponding to the data sub-block from the first value to the second value.

[0113] In some optional embodiments, the first processing module 1021 is specifically configured to send the node data to the second processing module 1022 according to the priority of the node data.

[0114] Based on this, the present application can effectively send node data to the second processing module 1022 according to the priority of the node data through such an implementation method, so as to meet the node data transmission requirements; in addition, sending node data to the second processing module 1022 according to the priority of the node data can meet the latency requirements of the networking system, avoid data concurrency conflicts, and ensure that high-priority data is transmitted as soon as possible.

[0115] Optionally, the first processing module 1021 may send the node data to the second processing module 1022 in order of priority based on the priorities of the multiple node data. For example, node data with a higher priority may be sent to the second processing module 1022 first. This ensures that the node data with a higher priority is sent as quickly as possible, thereby better meeting the node data transmission requirements and avoiding data concurrency conflicts.

[0116] Optionally, as shown in FIG5 , the data scheduling unit 102 may further include a plurality of first cache modules 1025 corresponding to different priorities. The first cache module 1025 may be used for caching when sending data. The first cache module 1025 may be implemented as any type of storage medium. The plurality of first cache modules 1025 may be implemented as separate storage media, or the plurality of first cache modules 1025 may be implemented as multiple parts of a single storage medium. After the first processing module 1021 configures the priority of the node data, the node data may be correspondingly cached in the first cache module 1025 of the corresponding priority, so that the first processing module 1021 can conveniently send the node data to the second processing module 1022 through the first cache module 1025 corresponding to the priority of the node data.

[0117] For example, in some optional examples, there can be four priorities for node data, namely, first priority, second priority, third priority, and fourth priority. These four priorities are in ascending order, i.e., fourth priority > third priority > second priority > first priority. Of course, these four are only examples and are not intended to limit this application. More types of priorities can also be flexibly configured. For ease of understanding, the following examples may be used as examples.

[0118] Optionally, data discard after network congestion can be handled by data priority. When the network is congested, lower-priority data is discarded first to ensure that higher-priority data can be transmitted.

[0119] In some optional embodiments, the second processing module 1022 is further configured to: when the time for which the node data with a low priority has not been loaded into the data packet exceeds a preset time, increase the priority of the node data, so that the node data can be sent first.

[0120] If the target node is located at the back, there may be no free data fields when the data packet is transmitted to the target node, or there may always be higher-priority data occupying each data field, resulting in the target node's lower-priority node data being unable to be sent. Based on this, the present application adopts such an implementation method. When the time for which low-priority node data has not been loaded into the data packet exceeds the preset time, the priority of the node data is increased, and it is sent first, thereby avoiding the disadvantage of low-priority node data being unable to be sent for a long time, so as to better meet the transmission needs of node data.

[0121] Optionally, the chip 100 may further include a timer for timing, so that the first processing module 1021 can determine whether the time during which the node data is not loaded into the data packet exceeds a preset time through the timing result of the timer.

[0122] Optionally, when necessary, multiple preset times can be set to increase the priority of node data multiple times. For example, multiple preset times can include a first preset time and a second preset time (the second preset time can be greater than the first preset time) respectively. For example, taking the optional example of the four priorities in the above text as an example, the fourth priority can be understood as the highest priority, the third priority can be understood as the timeout priority, the second priority can be understood as the high priority, and the first priority can be understood as the low priority. Taking the priority of node data as the first priority, when the time when the node data is not loaded into the data packet exceeds the first preset time, the priority of the node data can be adjusted from the first priority to the second priority, and then the timing can be continued. If the time when the node data is not loaded into the data packet exceeds the second preset time, the priority of the node data can be adjusted from the second priority to the third priority. Of course, in some embodiments, a third preset time can also be set to adjust the priority of the node data from the third priority to the fourth priority. The third preset time can be set by default, that is, it is not allowed to be increased to the fourth priority in this way by default. Similarly, if the priority of the node data is the second priority, when the time for which the node data is not loaded into the data packet exceeds the second preset time, the priority of the node data can be adjusted from the second priority to the third priority.

[0123] In some optional embodiments, the data packet includes multiple data fields; the second processing module 1022 is specifically used to: determine the priority of the loaded data in a data field of the multiple data fields; if a data field of the multiple data fields is the first data field whose priority of the loaded data is lower than that of the node data (that is, the first data field is the data field whose priority of the loaded data is lower than that of the node data), then replace the node data with the first data field.

[0124] Based on this, in this application, through such an implementation method, higher priority node data can be allowed to replace lower priority node data in the data packet, thereby ensuring the priority transmission of higher priority node data to better meet the transmission requirements of node data.

[0125] Optionally, if there are multiple first data fields, a single node data with a higher priority may be replaced into a single first data field.

[0126] Optionally, if there are multiple first data fields, a single node data with a higher priority may be replaced into multiple first data fields. In other words, multiple first data fields may be repeatedly replaced with a single node data with a higher priority.

[0127] In some optional embodiments, the second processing module 1022 is further configured to load multiple duplicate node data into a data packet. By loading multiple duplicate node data into a data packet, a data retransmission mechanism is implemented to ensure that important node data can be effectively transmitted.

[0128] For example, multiple repeated node data items can be loaded into a data packet separately. This can be done by loading the repeated node data items into multiple adjacent data fields within the data packet, or by loading the repeated node data items into multiple data fields separated by gaps. The gaps can include other data fields for loading other node data items. For example, this can be applied to the transmission of important node data, such as vehicle braking data and vehicle airbag data. The above method can be used to achieve repeated transmission to ensure that the important node data can be effectively transmitted.

[0129] It should be understood that loading multiple duplicate node data into the data packet can be that the second processing module 1022 obtains multiple duplicate node data from the first processing module 1021 multiple times and loads the multiple duplicate node data into the data packet in turn, or the second processing module 1022 loads one node data into the data packet multiple times after obtaining the node data.

[0130] In some optional embodiments, the data field includes a data sub-block and a data sub-block header, the data sub-block is used to load data, and the data sub-block header includes priority indication information for indicating the priority of the data loaded in the data field; the second processing module 1022 is specifically used to: determine the priority of the data loaded in the data sub-block of a data field of multiple data fields according to the priority indication information in the data field of the data field; if the priority of the data loaded in the data field is lower than the first data field of the node data, the node data is replaced into the data sub-block of the first data field, and the data sub-block header of the first data field is updated.

[0131] Based on this, in this application, through such an implementation method, higher priority node data can be effectively replaced with lower priority node data in the data packet, thereby effectively ensuring the priority transmission of higher priority node data to better meet the transmission requirements of node data and avoid data concurrency conflicts.

[0132] The optional data packet formats of the data packets of this application, as well as the relevant optional contents of the data fields, data sub-blocks, and data sub-block headers have been introduced above and will not be repeated here.

[0133] Optionally, if the one data field is not the first data field of the loaded data and has a lower priority than the node data, the above replacement may not be performed.

[0134] In some optional embodiments, the chip 100 further includes: a replacement cache module 1026 for caching data loaded before the first data field is replaced after the second processing module 1022 replaces the node data into the first data field.

[0135] Based on this, in this application, through such an optional implementation, the data originally loaded in the first data field that is replaced by higher-priority node data can be cached through the replacement cache module 1026, which can facilitate the subsequent loading of the data originally loaded in the first data field before being replaced into the data packet for transmission, so as to better meet the data transmission requirements.

[0136] It should be understood that when replacing, the entire first data field, including the data sub-block header and the data sub-block, needs to be replaced. For example, higher-priority node data can be replaced with the data sub-block of the first data field, and the data sub-block header of the first data field can be adaptively updated based on the higher-priority node data.

[0137] In this application, the replacement cache module 1026 can be implemented as any type of storage medium.

[0138] For example, FIG6 shows a schematic diagram of replacing higher-priority node data with a first data field. As shown in FIG6 , the data packet includes at least three data fields, which respectively contain node m data, node n data, and node y data. The higher-priority node data obtained by the second processing module 1022 from the higher-priority first cache module 1025 (taking the first first cache module 1025 on the left side of the figure as an example) is node a data (for example, assuming that the priority of node a data is the fourth priority (which can be understood as the highest priority)). If there are two first data fields in the three data fields of the data packet, such as data fields containing node m data and node y data (for example, assuming that the priority of node m and node y data is the first priority (which can be understood as the low priority)), the second processing module 1022 can replace the node a data with one or more of the two first data fields containing node m data and node y data. In addition, the replacement cache module 1026 caches the data before replacement. Referring to the example of Figure 6, the node a data is replaced together with the two first data fields loaded with the node m data and the node y data, so that the single node data with a higher priority repeatedly replaces multiple first data fields, and also realizes the loading of multiple repeated node data into the data packet to realize the repeated transmission mechanism of data. The replacement cache module 1026 caches the node m data and the node y data, and finally the three data fields of the replaced data packet are loaded with the node a data, the node n data, and the node a data (duplicate data) respectively. The node m data and the node y data cached by the replacement cache module 1026 can be subsequently loaded into the data packet for transmission. It should be understood that this is only for ease of understanding and is not a limitation of this application.

[0139] To facilitate understanding, the above priority-based replacement process is described below with reference to the accompanying drawings with some examples.

[0140] For example, taking the target node as node 1 in Figure 3A or Figure 3B, a data transmission unit 104 in the chip 100 receives a data packet transmitted by node 0 based on the physical layer, and streams the data packet to the second processing module 1022 of the data scheduling unit 102 in real time. Assume that the data packet has three data fields in the order of the data packets, for example, respectively recorded as data fields 1, 2, and 3, and the data loaded in the three are recorded as data 1, data 2, and data 3, respectively, and the priorities of the three loaded data are the second priority (which can be understood as a high priority), the first priority (which can be understood as a low priority), and the fourth priority (which can be understood as the highest priority). When the second processing module 1022 first receives the real-time streaming data field 1, it performs real-time streaming processing. If the second processing module 1022 obtains that the priority of the node data (for example, recorded as node data A) of the first processing module 1021 is the fourth priority, then the priority of node data A is greater than the priority of data 1 loaded in data field 1, that is, data field 1 is the first data field, then node data A can be replaced with the data word of the data packet. In segment 1, the first replacement is performed. After the data packet is replaced, the data loaded is: node data A, data 2, and data 3. Data 1 is stored in the replacement cache module 1026. The second cache module 1026 then receives the real-time streaming data field 2 and continues to perform real-time streaming processing on the data packet. The priority of data 1 originally loaded in data field 1 is greater than the priority of data 2 originally loaded in data field 2. The second processing module 1022 can replace the data 1 originally loaded in data field 1 with data field 2 to perform the second replacement. After the data packet is replaced, the data loaded is: node data A, data 1, and data 3. If there is an idle data field in the latter part of the data packet (for example, data field 4), the data 2 originally loaded in data field 2 can be loaded into the idle data field 4. At this time, the data loaded in the data packet after the replacement is: node data A, data 1, data 3, and data 2. If there is no idle data field in the latter part of the data packet, the data 2 originally loaded in data field 2 can be stored in the replacement cache module 1026, waiting for subsequent transmission of other data packets received from node 0. It can be seen that the above replacement examples can ensure that high-priority data is transmitted first. It should be understood that this is only for ease of understanding and is not intended to limit the present application.

[0141] For another example, taking the target node as node 1 in Figure 3A or Figure 3B, a data transmission unit 104 in the chip 100 receives a data packet transmitted by node 0 based on the physical layer, and streams the data packet to the second processing module 1022 of the data scheduling unit 102 in real time. Assume that the data packet has three data fields in a certain order, for example, respectively recorded as data fields 1, 2, and 3, and the data loaded in the three are respectively recorded as data 1, data 2, and data 3, and the priority of the three loaded data is the second priority (which can be understood as a high priority). When the second processing module 1022 receives the real-time streamed data field 1, it performs real-time streaming processing. If the priority of the node data (for example, recorded as node data B) obtained by the second processing module 1022 from the first processing module 1021 is the first priority (which can be understood as a low priority), the priority of node data B is lower than the priority of data 1 loaded in data field 1, that is, data field 1 is not the first data field, and no replacement is performed; when data fields 2 and 3 are received, neither of them is the first data field, and no replacement is performed. Then, a timer can be used to determine if the node data B of the first priority is not loaded into the data packet for a predetermined time period. The priority of the node data B is then increased (for example, to the second priority level after the first predetermined time period has passed). The node data B is then replaced with the first data field in the data packet transmitted from the receiving node 0. It should be understood that this is merely for ease of understanding and is not intended to limit the present application.

[0142] In some optional embodiments, the second processing module 1022 is used to: obtain a data packet from the data transmission unit 104, obtain data corresponding to the target node from the data packet, and transmit the data corresponding to the target node to the first processing module 1021; the first processing module 1021 is used to: transmit the data corresponding to the target node to the peripheral device 1023 connected to the target node, and / or, transmit the data corresponding to the target node to the local module of the target node.

[0143] Based on this, in the above-mentioned embodiment of the present application, the second processing module 1022 can obtain data corresponding to the target node from the data packet, and transmit the data corresponding to the target node to the first processing module 1021. The first processing module 1021 can transmit the data corresponding to the target node to the peripheral device 1023 connected to the target node, so that the peripheral device can use these data to meet the usage requirements of the peripheral device; the second processing module 1022 can also transmit the data corresponding to the target node to the local module of the target node to ensure that the chip 100 can receive data that needs to be transmitted directly to the target node based on the physical layer for utilization.

[0144] It should be understood that the data corresponding to the target node can be data whose destination node is the target node as indicated by the destination node identification information recorded in the data sub-block header of each data field in the data packet as described below, or it can be public data that each node in the network needs to obtain, such as but not limited to audio data. Taking audio data as an example, when the data field is loaded with audio data, the data sub-block header does not need to carry the destination node identification information.

[0145] In this application, the data corresponding to the target node in the data packet can be data sent by the host to the target node and the peripheral devices connected to the target node (which may include but is not limited to the host's configuration data, control data, etc. for the target node), or it can be data sent by other nodes to the target node and the peripheral devices connected to the target node (which may include but is not limited to node data generated by other nodes). This application does not limit this.

[0146] Optionally, the local module of the target node may be any local module of the target node, for example, may include at least one of a memory, a register, etc. in the target node. The first processing module 1021 transmits data corresponding to the target node to the local module for implementing at least one of storing the data, configuring the register, or controlling the target node.

[0147] In some optional embodiments, the data packet includes multiple data fields, the data field includes a data sub-block and a data sub-block header, the data sub-block is used to load data, and the data sub-block header records destination node identification information, and the destination node identification information is used to indicate the destination node to which the data loaded in the data sub-block is to be transmitted; the second processing module 1022 is specifically used to: determine whether there is a second data field in each data field based on the destination node identification information recorded in the data sub-block header of each data field, wherein the destination node identification information recorded in the data sub-block header of the second data field indicates that the destination node of the data loaded in the second data field is the target node (that is, the second data field is the data field in which the destination node identification information recorded in the data sub-block header indicates that the destination node is the target node); if the second data field exists, obtain the data loaded in the data sub-block of the second data field from the data packet.

[0148] Based on this, in the above-mentioned embodiment of the present application, the second processing module 1022 can accurately determine whether there is a second data field in each data field of the data packet through the destination node identification information, and when the second data field exists, it can accurately obtain the data loaded in the data sub-block of the second data field from the data packet, thereby accurately and effectively ensuring that the chip 100 can receive data that needs to be directly transmitted to the target node based on the physical layer.

[0149] The optional data packet formats of the data packets of this application, as well as the optional contents of the data field, data sub-block, and data sub-block header, have been introduced above and will not be repeated here. For example, the target node identification information can be the node number of the destination node, the address of the destination node, etc.

[0150] For example, taking node 1 in FIG. 3A or FIG. 3B as an example, when chip 100 obtains a data packet transmitted from node 0, the second processing module 1022 of chip 100 of node 1 parses the data packet to determine whether a second data field exists in each data field in the data packet (taking the node number of the destination node as an example of the target node identification information, that is, determining whether the node number of the destination node recorded in the data sub-block header of each data field is the node number of the target node (i.e., node 1)). If the second data field exists, the data in the data sub-block of the second data field (i.e., the data corresponding to node 1) is obtained. It should be understood that this is only for ease of understanding and is not intended to limit the present application.

[0151] In some optional embodiments, when the target node is an intermediate node of the networking system, the second processing module 1022 is used to: obtain a data packet from the first data transmission unit, and if it is identified that the data packet does not include data that the destination node is the target node, transmit the data packet to the second data transmission unit.

[0152] Based on this, in this application, there is no data in the data packet whose destination node is the target node, which can realize transparent forwarding of the data packet to increase the speed of direct transmission of the data packet based on the physical layer and meet the timeliness requirements of data transmission in the networking system.

[0153] Specifically, if it is determined that the second data field does not exist in each data field, the second processing module 1022 may not obtain data from the data packet and may transparently forward the data packet. For example, taking the target node as an intermediate node (as understood by node 1 in FIG. 3A or FIG. 3B ), its data transmission unit 104 includes two, namely, a first data transmission unit and a second data transmission unit. Then, after the first data transmission unit receives a data packet transmitted from the previous node adjacent to the target node in the networking system (for example, as understood by node 0 in FIG. 3A or FIG. 3B ), it transmits the data packet to the second processing unit 1022 for processing. If the second processing module 1022 determines that the second data field does not exist in each data field of the data packet, it does not obtain data from the data packet and may transmit the data packet to the second data transmission unit. The second data transmission unit transmits the data packet to the next node adjacent to the target node (for example, as understood by node 2 in FIG. 3A or FIG. 3B ) to achieve transparent forwarding of the data packet.

[0154] In some optional embodiments, the second processing module 1022 is further configured to: upon acquiring the data loaded in the data sub-block of the second data field, mark the second data field as an idle data field in the data packet.

[0155] Based on this, in the above embodiment of the present application, after the second processing module 1022 takes away the data, the corresponding second data field is marked as an idle data field, which can facilitate the subsequent use of the idle data field to load data to better meet the needs of data transmission.

[0156] It should be understood that in the present application, the second data field can be marked as an idle data field in the data packet in any suitable manner. Optionally, as described above, the data sub-block included in the data field may include an idle flag, and the idle flag can indicate whether the data field is idle. For example, when the idle flag is a first value, the data field is an idle data field, and when the idle flag is a second value, the data field is a non-idle data field (for ease of understanding, the blank flag can be simply understood as a 1-bit binary flag, the first value is 0, and the second value is 1. Of course, this is only an optional example and does not serve as any limitation to the present application). Optionally, after obtaining the data loaded in the data sub-block of the second data field, the idle flag in the data sub-block header corresponding to the data sub-block can be correspondingly set from the second value to the first value, thereby marking the second data field as an idle data field in the data packet.

[0157] In some optional embodiments, the first processing module 1021 is also used to: when it is identified that there is unpacking identification information in the data corresponding to multiple target nodes, and the unpacking identification information is used to indicate that the data is unpacked data, the data corresponding to the multiple target nodes are packaged to obtain packaged data, and the packaged data is transmitted to the peripheral device 1023 connected to the target node, and / or the packaged data is transmitted to the local module of the target node.

[0158] Based on this, in this application, through such a first processing module 1021, by packaging the unpacked data and transmitting the obtained packaged data to the peripheral device 1023 connected to the target node and / or transmitting the packaged data to the local module of the target node, the integrity of the data transmitted to the peripheral device 1023 and / or the local module of the target node can be guaranteed, so as to facilitate data transmission and meet the data usage requirements of the peripheral device and the target node.

[0159] Optionally, the first processing module 1021 may send the combined data to a corresponding peripheral device through the peripheral interface 1024 .

[0160] In some optional embodiments, the second processing module 1022 is further configured to transmit the data corresponding to the target node to the first processing module 1021 according to the priority of the data corresponding to the target node.

[0161] Based on this, the second processing module 1022 in this application transmits the data corresponding to the target node to the first processing module 1021 according to the priority of the data corresponding to the target node, so as to meet the node data transmission requirements, meet the delay requirements of the networking system, and avoid data concurrency conflicts.

[0162] Optionally, as shown in FIG5 , the data scheduling unit 102 may further include multiple second cache modules 1027 corresponding to different priorities. The second cache module 1027 may be used for caching when receiving data. The second cache module 1027 may be implemented as any type of storage medium. The multiple second cache modules 1027 may be implemented as separate storage media, or the multiple second cache modules 1027 may be implemented as multiple parts of a single storage medium. After the second processing module 1022 obtains the data corresponding to the target node, the data may be cached in the second cache module 1027 of the corresponding priority according to its priority, so that the first processing module 1021 can obtain data from the second cache module 1027 in order of high and low priority. For example, the first processing module 1021 preferentially obtains data from the second cache module 1027 with a higher priority.

[0163] It should be noted that the processing logic of the second processing module 1022 in this application "transmitting the data corresponding to the target node to the first processing module 1021 according to the priority of the data corresponding to the target node" is similar to the processing logic of the first processing module 1021 "transmitting the node data to the second processing module 1022 according to the priority of the node data" mentioned above. Both give priority to transmitting data with higher priority to ensure that data with higher priority can be transmitted first, so as to better meet the transmission requirements of node data and avoid data concurrency conflicts.

[0164] Optionally, in some optional embodiments, the first cache module 1025, the replacement cache module 1026, and the second cache module 1027 can be implemented as different parts of one or more storage media.

[0165] In other optional embodiments, when the second processing module 1022 transmits data corresponding to the target node to the first processing module 1021, the above-mentioned priority may not be introduced, as long as the transmission requirements can be met. This application does not impose any restrictions on this.

[0166] It can be understood that the above description of the chip 100 in the present application is merely some optional embodiments of the present application, and does not constitute any limitation on the embodiments of the present application.

[0167] According to a second aspect of an embodiment of the present application, a networking system is provided, comprising: a plurality of connected nodes, wherein any one of the plurality of nodes comprises a chip 100 as described in any one of the first aspects, and the chip 100 is used for the node to realize data transmission based on the physical layer.

[0168] Optionally, the networking system in the present application may adopt a ring networking structure (for example, as understood with reference to FIG3A and its related description), and it should be understood that the number of nodes may be more or less. That is, in the networking system, a plurality of nodes are connected to form a ring networking structure, and the plurality of nodes include a master node and at least two child nodes. The master node initiates the transmission of a data packet, and the data packet passes through at least two child nodes in turn, and then the data packet is received by the master node. Through the networking system with a ring networking structure, in the process of transmitting data packets based on the physical layer in the networking, the child node can add new data to the data packet initiated by the master node, or obtain data in the data packet transmitted by the networking, according to the configuration and actual application requirements, 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, reduce the delay of data transmission, and reduce the cost of networking.

[0169] Alternatively, a daisy chain networking structure may be used (for example, as described in FIG3B and its related description), which may be formed by disconnecting two adjacent nodes of a ring networking structure. It should be understood that the number of nodes may be greater or less.

[0170] According to a third aspect of an embodiment of the present application, an electronic device is provided, including: the chip 100 as described in any one of the first aspects.

[0171] Optionally, the electronic device can be used as a node in a networking system to implement data transmission using the chip 100 .

[0172] The networking system / electronic device embodiment in the embodiment of the present application has been described in detail in the aforementioned chip 100 embodiment, so its relevant content and beneficial effects can be understood with reference to the aforementioned embodiment and will not be repeated here.

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

[0174] It should be noted that, depending on the needs of implementation, the various components / steps described in the embodiments of this application can be split into more components / steps, or two or more components / steps or partial operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of this application. It should be understood that the various technical features in the technical solutions of the embodiments of this application can be combined in any appropriate manner.

[0175] The above-mentioned method according to the embodiment of the present application can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD-ROM, RAM, floppy disk, hard disk or magneto-optical disk), or as computer code that is originally stored in a remote recording medium or a non-temporary machine-readable medium downloaded via a network and will be stored in a local recording medium, so that the method described herein can be stored in such software processing on a recording medium using a general-purpose computer, a dedicated processor or programmable or dedicated hardware (such as an application-specific integrated circuit (ASIC) or a field programmable gate array (FPGA)). It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component (e.g., random access memory (RAM), read-only memory (ROM), flash memory, etc.) that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor or hardware, the method described herein is implemented. In addition, when a general-purpose computer accesses the code for implementing the method shown here, the execution of the code converts the general-purpose computer into a dedicated computer for executing the method shown here.

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

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

[0178] 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". It should be noted that the concepts of "first", "second", etc. mentioned in the embodiments of the present 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. It should be noted that the modifications of "one" and "multiple" mentioned in the embodiments of the present application are illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0179] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the embodiments of the present application, rather than to limit them. Although the embodiments of the present application have been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A chip, used as a target node of a networking system to achieve data transmission, wherein the networking system includes a plurality of connected nodes, and the target node is any one of the plurality of nodes; the chip comprises: a data scheduling unit and at least one data transmission unit; The data scheduling unit is used to: obtain a data packet and process the data packet based on a physical layer; The at least one data transmission unit is used to: receive the data packet based on the physical layer and transmit the data packet to the data scheduling unit for processing, and / or transmit the data packet processed by the data scheduling unit to a node adjacent to the target node in the networking system based on the physical layer.

2. The chip according to claim 1, wherein: The chip implements data transmission in real-time streaming, wherein: The data scheduling unit performs real-time streaming processing on the data packets based on the physical layer; The at least one data transmission unit streams the data packet to the data scheduling unit in real time, and / or streams the data packet processed by the data scheduling unit to a node adjacent to the target node in the networking system in real time.

3. The chip according to claim 1, wherein: The at least one data transmission unit includes a first data transmission unit and a second data transmission unit, wherein: The first data transmission unit is used to: receive a data packet transmitted from a previous node adjacent to the target node in the networking system, and transmit the data packet to the data scheduling unit for processing, so that the data scheduling unit transmits the processed data packet to the second data transmission unit; The second data transmission unit is used to receive the data packet processed by the data scheduling unit, and transmit the processed data packet to the next node adjacent to the target node in the networking system.

4. The chip according to claim 1, wherein: The data packet includes a common header, the common header includes a preamble, and the preamble is used to identify the physical layer protocol of the data packet.

5. The chip according to any one of claims 1 to 4, wherein: The data scheduling unit includes: a first processing module and a second processing module; The first processing module is used to: obtain node data, and send the processed node data to the second processing module, wherein the node data is generated by the target node, or the node data is generated by a peripheral device connected to the target node; The second processing module is used to obtain a data packet, load the node data obtained from the first processing module into the data packet, so that at least one of the data transmission units transmits the data packet loaded with the node data to a node adjacent to the target node in the networking system.

6. The chip according to claim 5, wherein: The data packet includes a plurality of data fields; The second processing module is specifically configured to: when there is an idle data field in the data packet, load the node data into the idle data field.

7. The chip according to claim 5, wherein: The first processing module is specifically configured to transmit the node data to the second processing module according to the priority of the node data.

8. The chip according to claim 7, wherein: The data packet includes a plurality of data fields; The second processing module is specifically used to: determine the number of data fields loaded in one of the multiple data fields. if one of the plurality of data fields is a first data field of loaded data having a lower priority than the first data field of the node data, the node data is replaced into the first data field.

9. The chip according to claim 8, wherein: The chip further comprises: The replacement cache module is used to cache the data loaded before the first data field is replaced after the second processing module replaces the node data into the first data field.

10. The chip according to claim 7, wherein: The second processing module is further configured to: when the time for which the node data with a low priority has not been loaded into the data packet exceeds a preset time, increase the priority of the node data.

11. The chip according to claim 5, wherein: The first processing module is further configured to: when the data length of the node data is greater than a preset length, unpack the node data to obtain at least two segment node data whose data length is less than or equal to the preset length, and transmit the segment node data to the second processing module; When the data length of the node data is less than or equal to the preset length, the node data is directly transmitted to the second processing module.

12. The chip according to claim 5, wherein: The second processing module is further used to: load a plurality of repeated node data into the data packet.

13. The chip according to any one of claims 1 to 4, wherein: The data scheduling unit includes: a first processing module and a second processing module; The second processing module is used to: obtain a data packet from the data transmission unit, obtain data corresponding to the target node from the data packet, and transmit the data corresponding to the target node to the first processing module; The first processing module is used to: transmit the data corresponding to the target node to a peripheral device connected to the target node, and / or transmit the data corresponding to the target node to a local module of the target node.

14. The chip according to claim 3, wherein: The data scheduling unit includes: a second processing module; The second processing module is used to: obtain the data packet from the first data transmission unit, and if it is identified that the data packet does not include data whose destination node is the target node, transmit the data packet to the second data transmission unit.

15. The chip according to claim 13, wherein: The data packet includes a plurality of data fields, wherein the data fields include a data sub-block and a data sub-block header, wherein the data sub-block is used to load data, and the data sub-block header records destination node identification information, and the destination node identification information is used to indicate the destination node to which the data loaded in the data sub-block is to be transmitted; The second processing module is specifically used to: determine whether there is a second data field in each data field according to the destination node identification information recorded in the data sub-block header of each data field, wherein the destination node identification information recorded in the data sub-block header of the second data field indicates that the destination node of the data loaded in the second data field is the target node; if the second data field exists, obtain the data loaded in the data sub-block of the second data field from the data packet.

16. The chip according to claim 15, wherein: The second processing module is further configured to: when acquiring the data loaded in the data sub-block of the second data field, The second data field is marked as an idle data field in the data packet.

17. The chip according to claim 13, wherein: The second processing module is further used to transmit the data corresponding to the target node to the first processing module according to the priority of the data corresponding to the target node.

18. The chip according to claim 13, wherein: The first processing module is also used for: when it is identified that there is unpacking identification information in the data corresponding to the multiple target nodes, and the unpacking identification information is used to indicate that the data is unpacked data, the data corresponding to the multiple target nodes are packaged to obtain packaged data, and the packaged data is transmitted to a peripheral device connected to the target node, and / or the packaged data is transmitted to a local module of the target node.

19. The chip according to claim 1-4, wherein: The data packet includes a plurality of data fields, and the plurality of data fields can at least simultaneously carry data of two different data types.

20. The chip according to claims 1-4, wherein: The target node is connected to a peripheral device, and the peripheral device includes at least one of the following types: LIN bus peripherals, PWM drive devices, I2C peripherals, SPI bus peripherals, QSPI bus peripherals, GPIO peripherals, Ethernet peripherals, CAN bus peripherals, MII and various extensions and derivative versions of MII peripherals, UART peripherals, SENT bus peripherals, PSI5 protocol peripherals, I2S peripherals, TDM peripherals, AMIC peripherals, DMIC peripherals, ADC peripherals.

21. The chip according to any one of claims 1 to 4, wherein: The data packet includes a plurality of data fields, and the plurality of data fields are divided into a plurality of time slices in time, so that a data field that is arranged earlier in the data packet is transmitted or processed by the target node first in time.

22. A networking system, comprising: A plurality of nodes are connected, and any one of the plurality of nodes comprises a chip as described in any one of claims 1-21, and the chip is used for the node to implement data transmission based on the physical layer.

23. The networking system according to claim 22, wherein: The multiple nodes are connected to form a ring networking structure, and the multiple nodes include a main node and at least two sub-nodes. The main node initiates the transmission of a data packet, and the data packet is received by the main node after passing through the at least two sub-nodes in sequence.

24. An electronic device comprising: A chip as described in any one of claims 1 to 21.

Citation Information

Patent Citations

  • Data forwarding method, chip, and electronic device

    WO2025043406A1

  • Networking data transmission method, chip, and communication system

    WO2025137884A1

  • Controller for in-vehicle ethernet and control method thereof

    CN104853142A

  • Vehicle-mounted networking method and device

    CN114697915A

  • Data transmission method and device of vehicle-mounted Ethernet system and communication system

    CN116389260A

Cited By

  • Data transmission method, and chip and storage medium

    WO2025044552A1