Ethernet frame communication over synchronous communication network

By using a full duplex bus link and transmission token mechanism in the daisy chain communication system in the vehicle, the problems of high latency and low bandwidth efficiency of audio communication in the prior art are solved, and low latency and high efficiency audio and Ethernet communication are achieved.

CN119652697APending Publication Date: 2025-03-18ANALOG DEVICES INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411281945.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-15
Filing Date
2024-09-13
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

The prior art has disadvantages of high latency, low bandwidth efficiency and the need for additional cables in audio communications within vehicles, especially in cases where audio synchronization and Ethernet communication are required.

Method used

The daisy chain communication system is adopted to transmit Ethernet frames between multiple nodes connected by daisy chain through a full duplex bus link, and the transmission token mechanism is used to realize priority management and signaling transmission between nodes.

Benefits of technology

Low latency, high bandwidth efficiency audio and Ethernet communication is achieved, avoiding the use of additional cables, simplifying cabling work, and supporting flexible payload transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119652697A_ABST
    Figure CN119652697A_ABST
Patent Text Reader

Abstract

The invention relates to Ethernet frame communication over a synchronous communication network. A communication system includes a plurality of nodes connected in a daisy chain via respective bus links. A plurality of nodes are configured to perform full duplex synchronous communication over a bus link to transmit Ethernet frames within a flexible payload of a superframe over the bus link. The node is configured to: determine that the node has a transmission token; transmitting an Ethernet frame in at least one of an upstream direction toward the master node or a downstream direction toward the end child node within the tunnel on the full duplex bus link; receiving a request for transmission of a token from one or more other nodes on the at least one full duplex bus link in the tunnel in an opposite direction to the Ethernet frame while transmitting the Ethernet frame; and transmit the transmission token to the next node based on the priority order of the one or more other nodes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to wired communication systems, and more particularly to Ethernet frame communication via a synchronous full-duplex daisy chain communication system. Background Art

[0002] Audio communications within vehicles have moved from analog signals (one or two analog wires per signal) to digital communications (multiple audio streams on a single wire or wire pair). An example digital audio communications technology may use a unidirectional ring topology. Other technologies, such as Ethernet, use point-to-point technology, requiring an Ethernet switch between each bus and expensive audio clock regeneration at each node.

[0003] A2B is a true daisy-chain network with low latency because it does not require store and forward between nodes. A2B uses line coding and is time-division multiplexed. Although A2B is the most mature low-latency audio communication in cars today, improvements in bandwidth may help support future applications. Summary of the invention

[0004] A simplified summary of one or more aspects is presented below in order to provide a basic understanding of these aspects. This summary is not an extensive overview of all contemplated aspects, and is neither intended to identify key or important elements of all aspects, nor to describe the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to a more detailed description presented later.

[0005] In some aspects, the technology described herein relates to a method for transmitting Ethernet frames through multiple nodes connected by a daisy chain on a full-duplex bus link, the method comprising: determining that a node has a transmission token; transmitting the Ethernet frame in at least one of an upstream direction toward a master node or a downstream direction toward an end child node within a tunnel on the full-duplex bus link; while transmitting the Ethernet frame, receiving a request for the transmission token from one or more other nodes on at least one full-duplex bus link in the tunnel in a direction opposite to the Ethernet frame; and after transmitting the Ethernet frame, transmitting the transmission token to the next node of the other nodes based on the priority order of the one or more other nodes.

[0006] In some aspects, the technology described herein relates to a node for transmitting Ethernet frames on multiple nodes connected in a daisy chain on a full-duplex bus link, the node including a transceiver configured to: determine that the node has a transmission token; transmit the Ethernet frame in at least one of an upstream direction toward a master node or a downstream direction toward an end child node within a tunnel on the full-duplex bus link; while transmitting the Ethernet frame, receive a request for the transmission token from one or more other nodes on at least one full-duplex bus link in the tunnel in a direction opposite to the Ethernet frame; and transmit the transmission token to the next node of the other nodes based on a priority order of the one or more other nodes.

[0007] In some aspects, the technology described herein relates to a communication system, comprising: a plurality of nodes connected in a daisy chain by respective bus links, wherein the plurality of nodes are configured to perform full-duplex synchronous communication on the bus links through a carrier-based modulation scheme to transmit superframes including flexible payloads, wherein in order to transmit Ethernet frames of an Ethernet tunnel between the plurality of nodes, the respective nodes of the Ethernet tunnel are configured to: determine the media access control (MAC) address of the respective node in the daisy chain based on a programmable register; and transmit multiple superframes on one or both of the upstream full-duplex bus link or the downstream full-duplex bus link based on the MAC address of the node, wherein each superframe includes a portion of an Ethernet frame within a portion of the flexible payload allocated to the tunnel. To achieve the above and related purposes, one or more aspects include the following features fully described and particularly pointed out in the claims. The following description and the accompanying drawings set forth in detail certain illustrative features of one or more aspects. However, these features are only indicative of a few of the various ways in which the principles of the various aspects can be employed, and the present description is intended to include all such aspects and their equivalents. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] For a more complete understanding of the present disclosure and its features and advantages, reference may be made to the following description taken in conjunction with the accompanying drawings, wherein like reference numerals represent like parts, and wherein:

[0009] Figure 1 is a diagram of nodes in a daisy chain according to one aspect of the present disclosure;

[0010] Figure 2 is a diagram of a communication layer with a daisy chain as a physical layer according to one aspect of the present disclosure;

[0011] Figure 3 is a diagram of an example of a frame structure according to one aspect of the present disclosure;

[0012] Figure 4is a diagram of an example communication system for Ethernet communications over a daisy chain in accordance with an aspect of the present invention;

[0013] Figure 5 is a schematic diagram of token management in a daisy chain for Ethernet communication according to one aspect of the present disclosure;

[0014] Fig. 6A and 6B shows a series of exchanges with token management in a daisy chain for Ethernet communications according to one aspect of the present disclosure;

[0015] Figure 7 is a schematic diagram of a full-duplex tunnel on a daisy chain for Ethernet communications according to one aspect of the present disclosure;

[0016] Figure 8 is a diagram of programmable registers for Ethernet communications over a daisy chain according to one aspect of the present disclosure; and

[0017] Fig. 9 is a flow chart of an example method performed by a node in a daisy chain according to one aspect of the present disclosure. DETAILED DESCRIPTION

