
22. 16-Slot CAN Module
22.1.7
CANi Baud Rate Prescaler (CiBRP Register) (i = 0, 1)
Figure 22.9
C0BRP and C1BRP Registers
The CiBRP register determines a Tq of the CAN bit time.
The baud rate is obtained from “Tq x number of Tq per bit”.
Tq = (BRP + 1) / CAN clock
Tq: Time quantum
1
BRP: Setting value of the CiBRP register,1 to 255
Tq x number of Tq per bit
Number of Tq per bit = SS + PTS + PBS1 + PBS2
The CAN bit time is comprised of the following four segments.
(1) SS: Synchronization Segment
This segment is used to monitor the falling edge of a bit in order to synchronize the various CAN
modules.
(2) PTS: Propagation Time Segment
This segment is used to compensate for the physical delay times within the CAN network. The physical
delay times within the network is twice the sum of the signal propagation delay on the CAN bus, the
input comparator delay, and the output driver delay.
(3) PBS1: Phase Buffer Segment 1
This segment is used to compensate for the edge phase error caused by the frequency error. If the falling
edge of a bit comes in later than expected, PBS1 is lengthened by up to the resynchronization jump
width.
(4) PBS2: Phase Buffer Segment 2
This segment is analogous to PBS1. If the falling edge of a bit comes in sooner than expected, PBS2 is
shortened by up to the resynchronization jump width.
SJW: Resynchronization Jump Width
This is the amount of lengthening or shortening of the phase buffer segments to compensate for the phase
error.
b7
Symbol
C0BRP
C1BRP
Address
0217h
0297h
After Reset(2)
0000 0001b
b0
Setting Range
Function
RW
CANi Baud Rate Prescaler (i = 0, 1)(1)
If the setting value is
n, the CAN clock is divided by n+1.
RW
01h to FFh(3)
NOTES:
1. Set the CiBRP register while the STATE_RESET bit in the CiSTR register is 1 (CAN module is in reset).
2. The value is obtained by setting the SLEEP bit in the CiSLPR register to 1 (sleep mode exited) after reset and supplying the
clock to the CAN module.
3. Do not set the CiBRP register to 00h (divide-by-1).
Baud rate =