df max
2 df
fnom
u
u
Phase _ seg1, Phase _ seg2 min
df
2 (13 tbit
Phase _ Seg2)
d
u
u
1 df
fnom
fosc
1 df
fnom
u
d
d
u
Functional Description
800
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Controller Area Network (CAN) Module
where
•
df = Maximum tolerance of oscillator frequency
•
fosc = Actual oscillator frequency
•
fnom = Nominal oscillator frequency
(9)
Maximum frequency tolerance must take into account
and
:
(10)
where
•
Phase1 and Phase2 are from
•
tbit = Bit Time
•
dfmax = Maximum difference between two oscillators
(11)
If more than one configuration is possible, that configuration allowing the highest oscillator tolerance range
should be chosen.
CAN nodes with different system clocks require different configurations to come to the same bit rate. The
calculation of the propagation time in the CAN network, based on the nodes with the longest delay times,
is done once for the whole network.
The CAN system's oscillator tolerance range is limited by the node with the lowest tolerance range.
The calculation may show that bus length or bit rate must be decreased or that the oscillator frequencies'
stability has to be increased in order to find a protocol-compliant configuration of the CAN bit timing.
11.3.16.1 Example for Bit Timing at High Baud Rate
In this example, the frequency of CAN clock is 25 MHz, and the bit rate is 1 Mbps.
bit time = 1 µs = n × t
q
= 5 × t
q
where
•
t
q
= 200 ns
•
t
q
= (baud rate prescaler) / CAN clock
•
Baud rate prescaler = t
q
× CAN clock
•
Baud rate prescaler = 200E–9 × 25E6 = 5
•
tSync = 1 × t
q
= 200 ns
(12)
\\fixed at 1 time quanta
•
delay of bus driver = 50 ns
•
delay of receiver circuit = 30 ns
•
delay of bus line (40 m) = 220 ns
tProp 400 ns = 2 × t
q
(13)
\\400 is next integer multiple of tq
bit time = tSync + tTSeg2 = 5 × t
q
(14)
bit time = tSync + tProp + tPhase 1 + tPhase2
(15)
tPhase 1 + tPhase2 = bit time – tSync – tProp
(16)
tPhase 1 + tPhase2 = (5 × t
q
) – (1 × t
q
) – (2 × t
q
)
(17)
tPhase 1 + tPhase2 = 2 × t
q
(18)
tPhase1 = 1 × t
q
(19)
tPhase2 = 1 × t
q
(20)
\\tPhase2 = tPhase1