[0018] Ethernet uses asynchronous communication, but audio synchronous networks are better suited for audio communication because they have lower latency, higher bandwidth efficiency, do not require Ethernet switches between links, do not require (Time Sensitive Networking) TSN functionality and fractional phase-locked loops (PLLs) for regenerating audio clocks at each node. The line topology with daisy-chain nodes and bidirectional communication optimizes the wiring effort. In some systems, audio synchronous communication and Ethernet communication are required between nodes, such as for status / control messaging or software updates. However, adding additional cables for Ethernet is an undesirable option due to reasons such as cost, complexity and weight. Here, a new mechanism allows audio synchronous daisy-chain networks to also transmit Ethernet frames between any nodes with a daisy-chain bus as a shared physical medium.

[0019] In one aspect, the present disclosure describes a daisy chain communication system that uses a brand new frame optimized for bidirectional synchronous communication. The daisy chain communication system supports flexible payloads (not fixed time slots in A2B) that can carry synchronous and asynchronous communications. In one aspect, the flexible payload can carry Ethernet frames in a tunnel that includes all nodes or a subset of nodes. The unique token exchange mechanism provides each node with half-duplex unicast, multicast, and broadcast transmission opportunities. But point-to-point full-duplex communication is also possible. Ethernet tunnels take advantage of the full-duplex nature of the bus. Since Ethernet data is only sent to upstream nodes and sent to downstream nodes, token requests occur downstream of the upstream node and upstream of the downstream node, thereby utilizing the opposite channel to the Ethernet data.

[0020] In some implementations, Ethernet frames include a unique priority scheme in which the current token owner increments a token counter called the Global Ethernet Priority Access Number (GEPRAN) for each token request and broadcasts the GEPRAN counter to other nodes. All other nodes track the GEPRAN, and any new local Ethernet message is assigned an Ethernet Priority Access Number (EPRAN) equal to the GEPRAN. A node that does not hold a token requests a token with the EPRAN number associated with its oldest pending message. The token holder can then offer tokens to the node with the lowest EPRAN number token request (for a first-come, first-served scheme). When multiple nodes have token requests with the same EPRAN number at the same time, the node closer to the master node will get the token (tie-breaker rule). Other priority schemes are also possible. For example, a hub node can take priority over other nodes, or reserve a token after completing an Ethernet frame. As another example, in some cases, a node can indicate a special priority that is higher than the EPRAN number.

[0021] Figure 1 1 is a diagram of nodes in a daisy chain 102. In the daisy chain 102, each node is connected to a subsequent node via a bus link 104. For example, the bus link 104 can be a twisted pair. As shown, the daisy chain 102 includes a master node 110, one or more intermediate child nodes 120, and an end child node 130. In some implementations, each node is a device that includes one or more modems.

[0022] Each node 110, 120, 130 includes a corresponding frame buffer 112, 122, 132. The frame buffer 112, 122, 132 is configured to store information of one or more frames for transmission in the downstream direction (from the master node 110 toward the end child node 130) and the upstream direction (from the end child node 130 toward the master node 110) through the bus link 104. For example, the frame buffer 112 of the master node 110 may include an upstream receive buffer (US RX Buff) and a downstream transmit buffer (DS TX Buff). The frame buffer 122 of the intermediate child node 120 may include a US RX Buff and a DS TX Buff as well as a downstream receive buffer (DS RXBuff) and an upstream transmit buffer (US TX Buff). The frame buffer 132 of the end child node 130 may include a DS RXBuff and a US TX Buff.

[0023] Each node 110, 120, 130 also includes one or more transceivers 106 (TX / RX). Each transceiver 106 is configured to generate a signal on the corresponding bus link 104 based on the content of each frame buffer 112 or 132, or based on an input signal from another link in an intermediate sub-node, and the input signal has content to be selectively replaced by the corresponding frame buffer 122 position. In one aspect, the transmission on the bus link 104 is full-duplex. That is, the bus link 104 can carry downlink signals and uplink signals at the same time. In some implementations, the communication utilizes a carrier-based modulation scheme with echo cancellation to achieve full duplex. For example, the signal can use binary phase shift keying (BPSK), quadrature phase shift keying (QPSK) or quad amplitude modulation (QAM).

[0024] In one aspect, daisy chain 102 can provide low latency due to the absence of storage and forwarding at each node. Data from the direction of the master node 110 is immediately forwarded to the end child node 130. Data from the direction of the end child node 130 is immediately forwarded to the master node. When data passes through the node, each node selectively reads the data. Each node also selectively changes the data without storing and forwarding the entire frame or part of the frame. For example, at the child node 120, transceiver 106a receives downstream signal 150 and selectively reads the data to DS RX buffer. Transceiver 106b selectively changes the data in downstream signal 150 (e.g., based on DS TX buffer) and immediately forwards downstream signal 150 to the end child node 130. At the same time, transceiver 106b receives uplink signal 152 and selectively reads the data to US RX buffer. Transceiver 106a selectively changes the data in upstream signal 152 and immediately forwards upstream signal 152 to the master node 110. Therefore, frame buffer 122 does not store the entire frame before forwarding it to the next node, thereby providing low latency communication. For example, data can be forwarded from master node 110 to end child node 130 in less than half of a sampling period, which can be, for example, 10.4 microseconds (μs).

[0025] In one aspect, communications are synchronized according to a superframe structure. For example, superframes may be transmitted at a period of 48 kHz, with each superframe being 20.82 μs. For a data rate of 98.304 Mbps, the payload in each frame may be 256 bytes. Further details of synchronization and frame structure are described below.

[0026] In addition, each node may include a corresponding memory 114, 124, 134 for storing configuration information of the node. In some implementations, the memory 114, 124, 134 is an addressable register, a one-time programmable (OTP) memory, or an electrically erasable programmable memory (EEPROM) that stores node identifiers. In some implementations, the order of the nodes is flexible, and the position of the node within the daisy chain 102 can be determined during the discovery process based on the stored identifiers.

[0027] In some implementations, one or more nodes may include or be connected to a corresponding microcontroller, microprocessor, or DSP (MCU) 116, 126, 136. For example, the MCU 116, 126, 136 may be connected to the node via a time division multiplexing (I2S / TDM) connection, an inter-integrated circuit (I2C), a serial peripheral interface (SPI), or a media independent interface (MII). The MCU 116, 126, 136 may configure the corresponding node, as well as communicate with other nodes via the daisy chain 102. For example, in an audio system, the audio source may originate from a DSP (MCU) in the master node 110. Some child nodes 120 (such as a smart amplifier) ​​may include an MCU, but other nodes (such as a subwoofer or microphone node) may not include an MCU.

[0028] In some implementations, Ethernet frames are communicated between the MCU and the modem over an SPI connection. The SPI connection can carry: only IP packets or Ethernet frames with or without leading bytes. The SPI connection does not require Ethernet hardware support in the MCU. The memories 114, 124, 134 can each include a corresponding Ethernet buffer 128 for a Layer 2 Ethernet frame or a block of Ethernet frames. In some implementations, the nodes 110, 120, 130 can validate the Ethernet frames (e.g., by checking a cyclic redundancy check).

