Collision detection on can bus

By detecting the edge propagation delay of the transmit and receive signals of the CAN transceiver and adopting a new voltage level scheme for the CAN XL transceiver, the problem of unreliable collision detection in high data rate communication on the CAN bus is solved, and reliable communication under poor topology is achieved.

CN112180775BActive Publication Date: 2025-11-11NXP BV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010577099.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-04
Filing Date
2020-06-22
Publication Date
2025-11-11
Estimated Expiration
2040-06-22

AI Technical Summary

Technical Problem

The existing CAN bus protocol has the problem of unreliable collision detection in high data rate communication, especially when the network topology is poor, it is difficult to effectively detect collisions on the bus.

Method used

By detecting the signal edge propagation delay between the transmit and receive signals of the CAN transceiver, collisions on the bus are detected using the CAN XL transceiver in fast mode. A new voltage level scheme is adopted to improve communication speed and ensure reliability.

Benefits of technology

It achieves reliable collision detection on the CAN bus under high data rate communication, ensuring that all nodes in the network are synchronized to the same mode, avoiding signal interference caused by reflection and poor topology, and improving communication reliability and error detection capability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112180775B_ABST
    Figure CN112180775B_ABST
Patent Text Reader

Abstract

This disclosure relates to a Controller Area Network (CAN) unit and associated methods and computer programs. The CAN unit is configured to detect transmit signal edges on transmit signals for a CAN transceiver; detect corresponding receive signal edges on receive signals for a CAN controller of the CAN transceiver; and detect collisions on the CAN bus based on the propagation delay between the transmit signal edges and the corresponding receive signal edges.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to at least one of a CAN device, a CAN transceiver, and a CAN controller, and to at least one of a method for operating a CAN device, a CAN transceiver, and a CAN controller. This disclosure further relates to a CAN bus system including a CAN device, and a method for operating a CAN bus system including a CAN device. Background Technology

[0002] For example, CAN (Controller Area Network), CAN FD (CAN with Flexible Data Rate), LIN (Local Interconnect Network), FlexRay, Ethernet-based network buses, and other types of in-vehicle network (IVN) buses can be used for communication within a vehicle. For instance, the Controller Area Network (CAN) bus is a message-based communication bus protocol frequently used in automobiles. A CAN bus network can include multiple bus devices, so-called nodes or electronic control units (ECUs), such as engine control modules (ECMs), powertrain control modules (PCMs), airbags, anti-lock braking systems (ABS), cruise control, electric power steering, audio systems, window, door, and mirror adjustments, battery and recharging systems for hybrid / electric vehicles, and so on. The CAN bus protocol is used to implement communication between various bus devices. The CAN protocol's data link layer is standardized to ISO 11898-1:2003. CAN Flexible Data Rate, or "CAN FD," is an extension of the standardized CAN data link layer protocol and is integrated into the ISO 11898-2:2016 standard, providing even higher data rates. However, the standardized CAN data link layer protocol is still being extended in another process to provide even higher data rates. Another extension with a new level scheme that allows even higher data rates is called CAN XL, which is in the definition phase discussed in CiA610 (CAN in Automation) and is moving towards standardization in the form of an additional update to the existing ISO 11898 standard or a new standard. However, what is of interest, however, is allowing backward compatibility between all CAN types, such as backward compatibility between CAN XL and CAN FD. Summary of the Invention

[0003] According to a first aspect of this disclosure, a controller area network (CAN) unit for communicating with a CAN bus is provided, the unit being configured to:

[0004] Detect the transmit signal edge on the transmit signal used by the CAN transceiver;

[0005] Detect the corresponding receive signal edge on the receive signal of the CAN controller used for the CAN transceiver; and

[0006] Collisions on the CAN bus are detected based on the propagation delay between the edge of the transmitted signal and the corresponding edge of the received signal.

[0007] According to a second aspect of this disclosure, a controller area network (CAN) transceiver is provided for communication between a CAN controller and a CAN bus, the transceiver comprising:

[0008] A transmitter configured to transmit an output signal to the CAN bus based on a transmit signal from the CAN controller; and

[0009] The receiver is configured to receive signals provided to the CAN controller based on input signals received from the CAN bus.

[0010] The transceiver is configured to:

[0011] Collisions on the CAN bus are detected based on the propagation delay between the signal edge on the transmitted signal and the corresponding signal edge on the received signal.

[0012] According to another aspect of this disclosure, a Controller Area Network (CAN) controller is provided for communicating with a CAN bus via a CAN transceiver, the controller being configured to:

[0013] Generate the transmit signal for the CAN transceiver;

[0014] Receive signals from the CAN transceiver; and

[0015] Collisions on the CAN bus are detected based on the propagation delay between the signal edge on the transmitted signal and the corresponding signal edge on the received signal.

[0016] According to another aspect of this disclosure, a controller area network (CAN) node is provided for communication on a CAN bus. The node includes a CAN transceiver and a CAN controller, wherein the CAN controller is configured to communicate with the CAN transceiver using a CAN protocol to transmit and receive signals, wherein at least one of the CAN controller and the CAN transceiver is configured to detect collisions on the CAN bus based on the propagation delay between a signal edge on a transmitted signal and a corresponding signal edge on a received signal.

[0017] In one or more embodiments, the CAN unit can be a CAN transceiver, a CAN controller, or a CAN node. The CAN unit can be a CAN FD or a CAN XL unit. Collision detection may occur during the data phase. CAN bus collisions may occur during the data phase, at the time of transmission by both CAN nodes.

[0018] In one or more embodiments, collisions are detected based on multiple propagation delays between corresponding signal edges on the transmitted signal and corresponding signal edges on the received signal.

[0019] In one or more embodiments, the transmit signal edge is a first transmit signal edge and the corresponding receive signal edge is a first receive signal edge, and the CAN unit is further configured to:

[0020] Detect the edge of the second transmitted signal;

[0021] Detect the edge of the second received signal corresponding to the edge of the second transmitted signal;

[0022] The first propagation delay is determined based on the time interval between the edge of the first transmitted signal and the edge of the first received signal;

[0023] The second propagation delay is determined based on the time interval between the edge of the second transmitted signal and the edge of the second received signal;

[0024] Collisions on the CAN bus are detected by comparing the first propagation delay with the second propagation delay.

[0025] In one or more embodiments, the first receive signal edge and the first transmit signal edge are both falling edges, and the second receive signal edge and the second transmit signal edge are both rising edges.

[0026] In one or more embodiments, a conflict is detected when the difference between a first propagation delay and a second propagation delay is greater than a threshold.

[0027] In one or more embodiments, the received signal edge corresponding to the transmitted signal edge appears after the transmitted signal edge, and

[0028] Both the receive signal edge and the transmit signal edge are falling edges.

[0029] In one or more embodiments, the received signal edge corresponding to the transmitted signal edge appears before the transmitted signal edge, and

[0030] Both the receive signal edge and the transmit signal edge are rising edges.

[0031] In one or more embodiments, a collision is detected when the propagation delay exceeds a threshold.

[0032] In one or more embodiments, the threshold is a time period of at least a range symmetry canonical value.

[0033] In one or more embodiments, the CAN unit is additionally configured to detect collisions during the fast data phase of CAN operation.

[0034] In one or more embodiments, the CAN unit is additionally configured to switch to a slow arbitration operation mode in response to the detection of a collision on the CAN bus.

[0035] In one or more embodiments, the CAN unit is further configured to:

[0036] Initialize the corresponding delay variables to track the measurement of one or both of the first and second propagation delays;

[0037] Waiting for the signal edge of one or more of the transmitter input or output signal and the receiver input or output signal;

[0038] When a signal edge is detected, the corresponding delay variable is incremented by the delay variable value;

