METHOD OF OPERATING A PLURALITY OF COMMUNICATION NODES IN A 10BASE-T1S Ethernet NETWORK

By configuring multiple communication nodes in the 10BASE-T1S Ethernet network to implement the PLCA process and selecting candidate beacon generators, the problem of the PLCA cycle failing caused by the PLCA cycle cannot be started, and the stability and reliability of the network are achieved.

CN119788497APending Publication Date: 2025-04-08NXP BV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411285093.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-10-05
Filing Date
2024-09-13
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

In a 10BASE-T1S Ethernet network, if the beacon generator fails, the PLCA cycle cannot be started, resulting in a degradation of network performance and failing to meet the needs of time-sensitive communication.

Method used

By configuring multiple communication nodes to implement the Physical Layer Conflict Avoidance (PLCA) process and selecting candidate beacon generators in at least two of the communication nodes, the time delay elapsed since the last beacon was determined, and if the threshold value is exceeded, the candidate beacon generator is set as an in-use beacon generator to ensure the normal start of the PLCA cycle.

Benefits of technology

This method provides a redundant mechanism, even if a beacon generator fails during use, the network can continue to utilize the PLCA protocol to ensure the stability and reliability of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119788497A_ABST
    Figure CN119788497A_ABST
Patent Text Reader

Abstract

A method of operating a plurality of communication nodes in a 10BASE-T1S Ethernet network is provided. The plurality of communication nodes are configured to perform a physical layer collision avoidance, PLCA, procedure. At least two of the communication nodes are candidate beacon generators. The method includes, for each of the at least two candidate beacon generators, determining a time delay since a last received beacon, comparing the determined time delay to a threshold associated with the candidate beacon generator, and if the time delay exceeds the threshold, determining that the candidate beacon generator is not received. If yes, setting the candidate beacon generator as an in-use beacon generator; and the in-use beacon generator transmitting a beacon to define a start of the PLCA cycle, thereby triggering a transmission opportunity for each of the other communication nodes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a method of operating a plurality of communication nodes in a 10BASE-T1S Ethernet network. Summary of the invention

[0002] According to a first aspect of the present disclosure, there is provided a method of operating a plurality of communication nodes in a 10BASE-T1S Ethernet network, wherein the plurality of communication nodes are configured to implement a physical layer collision avoidance (PLCA) process, and wherein at least two of the communication nodes are candidate beacon generators, wherein the method comprises:

[0003] For each of the at least two candidate beacon generators, determining a time delay since a last received beacon, comparing the determined time delay to a threshold associated with the candidate beacon generator, and setting the candidate beacon generator as the active beacon generator if the time delay exceeds the threshold; and

[0004] The active beacon generator transmits a beacon to define the start of a PLCA cycle, thereby triggering a transmission opportunity for each of the other communication nodes.

[0005] Advantageously, this approach provides redundancy so that the Ethernet network can continue to utilize PHY Level Collision Avoidance (PLCA) even if the in-use beacon generator fails.

[0006] In one or more embodiments, each of the candidate beacon generators includes a nodeld.

[0007] In one or more embodiments, setting the candidate beacon generator as the in-use beacon generator includes assigning the nodeld of the candidate beacon generator as an activeBeaconGeneratorNodeld, the activeBeaconGeneratorNodeld identifying which communication node of the plurality of communication nodes should serve as the in-use beacon generator.

[0008] In one or more embodiments, setting a candidate beacon generator as the in-use beacon generator includes assigning a nodeld of zero to the candidate beacon generator.

[0009] In one or more embodiments, the method further comprises assigning a non-zero nodeld to each of the candidate beacon generators that is not the in-use beacon generator.

[0010] In one or more embodiments, assigning a zero nodeId to a candidate beacon generator comprises changing the nodeId from a previous value to zero. The method may further comprise:

[0011] determining whether the previous value corresponds to a last transmission opportunity in a PLCA cycle; and

[0012] If the previous value did correspond to the last transmission opportunity in the PLCA cycle, then plca_node_count is decreased by one.

[0013] In one or more embodiments, assigning a zero nodeId to a candidate beacon generator comprises changing the nodeId from a previous value to zero. The method may further comprise:

[0014] storing the previous value in memory; and

[0015] In response to another candidate beacon generator being set as the in-use beacon generator, the previous value is assigned as the nodeld of the candidate beacon generator.

[0016] In one or more embodiments, a different threshold is associated with each of the candidate beacon generators.

[0017] In one or more embodiments, the method further comprises:

[0018] determining whether each candidate beacon generator is in an awake mode of operation or an active mode of operation;

[0019] If the candidate beacon generator is in a wake-up mode of operation, comparing the determined time delay to a wake-up threshold of the candidate beacon generator;

[0020] If the candidate beacon generator is in an active mode of operation, the determined time delay is compared to an activity threshold of the candidate beacon generator.

[0021] In one or more embodiments, the activity threshold of the candidate beacon generator is different than the wakeup threshold of the candidate beacon generator.

[0022] In one or more embodiments, an activity threshold of a first candidate beacon generator is greater than a wakeup threshold of said first candidate beacon generator.

[0023] In one or more embodiments, an activity threshold of the second candidate beacon generator is shorter than a wakeup threshold of the second candidate beacon generator.

[0024] In one or more embodiments, a wake-up threshold of one of the candidate beacon generators is shorter than a wake-up threshold of another candidate beacon generator.

