AP29000
Connecting C166 and C500 Microcontroller to CAN
Ways of handling the SAE 81C90/91 and the CAN Module on the C167CR / C515C
Application Note 44 V 1.0, 2004-02
Please note that TSEG1, TSEG2, BRP and SJW are the numerical values of the
respective fields to be programmed in the respective registers of the controllers,
t
q
represents one BTL cycle (see section 2.4).
The following equation applies to the C167CR:
t
CAN_CLOCK
= 2 * t
XCLK
=
2
f
CPU
The following equation applies to the C515C:
t
CAN_CLOCK
= 1 CLP =
1
f
CPU
The following equation applies to SAE 81C90/91:
t
CAN_CLOCK
= 2 * t
OSC
=
2
f
OSC
Equations (2), (3) and (4) inserted into (1) results in:
t
BIT
= 1 * t
q
+ (TSEG1 + 1) * t
q
+ (TSEG2 + 1) * t
q
which is equal to
t
BIT
= 3 * t
q
+ (TSEG1 + TSEG2) * t
q
This equation solved to (TSEG1 + TSEG2) results in:
(TSEG1 + TSEG2) =
t
BIT
- 3 * t
q
t
q
Inserting (5) results in
(TSEG1 + TSEG2) =
t
BIT
(BRP + 1) * t
CAN_CLOCK
- 3
The following applies to (TSEG1 + TSEG2):
1 ≤ (TSEG1 + TSEG2) ≤ 22 and (TSEG1 + TSEG2) ε N
because the possible values for TSEG1 are between 0 and 15 and for TSEG2 are
between 0 and 7 and both parameters have to be integer. Now certain values of t
BIT
,
t
CAN_CLOCK
, and BRP (possible values for BRP are 0 to 63) result in different possible
values for (TSEG1 + TSEG2).