[0029] Figure 2 200 is a diagram of communication layers with a daisy chain as the physical layer. The layers refer to the lower layers (i.e., 1-4) of the Open Systems Interconnection (OSI) model and the Internet Protocol Suite. For simplicity, the higher layers may provide data 250.

[0030] At the fourth layer 240, the User Datagram Protocol (UDP) or the Transmission Control Protocol (TCP) may divide the data 250 into frames including corresponding UDP headers or TCP headers.

[0031] At the third layer 230, the IP packet 232 includes a UDP frame or a TCP frame and an IP header. In some implementations, when an SPI connection is used, the OA SPI protocol can divide the IP packet 232 into a block 234 including a header, a Tx payload, an Rx payload, and a footer according to the SPI protocol.

[0032] At layer 220, the SPI block 234 (or other block of the IP packet) is used to create an Ethernet frame 222, which includes a header 224 having fields for a media access control (MAC) source address, a MAC destination address, a type / length, and / or a virtual local area network (VLAN) identifier. The Ethernet frame 222 also includes a frame check sequence (FCS) field 226, which is a 32-bit cyclic redundancy check (CRC). The layer 2 Ethernet frame 222 is transmitted through the layer 1 physical layer within the flexible payload bytes of the superframe 202. For example, the Ethernet frame 222 can be segmented into 30-byte segments for transmission at the physical layer 210.

[0033] At the first layer 210, which may be the daisy chain 102 described above, an Ethernet frame 222 is transmitted via one or more superframes 202. Each superframe 202 includes a header 204, a flexible payload 206, and a footer 208. The header 204 includes synchronization and control information for the daisy chain 102. The footer 208 includes a CRC and validity information for the superframe 202. The flexible payload 206 may include up to 239 bytes based on a superframe with a 48kHz period. Some bytes of the flexible payload may be allocated to an Ethernet tunnel. For example, in some implementations, a 30-byte flexible payload may support a 10Mbit / s Ethernet tunnel. The Ethernet speed is programmable based on the size of the flexible payload and the data rate of the bus link.

[0034] Figure 3 is a diagram 300 of an example of a frame structure. Diagram 300 includes an example of a downstream superframe 310 and an example of an upstream superframe 350.

[0035] The downstream superframe 310 includes a downstream sync header 312, a downstream flexible payload 314, and a downstream footer 316. The downstream sync header 312 includes a downstream sync byte 320 with a modulo frame counter, a command field 322, a data field 324, a data or address field 326, a GPIO far distance byte 328, a retry bit, and a CRC 329. The downstream flexible payload 314 includes a plurality of bytes that can be flexibly configured to carry data streams. For example, a stream map can indicate which bytes of the downstream flexible payload 314 carry each stream. Figure 8 Further details of the flexible payload 314 are described. The downstream footer 316 includes a CRC 330 for the downstream flexible payload 314 and a frame valid indication 332 with its own CRC.

[0036] The downstream sync byte 320 indicates the start of a frame and includes a modulo frame counter value. The command field 322 provides control signaling and addresses the node. The data field 324 and the data or address field 326 depend on the command field 322. The GPIO far distance byte 328 indicates the state of one or more virtual GPIO pins. CRC 329 is the CRC of the downstream header 312, including the retry bit and the 15-bit CRC. The CRC 330 in the downstream footer 316 provides a CRC for the downstream flexible payload 314.

[0037] The frame valid indication 332 is an indication with a separate CRC bit that indicates whether the downstream frame was valid when it arrived at the previous node. For example, the child node may check the CRC 330 and determine that the received flexible payload is invalid. However, the child node may have data to transmit on the flexible payload and calculate a new CRC 330. Therefore, the frame sent by the child node may have a correct CRC 330, but the frame valid indication 332 may indicate that other data in the flexible payload is invalid.

[0038] The upstream superframe 350 includes an upstream header 352, an upstream flexible payload 354, and an upstream footer 356. The upstream header 352 includes an upstream synchronization byte 360, a response / request field 362, a data field 364, and a header CRC 366. Similar to the downstream flexible payload 314, the upstream flexible payload 354 includes multiple bytes that can be flexibly configured to carry data streams. The upstream flexible payload 354 can be defined by a stream mapping that is the same or different from the downstream stream mapping, and the stream mapping may be different between each node. The upstream footer 356 includes an interrupt request (IRQ) byte 370, a GPIO byte 372, a CRC 374 for the upstream flexible payload 354, and a frame valid indication 376 with its own CRC.

[0039] The upstream sync byte 360 ​​indicates the start of the upstream superframe 350. The response / request field 362 is a response to the command field 322 or a request for control signaling. The data field 364 is defined based on the response / request field 362. The header CRC 366 is calculated based on the contents of the upstream header 352. The interrupt request byte 370 indicates an interrupt request detected at the downstream node. The GPIO byte 372 indicates the state of one or more virtual GPIO pins at the downstream node. The CRC 374 is calculated based on the upstream flexible payload 354. The frame valid indication 376 operates in the same manner as the frame valid indication 332, but for the upstream direction. In some cases, the node may not receive the upstream header 352 from the downstream node (for example, if the downstream node is disconnected). In the absence of receiving an UpSRH from the downstream node, the node can generate an upstream frame including a new UpSRH.

[0040] Figure 4 4 is a diagram of an example communication system 400 for Ethernet communication via a daisy chain 402. The communication system 400 includes a plurality of nodes 410 (eg, nodes 410a, 410b, 410c, and 410d). The nodes 410 are connected via a bus link 412, which may be a twisted pair.

[0041] In the illustrated example, the communication system 400 is, for example, an audio system within a vehicle. For example, the first node 410a may be a main electronic control unit (ECU), the second node 410b may be a rear seat entertainment (RSE) device, the third node 410c may be an amplifier, and the fourth node 410d may be a tuner. In one aspect, the daisy chain 402 provides flexible node ordering for connecting nodes in any order, for example, based on the physical configuration of the vehicle. In some implementations, the daisy chain 402 carries the audio stream of the communication system 400 (e.g., using the allocated bytes of the flexible payload 206). Ethernet tunnels may provide communication between nodes, for example, for software updates or diagnostics.

[0042] In one aspect, each node 410 includes a modem 420 that controls communications on the daisy chain 402. For example, the modem 420 may include a frame buffer 112 and a memory 114. In addition, each node 410 includes an MCU 430. The MCU 430 is connected to the modem, for example, via an SPI interface 422. In some implementations, the MCU 430 may also be connected via an interrupt request (IRQ) connection. In some implementations, the MCU 430 may also be connected via an audio connection (such as I2S / TDM or PCM).