[0039] Iterate and increment the configuration until the corresponding delay variable exceeds a predetermined value; and

[0040] When the value of the corresponding delay variable exceeds the predetermined value, a collision is detected on the CAN bus.

[0041] In one or more embodiments, the CAN unit is further configured to:

[0042] One or more of the first signal edge propagation delay and the second signal edge propagation delay are respectively converted into the first signal edge propagation delay voltage and the second signal edge propagation delay voltage;

[0043] A collision is detected on the CAN bus when one or more of the first signal edge propagation delay voltage and the second signal edge propagation delay voltage exceed the corresponding fixed voltage.

[0044] According to another aspect of this disclosure, an operational method for detecting collisions on a CAN bus is provided, the method comprising:

[0045] Detect the transmit signal edge on the transmit signal used by the CAN transceiver;

[0046] Detect the corresponding receive signal edge on the receive signal of the CAN controller used for the CAN transceiver; and

[0047] Collisions on the CAN bus are detected based on the propagation delay between the edge of the transmitted signal and the corresponding edge of the received signal.

[0048] According to another aspect of this disclosure, computer program code is provided. A non-transitory computer-readable medium including the computer program code may be provided. Computer program code configured to cause a processor to perform any of the methods disclosed herein may be provided. The computer program code may be configured to cause a processor of a CAN controller to provide instructions to a CAN transceiver to transmit a wake-up indication on the CAN bus, the wake-up indication comprising a signal having a predetermined pattern of one or more time periods, wherein the signal is less than or equal to a third threshold level.

[0049] While this disclosure is subject to various modifications and alternatives, its details are illustrated by way of example in the accompanying drawings and will be described in detail. However, it should be understood that other embodiments besides 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 covered.

[0050] The above discussion is not intended to represent every example embodiment or implementation within the scope of the present or future claims. The following figures and detailed descriptions also exemplify various example embodiments. A more complete understanding of the various example embodiments can be achieved by considering the following detailed descriptions in conjunction with the figures. Attached Figure Description

[0051] Figure 1a An example schematic block diagram of a Controller Area Network (CAN) bus network is shown;

[0052] Figure 1b It shows Figure 1a An example schematic block diagram of a node on a CAN bus network;

[0053] Figure 2 An example CAN network topology is shown;

[0054] Figure 3 The CAN physical voltage level scheme is shown;

[0055] Figure 4 The proposed CAN XL physical voltage level scheme is shown;

[0056] Figure 5 A schematic block diagram of an example CAN XL bus network is shown;

[0057] Figure 6 It shows Figure 5 Timing diagram of the CAN XL bus network;

[0058] Figure 7 Another example schematic block diagram of a CAN XL bus network is shown;

[0059] Figure 8It shows the corresponding Figure 7 Timing diagram of the CAN XL bus network;

[0060] Figure 9 A node for a CAN network is shown, which includes a CAN unit;

[0061] Figure 10 The operation is shown Figure 9 The method for CAN unit of CAN node;

[0062] Figure 11a and Figure 11b It shows the corresponding Figure 5 Another timing diagram for the CAN XL line network;

[0063] Figure 12a and Figure 12b It shows the corresponding Figure 7 Another timing diagram for the CAN XL line network;

[0064] Figure 13 It shows the corresponding Figure 7 Another timing diagram for the CAN XL line network;

[0065] Figure 14 Example digital implementations of this disclosure are shown; and

[0066] Figure 15 An example simulated implementation of this disclosure is shown. Detailed Implementation

[0067] It is readily understood that the components of the embodiments generally described herein and illustrated in the accompanying drawings can be arranged and designed in a variety of different configurations. Therefore, the following description of the various embodiments illustrated in the accompanying drawings is not intended to limit the scope of this disclosure, but is merely representative of various embodiments. Although various aspects of the embodiments are presented in the accompanying drawings, the drawings are not necessarily drawn to scale unless specifically indicated otherwise.

[0068] Currently, a new type of CAN protocol, called "CAN XL," is in the definition phase. This new CAN type defines two modes for transceivers: "slow" and "fast." The "slow" mode is designed for backward compatibility with existing CAN FD transceivers, while the "fast" mode features a new voltage level scheme for both transmitter and receiver to implement 10 Mbps communication. From a system perspective, it is crucial to synchronize all nodes in the network to the same "fast" or "slow" mode to ensure reliable communication and error detection.

[0069] This disclosure may relate to a CAN XL transceiver concept that can reliably detect collisions on the bus when the transceiver is in "fast" mode. A collision could be caused by another node transmitting on the bus. When a collision is detected, the detection is reliable, even if reflections exist on the bus, for example, due to poor terminal network topology.

[0070] Currently, a new type of CAN, known as CAN XL, is defined in the industry. This new protocol variant aims for a higher baud rate (>10 Mbps) compared to CAN / CAN FD. This speed increase can be implemented using a different bus voltage level scheme for the data phase, compared to the known CAN / CAN FD bus voltage level scheme. CAN XL transceivers need to operate in two different modes: “slow” (during the arbitration phase) and “fast” (during the data phase). For reliable communication and error detection, all nodes in the network must be synchronized to the same operating mode. The CAN XL controller is capable of switching the CAN XL transceiver between these two modes. The mechanism by which this switching is implemented is not part of this disclosure. CAN XL nodes, such as transceivers, should be able to detect collisions on the bus when operating in fast mode. A collision occurs if one or more other nodes are also transmitting on the bus during the data phase. The CAN standard defines the node that has won arbitration as the only node allowed to transmit on the bus during the data phase. If the CAN controller (CAN / CAN FD / CAN XL) in the receiving node detects an error, it will transmit an error frame (long dominant), resulting in a collision on the bus. Using the existing CAN bus voltage level scheme, the dominant level always overrides the recessive level, meaning that long dominant error frames will always be reliably detected. In Fast Mode, CAN XL's new voltage level scheme is neither dominant nor recessive, but rather level 0 or level 1. Since levels 0 and 1 are effectively driven on the bus, a dominant (or active) level driven by another node will result in an undefined bus voltage level, and error frames from nodes effectively transmitted in Fast Mode will no longer be reliably detected.

[0071] Collision detection requires a reliable network topology with long short lines that cause reflections. This disclosure is based on the fact that during fast mode, the transmitter drives the bus with symmetrical (timing-wise) voltages and impedances for logic 0 and logic 1, and that collisions will result in a violation of timing symmetry specifications.

[0072] Figure 1aA Controller Area Network (CAN) bus network 100 is shown, comprising multiple nodes or devices 102a-e and a twisted-pair cable providing a CAN bus 104 for communicating differential signals between the multiple CAN nodes 102a-e via stubs (e.g., stubs 106a-c). Terminating resistors 108a and 108b are present at the end nodes (node ​​1 and node 2) 102a and 102b, such as... Figure 1a The example shown is shown in the image.

[0073] Figure 1b It shows the coupling to Figure 1a A schematic block diagram of a CAN node or device 102 on a CAN bus 104. The CAN node 102 includes a CAN controller 110 and a CAN transceiver 112. The CAN controller 110 may be implemented by a processor, such as a microprocessor, configured to implement the CAN protocol operating within the CAN bus network 100. The CAN transceiver 112 interfaces the CAN controller 110 to the CAN bus 104. In some examples, the CAN transceiver 112 may operate without or with limited circuitry for understanding or implementing the CAN protocol, and therefore may have relatively limited power consumption compared to the processor of the CAN controller 110.

[0074] CAN controller 110 has a transmit output 116 and a receive input 118. CAN transceiver 112 has a transmit input 120, a receive output 122, and a bus terminal 124, which may also be referred to as a bus port. Bus terminal 124 is coupled to two signal lines of CAN bus 104. The transmitter output 116 of CAN controller 110 is coupled to the transmit input 120 of CAN transceiver 112. The receive input 118 of CAN controller 110 is coupled to the receive output 122 of CAN transceiver 112.

