Coordination module and associated method for collision avoidance
By designing a coordination module between the MAC module and the PHY module of the multi-point bus network node, delaying the deassertion of the listening signal, the bus conflict problem is solved, and network efficiency and throughput are improved.
Patent Information
- Application Number
- CN202411292396.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-10-17
- Filing Date
- 2024-09-14
- Publication Date
- 2025-04-18
Smart Images

Figure CN119854062A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to multi-drop bus networks, and in particular, to an apparatus and associated method for collision avoidance of nodes of a multi-drop bus network. Background Art
[0002] Conflicts on the bus of a multi-drop bus network may result in reduced bus efficiency and throughput. The devices and associated methods described herein can address this problem. Summary of the invention
[0003] According to a first aspect of the present disclosure, there is provided a coordination module for a node of a multi-point bus network, the node comprising a MAC module and a PHY module, the coordination module comprising a circuit system, the circuit system being configured to:
[0004] receiving data from the MAC module for transmission via the PHY module on the multi-point bus network at a transmission opportunity of the node;
[0005] asserting a listening signal upon receiving the data from the MAC module; and
[0006] De-assertion of the sense signal is delayed after transmitting the data to facilitate transmission of additional data at a next transmission opportunity for the node.
[0007] In one or more embodiments, the coordination module may be configured to delay de-assertion of the listening signal in the absence of intervening transmissions from other nodes of the multi-point bus network until a predefined wait time of the MAC module prior to the next transmission opportunity of the node.
[0008] In one or more embodiments, in the event that an intervening transmission from another node of the multi-point bus network occurs after the transmission of the data, the coordination module may be configured to delay de-assertion of the sense signal after the intervening transmission until a predefined wait time before the next transmission opportunity. This assumes that the time between the end of the intervening transmission and the start of the next transmission opportunity is longer than the wait time, otherwise it would not be possible to utilize the next transmission opportunity.
[0009] In one or more embodiments, in the event that an intervening transmission from another node of the multi-point bus network occurs after the transmission of the data, the coordination module may be configured to:
[0010] deasserting the listening signal;
[0011] receiving the additional data from the MAC module;
[0012] asserting a conflict signal upon receiving the additional data from the MAC module to cause the MAC module to stop continuing to send the additional data; and
[0013] The listening signal is controlled to cause the MAC module to resend the additional data as part of a retransmission attempt so that the additional data is transmitted at a next transmission opportunity of the node.
[0014] In one or more embodiments, in the event that an intervening transmission from another node of the multi-point bus network occurs after the transmission of the data, the coordination module may be configured to:
[0015] de-asserting the snoop signal upon detecting the intervening transmission; and
[0016] The snoop signal is kept de-asserted until the additional data is received from the MAC module.
[0017] In one or more embodiments, the coordination module may be configured to:
[0018] re-asserting the snoop signal upon receipt of the additional data from the MAC module; and
[0019] The listening signal is maintained asserted until the additional data can be transmitted at a next transmission opportunity as part of the retransmission attempt, at which time the listening signal may be de-asserted by the coordination module.
[0020] In one or more embodiments, the MAC module may be configured to delay the retransmission of the additional data for a waiting time after the listening signal is de-asserted, and the coordination module may be configured to transmit a fill sequence during the waiting time of the MAC module to prevent the next transmission opportunity of the node from timing out.
[0021] In one or more embodiments, in the absence of intervening transmissions from all other nodes, the time between the transmission opportunity and the next transmission opportunity of the node may be equal to or greater than the waiting time of the MAC module.
[0022] In one or more embodiments, the waiting time of the MAC module may be equal to a packet gap length.
[0023] In one or more embodiments, each transmission opportunity may have a duration no longer than one packet gap length.
[0024] In one or more embodiments, the MAC module may require a recovery time after assertion of the conflict signal, after which the MAC module may resend the additional data as part of the retransmission attempt, and the coordination module may be configured to wait at least the recovery time before deasserting the listening signal.
[0025] In one or more embodiments, the coordination module may be configured to determine the recovery time of the MAC module.
[0026] In one or more embodiments, the coordination module may be configured to determine the recovery time of the MAC module by monitoring a timing property of the MAC module or by obtaining the timing property from a register.
[0027] In one or more embodiments, the coordination module may be configured to receive a detection signal from the PHY module indicating activity from other nodes on the multi-point bus network, and to de-assert the listening signal when the detection signal indicates that an immediately preceding node in a bus schedule of the multi-point bus network is no longer active or has timed out to enable transmission of the additional data as part of a (re)transmission attempt.
[0028] In one or more embodiments, the multi-drop bus network may include at least three nodes.
[0029] In one or more embodiments, the data received from the MAC module may include multiple data frames within the same sequence for transmission at the transmission opportunity, and the coordination module may be configured to insert an active-idle sequence between adjacent data frames to prevent the multi-point bus network from becoming idle before the multiple data frames have been transmitted.
[0030] In one or more embodiments, the coordination module may be unbuffered.
[0031] According to a second aspect of the present disclosure, a node of a multi-point bus network is provided, the node comprising the coordination module, MAC module and PHY module of the first aspect.
[0032] In one or more embodiments, the multi-drop bus network may be an Ethernet network, the MAC module may be an Ethernet CSMA / CD MAC layer, and the PHY module may be a 10BASE-T1S PHY layer.
[0033] According to a third aspect of the present disclosure, a multi-point bus network is provided, comprising a plurality of nodes of the second aspect.
[0034] According to a fourth aspect of the present disclosure, there is provided a method for conflict avoidance of a node in a multi-point bus network, the node comprising a MAC module and a PHY module, the method comprising:
[0035] receiving data from the MAC module for transmission via the PHY module on the multi-point bus network at a transmission opportunity of the node;
[0036] asserting a listening signal upon receiving the data from the MAC module; and
[0037] De-assertion of the sense signal is delayed after transmitting the data to facilitate transmission of additional data at a next transmission opportunity for the node.
[0038] According to a fifth aspect of the present disclosure, a computer program is provided, comprising computer code, wherein the computer code is configured to control the coordination module of the first aspect, control the node of the second aspect, control the multi-point bus network of the third aspect, or execute the method of the fourth aspect.
[0039] Although the present disclosure allows various modifications and alternative forms, the details of the present disclosure have been shown in the drawings by way of example and will be described in detail. However, it should be understood that other embodiments outside the specific embodiments described are also possible. All modifications, equivalents and alternative embodiments falling within the spirit and scope of the appended claims are also encompassed.
[0040] The above discussion is not intended to represent every example embodiment or every implementation within the scope of the current or future claim sets. The following figures and detailed descriptions also illustrate various example embodiments. The various example embodiments can be more fully understood by considering the following detailed descriptions in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] One or more embodiments will now be described, by way of example only, with reference to the accompanying drawings, in which:
[0042] Figure 1 Shows the IEEE standard medium independent interface (MII) between the MAC module and the PHY module;
[0043] Figure 2 A coordination module between a MAC module and a PHY module is shown to avoid bus conflicts, wherein both the MAC module and the PHY module communicate with the coordination module using MII;
[0044] Figure 3 A coordination module having a data buffer between a MAC module and a PHY module is shown;
[0045] Figure 4 Shown by Figure 3The MAC module of the node attempts to transmit on a fully loaded bus;
[0046] Figure 5 Shown by Figure 3 A transmission attempt by a MAC module of a node where the transmission opportunity has timed out;
[0047] Figure 6 Shown by Figure 3 A transmission attempt made by the MAC module of the node, in which the consecutive transmission opportunities have timed out;
[0048] Figure 7 A coordination module is shown without a data buffer between the MAC module and the PHY module;
[0049] Figure 8 Shown by Figure 7 The MAC module of the node attempts to transmit on a fully loaded bus;
[0050] Fig. 9 Shown by Figure 7 A transmission attempt by a MAC module of a node where the transmission opportunity has timed out;
[0051] Fig.10 Shown by Figure 7 A transmission attempt made by the MAC module of the node, in which the consecutive transmission opportunities have timed out;
[0052] Fig.11 Shows the use of three nodes instead of four nodes Fig.10 transmission attempts;
[0053] Fig.12 Show Figure 8 transmission attempt of the other node, wherein if there are no frames pending for retransmission, a snoop signal to the MAC module remains de-asserted during transmission by other nodes;
[0054] Fig.13 Show Fig. 9 a transmission attempt by the other node, wherein if there are no frames pending for retransmission, a snoop signal to the MAC module remains de-asserted during transmission by the other node;
[0055] Fig.14 Show Fig.10 a transmission attempt by the other node, wherein if there are no frames pending for retransmission, a snoop signal to the MAC module remains de-asserted during transmission by the other node;
[0056] Fig.15 A method of conflict avoidance for nodes of a multi-point bus network is shown; and
[0057] Fig.16is shown to include being configured to control, execute or enable Fig.15 A computer readable medium containing a computer program for the method. DETAILED DESCRIPTION
[0058] Ethernet Standards
[0059] Although the recent focus of Ethernet development has been on high data rates, not every application requires speeds of up to 400Gbps. For some applications, including the Internet of Things (IoT), industrial and automotive, 10Mps is sufficient for certain functions. For these use cases, factors such as cost, weight, distance and space required for cables are more important.
[0060] Recognizing these evolving requirements, the IEEE began defining IEEE 802.3cg, a single-pair Ethernet standard supporting 10Mbps, in early 2017. The goal of IEEE 802.3cg is to define short-range standards for point-to-point and multipoint with a maximum length of 25 meters, as well as a long-range point-to-point standard supporting distances up to 1,000 meters. The resulting IEEE 802.3cg specification includes two link layer standards: 10BASE-T1S and 10BASE-T1L.
[0061] The 10BASE-T1S short-range standard is primarily targeted at automotive and industrial applications. Multiple nodes on the network can share the cable in half-duplex shared media mode (multipoint mode) using the standard Ethernet Carrier Sense Multiple Access and Collision Detection (CSMA / CD) access method, or operate using PHY-level collision avoidance (PLCA). The cable can be an unshielded twisted pair (UTP) that can have multiple nodes with a media dependent interface (MDI) attached to them. Therefore, 10BASE-T1S can also be referred to as multi-point single-pair Ethernet.
[0062] The 10BASE-T1L long-range option is designed for IoT and industrial control applications. The 1,000-meter range is sufficient for use in large factories or warehouses, and 10Mbps is sufficient to collect data from sensors and monitor and control many types of industrial machinery. It shares the advantages of the short network variant: MAC-level compatibility with multi-pair Ethernet, as well as lower cost, weight, and required space.
[0063] The following description refers to the 10BASE-T1S standard, but may also be applicable to other (including future) networking standards, and thus is not necessarily limited to Ethernet or 10BASE-T1S.
[0064] Technical issues
[0065] Figure 1The carrier sense multiple access and collision detection (CSMA / CD) medium access control (MAC) protocol is shown. CSMA / CD uses carrier sense (CRS) to delay transmission until no other nodes on the network are transmitting. When the PHY module / layer of a node detects a collision (CRS=1), the PHY module / layer stops transmitting the frame, asserts a collision signal (COL=1) to the MAC module / layer of the node, and waits until the bus is silent before deasserting the listening signal (CRS=0). The MAC module keeps transmitting for a predefined (blocking) time to ensure that all nodes on the bus will observe the collision, then stops transmitting and waits until the listening signal (CRS-M) is deasserted, and then attempts to resend the frame to the PHY module for retransmission on the bus. The first retransmission attempt occurs one IPG time after the listening signal (CRS) is deasserted again. However, if this will result in another collision, the MAC module introduces a random variable backoff time starting from the second retransmission attempt to avoid infinitely repeated collisions.
[0066] The problem with CSMA / CD is that when the bus is quiet, multiple nodes may attempt to transmit data on the bus simultaneously. This results in collisions, corrupted data, timeouts, and loss of bus capacity, which in turn may cause the effective bus throughput to drop significantly or even completely collapse as the total bus load approaches the maximum bus capacity (e.g., becomes approximately 70% of the maximum bus capacity).
[0067] Figure 2 An example of a collision avoidance mechanism developed to increase bus capacity is shown. This mechanism is called physical layer collision avoidance (PLCA) and uses a coordination module / layer connected between the MAC module and the PHY module using the corresponding IEEE standard media independent interface (MII). Each MII may include the same set of pins: transmit data (TXD[3:0]), transmit enable (TXEN), transmit error (TXER), receive data (RXD[3:0]), received data valid (RXDV), receive error (RXER), collision detection (COL) and carrier sense (CRS), and in addition two clock signals (TXCLK and RXCLK, not shown), as defined in IEEE802.3 Clause 22.
[0068] PLCA uses a round-robin scheme in which nodes are numbered and have the opportunity to transmit one at a time starting from a dedicated time slot (or transmission opportunity) in a round-robin manner based on their number. One node is assigned as the head node (or PLCA coordinator) and each cycle begins with a beacon. If a node does not transmit data at its transmission opportunity, the transmission opportunity is passed to the next node. The coordination module knows when its node's transmission opportunity occurs based on the node number, and manages the MAC module using conflict (COL-M) and listen (CRS-M) signal manipulation to prevent the MAC module from sending data that cannot be transmitted by the PHY module. In this way, the coordination module passes data to the PHY module only when there is a transmission opportunity. Therefore, the combination of the round-robin scheme and the coordination module avoids conflicts on the bus. Since there should be no conflict events for the PHY module to report, the COL-P pin becomes functionally redundant (and therefore in Figure 3 bus), but can still be used to detect real bus problems.
[0069] Figure 3 An example of a PLCA mechanism involving a coordination module having a data buffer (e.g., a first-in, first-out buffer) is shown. The data buffer addresses a scenario where the coordination module begins receiving data from the MAC module shortly before a node's transmission opportunity. In this scenario, the data has been sent from the MAC module too early to be transmitted immediately, but too late for the coordination module to signal a conflict and retransmit the data in time for the upcoming transmission opportunity. Therefore, the data buffer enables the coordination module to temporarily store data sent from the MAC module so that the data can be passed to the PHY module for transmission at the upcoming transmission opportunity.
[0070] Figure 4 Shows the use of the MAC module by the node Figure 3 1. Transmission attempts (MAC-TXDATA) on a fully loaded bus with a collision avoidance mechanism, where frames are available in the MAC modules of the respective nodes in time to take advantage of each transmission opportunity. In this figure, four nodes are transmitting data on the bus, where each node transmits a single data frame at each of its respective transmission opportunities. The numbering of the nodes is provided for illustrative purposes and is non-limiting (e.g., in practice, the head node may be numbered "0"). The first transmission attempt of node 2 for data frames 1-3 is denoted F1-F3, respectively, and the second (re)transmission attempt is denoted F1'-F3', respectively.
[0071] The coordination module receives a detection signal (CRS-P) from the PHY module indicating transmission activity detected on the bus. The detection signal substantially follows the bus schedule, but with a slight delay, depending on the responsiveness of the PHY module to detect and report bus activity. The coordination module is configured to de-assert the listening signal (CRS-M) whenever the detection signal (CRS-P) is de-asserted, unless the MAC module has made an earlier transmission attempt for the same frame, as described below.
[0072] The MAC module is configured to send data to the coordination module whenever the MAC module has a pending frame for transmission and the listening signal (CRS-M) has been de-asserted by the coordination module. However, in order to ensure the minimum gap between frames of most Ethernet PHY types, the MAC module will delay the waiting time for sending data to the coordination module after the de-assertion of the listening signal (CRS-M). In this example shown, the waiting time of the MAC module is equal to the packet gap (IPG) length (e.g., 12 bytes). Then, the coordination module re-asserts the listening signal (CRS-M) again when receiving data from the MAC module or when detecting activity on the bus via the detection signal (CRS-P). In the example shown in this article, the de-assertion of the listening signal (CRS-M) is directly related to the de-assertion of the detection signal (CRS-P), but the re-assertion of the listening signal (CRS-M) is slightly delayed relative to the re-assertion of the detection signal (CRS-P). This is intended to help ensure that the MAC module sends pending data after the waiting time, even if the transmission opportunity is shorter than 1 IPG (but this may not be necessary). Therefore, the re-assertion of the listening signal (CRS-M) may also be directly related to the re-assertion of the detection signal (CRS-P).
[0073] When the listening signal (CRS-M) is deasserted, data from the MAC module is buffered in the coordination module, provided that the buffer does not overflow. If the transmission attempt made by the MAC module cannot be fully aligned with the transmission opportunity of the node using the buffer, the coordination module is configured to assert the conflict signal (COL-M) to stop the MAC module from continuing to send data. This occurs by default when another node starts transmitting a data frame on the bus and the detection signal (CRS-P) is asserted. The coordination module then deasserts the conflict signal (COL-M). The conflict signal (COL-M) only needs to be asserted long enough to be recognized by the MAC module, and ideally should be as short as possible (e.g., one clock cycle) to avoid any time loss before recovery.
[0074] After the collision signal (COL-M) is asserted by the coordination module, the listening signal (CRS-M) is not immediately de-asserted. This is for two reasons. First, the MAC module requires a recovery time (CR) after the assertion of the collision signal, and then the MAC module can resend the data as part of the upcoming transmission attempt. Secondly, it is more efficient for the bus to try and ensure that the retransmission attempt is synchronized with the upcoming transmission opportunity to avoid any additional delay in transmitting the data frame. To achieve this, the listening signal (CRS-M) remains asserted until the data can be transmitted directly at the upcoming transmission opportunity without buffering, and then is de-asserted after the recovery time of the MAC module to enable the transmission.
[0075] The data frame is then passed by the coordination module to the PHY module for transmission (PHY-TXDATA) starting from the upcoming transmission opportunity. It should be mentioned that the transmission opportunity can be relatively short (e.g., shorter than the IPG length) and generally does not provide enough time for a node to transmit a complete frame. Instead, they provide a time slot or window for a node to claim the bus before the opportunity times out and the next node has a chance. A node can claim the bus during a transmission opportunity by starting to transmit a data frame or a fill sequence (SYNC symbol). For example, the coordination module can be configured to transmit a SYNC symbol on the bus via the PHY layer module during the waiting time of the MAC module. Once the bus has been claimed by a node, the node can continue to transmit any frame size or even multiple data frames (if configured to allow this).
[0076] exist Figure 4 In the example of FIG. 1 , the upcoming transmission opportunity of frame 1 of node 2 is the next transmission opportunity on the bus schedule after the (virtual) collision. On the other hand, for frames 2 and 3 of node 2, there are intervening transmission opportunities of other nodes on the bus schedule. Since the coordination module keeps the listening signal (CRS-M) asserted until the frame can be retransmitted at the corresponding upcoming transmission opportunity, the de-assertion of the listening signal (CRS-M) that would otherwise follow the detection signal (CRS-P) from the PHY module is skipped.
[0077] Figure 5 Shows the use of the MAC module by the node Figure 3 The conflict avoidance mechanism of the bus is used to avoid additional transmission attempts. Figure 4Unlike the example of , one of the transmission opportunities of node 2 has timed out. This is because frame 3 of node 2 only becomes available in the MAC module at some time during the transmission of frame 3 of node 1. Since the MAC module will delay the waiting time of one IPG to send data to the coordination module after the de-assertion of the listening signal (CRS-M), if the transmission opportunity ends within about 1 IPG length after the de-assertion of the listening signal (CRS-M), there is not enough time for the node to start transmitting frame 3 in the upcoming transmission opportunity. Therefore, the coordination module asserts the collision signal (COL-M) and the listening signal (CRS-M), and keeps the listening signal (CRS-M) asserted until the next transmission opportunity of the node is detected, at which time the listening signal is de-asserted to enable the transmission of the frame on the bus. It is worth noting here that although the coordination module can temporarily store a limited amount of data in the buffer, if any other node transmits data between the transmission opportunities of this node, the buffer is refreshed (otherwise, a large buffer will be required in the coordination module to store the complete frame). For this reason, Frame 3 cannot be stored in the buffer in preparation for the next transmission opportunity of Node 2 (hence, the collision signal is asserted and the first transmission attempt is aborted).
[0078] Figure 6 Shows the use of the MAC module by the node Figure 3 In this example, the consecutive transmission opportunities of nodes 3, 4, and 1 have each timed out, leaving node 2 the only node transmitting on the bus for the duration. This is referred to herein as a "boomerang transmit opportunity" for node 2, where the transmission opportunity of this node returns without any intervening transmissions from other nodes.
[0079] As shown, one IPG length after the listening signal (CRS-M) is deasserted after node 1 transmits the first frame, the MAC module of node 2 attempts to transmit frame 1. Since this is too late for transmission at the upcoming transmission opportunity of node 2, the coordination module temporarily stores frame 1 in a buffer until the next transmission opportunity arrives, at which time frame 1 is transmitted on the bus by the PHY module. This is only possible because there are no intervening transmissions from other nodes, otherwise the buffer would have been flushed and the conflict signal would have been asserted (according to Figure 5). The result is that the transmission of frames 1-3 by node 2 is delayed by the buffer until the corresponding transmission opportunity of the node, without any retransmission attempt by the MAC module. In contrast, the collision signal (COL-M) is asserted for frames 4 and 5, because frames 4 and 5 are received from the MAC module in the presence of intervening transmissions by other nodes. Therefore, similar to the previous example, these frames are retransmitted at the next transmission opportunity.
[0080] Although the PLCA mechanism successfully avoids conflicts on the bus by preventing transmissions outside of a node's scheduled transmission opportunities, the use of data buffers in the coordination module complicates the system and the benefits of using data buffers in the coordination module are lost when the MAC module attempts to send more data than the buffer can temporarily store before the data can be transmitted on the bus, or when any other node transmits a frame. In addition, the time period during which data is transmitted too early from the MAC module but too late to retransmit after a virtual conflict is relatively short relative to the total bus cycle time. In view of the above, it may be difficult to justify the additional cost and complexity associated with the data buffer.
[0081] Embodiments of the present disclosure
[0082] Figure 7 An example of a conflict avoidance mechanism involving a coordination module (or layer) is shown, which avoids conflicts on the bus without the need for a data buffer. As in the previous example, the coordination module is configured to receive data sent from the MAC module (or layer) for transmission on the multi-point bus network via the PHY module (or layer) at the node's transmission opportunity. The MAC module is configured to send data to the coordination module whenever the MAC module has a frame pending for transmission, the listening signal (CRS-M) has been de-asserted by the coordination module, and the waiting time has passed after the de-assertion of the listening signal (CRS-M).
[0083] Moreover, in the event that data is received from the MAC module but cannot be transmitted via the PHY module, the coordination module is configured to assert a conflict signal (COL-M), keep the listening signal (CRS-M) asserted until data can be transmitted at an upcoming transmission opportunity, and then de-assert the listening signal (CRS-M) at the upcoming transmission opportunity to enable the transmission.
[0084] However, a key difference from earlier collision avoidance mechanisms occurs when intervening transmissions from other nodes of the multipoint bus network prior to the node's next transmission opportunity are skipped (i.e., timed out). It should be noted that when the detection signal (CRS-P) from the PHY module is de-asserted for the first transmission attempt, the coordination module is not required to immediately de-assert the listening signal (CRS-M). With this collision avoidance mechanism, the coordination module is configured to delay de-assertion of the listening signal (CRS-M) after transmitting data to facilitate transmission of additional data at the node's next transmission opportunity.
[0085] Figure 8 Show the use Figure 7 The collision avoidance mechanism of FIG. 10A is used to avoid the transmission attempt (MAC-TXDATA) made by the MAC module of a node (in this example, Node 2) and the associated data transmission (PHY-TXDATA) made by the PHY module of the node on a fully loaded bus to Figure 4 For comparison. Although the bus schedule is shown as having a fixed bus cycle time and a fixed frame length for a node, this is only an example and is not required. In this figure, the latency of each MAC module is equal to one IPG length.
[0086] like Figure 8 As shown in FIG, the de-assertion of the sense signal (CRS-M) is intentionally delayed after the transmission of Frame 1 of Node 2. However, since Node 3 uses its first transmission opportunity to transmit its first data frame, the sense signal (CRS-M) follows the detection signal (CRS-P) and is de-asserted immediately after the transmission of Frame 1 of Node 3. This causes the MAC module to send Frame 2 for transmission one IPG length later, thereby causing the coordination module to assert the collision signal (COL-M) and retransmit the frame at the next transmission opportunity (similar to Figure 4 ). The procedure is then repeated for frames 2 and 3 of node 2.
[0087] Compared to the case where the coordination module has a data buffer Figure 4 In the example of , the transmission attempt (MAC-TXDATA) made by the MAC module of node 2 and the resulting transmission (PHY-TXDATA) on the bus are unchanged. This shows that the de-assertion of the delayed sense signal (CRS-M) after the transmission frame has no effect on the bus when all other nodes take advantage of their transmission opportunities.
[0088] Fig. 9 The MAC module of node 2 uses Figure 7 The transmission attempt of the collision avoidance mechanism is to Figure 5 For comparison. Similar to Figure 5In the example, the transmission opportunity of frame 3 of node 2 times out because the frame arrives too late to be used for transmission at the upcoming transmission opportunity. Also, similar to Figure 8 , the intervening transmissions by nodes 3, 4, and 1 mean that the delayed de-assertion of the snoop signal (CRS-M) after the transmission of frames 1 and 2 by node 2 does not affect the bus.
[0089] Fig.10 The MAC module of node 2 uses Figure 7 The additional transmission attempts by the collision avoidance mechanism are Figure 6 Again, the consecutive transmission opportunities of nodes 3, 4, and 1 have each timed out, leaving node 2 as the only node transmitting on the bus for the duration (i.e., the boomerang transmission opportunity). However, this time, rather than buffering frame 1 that was received from the MAC module too late to be used for transmission at the upcoming transmission opportunity, the coordination module asserts a collision signal (COL-M) to abort the transmission and a control sense signal (CRS-M) to cause a retransmission of the frame at the next transmission opportunity.
[0090] Then, after transmitting Frame 1, the de-assertion of the sense signal (CRS-M) is delayed until one IPG length before the node's next transmission opportunity. Therefore, the coordination module receives Frame 2 immediately after the MAC module's wait time, and the frame is then passed to the PHY module for transmission on the bus at the next transmission opportunity. This is repeated for Frame 3 of Node 2. It is also worth noting here that since Frames 2 and 3 are transmitted on the first transmission attempt, the coordination module does not claim the bus by sending an additional SYNC symbol to the PHY module as it does for the retransmission of Frame 1 (each transmission starts with at least 2 SYNC symbols as part of the standardized format). The use of additional SYNC symbols in this way only occurs for retransmissions because the coordination module knows for sure that the frame is from the MAC module and needs to claim the bus to take advantage of the transmission opportunity.
[0091] Although the sense signal (CRS-M) is also delayed after node 2 transmits frame 3, the intervening transmission of frame 2 by node 3 causes the sense signal (CRS-M) to follow the detection signal (CRS-P) received from the PHY module. Therefore, the sense signal (CRS-M) is de-asserted immediately after the intervening transmission. Since frame 4 of node 2 is available in the MAC module at this time, frame 4 is then sent to the coordination module after the (one IPG) waiting time of the MAC module, which triggers a virtual collision (COL-M) and a retransmission of the frame at the upcoming transmission opportunity.
[0092] like Fig.10As shown in frames 2 and 3 of node 2 in FIG. 1 , de-assertion of a delayed sense signal (CRS-M) after transmitting a frame at one transmission opportunity of the node may enable transmission of subsequent frames at the next transmission opportunity without buffering, without additional SYNC symbols, or without the need to abort (using COL-M) and retransmit the subsequent frames. As described, this only occurs if other nodes skip their transmission opportunities before the node's next transmission opportunity.
[0093] Since the coordination module does not assert the conflict signal (COL-M) in this scenario, there is no need to adapt the recovery time (CR) of the MAC module between adjacent transmission opportunities of the node. Therefore, the minimum required time between adjacent transmission opportunities of a node is the waiting time of the MAC module after the de-assertion of the listening signal (CRS-M), which in the example shown is only one IPG length.
[0094] The minimum time requirement also specifies the minimum number of nodes required for this collision avoidance mechanism to provide benefit. The duration of a transmission opportunity is a variable set by the system integrator and depends on several parameters. However, in practice, the duration is likely to be about 0.5 IPG lengths. Fig.10 In the example of FIG. 5 , there are four nodes on the multipoint bus network, where three intervening nodes (nodes 3, 4, and 1) skip their corresponding transmission opportunities between the transmissions of frames 1, 2, and 3 of node 2. Assuming that each node's transmission opportunity is 0.5 IPG lengths, this provides a duration of 1.5 IPG lengths for the boomerang transmission opportunity of node 2, which satisfies the one IPG length waiting time of the MAC module.
[0095] Fig.11 Shown with Fig.10 A similar scenario, but with three nodes (nodes 1-3) instead of four on a multi-point bus network. This example shows that delaying the de-assertion of the sense signal (CRS-M) after a transmission frame until the MAC module's wait time before the node's next transmission opportunity still enables the transmission of subsequent frames without buffering, without virtual collisions (COL-M), or without extra SYNC symbols, even with only two intervening skipped transmission opportunities. This is because when nodes 3 and 1 are silent, a transmission opportunity of 0.5 IPG length provides a duration of one IPG length between adjacent transmission opportunities of node 2, which is the minimum duration required to meet the wait time of this particular MAC module. It should be noted that even if a collision has been indicated, the coordination module can be configured to declare the bus at the upcoming transmission opportunity and send SYNC symbols until the MAC module is ready to retransmit. This is possible because once the coordination module has asserted the collision signal (COL-M), the coordination module knows that a frame is pending.
[0096] Figure 7 The collision avoidance mechanism can be extended even further. Fig.10 and Fig.11 In the example shown in , all intervening transmission opportunities of other nodes are skipped between the transmissions of frames 1, 2, and 3 by node 2, thereby providing a boomerang transmission opportunity for this node. However, a boomerang transmission opportunity is not essential, and delayed de-assertion of the sounding signal (CRS-M) may be applied even if there is an intervening transmission from another node, as long as one or more previous transmission opportunities of other nodes are skipped (the number required will depend on the length of the transmission opportunity). For example, if Fig.10 Node 3 in the example uses its transmission opportunity between the transmission of frames 1 and 2 by node 2, but nodes 4 and 1 do not. Then, assuming that the transmission opportunity duration is 0.5 IPG lengths, there is still one IPG length before the next transmission opportunity of node 2. This is sufficient to satisfy Fig.11 In this case, the coordination module may be configured to delay de-assertion of the sounding signal (CRS-M) after an intervening transmission (frame 2 of node 3 in this example) until a predefined waiting time before the next transmission opportunity.
[0097] Rather than delaying de-assertion of the listening signal (CRS-M) in the event of an intervening transmission (i.e., no boomerang transmission opportunity), the coordination module may alternatively be configured to de-assert the listening signal (CRS-M) upon detection of an intervening transmission and to keep the listening signal de-asserted until additional data is received from the MAC module.
[0098] Figure 12-14 This alternative method is shown separately with Figure 8-Figure 10 A direct comparison is made. Whenever another node is transmitting on the bus, the assertion of the listening signal (CRS-M) blocks the MAC module from the first transmission attempt of a data frame, which is unavailable when the listening signal (CRS-M) is de-asserted. However, keeping the listening signal (CRS-M) de-asserted as much as possible means that the MAC module can initiate the first transmission attempt for the next frame whenever data becomes available (even after the waiting time) without being blocked by the transmission of other nodes. That is, the assertion and de-assertion of the listening signal (CRS-M) after the virtual collision is not affected, and follows the behavior described previously to enable the transmission of the data frame at the second transmission attempt.
[0099] Although the illustrated example shows that each transmission opportunity is limited to the transmission of a single data frame, a node may also transmit multiple data frames within a single sequence starting from a transmission opportunity. To allow this, the coordination module may be configured to insert an active-idle sequence between adjacent data frames in the sequence to prevent the bus from becoming idle before multiple data frames have been transmitted. Note that in this scenario, the listen signal to the MAC module is de-asserted after each frame, while the signal driven on the bus is active-idle. This is done to ensure that the MAC module keeps sending frames until a predefined maximum number of frames in the burst. Once the maximum number is reached, any additional frames will be blocked by indicating a conflict to the MAC module, where a retransmission is performed at the next transmission opportunity. If the number of frames for the MAC module is less than the maximum allowed number of frames available for transmission as a burst, the transmission will time out and stop driving active-idle.
[0100] Each node of the multi-point bus network described herein may include a MAC module, a PHY module, and a coordination module. The multi-point bus network may be an Ethernet network, the MAC module may be an Ethernet CSMA / CD MAC layer, and the PHY module may be a 10BASE-T1S PHY layer. Figure 7 The coordination module described does not require a data buffer; the coordination module may be unbuffered. Even in the "unbuffered" example where there is no data buffer for storing the first portion of a frame until the next transmission opportunity, the coordination module may still include a small buffer of a few bits in size to facilitate parsing of data between layers / modules of the Ethernet protocol. However, even if the coordination module includes a data buffer (e.g., Figure 3 ), the associated collision avoidance mechanism still applies. As mentioned previously, one possible advantage of maintaining a data buffer in the coordination module is that if the buffered data is immediately available for transfer to the PHY module, the cutoff point for deciding whether to retransmit data from the MAC module at the first upcoming transmission opportunity or whether to defer retransmission until the second upcoming transmission opportunity can be closer to the start of the first upcoming transmission opportunity.
[0101] It should be noted here that the head node of the 10BASE-T1S bus utilizing PLCA transmits a beacon to indicate the start of a new bus cycle. This also allows other nodes to synchronize and detect how many nodes are present on the bus (node count before the cycle restarts). For simplicity, beacons are not included in the figure, but the presence of beacons does not hinder the applicability of the ideas / concepts described in this article. However, beacons should not be considered to interfere with data transmission, and the de-assertion moment of the boomerang transmission opportunity should take into account the duration of the beacon.
[0102] Although the coordination module (or layer) has been described herein with reference to the MAC and PHY modules (or layers), the coordination module may be formed independently of the other modules and incorporated into the node during a subsequent modular assembly process. In some cases, the coordination module may even be retrofitted to an existing node. Alternatively, the coordination module may be integrated with other modules of the node at the time of manufacture (e.g., as a different part / portion of the same chip). One or more (or each) modules may include a circuit system including at least one processor and at least one memory including computer program code. The at least one memory and computer program code may be configured to, together with the at least one processor, cause the module to perform the associated functionality described herein.
[0103] Fig.15 The main steps of the method for conflict avoidance of nodes in a multi-point bus network are schematically shown. As shown in the figure, the method comprises:
[0104] receiving data from the MAC module for transmission via the PHY module on the multi-point bus network at a transmission opportunity of the node;
[0105] asserting a listening signal upon receiving the data from the MAC module; and
[0106] De-assertion of the sense signal is delayed after transmitting the data to facilitate transmission of additional data at a next transmission opportunity for the node.
[0107] Fig.16 Schematically illustrates a computer / processor readable medium providing a computer program according to an example. The computer program may include computer code configured to execute, control or enable the use of the coordination module described herein. Fig.15 In this example, the computer / processor readable medium is an optical disc, such as a digital versatile disc (DVD) or a compact disc (CD). In other embodiments, the computer / processor readable medium can be any medium that has been programmed in a manner to perform the functions of the present invention. The computer / processor readable medium can be a removable storage device, such as a memory stick or memory card (SD, mini SD, micro SD or nano SD) or an embedded or external non-volatile memory (e.g., flash memory or MRAM).
[0108] Unless a specific order is explicitly stated, the instructions and / or flow chart steps in the above figure may be executed in any order. Moreover, those skilled in the art will recognize that although an example instruction set / method has been discussed, the materials in this specification may be combined in a variety of ways to produce other examples and should be understood within the context provided in this specific embodiment.
[0109] In some example embodiments, the instruction set / method steps described above are implemented as functions and software instructions embodied as an executable instruction set, which is implemented on a computer or a machine programmed and controlled with the executable instructions. Such instructions are loaded for execution on a processor (e.g., one or more CPUs). The term processor includes a microprocessor, a microcontroller, a processor module or subsystem (including one or more microprocessors or microcontrollers), or other control or computing devices. A processor may refer to a single component or multiple components.
[0110] In other examples, the instruction sets / methods shown herein and the data and instructions associated therewith are stored in corresponding storage devices, which are implemented as one or more non-transitory machine or computer readable or computer usable storage media. Such computer readable or computer usable storage media are considered to be part of an article (or product). An article or product may refer to any manufactured single component or multiple components. One or more non-transitory machine or computer usable media as defined herein do not include signals, but such one or more media are capable of receiving and processing information from signals and / or other temporary media.
[0111] Example embodiments of the materials discussed in this specification may be implemented in whole or in part via network, computer or data-based devices and / or services. These may include the cloud, the Internet, an intranet, a mobile device, a desktop computer, a processor, a lookup table, a microcontroller, a consumer device, an infrastructure, or other enabling devices and services.
[0112] In one example, one or more instructions or steps discussed herein are automatic. The term automation or automatic (and similar variations thereof) means the use of computers and / or mechanical / electrical devices to control the operation of equipment, systems and / or processes without human intervention, observation, effort and / or decision making.
[0113] It should be understood that any components that are said to be coupled may be coupled or connected directly or indirectly. In the case of indirect coupling, additional components may be placed between the two components that are said to be coupled.
[0114] In this specification, example embodiments have been presented in terms of a selected set of details. However, one of ordinary skill in the art will appreciate that many other example embodiments may be practiced that include different selected sets of these details. It is intended that the appended claims cover all possible example embodiments.
Claims
1. A coordination module for a node of a multipoint bus network, characterized in that: The node comprises a MAC module and a PHY module, and the coordination module comprises a circuit system, wherein the circuit system is configured to: receiving data from the MAC module for transmission via the PHY module on the multi-point bus network at a transmission opportunity of the node; asserting a listening signal upon receiving the data from the MAC module; as well as De-assertion of the sense signal is delayed after transmitting the data to facilitate transmission of additional data at a next transmission opportunity for the node.
2. The coordination module according to claim 1, characterized in that: The coordination module is configured to delay de-assertion of the sense signal in the absence of intervening transmissions from other nodes of the multi-point bus network until a predefined wait time of the MAC module before the next transmission opportunity of the node.
3. The coordination module according to claim 1, characterized in that: In the event that an intervening transmission from another node of the multi-point bus network occurs after transmitting the data, the coordination module is configured to delay de-assertion of the snoop signal after the intervening transmission until the predefined wait time before the next transmission opportunity.
4. The coordination module according to claim 1, characterized in that: In the event that an intervening transmission from another node of the multi-point bus network occurs after the transmission of the data, the coordination module is configured to: deasserting the listening signal; receiving the additional data from the MAC module; asserting a conflict signal upon receiving the additional data from the MAC module to cause the MAC module to stop continuing to send the additional data; as well as The listening signal is controlled to cause the MAC module to resend the additional data as part of a retransmission attempt such that the additional data is transmitted at the next transmission opportunity of the node.
5. The coordination module according to claim 4, characterized in that: In the event that an intervening transmission from another node of the multi-point bus network occurs after the transmission of the data, the coordination module is configured to: de-asserting the snoop signal upon detecting the intervening transmission; and The snoop signal is kept de-asserted until the additional data is received from the MAC module.
6. The coordination module according to claim 4 or 5, characterized in that: The coordination module is configured to: asserting the snoop signal upon receipt of the additional data from the MAC module; and The listening signal is maintained asserted until the additional data can be transmitted at the next transmission opportunity as part of the retransmission attempt, at which time the listening signal is de-asserted by the coordination module.
7. A node of a multipoint bus network, characterized in that: The node comprises the coordination module according to any of the preceding claims, the MAC module and the PHY module.
8. A multi-point bus network, characterized in that: Comprising a plurality of nodes according to claim 7.
9. A method for avoiding conflicts among nodes in a multipoint bus network, characterized in that: The node includes a MAC module and a PHY module, and the method includes: receiving data from the MAC module for transmission via the PHY module on the multi-point bus network at a transmission opportunity of the node; asserting a listening signal upon receiving the data from the MAC module; and De-assertion of the sense signal is delayed after transmitting the data to facilitate transmission of additional data at a next transmission opportunity for the node.
10. A computer program, characterized in that comprising computer code configured to perform the method according to claim 9.