[0025] In one or more embodiments, the wake-up threshold is longer than a single PLCA cycle.

[0026] In one or more embodiments, the threshold is based on an integer multiple of the duration of a transmission opportunity; and / or the threshold is based on an integer multiple of the duration of a PLCA cycle.

[0027] Also disclosed is a network configured to perform any of the methods disclosed herein.

[0028] Also disclosed is a 10BASE-T1S Ethernet network comprising a plurality of communication nodes, wherein the plurality of communication nodes are configured to implement a physical layer collision avoidance (PLCA) procedure, and wherein at least two of the communication nodes are candidate beacon generators, wherein the network is configured to:

[0029] For each of the at least two candidate beacon generators:

[0030] Determine the time delay since the last received beacon,

[0031] comparing the determined time delay to a threshold value associated with the candidate beacon generator, and

[0032] If the time delay exceeds the threshold, setting the candidate beacon generator as the beacon generator in use;

[0033] Wherein the in-use beacon generator is configured to transmit a beacon to define the start of a PLCA cycle, thereby triggering a transmission opportunity for each of the other communication nodes.

[0034] Although the present disclosure allows various modifications and alternative forms, the details have been shown in the drawings by way of example and will be described in detail. However, it should be understood that other embodiments other than the described specific embodiments are also possible. All modifications, equivalents and alternative embodiments falling within the spirit and scope of the appended claims are also encompassed.

[0035] The above discussion is not intended to represent every example embodiment or every implementation within the scope of the current or future technical solution set. The following figures and specific implementations also illustrate various example embodiments. Considering the following detailed description in conjunction with the accompanying drawings, various example embodiments can be more fully understood. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] One or more embodiments will now be described, by way of example only, with reference to the accompanying drawings, in which:

[0037] Figure 1 depicting a communication network including a plurality of communication nodes;

[0038] Figure 2 An Ethernet communication network comprising two nodes is shown;

[0039] Figure 3schematically illustrates an example embodiment of various components of a 10BASE-T1S Ethernet network;

[0040] Figures 4 to 10 Schematically shown for describing Figure 3 timing diagrams of different operation scenarios of the network; and

[0041] Fig.11 An example of a method of operating a plurality of communication nodes in a 10BASE-T1S Ethernet network according to the present disclosure is shown. DETAILED DESCRIPTION

[0042] Modern cars include various electronic control units (ECUs) that implement, for example, engine control, powertrain control, airbag systems, anti-lock brake systems, cruise control, electric steering, audio systems, window control systems, door control systems, mirror adjustment systems, and battery and recharging systems for hybrid / electric cars. The ECUs communicate with each other in the car via in-vehicle network (IVN) technologies such as Ethernet.

[0043] Ethernet is a well-known technology, and the Institute of Electrical and Electronics Engineers (IEEE) 802.3 working group has defined a set of standards that define the physical layer and data link layer media access control (MAC) for wired Ethernet. An emerging IEEE standard that may be particularly suitable for in-vehicle networks is IEEE 802.3cg, a protocol for 10Mb / s single twisted pair Ethernet that enables multiple nodes to connect to the same twisted pair wiring, also known as the "shared medium."

[0044] The IEEE 802.3cg physical layer (PHY) uses CSMA / CD (Carrier Sense Multiple Access, Collision Detection) for media access control. When a collision occurs, there will be a random backoff. This random backoff increases after each collision. Multiple nodes back off, resulting in a large amount of delay when transmitting on the bus. When all nodes back off, there will also be a long idle time, which in turn allows another node to jump in. This results in a large loss of time that the bus may have been used, resulting in a large waste of available bandwidth. This is undesirable, so PHY level collision avoidance (PLCA) was introduced.

[0045] PLCA is a protocol defined in IEEE 802.3cg to provide deterministic performance in in-vehicle networks. For example, for PLCA in 10BASE-T1S, a beacon generator (also called a coordinator) is used to transmit a beacon at the beginning of a PLCA cycle. Other nodes on the bus use these beacons to determine when their individual transmission opportunities (TOs) occur so that they can transmit on the bus during the transmission opportunities without conflicts.

[0046] However, in a PHY Level Collision Avoidance (PLCA) bus, if a beacon generator (defined by the standard as a node with nodeId == 0) fails silently (e.g., it stops sending any data), the next PLCA cycle will not be started due to the lack of beacon transmission by the failed beacon generator. It does not matter whether all other nodes are still functional, because as defined in the standard, all other nodes will wait to receive a beacon before transmitting anything. This means that the correct operation of the PLCA bus is heavily dependent on the working beacon generator node.

[0047] According to the current IEEE 802.3cg standard, after 255 transmission opportunities (TO) without detecting a beacon, the PLCA mode is disabled and the nodes connected to the bus revert to the carrier sense multiple access / collision detection (CSMA / CD) mode, which, as mentioned above, may also be an unacceptable mode of operation. This is undesirable because: (1) the long timeout (255*TO_timeout (where TO_timeout = 20 bits @ 100ns), equals 510us); and (2) CSMA / CD is not deterministic due to its random backoff time due to collisions; and (3) due to the random backoff, less network segment bandwidth is available.

[0048] These issues represent problems for time-sensitive communications.

[0049] As will be discussed in detail below, examples of the present disclosure may address these issues by making PLCA more robust by selecting and utilizing an alternative beacon generator node after detecting that the original beacon generator node has ceased functioning.The examples described below may conform to the IEEE 802.3cg standard.