[0043] In some embodiments, the master ECU (e.g., the first node 410a) may include a system on chip (SoC) 440, which includes a SoC microprocessor 442 and an audio processor 444. The SoC 440 may additionally or alternatively be connected to the modem 420 via an SPI connection and / or an IRQ. The master ECU may also include an Ethernet switch 446. The first node 410a may be considered a hub node with priority for transmitting Ethernet frames on the daisy chain 402.

[0044] In one aspect, daisy chain 402 carries Ethernet frames in flexible payload 206 to nodes that are configured to participate in an Ethernet tunnel. For example, a node can dynamically indicate participation in a tunnel by setting a register. Not every node that an Ethernet tunnel passes through must participate in the Ethernet tunnel. For example, a node can simply forward the flexible payload at the physical layer. Such nodes do not require an MCU. These nodes may not even be aware that an Ethernet tunnel passes through them (for example, if the system is configured only by a master node).

[0045] Each subnode in the system 400 that participates in the Ethernet tunnel can be addressed and respond to TCP / IP. Multiple subnodes are Ethernet addressable. In half-duplex mode, frames can be sent as broadcast, multicast, or unicast. In full-duplex point-to-point mode, two nodes can simultaneously transmit Ethernet frames in opposite directions. In one aspect, the node 410 can filter Ethernet frames at the modem 420 or MCU 430. In some implementations, the modem 420 can handle all Ethernet processing. For example, the modem 420 can receive data from the MCU 430 and generate an Ethernet frame by adding the header 224 and the FCS field 226. Similarly, the modem 420 can receive Ethernet frames on the bus link 412 and check the CRC. The modem 420 can filter the Ethernet frame based on one or more fields of the header 224, and then send the relevant data to the MCU 430 when the Ethernet frame is used for the node. Alternatively, the modem 420 can forward all received Ethernet frames to the MCU 430 for filtering.

[0046] Figure 5 5 is a diagram of token management in a daisy chain 502 for Ethernet communication in half-duplex mode. Similar to daisy chain 402, daisy chain 502 includes a plurality of nodes 510, each having an MCU and a modem, connected to adjacent nodes in an upstream direction and / or a downstream direction via bus links 512. The bus links allow for full-duplex synchronous communication over superframes. As shown, each node 510 is configured to participate in an Ethernet tunnel; however, a node without Ethernet traffic may be configured without an Ethernet tunnel. It is also possible for a node 510 to participate in different Ethernet channels by configuring different bytes in the flexible payload for different Ethernet tunnels.

[0047] When a node transmits an Ethernet frame in the form of unicast, multicast or broadcast on daisy chain 502, the Ethernet frame can be transmitted in the upstream direction and the downstream direction (except the master node and the terminal sub-node) to reach all nodes. Because both the upstream direction and the downstream direction are used for Ethernet frame transmission, only one node can transmit an Ethernet frame at a time (that is, in the same superframe). In one aspect, a transmission token 550 indicates a node 510 that is allowed to transmit. For example, as shown in the figure, a node 510b that can be a switching node has a token 550 and is transmitting an Ethernet frame 560 upstream toward the master node 510a and downstream toward the terminal sub-node 510f.

[0048] In one aspect, since the direction opposite to the Ethernet frame does not carry Ethernet frame data, the flexible payload 206 in the opposite direction can carry signaling information. In particular, due to the full-duplex nature of the bus link 512, a node without a token can send a token request 570 in the opposite direction to the Ethernet frame 560. Multiple token requests 570 can be multiplexed in the opposite direction to the Ethernet frame 560. For example, each node can have an allocated byte within the flexible payload to indicate an Ethernet priority access number (EPRAN) for the token request 570.

[0049] When a node completes transmission of an Ethernet frame 560, the node may pass the token to another node based on a priority order. In one aspect, when a node of a type is present in multiple nodes, the priority order is: 1) a hub node holding the transmission token; 2) a hub node without the transmission token; 3) a high priority node specified in the request; and 4) a node transmitting a request with a number (e.g., EPRAN) indicating that the node first requested a token for a new Ethernet frame. When the daisy chain 502 does not include a node of a type (e.g., a designated high priority node), the node of that type is skipped in the priority order. For example, in some implementations, the mechanism for designated high priority nodes may not be implemented or may be disabled, but the priority order may still be in effect.

[0050] A hub node (e.g., node 510b) may be configured for token preservation, where if the hub node has another frame to transmit (i.e., priority 1), the hub node may save a transmission token 550 after completing an Ethernet frame. If the hub node is not configured for token holding, the hub node will transfer the token to another node based on priority. If the other node has a transmission token 550 and completes an Ethernet frame, the other node will send the token to the hub node if the hub node has requested a token (i.e., priority 2). A node may request priority transmission via a token request 570, such as for control signaling. If the hub node does not request a transmission token 550, the node that completes the Ethernet frame will pass the token to the node indicating priority transmission (priority 3). If the hub node does not request a transmission token 550 and does not have a priority transmission, the node that completes the Ethernet frame will pass the transmission token 550 based on the EPRAN indicated in the token request. In some cases, nodes that have data to transmit during the same Ethernet frame may assign the same EPRAN to the data based on the maximum EPRAN (GEPRAN) transmitted in the frame. For example, each node can derive EPRAN by incrementing GEPRAN. In some implementations, the amount of increment can be programmable per node. In some implementations, GEPRAN is circular and the node with the token selects the node that reports the EPRAN with the smallest circular distance from GEPRAN to EPRAN. The tie breaker can select between nodes with the same EPRAN. For example, the tie breaker may go to the node closest to the transmission token 550, or the node closest to the master node 510a or other pre-selected node 510, or may be randomly selected.

[0051] Fig. 6A and 6B Token management is shown for a series of example exchanges that may be transmitted between nodes 510. Each exchange may include the transmission of an Ethernet frame and a token request. The triangles represent nodes that receive Ethernet frames. The circles represent token requests and priorities or EPRAN. Figure 5 As shown, node 510b may be a hub node.

[0052] In exchange 610, node 510b has a broadcast frame to send. Node 510 sends the frame both upstream and downstream, and each of the other nodes receives the frame. The frame indicates that GEPRAN is 1. Nodes 510c and 510d, for example, have data to send in response to the frame and indicate a token request and assign GEPRAN 1 to the request. At the end of the frame, node 510b passes a transmission token 550 to node 510c based on the lack of a hub frame, no priority request, and the tie breaker (the node closest to the master node 510a).