[0075] CAN transceiver 112 includes a transmitter unit 111 and a receiver unit 114. The transmitter unit 111 has an input coupled to a transmit input 120 of the CAN transceiver 110 and an output connected to a CAN bus terminal 124 of the CAN transceiver 112. The transmitter unit 111 is configured to convert data received at the transmit input 120 of the CAN transceiver 112 into a differential signal for the CAN bus 104.

[0076] Receiver unit 114 has an input coupled to CAN bus terminal 124 and an output coupled to receiver output 122 of CAN transceiver 112. Receiver unit 114 is configured to convert differential signals on CAN bus 104 into data for CAN controller 110.

[0077] Figure 2An example CAN network topology 200 is shown, comprising multiple nodes 202a-k and short wires (e.g., short wires 206a-c). The short wires (e.g., short wires 206a-c) typically need to be short to avoid prolonged, continuous reflections from open cable ends, thus enabling higher speeds. Figure 2 An example of a CAN network topology 200 is depicted, in which terminating resistors are located at nodes 5 (202e) and 10 (202j) (indicated by “T”).

[0078] When any node farthest from the terminating resistors (nodes 5, 10 - nodes 202e, j) (e.g., 1, 2, 3, 7 and 11 - nodes 202a, b, c, g and k) begins transmitting data, reflections in the network will cause signal interference. This signal interference will become problematic when collisions are detected based on voltage thresholds.

[0079] The slow phase (arbitration) of CAN XL frames uses the CAN level scheme according to ISO11898-2:2016 (slow mode).

[0080] Figure 3 The CAN physical voltage level scheme 300 according to ISO 11898-2:2016 is shown. The CAN physical voltage level scheme 300 is represented by corresponding signals, including the logic level signal on the transmitter input (TXD) 331 of the CAN transceiver, the high CAN bus voltage (V... CANH 332a, Low CAN bus voltage (V) CANL 332b, the logic level signal on the receiver output (RXD) 333 of the CAN transceiver and the differential voltage (V_Diff) 334. In the CAN physical voltage level scheme 300, the differential voltage (V_Diff) 334 is limited to V. CANH -V CANL V_Diff334 is shown side-by-side with the receiver threshold range 335.

[0081] In the CAN physical voltage level scheme 300, a V_Diff 334 value above 0.9V corresponds to a CAN bus in a dominant state (logic state "0") – V_Diff 334 is compared to the receiver threshold range 335. Conversely, a V_Diff 334 value below 0.5V corresponds to a CAN bus in a recessive state (logic state "1"). Mid-range values ​​of V_Diff 334 – i.e., between 0.5V and 0.9V – correspond to undefined states on the CAN bus.

[0082] The goal of CAN XL is to maximize the possible communication speed physically. The level scheme defined in ISO 11898-2:2016 is not optimized for this purpose for several reasons. First, the arbitration mechanism needs to ensure that the bus becomes relatively high ohms for the logic state "1" (high) (which is why this state is called "recessive"). A high-ohm state can be overridden by another transmitter (another node on the network) with a low-ohm "0" (which is why it is called "dominant"). Second, the same mechanism is used in all CAN frames to signal detected errors on the bus line. Any node can overridden the transmitter at any time during the recessive bit phase, thereby stopping transmission. "High-ohm" driven bits are quite slow and have other disadvantages when combined with a real bus harness. Long physical bus cables with multiple branches can create significant reflections and potentially corrupt high-ohm bits. This is why CAN XL recommends a level scheme and driver strength optimized for maximum signal performance on the bus line.

[0083] Figure 4 The proposed CAN XL physical voltage level scheme 400 is illustrated. The proposed CAN XL physical voltage level scheme 400 corresponds to the CAN XL bus level scheme in the fast data phase mode of operation. In terms of the corresponding signals, the proposed CAN XL physical voltage level scheme 400 is similar to... Figure 3 The CAN physical voltage level scheme 300 is shown. The key corresponding signal in the proposed CAN XL physical voltage level scheme 400 includes the high CAN bus voltage (V). CANH 432a, Low CAN bus voltage (V) CANL )432b and differential voltage (V_Diff)434 are limited to V CANH -V CANL The differential voltage (V_Diff) 434 is shown side-by-side with the receiver threshold range 435.

[0084] The CAN XL physical voltage level scheme 400 will have three different threshold levels to support. The first threshold ( Figure 4 (Not shown in the image) is approximately between the well-known ISO 11898-2:2016 standard level of the differential voltage (V_Diff) 434 between +0.5V and +0.9V, for backward compatibility with CAN arbitration.

[0085] Second threshold - by Figure 4 The receiver threshold range of ±0.1V 435 indicates fast CAN XL data communication involving a differential voltage (V_Diff) 434 value around 0V.

[0086] Third threshold ( Figure 4 (Not shown) is used for fast CAN XL data communication on the CAN bus in the negative differential region. The third threshold is typically -0.6V, and the maximum level has a minimum level lower than the second threshold (e.g., -0.3V...-0.4V).

[0087] Because arbitration and bus access remain identical in CAN XL compared to CAN FD (for backward compatibility), CAN XL transceivers can use an enhanced physical voltage level scheme only after arbitration is complete or finished and the CAN XL ECU (of a specific node) has won bus access. At that point, the CAN XL transceiver (of the node that has won bus access) can switch to the new level scheme and increase the speed on the bus line to its physical maximum, for example, in Figure 4 The example illustrates the CAN XL data phase. Intentionally, CAN XL does not allow any data bits to be overwritten, thus avoiding high-ohm output behavior and driving all bit levels with optimal strength.

[0088] Figure 5 An example schematic block diagram of a CAN XL bus network 500 is shown. Figure 5 The example network topology shown has short, end-to-end terminations, thus eliminating significant signal interference. The topology of the CAN XL bus network 500 is similar to that in the previous reference. Figure 1a The described topology comprises multiple CAN XL nodes or devices 502a-e, each coupled to a CAN bus 504 for differential signal communication between the multiple CAN XL nodes 502a-e via short lines (e.g., short lines 506a-c). Each CAN XL node 502a-d may include the features described above. Figure 1b The CAN XL controller and CAN XL transceiver are described. The CAN bus 504 includes two signal lines for communicating differential signals between multiple CAN XL nodes 502a-d.

[0089] Figure 5 CAN XL bus network 500 and Figure 1a The difference between the CAN bus network and the CAN bus network is that it is shown to be in a specific operating state.

[0090] Figure 6 It shows Figure 5The timing diagram for the CAN XL bus network is shown in Figure 600. Node 1 (502a) has won arbitration and transmits in fast mode (TX fast) during the data phase. All other nodes 502b-e receive data in the first period 630a (RX fast). At some point, node 4 (502d) detects an error, and its CAN XL controller switches back to slow mode and begins transmitting 'dominant' frames as error frames (TX slow error) in the second period 630b.

[0091] Timing diagram 600 shows when Figure 5 The transition of the CAN XL bus network from the first time period 630a to the second time period 630b. Figure 6 The timing diagram in the figure explains in detail what happens in this example. Specifically, timing diagram 600 shows the transmitter input (TXD) of the CAN XL transceiver at node 4 (502d). 节点4 The logic level signals on 631a and the current (I) between node 4 (502d) and bus 504 节点4 )636. Timing diagram 600 also shows the transmitter input (TXD) of the CAN XL transceiver at node 1 (502a). 节点1 631b, CAN differential bus voltage (V) CAN(DIFF) )634, Receiver output (RXD) of the CAN XL transceiver at node 1 (502a) 节点1 The comparator output (COL) of comparator 633 and node 1 (502a) 节点1 The logic level signal on 637.