[0050] Figure 1 A communication network 100 is depicted that includes a plurality of communication nodes 104-1, 104-2, ..., 104-N (where N is an integer greater than one) communicating via a shared medium 102 such as twisted pair wiring. Figure 1In the embodiment of the present invention, each communication node includes a corresponding physical layer (PHY) device 106-1, 106-2, ..., 106-N (also called a transceiver) and a corresponding media access control (MAC) unit 108-1, 108-2, ..., 108-N. The communication network is configured to perform media access arbitration to orchestrate access to the shared media. The MAC unit supports collision detection (CSMA / CD), and PLCA (with and without QoS) is located in the reconciliation sublayer, which is usually part of the PHY device. The communication node can be an end node, which includes (for example) various electronic control units (ECUs) for engine control, powertrain control, airbags, anti-lock brakes, cruise control, electric steering, audio systems, windows, doors, rearview mirror adjustment, batteries and recharging systems for hybrid vehicles / electric vehicles, etc. The communication node can also be a node such as an Ethernet bridge. Although the illustrated communication nodes are shown herein as having certain components and described as having certain functionality, other embodiments of the communication nodes may include fewer or more components to implement the same, fewer, or more functionality.

[0051] In this example, the communication network 100 is an Ethernet network that utilizes CSMA / CD for media access control and is compatible with the IEEE 802.3cg protocol that currently specifies a physical layer of 10 Mb / s on a single twisted pair cable. The PHY devices 106-1, 106-2, ..., 106-N are configured to manage physical layer communication functions in accordance with the IEEE 802.3cg specification. For example, the PHY devices transmit analog signals to a shared medium and receive analog signals from a shared medium. The PHY devices can also protect other components in the node from extreme electrical conditions (e.g., electrical surges) that may occur on the shared medium.

[0052] The MAC units 108-1, 108-2, ..., 108-N are configured to perform media access control for the corresponding communication nodes 104-1, 104-2, ..., 104-N. The MAC units may be implemented within a processor, such as a microcontroller, a host processor, a host, a digital signal processor (DSP), or a central processing unit (CPU). In some examples, at least one of the MAC units is included within a PHY layer module of an IEEE 802.3cg compliant Ethernet communication device. Although the MAC units are shown in Figure 1 2 is shown as being included in the corresponding communication node, but in some embodiments, the MAC unit may be separated from the corresponding communication node.

[0053] Figure 2An Ethernet communication network is shown including two nodes, node A 204 - 1 and node B 204 - 2 , in an Ethernet-based in-vehicle network, for example compliant with IEEE 802.3cg. Figure 2 Also depicted are the layers of the OSI reference model 240 and an expanded view of the physical layer and the data link layer. Figure 2 As shown, the OSI reference model includes a physical layer (also known as layer 1 or L1), a data link layer (also known as layer 2 or L2), a network layer (also known as layer 3 or L3), a transport layer (also known as layer 4 or L4), a session layer (also known as layer 5 or L5), a presentation layer (also known as layer 6 or L6), and an application layer (also known as layer 7 or L7). The elements in the expanded diagram of the physical layer include a media-dependent sublayer of a transmission medium 206, a media-dependent interface (MDI) 242, an auto-negotiation layer (AN2) 244, a physical medium attachment (PMA) 246, a physical coding sublayer (PCS) 248, a media-independent sublayer of a media-independent interface (MII) 250, and a reconciliation sublayer 252. The reconciliation sublayer 252 may include a 10BASE-T1S PLCA. The 10BASE-T1S specification was developed as part of the IEEE 802.3cg standard released in February 2020. 10BASE-T1S provides the missing link in the automotive Ethernet ecosystem, enabling true Ethernet-to-edge connectivity and addressing the need for regional architectures.

[0054] Figure 3 Depicts an expanded view of a communication network 300 including three communication nodes 304-1, 304-2, and 304-3 communicating on a shared medium 302 in accordance with the IEEE 802.3cg standard. Figure 3 As shown, each communication node includes a PHY device 306, a receiving component of a MAC unit (referred to as RX MAC 312), a receive FIFO 314, an end node function 316, a transmission quality of service (QoS) queue 318, a frame selector 320, and a transmission component of a MAC unit (referred to as TX MAC 322). In this example, the PHY device 306 of the communication network implements PLCA on an IEEE 802.3cg 10BASE-T1S network in multi-point mode. PLCA is implemented at the physical layer and can be integrated with the reconciliation sublayer 252 ( Figure 2 ) integration. When PLCA is used, the operating principle of PLCA is that each PHY device is assigned a node identifier (nodeID) that is unique across the shared medium, and the PHY device can only transmit data during specific sorted time slots corresponding to its corresponding ID. These sorted time slots can be called transmission opportunities (TOs).

[0055] Figure 3An example embodiment of various components of a 10BASE-T1S Ethernet network is schematically shown. The network in this example includes seven communication nodes 300-306, each of which has a unique nodeID (i.e., node identifier) ​​in the range of 0 to 6. Each of the communication nodes 300-306 is connected to a PHY level collision avoidance (PLCA) bus 307. Therefore, the plurality of communication nodes 300-306 are configured to implement a PLCA process.

