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,
tq 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).