[0092] The timing diagram 600 in the first time period 630a and the second time period 630b can generally be understood as follows: The first time period 630a (i.e., until...) Figure 6 The left side of the dashed line in the diagram corresponds to node 1 (502a) transmitting data to CAN bus 504. Node 4 (502d) is receiving data in the first time period (RX fast). That is, the transmitter of node 4 (502d) is in a 'recessive' state, while its controller is in a 'receive' state. The data transmitted by node 1 (502a) is shown in timing diagram 600 as the transmitter input of the CAN XL transceiver (TXD). 节点1 Logic level signals on 631b, CAN differential bus voltage (V) CAN(DIFF The receiver output (RXD) of the 634 and CANXL transceivers 节点1 The waveform representation of the logic level signal on 633. In the first time period 630a, the receiver output (RXD) of the CAN XL transceiver at node 1 (502a) 节点1The logic level signals on the 633 are related to the transmitter input (TXD) of the CAN XL transceiver on node 1 (502a). 节点1 Synchronize the logic level signals on the 631b.

[0093] The second time period is 630a (i.e., until...). Figure 6 The right side of the dashed line corresponds to node 4 (502d) detecting an error and transmitting a 'dominant' error frame, while node 1 (502a) continues transmitting data. The combination of nodes 1 (502a) and 4 (502d) transmitting data to CAN bus 504 simultaneously changes the time period and causes the CAN differential bus voltage (V) to change. CAN(DIFF) The maximum / minimum voltage of 634 and the CAN differential bus voltage (V) in the first phase 630a CAN(DIFF) The time period of 634 is shifted by 634a compared to the maximum / minimum voltage.

[0094] Specifically, we assume the transmitter in node 4 (502d) has the worst-case drive strength and is represented as a dominant current source of 30mA. The minimum dominant voltage specified in ISO 11898-2:2016 is 1.5V at a minimum load of 50 Ohms. This calculation yields a minimum dominant current of 636 of 1.5 / 50 = 30mA. When node 4 (502d) detects an error, the current (I... 节点4 This is provided to the transmitter of node 4 (502d). That is, node 4 (502d) switches from RX fast to TX slow error, such as the transmitter input (TXD) of the CAN XL transceiver of node 4 (502d). 节点4 The logic state of the logic level signal on 631a changes from '1' in the first time period 630a to '0' in the second time period 630b, as indicated by this. In this example, the voltage swing of the transmitter in node 1 (502a) is selected to be 1V peak, and the output driver impedance is 100Ohm. The impedance seen by the transmitter at node 4 (502d) is 100 / 3 = 33.33Ohm (two 100Ohm terminating resistors in parallel and the 100Ohm driver impedance of node 1 (502a)), from which the calculated differential bus voltage shift is 30 * 33.33 = 1V. Now, the differential bus voltage (V) of node 1 (502a) is... CAN(DIFF) 634 is shifted by 634a 1V, therefore the receiver in node 1 (502d) cannot reliably detect level 0 on the bus, and thus the level 633a at the RXD node 1 output pin is undefined. In other words, the receiver output (RXD) of the CAN XL transceiver in node 1 (502a) is undefined. 节点1 The logic level signal on 633 is no longer related to the transmitter input (TXD) of the CAN XL transceiver on node 1 (502a).节点1 Synchronize the logic level signals on the 631b.

[0095] A dedicated comparator can be provided to determine if a collision has occurred. Specifically, the CAN differential bus voltage (V) CAN(DIFF) The presence of voltage shift 634a on 634 can indicate that a collision has occurred. In this example, the comparator with a threshold of -0.4V is selected to be approximately between the lowest receiver threshold of -0.1V and the level 0 drive voltage of -0.6V. In the absence of a collision during the first period 630a, the comparator output (COL) 节点1 )637 followed TXD 节点1 Signal 631b. In the case of voltage shift 634a due to a collision, during the second time period 630b, the comparator output (COL) 节点1 637 is a static low value, and it does not follow TXD. 节点1 The signal. Therefore, the output of the comparator (COL) can be used to... 节点1 )637 and TXD 节点1 The 631b signal is compared to detect collisions on the CAN bus 504. When the comparator output (COL) 节点1 )637 and TXD 节点1 When the 631b signal is mismatched, a collision is detected.

[0096] Figure 7 Another example schematic block diagram of the CAN XL bus network 700 is shown. The CAN XL bus network 700 is similar to the previously referenced... Figure 5 The described CAN XL bus network 500, except that node 3 (702c) is coupled to the CAN bus 704 via a long short line 706a. Thus, for example due to unfavorable network topology, the CAN XL bus network 700 may correspond to a network topology in which reflections may exist on the CAN bus 704.

[0097] like Figure 7 As shown, node 3 (702c) is connected to the network via, for example, a short cable 706a 5 meters long, and this may cause signal interference (reflection).

[0098] The CAN XL bus network 700 is shown in a specific operating state. Node 3 (702c) has won arbitration and is transmitting in fast mode (TX fast) during the data phase. All other nodes receive data in the first time period (RX fast). At some point, node 4 (702d) has detected an error, and its CAN XL controller switches back to slow mode and begins transmitting explicit error frames in the second time period (TX slow error).

