English
Language : 

SAM7X256_14 Datasheet, PDF (489/662 Pages) ATMEL Corporation – ARM-based Flash MCU
In the CAN controller, the length of a bit on the CAN bus is determined by the parameters (BRP, PROPAG, PHASE1 and
PHASE2).
tBIT = tCSC + tPRS + tPHS1 + tPHS2
The time quantum is calculated as follows:
tCSC = (BRP + 1) ⁄ MCK
Note: The BRP field must be within the range [1, 0x7F], i.e., BRP = 0 is not authorized.
tPRS = tCSC × (PROPAG + 1)
tPHS1 = tCSC × (PHASE1 + 1)
tPHS2 = tCSC × (PHASE2 + 1)
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.
tSJW = tCSC × (SJW + 1)
Figure 36-5. CAN Bit Timing
MCK
CAN Clock
tCSC
tPRS
tPHS1
tPHS2
NOMINAL BIT TIME
SYNC_
SEG
PROP_SEG
PHASE_SEG1
PHASE_SEG2
Sample Point
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
Transmission Point
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
SAM7X Series [DATASHEET]
6120K–ATARM–11-Feb-14
489