[0053] In exchange 615, node 510c sends a unicast frame with a GEPRAN of 2 (incremented due to the token request of EPRAN=1). Although only node 510b in the upstream direction from node 510c receives the unicast frame, node 510c can send unicast frames in both directions. For example, due to a delayed response to a broadcast frame in switch 610, nodes 510a and 510e may have data to transmit. Because the GEPRAN of the current frame is 2, nodes 510a and 510e can assign an EPRAN of 2 to the data and indicate a token request. In addition, node 510b may have data to transmit and may indicate a token request with a hub priority (H). Node 510b receives a token based on a hub node that does not have the transmission token.

[0054] In exchange 620, node 510b transmits a unicast frame to node 510a and indicates GEPRAN as 3 (incremented from EPRAN as 2). Nodes 510d and 510f indicating EPRAN of 1 now have the shortest cycle distance, so a token is sent to node 510d based on the tie breaker.

[0055] In exchange 625, node 510d transmits a unicast frame to node 510b with a GEPRAN of 3. The EPRAN of 1 indicated by node 510f is now the lowest EPRAN, but hub node 510b still has data to transmit, so node 510d sends a token to hub node 510b.

[0056] In exchange 630, node 510b transmits a unicast frame with a GEPRAN of 3 to node 510d. The EPRAN of 1 indicated by node 510f is now the lowest EPRAN, so node 510b sends a token to node 510f.

[0057] In exchange 635, node 510f transmits a unicast frame to node 510b and indicates that the GEPRAN is 3. Node 510d also has data to transmit and is assigned an EPRAN of 3 based on the GEPRAN. Nodes 510a and 510e indicate the same EPRAN 2, and hub node 510b has no data to transmit. Therefore, node 510f sends a token to node 510a based on the tie breaker.

[0058] In exchange 640, node 510a transmits a unicast frame to node 510c after incrementing with a GEPRAN of 4. Node 510a passes the token to node 510e with the lowest EPRAN of 2. Node 510a has additional data to transmit, so node 510a allocates an EPRAN of 4 for the additional data.

[0059] In exchange 645, node 510e transmits a unicast frame with a GEPRAN of 5 to node 510c, and then passes the token to node 510d with a minimum EPRAN of 3.

[0060] In exchange 650, node 510d transmits a unicast frame with a GEPRAN of 5 to node 510e. Node 510f indicates a new priority transmission (P). Therefore, node 510d passes the token to node 510f.

[0061] In exchange 655, node 510f transmits a multicast frame with a GEPRAN of 5 to nodes 510c and 510d. Node 510f sends a token to node 510a, which is the only node indicating a token request with an EPRAN of 4.

[0062] In exchange 660, node 510 transmits a unicast frame to node 510b.

[0063] Figure 7 700 is a diagram of a full-duplex point-to-point configuration for an Ethernet tunnel on a daisy chain 502. A full-duplex point-to-point configuration can be used when only two nodes need to communicate Ethernet frames. For example, a full-duplex Ethernet tunnel 710 can be configured between node 510b and node 510e. The other nodes of the daisy chain 502 are still connected and transmit superframes on the bus link, but the other nodes do not read or write the flexible payload bytes of the full-duplex Ethernet tunnel. Node 510b transmits Ethernet frames in the downstream direction, and node 510e transmits Ethernet frames in the upstream direction. No token is required for transmission because the full-duplex bus link allows concurrent transmission in the opposite direction.

[0064] Figure 8 is a diagram of an example configuration register 800 for an Ethernet tunnel. The configuration register 800 may be programmed by the MCU of the corresponding node or by control signaling in a superframe.

[0065] If set to 1, the Ethernet bit enables the node to participate in Ethernet traffic. Also resets GEPRAN, EREQ, and ETOKEN. Should be broadcast.

[0066] The EBSIDE bit indicates whether the Ethernet BSIDE (downstream) tunnel is enabled. A bit set to 1 indicates listening for (upstream moving) data on the downstream (B side) side. When the node has the token, the node sends data using the Ethernet tunnel downstream (B side). When this bit is set to 0, the node ignores the B side Ethernet tunnel. If EBSIDE is 1 and EASIDE is 0, this node will start as having the token and be configured as the Ethernet endpoint closest to the master node.

[0067] The EHUB bit indicates Ethernet hub functionality. If the EHUB bit is set, every access request will be granted to this node.

[0068] The EHUBALT bit indicates whether the Ethernet hub is alternating between using transmission opportunities and granting tokens to other nodes to transmit Ethernet frames if it is set to 1. If the EHUBALT bit is set to 0, the Ethernet hub will retain tokens as long as it has pending Ethernet frames. This bit is only relevant if EHUB is set to 1.

[0069] The EASIDE bit indicates whether the Ethernet ASIDE (upstream-facing) tunnel is enabled. If the EASIDE bit is set to 1, the node listens for data on the upstream (A-side) side (moving downstream). When a node has a token, the node sends data upstream (A-side) using the Ethernet tunnel. If the EASIDE bit is set to 0, the node ignores the A-side Ethernet tunnel. The EASIDE bit set to 1 and the EBSIDE bit set to 0 indicates that the endpoint of the Ethernet tunnel is farther away from the master node.

[0070] In some implementations, register 800 may include one or more bits to indicate whether the node is an upstream end node of a tunnel, a downstream end node of the tunnel, or an intermediate node of the tunnel.

[0071] The ENXTPRE bit indicates a priority node. If the ENXTPRE bit is set and a node defined in the ENEXT bit field requests token access, the token advances to the node defined in the ENEXT node. The priority node has the highest priority over all other token requests.

[0072] The EPRTY[1:0] bits change the decrement step size of the EPRAN to obtain higher priority. In some implementations, the priority may also be directly affected by the OA SPI header.

[0073] If set to 1, the EFD bit indicates full-duplex mode. Figure 7 Describes the full-duplex mode. In full-duplex mode, the ENEXT fields of the two nodes point to each other.

[0074] The ENEXT[3:0] bits are the Ethernet Next Node ID bit field. The ENEXT bits hold the ID of the predefined next node. For example, the NEXT bits can be used in a token ring configuration, a hub-directed, or point-to-point Ethernet traffic configuration.

[0075] Fig. 9is a flow chart of an example method 900 performed by a node 510 in a daisy chain 502. The method 900 may transmit Ethernet frames in an Ethernet tunnel between nodes in the daisy chain 502. The method 900 may be performed in the context of communicating with another node 510 in the daisy chain 102.

[0076] In block 910, method 900 includes determining that the node has a transfer token. For example, in some implementations, node 510b can determine that the node has a transfer token. In some implementations, the master node can determine that the master node initially has a transfer token based on the configuration of the register, for example, when EBSIDE is 1 and EASIDE is 0, indicating that the master node is the first node.