[0099] Figure 8 It shows Figure 7 Timing diagram 800 for CAN XL bus network 700. Figure 8 The timing diagram in the image explains in detail what happened in this example. Timing diagram 800 is similar to the previous reference. Figure 6 The timing diagram described is 600, except that node 3 (702c) emits (TX fast) instead of as shown. Figure 6 Node 1 (502) and the reflection or overshoot (e.g., overshoot 838a-d) now exist at node 3 (702c) in the CAN differential bus voltage (V CAN(DIFF) The reflection or overshoot is caused by the length of the short line 706a and exists in the first time interval 830a and the second time interval 830b.

[0100] In the first period 830a of timing diagram 800, because node 3 (702c) is transmitting to the long short line 706a, the impedance seen by the transmitter during the transition (e.g., from logic level '1' to logic level '0') is not 50 Ohms, but only 100 Ohms of cable impedance. This results in a CAN differential bus voltage (V... CAN(DIFF) The voltage swing on the 834 is 1.5 times higher, due to the CAN differential bus voltage (V). CAN(DIFF) The first change from -1V to 2V in the 834 indicates the CAN differential bus voltage (V). CAN(DIFF) )834 from -1V to 2V, the first (i.e., Figure 8 The change in the leftmost (most significant) causes the CAN differential bus voltage (V) to change. CAN(DIFF) The overshoot 838a in the 834 is such that its duration is twice the short wire length multiplied by the propagation delay in the twisted pair (2 * 5m * 5ns = 50ns). When there is no collision on the bus, the overshoot 838a-c in the first phase 830a does not impose a signal integrity problem because there is sufficient signal-to-noise ratio tolerance at the receiver threshold of 0V. However, when there is a collision on the bus, the overshoot in the second phase 830b (e.g., overshoot 838d) causes problems. Specifically, the comparator output COL... 节点3 837 is no longer reliable because it also switches (e.g., from logic level '0' to logic level '1') when there is a conflict on CAN bus 704 (i.e., during the second period 830b of timing diagram 800, when node 4 (702d) and node 3 (702c) transmit to CAN bus 704 at the same time).

[0101] In other words, when two nodes of the CAN XL bus network 700 transmit to the CAN bus simultaneously, the impulse detection comparator with a predetermined CAN differential bus voltage switching threshold (e.g., -0.4V as described above) may be inaccurate.

[0102] Figure 9 A node for a CAN network is shown. CAN node 902 includes a CAN controller 910 and a CAN transceiver 912. This node is similar to those in previous references. Figure 1b The CAN node described in this example also includes CAN unit 915. A CAN transceiver as a whole can be considered as a CAN unit used for communicating with the CAN bus 904. In the example shown here, CAN unit 915 is included or provided by CAN transceiver 912. Alternatively, the CAN unit may be included or provided elsewhere in the CAN controller 910 or CAN node 902.

[0103] The CAN unit 915 is configured to: detect the transmit signal edge on the transmit signal for the CAN transceiver; detect the corresponding receive signal edge on the receive signal for the CAN controller of the CAN transceiver; and detect collisions on the CAN bus based on the propagation delay between the transmit signal edge and the corresponding receive signal edge.

[0104] Figure 10 The operation is shown Figure 9 A method 1000 for a CAN unit 902. The method includes: detecting a transmit signal edge 1042 on a transmit signal for a CAN transceiver; detecting a corresponding receive signal edge 1044 on a receive signal for a CAN controller for the CAN transceiver; and detecting a collision on the CAN bus 904 based on the propagation delay between the transmit signal edge and the corresponding receive signal edge.

[0105] As described in detail below, collision detection on the CAN bus can be based on:

[0106] - A first propagation delay between the corresponding signal edge on the logic level signal at the transmitter input (TXD) of the CAN transceiver 912 (which is the same as the signal at the transmitter output (TXD) of the CAN controller 910) and the logic level signal at the receiver output (RXD) of the CAN transceiver 912 (which is the same as the signal at the receiver input (RXD) of the CAN controller 910).

[0107] - A second propagation delay between the corresponding subsequent signal edge on the logic level signal at the transmitter input (TXD) of the CAN transceiver and the logic level signal at the receiver output (RXD) of the CAN transceiver; or

[0108] - Both the first propagation delay and the second propagation delay. These aspects of the invention can involve measuring the symmetry of the TXD to RXD propagation delay to detect collisions.

[0109] In some examples, CAN unit 902 can be additionally configured to detect collisions during the fast data phase of CAN XL operation. CAN unit 902 can also be additionally configured to switch to slow arbitration operation mode in response to the detection of a collision on CAN bus 904.

[0110] The following is for reference. Figure 11a and Figure 11b Another explanation, for example, is the use of... Figure 10 Methods, such as Figure 5 The CAN XL bus network 500 described in [the document] Figure 9 Operation of CAN unit 902.

[0111] Figure 11a and Figure 11b It shows Figure 5 Timing diagrams 1100a and 1100b for the CAN XL bus network 500. Figure 11a The timing diagrams cover cases where there are no bus conflicts. Figure 11b The timing diagrams address situations where bus collisions occur. Each timing diagram 1100 includes the corresponding signals for the CAN transceiver at node 1 (502a). These signals include the transmitter input (TXD) of the CAN transceiver. 节点1 )1131a, b logic level signals, CAN differential bus voltage (V CAN(DIFF) )1134a, b and receiver output (RXD) 节点1 )1133a, b logic level signals.

[0112] Timing diagrams 1100a and 1131b also show the transmitter inputs (TXD) of nodes 1 (502a) and 1131a and 1131b. 节点1 The falling and rising edges of the logic level signals on ) (e.g., falling edges 1135a, b and rising edges 1136a, b) and the receiver output (RXD) of node 1 (502a) 节点1 The falling and rising edges of the logic level signals on 1133a and 1133b (e.g., falling edges 1137a and 1139a and 1139b).

[0113] Figure 11a Timing diagram 1100a shows the transmitter input (TXD) of node 1 (502a) in the absence of collisions on CAN bus 504. 节点1 The logic level signals on the 1131a and the CAN differential bus voltage V CAN(DIFF)The receiver output (RXD) of 1134a and node 1 (502a) 节点1 The logic level signal on the 1133a. The transmitter has a certain propagation delay for both the rising and falling edges (not shown in the timing diagram). Furthermore, the receiver has a propagation delay for the rising (t) edge. bus2rxd_r 1140) and falling edge (t) bus2rxd_f 1141) has a certain propagation delay. The input from the transmitter of node 1 (502a) (TXD) 节点1 The logic level signal on 1131a is connected to the receiver input / output (RXD) of node 1 (502a). 节点1 The propagation delay of the logic level signal on 1133a is the combined delay of the transmitter and receiver, and is shown as the rising edge propagation delay (t) for the rising edge (i.e., from rising edge 1136a to rising edge 1139a). txd2rxd_r )1143a, for the falling edge (i.e., from falling edge 1135a to falling edge 1137a), is shown as the falling edge propagation delay ( txd2rxd_f )1145a. Input the transmitter of node 1 (502a) into (TXD) 节点1 The logic level signal on 1131a is related to the receiver output (RXD) of node 1 (502a). 节点1 The symmetry of the logic level signals on 1133a is specified as t. tx2xd_sym =t txd2rxd_f -t txd2rxd_r The transmitter is designed to be fully balanced, thus generating a bus signal symmetrical around the receiver threshold at 0V. When only one transmitter is active on the CAN bus 504, this results in a typical value t. txd2rxd_sym =0. For CAN XL, a limitation is required on the symmetry of the logic level signal on the transmitter input (TXD) and the logic level signal on the receiver output (RXD) with a delay (currently specified between -15ns and +15ns).

[0114] Figure 11b Timing diagram 1100b illustrates a collision on the bus caused by another node simultaneously transmitting a dominant level (modeled with a 30mA current source). For example, without voltage shift, voltage shift 1134c due to the collision causes the CAN differential bus voltage (V...) to... CAN(DIFF) The 1134b rises to a maximum of 2V instead of 1V, causing an asymmetry in the receiver propagation delay. This asymmetry can be observed by comparing the propagation delay at the falling edge (t). txd2rxd_f The duration of 1145b and t txd2rxd_r The duration of 1143b shows this. txd2rxd_sym The value depends on the slew rate (dV) of the bus signal.CAN(DIFF) / dt) and DC shift due to collision (V DC(COLL) ). t txd2rxd_sym =2*V DC(COLL) / (dV CAN(DIFF) / dt).

[0115] Assume the following requirement for CAN XL is met: -15ns < t txd2rxd_sym <+15ns and minimum V DC(COLL) =1V, in order to detect collisions considering the allowed specified extension, the asymmetric shift due to the collision needs to be at least 30ns (2 x 15 ns) to prevent false collision detection. That is, under these requirements, 30ns can be interpreted as t txd2rxd_sym It must be equal to or exceed the threshold indicating a conflict. This is calculated by inputting to the maximum value dV. CAN(DIFF) / dt = 2V / 30ns = 66.7mV / ns (the current CAN XL specifies a maximum value of 61mV / ns). For a typical voltage swing of 2Vpp (peak-to-peak), the minimum allowable slope time on the bus (between 20% and 80% --> 60% swing --> factor 0.6) is 0.6 * 2V / 66.7mV / ns = 18ns. The current electrical specifications for CAN XL are in the proposed state, but there are dependencies between DC voltage shift, maximum asymmetry, and maximum slew rate (related to the minimum slope time) in order to detect collisions.

[0116] Therefore, in some cases, in Figure 9 Collisions on the CAN bus 904 can be detected by the CAN unit 902 based on multiple propagation delays 1143b, 1145b between corresponding signal edges 1135b, 1136b on the transmitted signal 1131b and corresponding signal edges 1137b, 1139b on the received signal 1133b. The corresponding signal edges 1135b, 1136b on the transmitted signal 1131b can be referred to as the first transmitted signal edge 1135b and the second transmitted signal edge 1136b, and the corresponding signal edges 1137b, 1139b on the received signal 1133b can be referred to as the first received signal edge 1137b and the second received signal edge 1139b. In this example, the first received signal edge 1137b and the first transmitted signal edge 1135b are both falling edges, and the second received signal edge 1139b and the second transmitted signal edge 1136b are both rising edges.

