US11584314B2ActiveUtilityA1
Collision detection on a can bus
Est. expiryJul 2, 2039(~13 yrs left)· nominal 20-yr term from priority
Inventors:Clemens Gerhardus Johannes De Haas
B60R 16/023H04L 12/40H04L 2012/40215H04L 12/4625G05B 2219/24036H04L 2012/40273H04L 12/413G05B 19/0423
86
PatentIndex Score
2
Cited by
11
References
14
Claims
Abstract
The disclosure relates to a controller area network, CAN, unit and associated method and computer program. The CAN unit is configured to detect a transmit signal edge on a transmit signal for a CAN transceiver; detect a corresponding receive signal edge on a receive signal for a CAN controller of the CAN transceiver; and detect a collision on the CAN bus based on a propagation delay between the transmit signal edge and the corresponding receive signal edge.
Claims
exact text as granted — not AI-modifiedThe invention claimed is:
1. A controller area network (“CAN”) unit configured to:
detect a transmit signal edge on a transmit signal for a CAN transceiver;
detect a corresponding receive signal edge on a receive signal for a CAN controller of the CAN transceiver; and
detect a CAN bus collision based on a propagation delay between the transmit signal edge and the corresponding receive signal edge;
wherein the receive signal edge corresponding to the transmit signal edge occurs before the transmit signal edge; and
wherein the receive signal edge and transmit signal edge are both rising edges.
2. The CAN unit of claim 1 , in which the CAN bus collision is detected based on a plurality of propagation delays between respective signal edges on the transmit signal and corresponding signal edges on the receive signal.
3. The CAN unit of claim 1 , in which the transmit signal edge is a first transmit signal edge and the corresponding receive signal edge is a first receive signal edge, and the unit is further configured to:
detect a second transmit signal edge;
detect a second receive signal edge that corresponds to the second transmit signal edge;
determine a first propagation delay based on a period between the first transmit signal edge and the first receive signal edge;
determine a second propagation delay based on a period between the second transmit signal edge and the second receive signal edge;
detect a CAN bus collision based on a comparison between the first propagation delay and the second propagation delay.
4. The CAN unit of claim 3 , in which the first receive signal edge and first transmit signal edge are both falling edges and the second receive signal edge and the second transmit signal edge are both rising edges.
5. The CAN unit of claim 3 , in which the CAN bus collision is detected is a difference between the first propagation delay and the second propagation delay is greater than a threshold.
6. The CAN unit of claim 1 , in which the receive signal edge corresponding to the transmit signal edge occurs subsequently to the transmit signal edge, and
in which the receive signal edge and transmit signal edge are both falling edges.
7. The CAN unit of claim 1 , in which the CAN bus collision is detected when the propagation delay exceeds a threshold.
8. The CAN unit of claim 1 , further configured to detect the CAN bus collision during a fast data phase of CAN operation.
9. The CAN unit of claim 8 , further configured to switch to a slow, arbitration mode of operation in response to detecting the CAN bus collision.
10. A method of operating a Controller Area Network (“CAN”) transceiver to detect a collision on a CAN bus, the method comprising:
detecting a transmit signal edge on a transmit signal transmitted by the CAN transceiver;
detecting a corresponding receive signal edge on a receive signal received by a CAN controller of the CAN transceiver; and
detecting a collision on the CAN bus based on a propagation delay between the transmit signal edge and the corresponding receive signal edge;
wherein the receive signal edge corresponding to the transmit signal edge occurs before the transmit signal edge; and
wherein the receive signal edge and transmit signal edge are both rising edges.
11. A computer program code configured to cause a processor to perform the method of claim 10 .
12. A controller area network (“CAN”) unit configured to:
detect a transmit signal edge on a transmit signal for a CAN transceiver;
detect a corresponding receive signal edge on a receive signal for a CAN controller of the CAN transceiver; and
detect a CAN bus collision based on a propagation delay between the transmit signal edge and the corresponding receive signal edge when the propagation delay exceeds a time period of at least the range symmetry specification value.
13. The CAN unit of claim 12 , further configured to:
convert the one or more of the first signal edge propagation delay and the second signal edge propagation delay into respective a first signal edge propagation delay voltage and a second signal edge propagation delay voltage; and
detect the collision on the CAN bus when one or more of the first signal edge propagation delay voltage and second signal edge propagation delay voltage exceed respective fixed voltages.
14. A controller area network, CAN, unit, the unit configured to:
detect a first transmit signal edge on a transmit signal for a CAN transceiver;
detect a corresponding first receive signal edge on a receive signal for a CAN controller of the CAN transceiver; and
detect a CAN bus collision based on a propagation delay between the first transmit signal edge and the corresponding first receive signal edge;
detect a second transmit signal edge;
detect a second receive signal edge that corresponds to the second transmit signal edge;
determine a first propagation delay based on a period between the first transmit signal edge and the first receive signal edge;
determine a second propagation delay based on a period between the second transmit signal edge and the second receive signal edge;
detect a CAN bus collision based on a comparison between the first propagation delay and the second propagation delay;
initialize a respective corresponding delay variable to track the measurement of the one or both of the first propagation delay and the second propagation delay;
wait for a signal edge in one or more of the transmitter input signal and the receiver output signal;
increment, upon detection of the signal edge, the respective corresponding delay variable by a delay variable value;
iterate over the wait and increment configurations until the respective corresponding delay variable exceeds a predetermined value; and
detect the collision on the CAN bus when the value of the respective corresponding delay variable exceeds the predetermined value.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.