[0077] In block 920, method 900 includes transmitting an Ethernet frame in at least one of an upstream direction toward a master node 510a or a downstream direction toward an end child node 510f within a tunnel on a full-duplex bus link. For example, in some implementations, node 510b may transmit an Ethernet frame 560 in at least one of an upstream direction toward a master node or a downstream direction toward an end child node within a tunnel on a full-duplex bus link 412. In some implementations, in sub-block 922, block 920 may optionally include determining a position 502 of the node within the daisy chain based on a programmable register. In some implementations, in sub-block 924, block 920 may optionally include transmitting a plurality of superframes 202 on one or both of an upstream full-duplex bus link or a downstream full-duplex bus link based on the position of the node. Each superframe 202 includes a portion of an Ethernet frame 222 within a portion of a payload 206 allocated to the tunnel.

[0078] In block 930, the method 900 includes receiving a request for the transfer token from one or more other nodes on at least one full-duplex bus link in the tunnel while transmitting the Ethernet frame in a direction opposite to the Ethernet frame. For example, in some implementations, the node 510b may receive a request 570 for the transfer token 550 from one or more other nodes on at least one full-duplex bus link 412 in the tunnel while transmitting the Ethernet frame 560 in a direction opposite to the Ethernet frame.

[0079] In block 940, method 900 includes sending a transmission token to one of the other nodes based on the priority of the one or more other nodes after sending the Ethernet frame. For example, in some implementations, node 510b may send a transmission token 550 to one of the other nodes based on the priority of the one or more other nodes after sending the Ethernet frame.

[0080] In block 950, the method 900 may optionally include receiving an Ethernet frame including a MAC address on one of the full-duplex bus links. For example, in some implementations, the node 510b may receive an Ethernet frame including a MAC address on one of the full-duplex bus links.

[0081] In block 960, method 900 may optionally include propagating the Ethernet frame to the next node in the daisy chain in the direction of the Ethernet frame. For example, in some implementations, node 510b may propagate the Ethernet frame to the next node in the daisy chain in the direction of the Ethernet frame.

[0082] In block 970, method 900 may optionally include filtering Ethernet frames of the node based on the MAC address. For example, in some implementations, node 510b may filter Ethernet frames of the node based on the MAC address.

[0083] Example aspects are described in the following numbered clauses:

[0084] Clause 1. A method for transmitting Ethernet frames through multiple nodes connected by a daisy chain on a full-duplex bus link, the method comprising: determining that a node has a transmission token; transmitting the Ethernet frame in at least one of an upstream direction toward a main node or a downstream direction toward an end child node within a tunnel on the full-duplex bus link; while transmitting the Ethernet frame, receiving a request for the transmission token from one or more other nodes on at least one full-duplex bus link in the tunnel in a direction opposite to the Ethernet frame; and after transmitting the Ethernet frame, transmitting the transmission token to the next node of the other nodes based on the priority order of the one or more other nodes.

[0085] Clause 2. A method according to clause 1, wherein when there is one type of node among the multiple nodes, the priority order from highest priority to lowest priority is: a hub node holding the transmission token; a hub node without the transmission token; a high priority node specified in the request; and a node transmitting a request with a number indicating that the node is the first node to request a token for a new Ethernet frame.

[0086] Clause 3. The method of clause 2, wherein when requests from multiple nodes indicate the same number, the next node is selected based on the distance from the node having the transmission token.

[0087] Clause 4. A method according to clause 2 or 3, wherein the number in the request is selected as a cyclic increment value of a token counter transmitted by the node together with the token, and the next node has a minimum cyclic distance between the number in the request and the token counter.

[0088] Clause 5. The method according to any one of clauses 1-4 further includes: receiving an Ethernet frame on one of the full-duplex bus links, the Ethernet frame having a header including fields for one or more of a media access control (MAC) address, an Ethernet type, or a virtual local area network; propagating the Ethernet frame to the next node in the daisy chain in the direction of the Ethernet frame; and filtering the Ethernet frame of the node based on the fields of the header.

[0089] Clause 6. The method of any of clauses 1-5, wherein the one or more other nodes in the tunnel comprises a subset of a plurality of nodes connected in the daisy chain that have dynamically indicated participation in the tunnel.

[0090] Clause 7. A method according to any one of clauses 1-6, wherein each node includes a programmable register that defines one or more of the following: participation in Ethernet traffic; downstream Ethernet tunnel enablement; whether the node is a hub node; whether the node is an upstream end node of a tunnel, a downstream end node of the tunnel, or an intermediate node of the tunnel; whether the hub node transmits the token when the hub node has other Ethernet frames to transmit; upstream Ethernet tunnel enablement; whether the next node is a high priority node; a counter decrement level; a point-to-point indication; or an identifier of the next node.

[0091] Clause 8. A method according to any one of clauses 1-7, wherein transmitting Ethernet frames within a tunnel on the full-duplex bus to link an upstream direction to a master node or a downstream direction to at least one of a sub-node comprises: determining a position of the node within the daisy chain based on a programmable register; and based on the position of the node, transmitting multiple superframes on one or both of the upstream full-duplex bus link or the downstream full-duplex bus link, wherein each superframe includes a portion of an Ethernet frame within a portion of a payload allocated to the tunnel.

[0092] Item 9. A node for transmitting Ethernet frames on multiple nodes connected in a daisy chain on a full-duplex bus link, the node comprising a transceiver configured to: determine that the node has a transmission token; transmit the Ethernet frame in at least one direction of an upstream direction toward a master node or a downstream direction toward an end child node within a tunnel on the full-duplex bus link; while transmitting the Ethernet frame, receive a request for the transmission token from one or more other nodes on at least one full-duplex bus link in the tunnel in a direction opposite to the Ethernet frame; and transmit the transmission token to the next node of the other nodes based on the priority order of the one or more other nodes.

[0093] 10. The node of clause 9, further comprising a microcontroller configured to communicate with the transceiver via a serial peripheral interface or a media independent interface.

[0094] Clause 11. The node of clause 10, wherein the transceiver comprises a buffer configured to store at least one Ethernet frame for transmission or reception without communicating with the microcontroller.

[0095] Clause 12. A node according to clause 10 or 11, wherein the transceiver is configured to: receive data from the microcontroller; and generate an Ethernet frame including a cyclic redundancy check (CRC) sequence based on the data.

[0096] Clause 13. A node as described in any of clauses 10-12, wherein the transceiver is configured to check a CRC sequence on a received Ethernet frame before transmitting the frame to the microcontroller.

[0097] Clause 14. The node of clause 10, wherein the transceiver is configured to transmit the contents of the flexible payload of the Ethernet tunnel to the microcontroller for filtering based on a MAC address.

[0098] Clause 15. A node according to any one of clauses 9-14, wherein when there is one type of node among the plurality of nodes, the priority order from highest priority to lowest priority is: a hub node holding the transmission token; a hub node without the transmission token; a high priority node specified in the request; and a node transmitting a request with a number indicating that the node is the first node to request a token for a new Ethernet frame.

