
23. 32-Slot CAN Module
23.1.8
CAN2 Baud Rate Prescaler (C2BRP Register)
Figure 23.10
C2BRP Register
The C2BRP 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 C2BRP 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
C2BRP
Address
0517h
After Reset(2)
0000 0001b
b0
Setting Range
Function
RW
CAN2 Baud Rate Prescaler(1)
If the setting value is
n, the CPU clock is divided by n+1.
RW
01h to FFh(3)
NOTES:
1. Set the C2BRP register while the STATE_RESET bit in the C2STR register is 1 (CAN module is in reset).
2. The value is obtained by setting the SLEEP bit in the C2SLPR register to 1 (sleep mode exited) after reset and supplying the
clock to the CAN module.
3. Do not set the C2BRP register to 00h (divide-by-1).
Baud rate =