[0056] At least two of the communication nodes 300-306 are candidate beacon generators. That is, they are capable of transmitting a beacon to define the start of a PLCA cycle. Figure 3 In the example of, the first node 300 and the last node 306 are candidate beacon generators. This is represented by these nodes 300,306 shown by the dotted line / dash-dot outline. In other examples, there may be more than two candidate beacon generators. As will be discussed in detail below, one of the candidate beacon generators can be operated as a beacon generator in use (it may also be referred to as an active beacon generator (ABG)). The beacon generator in use will transmit a beacon to limit the beginning of the PLCA cycle, thereby triggering the transmission opportunity of each of the other communication nodes. Another one of the candidate beacon generators can be operated as a standby beacon generator (BBG) so that it provides redundancy for the beacon generator in use. The remaining nodes (second to the penultimate node 301-305) cannot transmit beacons, and therefore they may be referred to as non-beacon generators (NBG).

[0057] The network can set one of the candidate beacon generators 300, 306 as the beacon generator in use by determining the time delay since the last beacon received for each of the candidate beacon generators 300, 306. For example, when each of the candidate beacon generators 300, 306 receives a beacon, a counter associated with the candidate beacon generator 300, 306 can start counting, and the counter can be reset whenever another beacon is received. For each of the candidate beacon generators 300, 306, the network can then compare the determined time delay with a threshold value associated with the candidate beacon generator. If the time delay exceeds the threshold value of one of the candidate beacon generators 300, 306, the network sets the candidate beacon generator as the beacon generator in use. As indicated above, the beacon generator in use will then transmit a beacon to define the start of each subsequent PLCA cycle.

[0058] Therefore, for Figure 3In a network of , if the in-use beacon generator associated with the PLCA bus fails silently, another beacon generator is available to begin transmitting beacons. This allows operation on the PLCA bus to continue without having to resort to CSMA / CD. As discussed above, in some applications, CSMA / CD can be considered suboptimal. In this way, Figure 3 The network introduces the concept of active and standby beacon generators, which can swap functions according to the required situation and can advantageously ensure continuous operation on the PLCA bus. Advantageously, the correct operation of the PLCA bus does not heavily rely on a single beacon generator node.

[0059] Figures 4 to 10 Schematically showing the Figure 3 Timing diagram of different operation scenarios of the network.