[0099] Clause 16. A node according to clause 15, wherein when requests from multiple nodes indicate the same number, the next node is selected based on the distance from the node having the transmission token.

[0100] Clause 17. A node according to clause 15 or 16, wherein the number in the request is selected as a cyclic increment value of a token counter transmitted by the node having the token, and the next node has a minimum cyclic distance between the token counter and the number in the request.

[0101] Clause 18. A node according to any one of clauses 9-17, wherein the transceiver is configured to: receive an Ethernet frame including a media access control (MAC) address on one of the full-duplex bus links; propagate the Ethernet frame in the direction of the Ethernet frame to the next node in the daisy chain; and filter the Ethernet frame of the node based on the MAC address.

[0102] Clause 19. A node as recited in any of Clauses 9-18, wherein the one or more other nodes in the tunnel comprises a subset of the plurality of nodes connected in the daisy chain.

[0103] Clause 20. A node according to any one of clauses 9-19, comprising programmable registers that define one or more of the following: participation in Ethernet traffic; downstream Ethernet tunnel enablement; whether the node is a hub node; whether the hub node transmits the token when the hub node has other Ethernet frames to transmit; whether the node is an upstream end node of a tunnel, a downstream end node of the tunnel, or an intermediate node of the tunnel; upstream Ethernet tunnel enablement; whether the next node is a high priority node; a counter decrement level; a point-to-point indication; and an identifier of the next node.

[0104] Clause 21. A node according to any one of clauses 9-20, wherein in order to transmit Ethernet frames in at least one of an upstream direction toward a master node or a downstream direction toward a child node within a tunnel on the full-duplex bus link, the transceiver is configured to: determine the media access control (MAC) address of the node within the daisy chain based on a programmable register; and transmit multiple superframes on one or both of the upstream full-duplex bus link or the downstream full-duplex bus link based on the MAC address of the node, wherein each superframe includes a portion of an Ethernet frame within a portion of the payload allocated to the tunnel.

[0105] Clause 22. A communication system comprising: a plurality of nodes connected in a daisy chain via respective bus links, wherein the plurality of nodes are configured to perform full-duplex synchronous communication on the bus links via a carrier-based modulation scheme to transmit superframes including flexible payloads, wherein in order to transmit Ethernet frames of an Ethernet tunnel between the plurality of nodes, the corresponding nodes of the Ethernet tunnel are configured to: determine a media access control (MAC) address of a corresponding node within the daisy chain based on a programmable register; and transmit a plurality of superframes on one or both of an upstream full-duplex bus link or a downstream full-duplex bus link based on the MAC address of the node, wherein each superframe includes a portion of an Ethernet frame within a portion of the flexible payload allocated to the tunnel.

[0106] Clause 23. A communication system according to clause 22, wherein the programmable register defines one or more of the following: participation in Ethernet traffic; downstream Ethernet tunnel enablement; whether the node is a hub node; whether the hub node transmits a token when the hub node has other Ethernet frames to transmit; upstream Ethernet tunnel enablement; whether the next node is a high priority node; counter decrement level; point-to-point indication; and an identifier of the next node.

[0107] Clause 24. A communication system according to clause 22, wherein the programmable register indicates a point-to-point tunnel between two of the nodes, and wherein each node of the point-to-point tunnel is configured to transmit Ethernet frames on the full-duplex bus link in the direction of another node within the flexible payload of the superframe.

[0108] Clause 25. A communication system according to Clause 22, wherein the Ethernet tunnel comprises three or more nodes, and wherein each node is configured to: determine that the node has a transmission token; transmit Ethernet frames in at least one of an upstream direction toward a master node or a downstream direction toward an end child node within the tunnel on the full-duplex bus link; while transmitting the Ethernet frames, receive a request for the transmission token from one or more other nodes on at least one full-duplex bus link in the tunnel in a direction opposite to the Ethernet frames; and transmit the transmission token to one of the other nodes based on the priority of the one or more other nodes.

[0109] Clause 26. The communication system of clause 22, wherein the Ethernet speed is programmable based on a size of the flexible payload and a data rate of the bus link.

