II: df
SJW
20xbit_time
-------------------------
≤
I: df
min TSeg1 Tseg2)
,
)
2x (13x (bit_time
–
TSeg2))
-----------------------------------------------------------------------
≤
Recessive
dominant
Sync_Seg
Prop_Seg
Phase_Seg1
Phase_Seg2
Spike
Rx-input
Sample-point
Sample-point
Sample-point
Sample-point
Recessive
dominant
Spike
Rx-Input
SJW >= phase error
SJW < phase error
CAN Bit Timing
1534
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
M3 Controller Area Network (CAN)
The phase buffer segments are lengthened or shortened temporarily only; at the next bit time, the
segments return to their nominal programmed values.
In these examples, the bit timing is seen from the point of view of the CAN implementation's state
machine, where the bit time starts and ends at the sample points. The state machine omits Sync_Seg
when synchronizing on an "
early
" edge because it cannot subsequently redefine that time quantum of
Phase_Seg2 where the edge occurs to be the Sync_Seg.
The examples in
show how short dominant noise spikes are filtered by synchronizations. In
both examples, the spike starts at the end of Prop_Seg and has the length of (Pr Phase_Seg1).
In the first example, the synchronization jump width is greater than or equal to the phase error of the
spike's edge from recessive to dominant. Therefore the sample point is shifted after the end of the spike; a
recessive bus level is sampled.
In the second example, SJW is shorter than the phase error, so the sample point cannot be shifted far
enough; the dominant spike is sampled as actual bus level.
Figure 23-14. Filtering of Short Dominant Spikes
23.12.1.4 Oscillator Tolerance Range
With the introduction of CAN protocol version 1.2, the option to synchronize on edges from dominant to
recessive became obsolete. Only edges from recessive to dominant are considered for synchronization.
The protocol update to version 2.0 (A and B) had no influence on the oscillator tolerance.
The tolerance range df for an oscillator's frequency f
osc
around the nominal frequency f
nom
with
(1 - df) • f
nom
≤
f
osc
≤
(1 + df) • f
nom
depends on the proportions of Phase_Seg1, Phase_Seg2, SJW, and the bit time. The maximum tolerance
df is the defined by two conditions (both shall be met):
(11)
(12)