[0117] In these examples, the CAN unit 902 can be further configured to: detect a second transmit signal edge 1136b; detect a second receive signal edge 1139b corresponding to the second transmit signal edge 1136b; determine a first propagation delay 1145b based on the time period between the first transmit signal edge 1135b and the first receive signal edge 1137b; determine a second propagation delay 1143b based on the time period between the second transmit signal edge 1136b and the second receive signal edge 1139b; and detect collisions on the CAN bus 904 based on a comparison between the first propagation delay 1145b and the second propagation delay 1143b. In some examples, a collision can be detected when the difference between the first propagation delay 1145b and the second propagation delay 1143b is greater than a threshold.

[0118] In other examples, a collision can be detected when the first and / or second propagation delays 1143b and 1145b exceed a threshold. The threshold can be a time period at least within the range of the symmetry specification value. That is, the time period defined within the communication protocol limits the maximum difference allowed by the communication protocol.

[0119] Even if the network topology is not perfectly terminated and collisions can still be reliably detected when reflections exist in the bus signals, according to... Figure 12a and Figure 12b refer to Figure 7 The CANXL bus network 700 shown in the diagram explains this.

[0120] Figure 12a and Figure 12b The above references are shown respectively. Figure 11a and Figure 11b The timing diagrams 1100a and 1200a and 1200b described are similar, except that they involve... Figure 7 Node 3 (702c) of the CAN XL bus network instead Figure 5 The signal of node 1 (502a) of the CAN XL bus network. That is, due to the long short line 706a of node 3 (702c), the CAN differential bus voltage (V) is now... CAN(DIFF) Overshoot exists on 1234a and b (e.g., overshoot 1238a-d). Reflections on CAN bus 704 represented by overshoot 1238a-d do not affect the propagation delay t. txd2rxd_r 1243b and descent edge propagation delay t txd2rxd_ f 1245b. Therefore, reflection has symmetry due to conflict (t) txd2rxd_sym =t txd2rxd_f - txd2rxd_r The shift has no effect, and collisions can still be detected reliably.

[0121] If the dominant transmitter on the bus has a drive strength higher than 30mA, then the voltage to the CAN differential bus (V) CAN(DIFF) The DC shift of ) will be higher, and as a result, the RXD comparator of node 3 (702c), specifically the receiver, can turn on reflection. This in Figure 13 The explanation was provided in the text.

[0122] Figure 13 Similar to the above reference is shown. Figure 11a , Figure 11b and Figure 12b Timing diagram 1300 is described for timing diagrams 1100a, b, and 1200b. Signals in timing diagram 1300 include: the transmitter input (TXD) of the CAN transceiver at node 3 (702c). 节点3 )Logic level signals on 1331; CAN differential bus voltage (V CAN(DIFF) )1334, although it is similar to Figure 12a and Figure 12b CAN differential bus voltage (V) CAN(DIFF) )1234b, but now undergoes DC shift 1334a; under DC shift 1334a, the receiver output (RXD) of the CAN transceiver of node 3 (702c) 节点3 The logic level signal on 1333; and as a reference, the receiver output (RXD) of the CAN transceiver at node 3 (702c) without DC shift. 节点3 The logic level signal on 1333a.

[0123] The signals in timing diagram 1300 also include the transmitter input (TXD) of the CAN transceiver at node 3 (702c). 节点3 The falling 1335 and rising 1336 signal edges of the logic level signal on 1331, for the case of DC shift 1334a, the receiver output (RXD) of the CAN transceiver (702c) at node 3. 节点3 The falling 1337 and rising 1339 signal edges of the logic level signal on 1333, and for the case without DC shift, the receiver output (RXD) of the CAN transceiver of node 3 (702c) 节点3 The signal level on the logic level signal of 1333a drops to 1337a.

[0124] As indicated above, the voltage to the CAN differential bus (V) CAN(DIFF) The DC shift of the 1334a is caused by a dominant emitter on a bus with a driver strength greater than 30mA. Therefore, Figure 13 The timing diagram of the CAN differential bus voltage (V) in 1300CAN(DIFF) The 1334 has a baseline value of approximately 0.5V. Conversely, Figure 12b CAN differential bus voltage (V) CAN(DIFF) The baseline value of )1234b is 0V.

[0125] Before a collision occurs on the CAN bus, the DC shifter 1334a adjusts the CAN bus differential voltage (V). CAN(DIFF) The impact of 1334 is on the receiver output (RXD) of the CAN transceiver of node 3 (702c). 节点3 The logic level signal on the 1333 is logic level '0' instead of logic level '1'. Without DC shift, the receiver output (RXD) of the CAN transceiver at node 3 (702c) is... 节点3 The logic level signals on 1333a are compared, where both signals are initially at logic level '1'. Therefore, DC shift 1334a is applied to the CAN bus differential voltage (V). CAN(DIFF) Another consequence of 1334 is the lack of a corresponding signal edge on the receiver signal. That is, the transmitter input (TXD) of the CAN transceiver at node 3 (702c) lacks a signal edge on the receiver signal. 节点3 The first falling edge of the logic level signal on 1331 at 1335 is output in time by the receiver of the CAN transceiver at node 3 (702c) (RXD). 节点3 The non-corresponding first rising edge 1339 of the logic level signal on 1333, without DC shift, replaces the receiver output (RXD) of the CAN transceiver at node 3 (702c). 节点3 The corresponding falling edge 1337a of the logic level signal on 1333. This corresponds to the transmitter output (TXD) of the CAN transceiver at node 3 (702c). 节点3 The falling edge of the logic level signal on 1333 corresponds to the receiver output (RXD) of the CAN transceiver at node 3 (702c) on 1335. 节点3 The falling edge 1337 of the logic level signal on 1333 occurs during reflection 1338 after the receiver of the CAN transceiver at node 3 (702c) has been 'switched'.

[0126] In view of the above, based on the above Figure 13The timing diagram 1300 illustrates that detecting collisions on the CAN bus based solely on multiple propagation delays between individual signal edges on the transmitted signal and corresponding signal edges on the received signal may be unreliable. In this disclosure, collisions on the CAN bus can also be detected based on the absolute propagation delay between a signal edge on the transmitted signal and a corresponding signal edge on the received signal, occurring after a non-corresponding signal edge on the received signal. In some examples, collisions on the CAN bus can be detected when the absolute propagation delay as described above is greater than a specified maximum time. The specified maximum time may be based on the requirements of the communication protocol in which the CAN network operates.

[0127] exist Figure 13 In the timing diagram 1300, for example, the transmitter input (TXD) of the CAN transceiver at node 3 (702c) can be used as a reference. 节点3 The first falling edge of the logic level signal on 1331 1335 and the receiver output (RXD) of the CAN transceiver at node 3 (702c) 节点3 The absolute propagation delay between the first falling edge 1337 and the logic level signal on 1333 is used to detect collisions, where the collision occurs at the receiver output (RXD). 节点3 The first falling edge of the logic level signal on 1333 at the receiver output (RXD) 1337 节点3 The logic level signal on 1333 appears after the first rising edge 1339.

[0128] As an alternative, the transmitter input (TXD) of the CAN transceiver of node 3 (702c) can be used. 节点3 The first rising edge of the logic level signal on 1331 at 1336 coincides with the receiver output (RXD) of the CAN transceiver at node 3 (702c). 节点3 The absolute propagation delay between the first rising edge of the logic level signal on 1333 and 1339 is used to detect collisions.