[0110] For example, an element, any part of an element, or any combination of elements can be implemented with a "processing system" including one or more processors. Examples of processors include microprocessors, microcontrollers, digital signal processors (DSPs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functions described in this disclosure. One or more processors in a processing system can execute software. Software should be broadly interpreted as instructions, instruction sets, codes, code segments, program codes, programs, subroutines, scripts, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, programs, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or other.

[0111] Therefore, in one or more aspects, one or more functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, these functions may be stored on a computer-readable medium or encoded as one or more instructions or codes. Computer-readable media include computer storage media. The storage medium may be any available medium that a computer can access. As an example and not limitation, such a computer-readable medium may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, disk storage or other magnetic storage device, or any other medium that can be used to carry or store the required program code in the form of an instruction or data structure and can be accessed by a computer. Disks and optical disks used herein include compact disks (CDs), laser optical disks, optical disks, digital versatile disks (DVDs), and floppy disks, wherein disks typically reproduce data magnetically, while optical disks reproduce data optically with lasers. The above combinations should also be included in the scope of computer-readable media. Non-transient computer-readable media do not include transient signals.

Claims

1. A method for transmitting Ethernet frames through a plurality of nodes connected by daisy chain on a full-duplex bus link, the method comprising: Make sure the node has the transfer token; Transmitting Ethernet frames in at least one of an upstream direction toward a master node or a downstream direction toward an end child node within a tunnel on the full-duplex bus link; receiving a request for the transmit token from one or more other nodes on at least one full-duplex bus link in the tunnel in a direction opposite to the Ethernet frame while transmitting the Ethernet frame; and After transmitting the Ethernet frame, the transmission token is transmitted to a next node of the other nodes based on the priority order of the one or more other nodes.

2. The method according to claim 1, wherein when there is one type of node among the plurality of nodes, the priority order from highest priority to lowest priority is: a hub node holding said transfer token; A hub node that does not have said transfer token; The high priority node specified in the request; and A node that transmits a request with a number indicating that it is the first node to request a token for a new Ethernet frame.

3. The method of claim 2, wherein when requests from multiple nodes indicate the same number, the next node is selected based on the distance from the node having the transmission token.

4. The method of claim 2, wherein the number in the request is selected as a cyclic increment of a token counter transmitted by the node along with the token, and the next node has a minimum cyclic distance between the number in the request and the token counter.

5. The method according to claim 1, further comprising: receiving an Ethernet frame on one of the full-duplex bus links, the Ethernet frame having a header including fields for one or more of a media access control (MAC) address, an Ethernet type, or a virtual local area network; propagating the Ethernet frame in the direction of the Ethernet frame to the next node in the daisy chain; and The Ethernet frames of the node are filtered based on the fields of the header.

6. The method of claim 1, wherein the one or more other nodes in the tunnel comprise a subset of a plurality of nodes connected in the daisy chain that have dynamically indicated participation in the tunnel.

7. The method of claim 1 , wherein each node includes a programmable register that defines one or more of: Participate in Ethernet traffic; Downstream Ethernet tunneling is enabled; whether the node is a hub node; The node is an upstream end node of a tunnel, a downstream end node of the tunnel, or an intermediate node of the tunnel; whether the hub node transmits the token when the hub node has other Ethernet frames to transmit; Upstream Ethernet tunneling is enabled; Whether the next node is a high priority node; Counter decrements level; point-to-point instructions; or The identifier of the next node.

8. The method of claim 1, wherein transmitting Ethernet frames within a tunnel over the full-duplex bus to link at least one of an upstream direction to a master node or a downstream direction to a child node comprises: determining a position of the node within the daisy chain based on a programmable register; and A plurality of superframes are transmitted on one or both of the upstream full-duplex bus link or the downstream full-duplex bus link based on the location of the node, wherein each superframe includes a portion of an Ethernet frame within a portion of a payload allocated to the tunnel.

9. A node for transmitting Ethernet frames on a plurality of nodes daisy-chained on a full-duplex bus link, the node comprising a transceiver, the transceiver being configured to: determining that the node has a transfer token; Transmitting Ethernet frames in at least one of an upstream direction toward a master node or a downstream direction toward an end child node within a tunnel on the full-duplex bus link; receiving a request for the transmit token from one or more other nodes on at least one full-duplex bus link in the tunnel in a direction opposite to the Ethernet frame while transmitting the Ethernet frame; and The transmission token is transmitted to a next node of the other nodes based on a priority order of the one or more other nodes.

10. The node of claim 9, further comprising a microcontroller configured to communicate with the transceiver via a serial peripheral interface or a media independent interface.

11. The node of claim 10, wherein the transceiver comprises a buffer configured to store at least one Ethernet frame for transmission or reception without communicating with the microcontroller.

12. The node of claim 10, wherein the transceiver is configured to: receiving data from said microcontroller; and An Ethernet frame including a cyclic redundancy check (CRC) sequence is generated based on the data.

13. The node of claim 10, wherein the transceiver is configured to check a CRC sequence on a received Ethernet frame before transmitting the frame to the microcontroller.

14. The node of claim 10, wherein the transceiver is configured to transmit the contents of the flexible payload of the Ethernet tunnel to the microcontroller for filtering based on a MAC address.

15. The node according to claim 9, wherein when one type of node exists in the plurality of nodes, the priority order from highest priority to lowest priority is: a hub node holding said transfer token; A hub node that does not have said transfer token; A high priority node specified in the request; and A node that transmits a request with a number indicating that it is the first node to request a token for a new Ethernet frame.

16. The node of claim 15, wherein when requests from multiple nodes indicate the same number, the next node is selected based on the distance from the node having the transmission token.

17. The node of claim 15, wherein the number in the request is selected as a cyclic increment of a token counter transmitted by a node having a token, and the next node has a minimum cyclic distance between the token counter and the number in the request.

18. The node of claim 9, wherein the transceiver is configured to: receiving an Ethernet frame including a media access control (MAC) address on one of the full-duplex bus links; propagating the Ethernet frame in the direction of the Ethernet frame to the next node in the daisy chain; and Ethernet frames of the node are filtered based on the MAC address.

19. The node of claim 9, wherein the one or more other nodes in the tunnel comprise a subset of the plurality of nodes connected in the daisy chain.

20. The node of claim 9, comprising programmable registers defining one or more of: Participate in Ethernet traffic; Downstream Ethernet tunneling is enabled; whether the node is a hub node; whether the hub node transmits the token when the hub node has other Ethernet frames to transmit; The node is an upstream end node of a tunnel, a downstream end node of the tunnel, or an intermediate node of the tunnel; Upstream Ethernet tunneling is enabled; Whether the next node is a high priority node; Counter decrements level; point-to-point instructions; or The identifier of the next node.

21. The node of claim 9, wherein to transmit Ethernet frames in at least one of an upstream direction toward a master node or a downstream direction toward a child node within a tunnel on the full-duplex bus link, the transceiver is configured to: determining a media access control (MAC) address of a node in the daisy chain based on a programmable register; and Based on the MAC address of the node, multiple superframes are transmitted on one or both of the upstream full-duplex bus link or the downstream full-duplex bus link, wherein each superframe includes a portion of an Ethernet frame within a portion of the payload allocated to the tunnel.

22. A communication system comprising: A plurality of nodes connected in a daisy chain via respective bus links, wherein the plurality of nodes are configured to perform full-duplex synchronous communication on the bus links via a carrier-based modulation scheme to transmit superframes including flexible payloads, wherein in order to transmit Ethernet frames of an Ethernet tunnel between the plurality of nodes, respective nodes of the Ethernet tunnel are configured to: Determining a media access control (MAC) address of a corresponding node in the daisy chain based on a programmable register; and Based on the MAC address of the node, multiple superframes are transmitted on one or both of the upstream full-duplex bus link or the downstream full-duplex bus link, wherein each superframe includes a portion of an Ethernet frame within a portion of the flexible payload allocated to the tunnel.

23. The communication system of claim 22, wherein the programmable register defines one or more of the following: Participate in Ethernet traffic; Downstream Ethernet tunneling is enabled; whether the node is a hub node; Whether the hub node transmits a token when the hub node has other Ethernet frames to transmit; Upstream Ethernet tunneling is enabled; Whether the next node is a high priority node; Counter decrements level; point-to-point instructions; or The identifier of the next node.

24. A communication system according to claim 22, wherein the programmable register indicates a point-to-point tunnel between two of the nodes, and wherein each node of the point-to-point tunnel is configured to transmit Ethernet frames on the full-duplex bus link in the direction of another node within the flexible payload of the superframe.

25. The communication system of claim 22, wherein the Ethernet tunnel comprises three or more nodes, and wherein each node is configured to: determining that the node has a transfer token; Transmitting Ethernet frames in at least one of an upstream direction toward a master node or a downstream direction toward an end child node within a tunnel on the full-duplex bus link; receiving a request for the transmit token from one or more other nodes on at least one full-duplex bus link in the tunnel in a direction opposite to the Ethernet frame while transmitting the Ethernet frame; and The transfer token is transmitted to one of the other nodes based on a priority of the one or more other nodes.

26. The communication system of claim 22, wherein Ethernet speed is programmable based on a size of the flexible payload and a data rate of the bus link.