
DocID13284 Rev 2
457/564
UM0404
CAN modules
no edge had occurred. As in the previous example, the magnitude of this “early” edge’s
phase error is less than SJW, so it is fully compensated.
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).
Figure 185. Filtering of short dominant spikes
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.
System clock tolerance range
The CAN system clock for the different nodes in the network is typically derived from a
different clock generator source. The actual CAN system clock frequency for each node
(and consequently the actual bit time), is affected by a tolerance. In particular, for ST10F276
the CAN system clock is derived (prescaled) from the CPU clock, typically generated by the
on-chip PLL multiplying the frequency of the main oscillator.
An effective communication requires that all CAN nodes in the network sample the correct
value for each transmitted bit: also those nodes (typically at opposite ends of the network)
with the largest propagation delay, and working with system clocks that are at opposite limits
of the frequency tolerance, must be able to correctly receive and decode every message
transmitted on the network.
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