tTSeg1 = tProp + tPhase1
tTSeg1 = (2 * t
q
) + (1 * t
q
)
tTSeg1 = 3 * t
q
tTSeg2 = tPhase2
tTSeg2 = (Information Processing Time + 1) * t
q
tTSeg2 = 1 * t
q
\\Assumes IPT=0
tSJW = 1 * t
q
\\Least of 4, Phase1 and Phase2
In the above example, the bit field values for the
CANBIT
register are:
= TSeg2 -1
= 1-1
= 0
TSEG2
= TSeg1 -1
= 3-1
= 2
TSEG1
= SJW -1
= 1-1
= 0
SJW
= Baud rate prescaler - 1
= 5-1
=4
BRP
The final value programmed into the
CANBIT
register = 0x0204.
19.3.16.2 Example for Bit Timing at Low Baud Rate
In this example, the frequency of the CAN clock is 50 MHz, and the bit rate is 100 Kbps.
bit time = 10 µs = n * t
q
= 10 * t
q
t
q
= 1 µs
t
q
= (Baud rate Prescaler)/CAN Clock
Baud rate Prescaler = t
q
* CAN Clock
Baud rate Prescaler = 1E-6 * 50E6 = 50
tSync = 1 * t
q
= 1 µs \\fixed at 1 time quanta
delay of bus driver 200 ns
delay of receiver circuit 80 ns
delay of bus line (40m) 220 ns
tProp 1 µs = 1 * t
q
\\1 µs is next integer multiple of t
q
bit time = tSync + tTSeg2 = 10 * t
q
bit time = tSync + tProp + tPhase 1 + tPhase2
tPhase 1 + tPhase2 = bit time - tSync - tProp
tPhase 1 + tPhase2 = (10 * t
q
) - (1 * t
q
) - (1 * t
q
)
tPhase 1 + tPhase2 = 8 * t
q
tPhase1 = 4 * t
q
tPhase2 = 4 * t
q
\\tPhase1 = tPhase2
June 18, 2014
1374
Texas Instruments-Production Data
Controller Area Network (CAN) Module