[0060] exist Figures 4 to 10 In each of the figures, a dashed ellipse is shown on the left hand side (an example of the dashed ellipse is shown in FIG. Figure 4 The dashed ellipse shows the state of node 0 (i.e., one of the candidate beacon generators) of the associated PLCA cycle shown on its right. A dashed-dot ellipse is also shown on the left hand side (an example of which is shown in FIG. Figure 4 4 (marked with reference numeral 411 in the figure), the dot-dash ellipse shows the state of node 6 (ie, another one of the candidate beacon generators) of the associated PLCA cycle shown on the right side thereof.

[0061] If "ABG" is shown in one of the ovals in the figure, the corresponding candidate beacon generator has been set as the active beacon generator. (As indicated above, active beacon generator (ABG) is another label for the active beacon generator.)

[0062] If "BBG" is shown in one of the ovals in the figure, the corresponding candidate beacon generator is operating as a backup beacon generator. That is, the candidate beacon generator is available to operate as an active beacon generator, but is not doing so at this time because other candidate beacon generators are actively transmitting beacons. In this way, the backup beacon generator provides redundancy so that if the active beacon generator fails, the backup beacon generator can begin transmitting beacons.

[0063] • If a "-" is shown in one of the ovals in the figure, the corresponding candidate beacon generator is online / awake, but has not yet assumed the role of active beacon generator or backup beacon generator.

[0064] • If the PLCA loop does not show an ellipse, the associated candidate beacon generator is not online.

[0065] Figures 4 to 10 Each PLCA cycle in includes seven transmission opportunities (TO) - TO0 to TO6; one for each communication node. If the beacon generator in use is active, a beacon is transmitted before the first transmission opportunity (TO0) (an example of the beacon is in Figure 4 4. The beacon shown with a dashed outline is a beacon that has been transmitted by node 0. The beacon shown with a dashed outline is a beacon that has been transmitted by node 6.

[0066] TOs with solid outlines are TOs that follow the transmitted beacons within the PLCA cycle, and therefore represent transmission opportunities in a conventional PLCA cycle. TOs with dashed outlines are TOs that do not follow the transmitted beacons, and therefore represent time periods during the network recovery phase. It should be understood that this time period does not actually represent an available transmission opportunity, because no communication node will transmit any data during its transmission opportunity; this is because they will not receive the beacons of the PLCA cycle. However, it is convenient to show these time periods as "upcoming" transmission opportunities, because the counter used to determine how much time has passed since the beacon was received counts the time period corresponding to the timeout of a single transmission opportunity, where the timeout indicates that the TO ends without any transmission. If a TO is used, the duration of the transmission opportunity will depend on the length of the transmitted frame.

[0067] In addition, each TO with a dashed outline includes one or two counter values. The counter values ​​in italic text represent the time delay since the last beacon received by node 0. The counter values ​​in bold text represent the time delay since the last beacon received by node 6. As will be discussed in detail below, nodes 0 and 6 compare these counter values ​​with thresholds to determine whether the nodes 0 and 6 should assume the role of active beacon generator (ABG).

[0068] Use pattern fill + in the diagram (an example of which is in Figure 4 413 in the figure) to indicate the time when node 0 wakes up or recovers after a failure. Figure 4 414 in the figure) to indicate the time when the node 6 wakes up or recovers after a failure. Figure 7 715 in the figure to indicate the time when the node 0 fails.

[0069] As mentioned above Figure 3As discussed, for each of the candidate beacon generators, the time delay since the last received beacon is determined, and then the time delay is compared to a threshold. If the time delay exceeds the threshold, the candidate beacon generator is set as the beacon generator in use (ABG). In each of the following examples, a different threshold is associated with each of the two candidate beacon generators. In this way, the network can be configured so that one of the candidate beacon generators takes precedence over the other candidate beacon generator to play the role of the beacon generator in use. That is, a lower threshold can be used for a preferred candidate beacon generator, making it more likely to play the role before another candidate beacon generator plays the role of the beacon generator in use.

[0070] In addition, the network can determine whether each candidate beacon generator is in an awake mode of operation or in an active mode of operation. If the candidate beacon generator is in an awake mode of operation, its determined time delay is compared to an awake threshold. If the candidate beacon generator is in an active mode of operation, its determined time delay is compared to an active threshold. Figures 5 to 11 The activity threshold of the candidate beacon generator in the example is different from the wake-up threshold of each of the candidate beacon generators. Figures 4 to 10 In the example:

[0071] The wakeup threshold of node 0 is shorter than the active threshold of node 0. This means that node 0 will take on the role of active beacon generator earlier during wakeup than during active operation mode;

[0072] • The wakeup threshold of node 6 is longer than the active threshold of node 6. This means that node 6 will take on the role of active beacon generator later during wakeup than during active operation mode;

[0073] • The wakeup threshold of node 0 is shorter than that of node 6. This means that node 0 will take on the role of active beacon generator sooner than node 6 after waking up; and

[0074] The activity threshold of node 0 is the same as the activity threshold of node 6. This means that both node 6 and node 0 will wait for the same period of time after the absence of a beacon before they can assume the role of the active beacon generator in the active mode of operation. However, if there are more than two candidate beacon generators, it may be advantageous for each candidate beacon generator to have a different activity threshold to avoid any conflicts with multiple standby beacon generators trying to assume the role of the active beacon generator at the same time. In the event of a conflict with beacons from two beacon generators, both beacon generators will enter the resynchronization state and act according to their wake-up behavior.

[0075] It may be beneficial to use separate wake-up thresholds and activity thresholds. The wake-up threshold applied when a candidate beacon generator node starts / wakes up can be used to apply a preference for which of the candidate beacon generators is initially set as the in-use beacon generator (ABG) as discussed above, while being tolerable for different node startup times. If the in-use beacon generator (ABG) fails, using different activity thresholds allows a quick transition to a backup beacon generator. Events of beacon generator failures can be tracked and monitored so that the failure can be gradually escalated so that the failed beacon generator can be repaired or replaced if necessary.

[0076] It should be appreciated that any thresholds described herein may be programmable / configurable.

[0077] The following pseudo code represents Figure 4-Figure 10 Example of example operation:

[0078] Example values ​​(unsigned 16 bits for wakeUpThreshold and 8 bits for beaconDetThresholdbeaconDetThreshold):

[0079] For nodeId=0 - Active Beacon Generator (ABG) preferred

[0080] wakeUpThreshold = 0x0001

[0081] beaconDetThreshold = 0x03

[0082] For nodeId=6 - non-preferred active beacon generator (BBG)

[0083] wakeUpThreshold = 0x00FF

[0084] beaconDetThreshold = 0x03

[0085] For nodeId = 1:5 - Non-Beacon Generator (NBG)

[0086] wakeUpThreshold = 0x0000

[0087] beaconDetThreshold = 0x00

[0088] A value of 0x00 disables the alternate beacon generator functionality on the device.

[0089] * For the preferred candidate beacon generator (Active Beacon Generator (ABG))

[0090] nodeId=0

[0091] If (non-plcaActive) {

[0092] abgAssignTimeout=wakeUpThreshold(ABG);

[0093] }else{

[0094] abgAssignTimeout=beaconDetThreshold(ABG);

[0095] }

[0096] * For non-preferred candidate beacon generators (Backup Beacon Generator (BBG))

[0097] nodeId=6

[0098] If (non-plcaActive) {

[0099] abgAssignTimeout=wakeUpThreshold(BBG);

[0100] }else{

[0101] abgAssignTimeout=beaconDetThreshold(BBG);

[0102] }

[0103] *For Non-Beacon Generator (NBG)

[0104] nodeId = {1,2,3,4,5}

[0105] If (non-plcaActive) {

[0106] abgAssignTimeout = 0x00;

[0107] }else{

[0108] abgAssignTimeout = 0x00;

[0109] }

[0110] A preferred active beacon generator may be part of a central computing node which may take a long time to start up, rather than an edge node which may be part of this larger ECU and may start up faster. Therefore, it may be beneficial to have a larger difference between wakeUpThreshold(ABG) and wakeUpThreshold(BBG). In some applications, it may be desirable to represent the wakeup value with a larger number of bits. It may be beneficial to find a resolution that is fast enough and has enough range to distinguish between nodes. Additionally, the "unit" parameter of this value may also be made configurable to provide more flexibility in determining the resolution on which wakeUpThreshld is based. Examples of this:

[0111] ● wakeUpThresholdUnit = transmission opportunity timeout duration * number of nodes on the PLCA bus

[0112] wakeUpThresholdUnit=1000

[0113] • In the example, 8 bits of wakeUpThreshold are used for illustration purposes, and wakeUpThresholdUnit is numNodes*TOduration.

[0114] * For the preferred candidate beacon generator (Active Beacon Generator (ABG))

[0115]

[0116] * For non-preferred candidate beacon generators (Backup Beacon Generator (BBG))

[0117]

[0118] / / Act as the active beacon generator (or "coordinator")

[0119] }

[0120] The node with nodeId=0 will get wakeUpThreshold(ABG) because it is the desired ABG. Other nodes with Beacon Generator (BG) capability (i.e., BBG nodes) will get wakeUpThreshold(BBG). If there is more than one BBG, their corresponding beaconDetThreshold values ​​(i.e., activity thresholds) should be different values ​​to prevent more than one of them from trying to take over as ABG at the same time.

[0121] Under normal circumstances (power-on times of nodes are not much different from each other), the node with nodeId 0 should become ABG.

[0122] When the in-use beacon generator fails and then restarts, it will use the wakeUpThreshold value (i.e., the wakeup threshold), but it can detect that there are already beacons transmitted on the bus by other candidate beacon generators (which have already assumed the role of the in-use beacon generator), and therefore it will not become the in-use beacon generator again. In this application, this means that wakeUpThreshold should be longer than a single PLCA normal cycle so that it can detect whether there are already beacons transmitted on the bus.

[0123] We will now describe Figures 5 to 11 For each of these examples, the following thresholds are used:

[0124] ●Node 0 wake-up threshold =

[0125] wakeUpThreshold(ABG)*numberNodes*TOduration,

[0126] Wherein wakeUpThreshold(ABG)=0x01.

[0127] ●Wake-up threshold of node 6 =

[0128] wakeUpThreshold(BBG)*numberNodes*TOduration,

[0129] Wherein wakeUpThreshold(BBG)=0xFF.

[0130] ●Activity threshold of node 0 =

[0131] beaconDetThreshold(ABG)*numberNodes*TOduration,

[0132] Where beaconDetThreshold(ABG)=3

[0133] ●Activity threshold of node 6 =

[0134] beaconDetThreshold(BBG)*numberNodes*TOduration,

[0135] Where beaconDetThreshold(BBG)=3

[0136] It can be seen that each of the thresholds is a multiple of the PLCA cycle, such as by setting the threshold to be the product of the variable, the number of nodes in the network, and the duration of a transmission opportunity (TO). That is, the threshold can be based on an integer multiple of the duration of a transmission opportunity and / or based on an integer multiple of the duration of a PLCA cycle.

[0137] Optionally, the curID counter normally used in the node to keep track of which node the current transmission opportunity belongs to can serve as the counter to which the wakeUpThreshold and beaconDetThresholds are compared. The curID counter is in units of TOduration, covering when TO is used during data transmission and when it times out without any data transmission.

[0138] exist Figure 4 In the example, both node 0 and node 6 wake up at the same time.

[0139] Node 0 is initially assigned as the active beacon generator. It has a wakeup threshold = 0x01*numberNodes*TOduration. As discussed above, this ensures that there are no active beacon generators already on the bus.

[0140] Once the time delay since the last received beacon exceeds the wake-up threshold of node 0, node 0 takes over as the active beacon generator. The time delay associated with node 0 is Figure 4 The count of TO starting immediately after node 0 wakes up is shown in italics in FIG. Figure 4 After the seven TOs shown in the top row of Figure 4 The first beacon 512 of the second row is shown, which indicates Figure 4 The first PLCA cycle of operation is shown.

[0141] Node 6 is also a candidate beacon generator and it is initialized with its wakeup threshold. The time delay associated with node 6 is Figure 4 , shown in bold, starts the count of TO immediately after node 6 wakes up. However, because node 0 transmits a beacon, node 6's count does not reach its wakeup threshold. Therefore, node 6 becomes BBG after it detects the beacon.

[0142] exist Figure 5 In the example, node 0 wakes up slightly later than node 6. That is, before the preferred candidate beacon generator node (node ​​0) wakes up, the non-preferred candidate beacon generator node (node ​​6) wakes up and starts counting. Figure 5It can be seen that the count of node 6 has not yet reached its wakeup threshold before node 0 transmits the beacon. Therefore, node 0 is designated as the active beacon generator node.

[0143] exist Figure 6 In the example, node 0 wakes up much later than node 6. In this example, node 6's count reaches its wakeup threshold (1785*TOduration) before node 0 transmits a beacon. Therefore, node 6 is assigned as the active beacon generator node because it has BG capability. Node 0 wakes up later. However, node 0 detects that there is already a beacon on the bus before exceeding its wakeup threshold, and therefore node 0 becomes a BBG.

[0144] exist Figure 7 In , node 0 is the active beacon generator and is transmitting beacons. However, node 0 then Figure 7 The failure occurs midway through the second PLCA cycle shown. Node 6 is a BBG, and in response to exceeding its activity threshold (21*TOduration) without node 6 detecting a beacon, node 6 is set as the new in-use beacon generator (ABG). Therefore, node 6 begins transmitting beacons so that the PLCA bus can continue to operate.

[0145] exist Figure 8 In , node 0 is the active beacon generator and is transmitting beacons. However, node 0 then Figure 8 The second PLCA cycle shown fails midway. Node 6 is a BBG, and in response to exceeding its activity threshold (21*TOduration) without node 6 detecting a beacon, node 6 is set as the new in-use beacon generator (ABG), and it begins transmitting beacons so that the PLCA bus can continue to operate. Node 0 then recovers. However, the recovered node 0 detects a beacon before exceeding its wakeup threshold, and therefore node 0 will become a BBG.

[0146] exist Fig. 9 In , node 0 is the active beacon generator and is transmitting beacons. However, node 0 then Fig. 9 The second PLCA cycle shown fails midway. Node 6 is a BBG and it starts counting TO since the last beacon received. However, during the count ( Fig. 9 Before reaching its activity threshold (21*TOduration), node 0 resumes and starts its own counting ( Fig. 9 For Fig. 9In the example of , before the count of node 0 exceeds its wakeup threshold, the count of node 6 exceeds its activity threshold. Therefore, node 6 is set as the new in-use beacon generator (ABG), and it starts transmitting beacons so that the PLCA bus can continue to operate. Node 0 becomes the BBG.

[0147] exist Fig.10 In , node 0 is the active beacon generator and is transmitting beacons. However, node 0 then Fig.10 The second PLCA cycle shown fails midway, but recovers shortly afterwards. Node 6 is a BBG, and it has not received a beacon since its last reception ( Fig.10 Similarly, the restored node 0 starts its own count (in Fig.10 For Fig.10 In the example of , before the count of node 6 exceeds its active threshold, the count of node 0 exceeds its wakeup threshold. Therefore, node 0 is set as the new in-use beacon generator (ABG), and it starts transmitting beacons so that the PLCA bus can continue to operate. Node 6 remains as BBG.

[0148] The examples described herein may set a candidate beacon generator as the active beacon generator in one of several different ways.Two alternative implementations of this functionality will now be described.

[0149] Implementation 1

[0150] A candidate beacon generator to be used as an in-use beacon generator can be assigned a zero nodeId. The IEEE standard defines a node with nodeId=0 as a beacon generator. Therefore, in order to maintain the standard as much as possible, when the BBG assumes the role of the in-use beacon generator, the nodeId of the BBG node is reassigned so that it will operate as a new ABG. That is, when the BBG detects a beacon timeout (because the associated threshold has been exceeded), it will change its local_nodeID to 0. This will mean that this BBG will become a new ABG and also utilize TO when curID==0. In addition, this means that the TO of its original local_nodeID becomes unused, which results in a waste of bandwidth.

[0151] In some examples, a non-zero nodeId may be assigned to each of the candidate beacon generators that are not the active beacon generator, for example, so that the active beacon generator that fails (i.e., the beacon generator that was the active beacon generator before it failed) is provided with a different nodeId so that when it recovers, it does not conflict with the new active beacon generator.

[0152] In some examples, assigning a zero nodeId to a candidate beacon generator includes changing the nodeId from a previous value to zero. In this case, the network can determine whether the previous value corresponds to the last transmission opportunity in the PLCA cycle. If the previous value does correspond to the last transmission opportunity in the PLCA cycle, the network can reduce the plca_node_count by one. This can be considered an optional improvement: if the original local_nodeID is the last TO before the beacon, the BBG that becomes the ABG can reduce its plca_node_count by 1 to remove the last TO and thus save bandwidth.

[0153] In an example where assigning a zero nodeId to a candidate beacon generator includes changing the nodeId from a previous value to zero, the network may store the previous value in a memory. Subsequently, in response to another candidate beacon generator being set as the in-use beacon generator, the network may assign the previous value as the nodeId of the candidate beacon generator, thereby replacing the nodeId temporarily assigned when the candidate beacon generator serves as the in-use beacon generator.

[0154] Now we will consider the following scenario: a local_nodeID of 0 has been taken over by a new ABG and the original ABG recovers. Optionally, the original ABG can find an opportunity to take over the ABG again, forcing the other ABG to return to its original local_nodeID. As another option, the original ABG can be assigned the local_nodeID of the node that the ABG took over. Thus, it basically becomes the node.

[0155] Implementation 2

[0156] In this embodiment, setting the candidate beacon generator as the in-use beacon generator includes assigning the nodeId of the candidate beacon generator as activeBeaconGeneratorNodeId. The activeBeaconGeneratorNodeId identifies which communication node of the plurality of communication nodes should serve as the in-use beacon generator. In this way, a state machine associated with the Ethernet network can set the in-use beacon generator based on the value of the activeBeaconGeneratorNodeId.

[0157] This implementation may provide good flexibility because the backup beacon generator node acts as a proxy for the original beacon generator.

[0158] In this implementation, the candidate beacon generator node checks local_NodeId == activeBeaconGeneratorNodeId. This is in contrast to the IEEE standard, for which the current local_nodeID == 0 in its PLCA FSM is checked to determine if the node should operate as an active beacon generator. If the threshold is exceeded, the BBG then changes its activeBeaconGeneratorNodeId to its own local_nodeID so that it should assume the role of an ABG.

[0159] The TO of the original ABG will not be used by the BBG, and therefore remains free for use by the original ABG when it comes back online. If the TO of the original ABG is used again, this is a way to detect that the original ABG is back online. Optionally, this may mean that the previous ABG can be restored to the original (this functionality is in Figures 4 to 10 Alternatively, once the original ABG has gone offline and the BBG has become the new ABG, the original ABG coming back online will simply mean that it becomes the BBG because it is able to generate beacons (e.g. Figure 8 and Fig. 9 ). A candidate beacon generator that has been restored in this way will follow the beacons being transmitted by the new in-use beacon generator and can transmit data in its own TO, so it is still functional. If the new in-use beacon generator fails, the original in-use beacon generator can take over again.

[0160] Fig.11 An example of a method of operating multiple communication nodes in a 10BASE-T1S Ethernet network according to the present disclosure is shown. As discussed above, the multiple communication nodes are configured to implement a physical layer collision avoidance (PLCA) process, and at least two of the communication nodes are candidate beacon generators (i.e., capable of transmitting a beacon to define the start of a PLCA cycle).

[0161] At step 1190, the method includes: for each of the at least two candidate beacon generators, determining a time delay since a last received beacon, comparing the determined time delay with a threshold associated with the candidate beacon generator, and if the time delay exceeds the threshold, setting the candidate beacon generator as the beacon generator in use.

[0162] At step 1192, the method includes the in-use beacon generator transmitting a beacon to define the start of a PLCA cycle, thereby triggering a transmission opportunity for each of the other communication nodes.

[0163] As discussed in detail above, Fig.11 The method advantageously provides redundancy so that the Ethernet network can continue to utilize PHY level collision avoidance (PLCA) even if a beacon generator fails in use.

[0164] As discussed above, IEEE 802.1cg has standardized the basic PLCA procedure. For now, this procedure cannot ensure that the bus keeps PLCA functioning after a beacon generator failure. The examples discussed in this article provide redundant beacon generators for PLCA cycles. They can also allow multiple backup options within the same network.

[0165] The examples disclosed herein can deterministically use active and standby beacon generators (ABG and BBG), and provide methods to specifically deal with the loss of a beacon generator. This includes the concept of active and standby beacon generators to keep the wired network functional, which can be swapped depending on the desired situation. Such examples can observe the bus to understand its state before (re)joining the bus. These examples do not require a fallback mechanism.

[0166] Unless a specific order is explicitly stated, the instructions and / or flow chart steps in the above figures may be performed in any order. Also, those skilled in the art will recognize that although a set of example instructions / methods have been discussed, the materials in this specification may also be combined in various ways to produce other examples and should be understood within the context provided in this detailed description.

[0167] In some example embodiments, the set of instructions / 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 with and controlled by 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.

[0168] In other examples, the set of instructions / methods described 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 a single component or multiple components of any manufacture. Non-transitory machine or computer-usable media as defined herein do not include signals, but such media may be able to receive and process information from signals and / or other transient media.

[0169] Example embodiments of the materials discussed in this specification may be implemented in whole or in part via a network, computer or data-based device and / or service. 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. As may be used herein and in the claims, the following non-exclusive definitions are provided.

[0170] In one example, one or more instructions or steps discussed herein are automated. 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 the need for human intervention, observation, effort and / or decision making.

[0171] 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 located between the two components that are said to be coupled.

[0172] 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 including different selected sets of these details may be practiced. It is intended that the appended claims cover all possible example embodiments.

Claims

1. A method for operating a plurality of communication nodes in a 10BASE-T1S Ethernet network, characterized in that: The plurality of communication nodes are configured to implement a physical layer collision avoidance (PLCA) procedure, and wherein at least two of the communication nodes are candidate beacon generators, wherein the method comprises: For each of the at least two candidate beacon generators, determining a time delay since a last received beacon, comparing the determined time delay to a threshold associated with the candidate beacon generator, and setting the candidate beacon generator as the active beacon generator if the time delay exceeds the threshold; and The active beacon generator transmits a beacon to define the start of a PLCA cycle, thereby triggering a transmission opportunity for each of the other communication nodes.

2. The method according to claim 1, characterized in that Each of the candidate beacon generators includes a nodeld.

3. The method according to claim 2, characterized in that Setting a candidate beacon generator as the in-use beacon generator includes assigning the nodeld of the candidate beacon generator as an activeBeaconGeneratorNodeld, the activeBeaconGeneratorNodeld identifying which communication node of the plurality of communication nodes should serve as the in-use beacon generator.

4. The method according to claim 2, characterized in that: Setting a candidate beacon generator as the in-use beacon generator includes assigning a nodeld of zero to the candidate beacon generator.

5. The method according to claim 4, characterized in that Also included is assigning a non-zero nodeld to each of the candidate beacon generators that is not the in-use beacon generator.

6. The method according to claim 4 or claim 5, characterized in that: Assigning a zero nodeld to the candidate beacon generator comprises changing the nodeld from a previous value to zero; The method further comprises: determining whether the previous value corresponds to a last transmission opportunity in the PLCA cycle; and If the previous value does correspond to the last transmission opportunity in the PLCA cycle, then plca_node_count is decreased by one.

7. The method according to claim 5 or claim 6, characterized in that: Assigning a zero nodeld to the candidate beacon generator comprises changing the nodeld from a previous value to zero; the method further comprising: storing the previous value in a memory; and In response to another candidate beacon generator being set as the in-use beacon generator, the previous value is assigned as the nodeId of the candidate beacon generator.

8. A method according to any of the preceding claims, characterised in that A different threshold is associated with each of the candidate beacon generators.

9. A method according to any of the preceding claims, characterised in that The method further comprises: determining whether each candidate beacon generator is in an awake mode of operation or an active mode of operation; if the candidate beacon generator is in the awake mode of operation, comparing the determined time delay to a wakeup threshold of the candidate beacon generator; If a candidate beacon generator is in the active mode of operation, the determined time delay is compared to an activity threshold of the candidate beacon generator.

10. A network, characterized in that Arranged to perform a method according to any preceding claim.