Datasheet
489
SAM7X Series [DATASHEET]
6120K–ATARM–11-Feb-14
In the CAN controller, the length of a bit on the CAN bus is determined by the parameters (BRP, PROPAG, PHASE1 and
PHASE2).
The time quantum is calculated as follows:
Note: The BRP field must be within the range [1, 0x7F], i.e., BRP = 0 is not authorized.
To compensate for phase shifts between clock oscillators of different controllers on the bus, the CAN controller must
resynchronize on any relevant signal edge of the current transmission. The resynchronization shortens or lengthens the
bit time so that the position of the sample point is shifted with regard to the detected edge. The resynchronization jump
width (SJW) defines the maximum of time by which a bit period may be shortened or lengthened by resynchronization.
Figure 36-5. CAN Bit Timing
Example of bit timing determination for CAN baudrate of 500 Kbit/s:
MCK = 48MHz
CAN baudrate= 500kbit/s => bit time= 2us
Delay of the bus driver: 50 ns
Delay of the receiver: 30ns
Delay of the bus line (20m): 110ns
The total number of time quanta in a bit time must be comprised between 8 and
25. If we fix the bit time to 16 time quanta:
Tcsc = 1 time quanta = bit time / 16 = 125 ns
=> BRP = (Tcsc x MCK) - 1 = 5
The propagation segment time is equal to twice the sum of the signal’s
propagation time on the bus line, the receiver delay and the output driver
delay:
Tprs = 2 * (50+30+110) ns = 380 ns = 3 Tcsc
=> PROPAG = Tprs/Tcsc - 1 = 2
The remaining time for the two phase segments is:
Tphs1 + Tphs2 = bit time - Tcsc - Tprs = (16 - 1 - 3)Tcsc
t
BIT
t
CSC
t
PRS
t
PHS1
t
PHS2
++ +=
t
CSC
BRP 1+()MCK⁄=
t
PRS
t
CSC
PROPAG 1+()×=
t
PHS1
t
CSC
PHASE1 1+()×=
t
PHS2
t
CSC
PHASE2 1+()×=
t
SJW
t
CSC
SJW 1+()×=
SYNC_
SEG
PROP_SEG PHASE_SEG1 PHASE_SEG2
NOMINAL BIT TIME
Sample Point
Transmission Point
MCK
CAN Clock
t
CSC
t
PRS
t
PHS1
t
PHS2