[0129] In summary, when the (absolute) falling edge propagation delay t txd2rxd_f 1345 time or rising edge propagation delay (t) txd2rxd_r When the bit time is higher than a certain maximum, a higher DC shift on the bus (causing the RXD comparator to be in a static "1") can also be detected as a collision. This feature can be used as the primary detection mechanism. In such cases, since the bit time is the falling edge propagation delay (t... txd2rxd_f )1345 is a part of time, therefore the asymmetry t txd2rxd_sym =t txd2rxd_f -t txd2rxd_r Now it's a large value. Asymmetry t txd2rxd_sym =t txd2rxd_f-t txd2rxd_r It can also be used in such cases to detect collisions on the bus, although as a secondary detection mechanism to the primary detection mechanism.

[0130] Implementations of this disclosure can be digital (asynchronous or synchronous) or analog. Reference Figure 14 The flowchart shown in Figure 1400 illustrates an example of synchronous digital implementation.

[0131] Figure 14 A sample digital implementation of this disclosure is shown in flowchart 1400, which is represented by three concurrent processes:

[0132] 1) Determine the descent propagation delay from the TXD to the RXD pins of the 1400a;

[0133] 2) Determine the rise propagation delay from the TXD to the RXD pins of the 1400b; and

[0134] 3) Compare the rising and falling propagation delays from TXD to RXD at 1400c.

[0135] The numbering does not limit this disclosure to any order or sequence of processes. For example, a falling edge can be a first edge, and a rising edge can be a second subsequent edge. According to another example, a rising edge can be a first edge, and a falling edge can be a second subsequent edge.

[0136] Processes 1 (1400a) and 2 (1400b) are similar, but differ in the detection of falling or rising edges. After the "start" steps 1451a,b, the process first initializes the variables (valid_falling and valid_rising) to false, which tracks whether the propagation delay is being measured for the first time. The next step is to wait for the edge 1453a,b on the logic level signal at the transmitter input of the CAN transceiver (TXD). When an edge is detected (at 'y' in steps 1453a,b), the propagation delay variable is reset 1454a,b and incremented by a specific value (1 in this example) 1455a,b during each synchronization clock period. If, in steps 1456a,b, it is determined that the propagation delay (variable counter_falling or counter_rising) is higher than a predetermined value (variable counter_maximum), the process exits 1457a,b and proceeds to the detected collision. That is, a collision is detected when a timeout occurs. Conversely, if the propagation delay is lower than a predetermined value, processes 1 and 2 wait for subsequent corresponding edges 1458a and b on the logic level signal on the receiver output of the CAN transceiver (RXD). That is, the falling edge on RXD in process 1 and the rising edge on RXD in process 2. If no corresponding edge is detected on RXD, processes 1 and 2 loop back to steps 1455a and 1455b, respectively.

[0137] After edge detection 1458a, b on the RXD pin, the propagation delay is equal to the counter variable (counter_fall or counter_rise) and copied to the variables (t_fall and t_rise) 1459a, b that store the last measured propagation delay. The variables (valid_fall and valid_rise) used to track whether the propagation delay was measured for the first time are set to true in 1459a, b. Then, processes 1 and 2 loop back to steps 1453a and 1453b, respectively, to detect subsequent edges.

[0138] Process 3 (1400c) first checks whether both 1460 and 1461 have been determined to have both the rising (step 1460) and falling (step 1461) propagation delays before calculating the difference between the falling and rising propagation delays (variable sym) at 1462 (in this example, by checking whether the variables valid_fall and valid_rise are true - if valid_fall or valid_rise is false, the check is repeated). Then, process 3 determines at 1463 whether the absolute difference is greater than a predetermined value (variable symmax). If this is the case ('y' at step 1463), the process exits at 1457c and proceeds to the detected conflict. If the calculated absolute difference is lower than the predetermined value, the process continues to calculate the difference between the falling and rising propagation delays at 1462.

[0139] This digital implementation can be implemented, for example, in a transceiver such as the CAN XL transceiver 912, or in a controller such as the CAN XL controller 910. Upon detecting a collision, a switch from "fast" mode to "slow" mode can be initiated. An example use case for collision detection is switching the transceiver from "fast" mode back to "slow" mode. A switch is required upon detecting any collision. If an error occurs, slow mode is the desired default mode.

[0140] In a controller, such as the CAN XL controller, which has a dedicated interface to a transceiver, such as the CAN XL transceiver, to reliably perform the mode change, there is no issue with detection within the controller itself – it can switch back to the transceiver. If the controller cannot guarantee reliable access to the transceiver (e.g., due to the shared RXD and TXD pins), it may be necessary for the transceiver to be able to detect the collision and automatically switch back to slow mode. Therefore, in some examples, CAN unit 902 can be configured to: initialize corresponding delay variables 1455a, b to track the measurement of one or both of the first propagation delay 1145b and the second propagation delay 1143b; wait for signal edges 1135b, 1137b in one or more of the transmitter input signal 1131b and the receiver output signal 1133b; increment the corresponding delay variable 1455a, b by the delay variable value when the signal edge 1135b, 1137b is detected; iterate the waiting and incrementing configuration until the corresponding delay variable exceeds a predetermined value 1156a, b; and detect a collision on CAN bus 904 when the value of the corresponding delay variable exceeds the predetermined value.

[0141] Figure 15 An example simulation implementation 1500 is illustrated. A first branch 1570a of simulation implementation 1500 is used to detect a first-type edge of a logic level signal on the transmitter input (TXD) of the CAN transceiver and a logic level signal on the receiver output (RXD) of the CAN transceiver (e.g., a falling edge). A second branch 1570b of simulation implementation 1500 is used to detect a second-type edge of a logic level signal on the transmitter input (TXD) of the CAN transceiver and a logic level signal on the receiver output (RXD) of the CAN transceiver (e.g., a rising edge).

[0142] Each of the first and second branches 1570a, b of the simulation implementation 1500 can be configured to detect an edge on the transmitter input (TXD) or receiver output (RXD) pin of the CAN controller or CAN transceiver, time the duration until a corresponding edge on the corresponding pin is detected, and provide a voltage representation of the propagation delay based on the timed duration. Collisions on the CAN bus can be detected based on the voltage representation of the propagation delay.

[0143] In this example, the propagation delay between TXD and RXD is converted into voltages for the falling and rising edges. At the start of the TXD edge, flip-flops 1572a and 1572b are set, and tracking capacitors 1574a and 1574b (C) are simultaneously tracked. FALL_INT Or C RISE_INT Short-duration discharge (determined by single-time timers 1576a and 1576b). Due to the constant charging current (I) 偏置The voltage V across capacitors 1574a and 1574b is tracked. SUP Increase. When the same edge on RXD is detected, triggers 1572a and 1572b are reset and charging of capacitors 1574a and 1574b is stopped. Simultaneously, switch (S... 下降 or S 上升 )1578a, b are off, and the voltage on the tracking capacitor is applied to the storage capacitor (C) via buffers (buffall and buffrise) 1580a, b. 下降 and C 上升 The buffer voltage V on the corresponding storage capacitors 1582a and 1582b is... 下降 V 上升 This represents the propagation delay between TXD and RXD. This circuit has both falling and rising edges.

[0144] Then, comparators 1584a and 1584b are used to measure the tracking voltage V on the tracking capacitors 1574a and 1574b. SUP With a fixed delay voltage (V) representing the maximum propagation delay time DELAY_最大 Compare 1585a and b. When the voltage V on the tracking capacitor... SUP Higher than the fixed delay voltage (V) DELAY_最大 When comparators 1584a and 1585b (causing comparators 1584a and 1584b to output a 'high' logic state), a 'collision detection' signal is displayed via OR gate 1586.

[0145] It can also be based on the rising and falling edge buffer voltage V on storage capacitors 1582a and 1582b. 下降 V 上升 To generate a 'collision detection' signal. In these cases, the falling edge buffer voltage V is first... 下降 Provided to the first comparator 1590a and the second comparator 1590b.

[0146] The first comparator 1590a is configured to receive the falling-edge buffer voltage V at its positive input. 下降 And it receives a first fixed maximum symmetry voltage 1592a at the negative input terminal. In this example, the first fixed maximum symmetry voltage 1592a is referenced to the rising edge buffer voltage V. 上升 Instead of grounding (with a fixed delay voltage V) DELAY_最大 (Compared to 1585a and b). When the falling edge buffer voltage V 下降When the voltage is above the first fixed maximum symmetry voltage 1592a, the first comparator 1590a outputs a 'high' logic state to the first AND gate 1588a. The 'collision detection' signal generated via the OR gate 1586 and the first AND gate 1588 is only valid after the propagation delay on the falling and rising edges has been measured once (valid_fall and valid_rise), as detected by the corresponding flip-flops 1594a, b triggered on the falling or rising edge of RXD.

[0147] The second comparator 1590b is configured to receive the falling-edge buffer voltage V at the negative input. 下降 And it receives a second fixed maximum symmetry voltage 1592b at the positive input terminal. Similar to the first fixed maximum symmetry voltage 1592a, the second fixed maximum symmetry voltage 1592b reference voltage signal V. 上升 Instead of grounding. When the second fixed maximum symmetry voltage 1592b is higher than the falling edge voltage V 下降 At this time, the second comparator 1590b outputs a 'high' logic state to the second AND gate 1588b. The 'collision_detection' signal generated via the OR gate 1586 and the second AND gate 1588 is only valid after the propagation delay on the falling edge and the rising edge has been measured once (valid_falling and valid_rising), as detected by the corresponding flip-flops 1594a, b triggered on the falling edge or rising edge of RXD.

[0148] Therefore, in some cases, Figure 9 The CAN unit 902 can be configured to: convert one or more of the first signal edge propagation delay and the second signal edge propagation delay into a first signal edge propagation delay voltage and a second signal edge propagation delay voltage, respectively; and detect collisions on the CAN bus when one or more of the first signal edge propagation delay voltage and the second signal edge propagation delay voltage exceed a corresponding fixed voltage.

[0149] This disclosure is not limited to examples. Specifically, the order of rising and falling edges appearing on TXD and RXD is not limited to the examples. The first edge can be either a rising edge or a falling edge. Therefore, the second subsequent edge can be either a falling edge or a rising edge, respectively.

[0150] In some examples of this disclosure, in the case of a symmetrical balanced voltage level scheme, differential bus collision detection is proposed by measuring the difference in the rise and fall propagation delays from transmitted data to received data. Specifically, the time delay between TXD and RXD of the same node (specifically, a first time delay at a first edge between TXD and RXD, and a second time delay at a second subsequent edge between TXD and RXD) is detected at subsequent edges, and the detected delays (specifically, the first and second time delays) are subtracted from each other. If the difference between the detected delays is not equal to 0, a collision exists. When a collision is detected, switching to "slow" mode may be appropriate.

[0151] Although this example primarily involves CAN FD and CAN XL technologies, this disclosure is not limited to these CAN types, but the basic concepts can be adapted to other CAN types.

[0152] Specific details of various embodiments have been provided in the foregoing description. However, some embodiments may be practiced with fewer details than all of these. In other instances, for the sake of brevity and clarity, only certain methods, processes, components, structures, and / or functions are described to enable more detailed description of the various embodiments of the invention.

[0153] It should be noted that the above embodiments have been described with reference to different subjects. Specifically, some embodiments may have been described with reference to method type claims, while others may have been described with reference to device type claims. However, those skilled in the art will understand from the foregoing that, unless otherwise stated, any combination of features relating to different subjects, in particular a combination of features of method type claims and features of device type claims, is also considered to be disclosed with this document, except for any combination of features belonging to one type of subject matter.

[0154] Although the operations of the methods herein are shown and described in a specific order, the order of operations of each method can be changed so that some operations can be performed in reverse order, or that some operations can be performed at least partially concurrently with other operations. In another embodiment, instructions or sub-operations of different operations can be implemented in an intermittent and / or alternating manner.

[0155] Although specific embodiments of the invention have been described and illustrated, the invention is not limited to the particular forms or arrangements of parts described and illustrated. Many alternative embodiments will be able to be devised by those skilled in the art without departing from the scope of the appended claims.

[0156] In the claims, any reference numerals placed between parentheses should not be construed as limiting the claims. The words "comprise(s)" or "comprising" do not exclude the presence of elements or steps other than those listed in the claims. The words "a" or "an" preceding an element do not exclude the presence of a plurality of such elements. The measures recited in the claims can be implemented by hardware comprising several different elements and / or by a suitably programmed processor. In an apparatus claim enumerating several means, several of these means may be presented by the same item of hardware. The fact that certain measures are recited in mutually different dependent claims does not imply that combinations of these measures cannot be advantageously used.

Claims

1. A Controller Area Network (CAN) unit, characterized in that, The unit is configured to: Detect the transmit signal edge on the transmit signal used by the CAN transceiver; Detect the corresponding receive signal edge on the receive signal of the CAN controller used for the CAN transceiver; and CAN bus collisions are detected based on multiple propagation delays between the corresponding signal edge on the transmitted signal and the corresponding signal edge on the received signal. The transmitted signal edge is a first transmitted signal edge and the corresponding received signal edge is a first received signal edge, and the unit is further configured to: Detect the edge of the second transmitted signal; Detect the edge of the second received signal corresponding to the edge of the second transmitted signal; The first propagation delay is determined based on the time interval between the edge of the first transmitted signal and the edge of the first received signal; The second propagation delay is determined based on the time interval between the edge of the second transmitted signal and the edge of the second received signal; CAN bus collisions are detected by comparing the first propagation delay with the second propagation delay.

2. The CAN unit according to claim 1, characterized in that, Both the first received signal edge and the first transmitted signal edge are falling edges, and both the second received signal edge and the second transmitted signal edge are rising edges.

3. The CAN unit according to claim 1, characterized in that, If the difference between the first propagation delay and the second propagation delay is greater than a threshold, the CAN bus collision is detected.

4. The CAN unit according to claim 1, characterized in that, The received signal edge corresponding to the transmitted signal edge appears after the transmitted signal edge, and The edge of the received signal and the edge of the transmitted signal are both falling edges.

5. The CAN unit according to claim 1, characterized in that, The received signal edge, corresponding to the edge of the transmitted signal, appears before the edge of the transmitted signal, and The edge of the received signal and the edge of the transmitted signal are both rising edges.

6. The CAN unit according to any one of the preceding claims, characterized in that, When the propagation delay exceeds the threshold, the CAN bus conflict is detected.

7. A method for detecting collisions on a CAN bus, characterized in that, include: Detect the transmit signal edge on the transmit signal used by the CAN transceiver; Detect the corresponding receive signal edge on the receive signal of the CAN controller used for the CAN transceiver; as well as CAN bus collisions are detected based on multiple propagation delays between the corresponding signal edge on the transmitted signal and the corresponding signal edge on the received signal. The transmitted signal edge is a first transmitted signal edge and the corresponding received signal edge is a first received signal edge, and the method is further configured to: Detect the edge of the second transmitted signal; Detect the edge of the second received signal corresponding to the edge of the second transmitted signal; The first propagation delay is determined based on the time interval between the edge of the first transmitted signal and the edge of the first received signal; The second propagation delay is determined based on the time interval between the edge of the second transmitted signal and the edge of the second received signal; CAN bus collisions are detected by comparing the first propagation delay with the second propagation delay.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium has a computer-readable program embodied thereon, the computer-readable program being configured to cause a processor to execute the method according to claim 7.

Citation Information

Patent Citations

  • Communication system adapting for car, communication apparatus adapting for car, and communication method adapting for car

    US20100131816A1