AP29000
Connecting C166 and C500 Microcontroller to CAN
The Infineon CAN Devices C167CR, C515C and SAE 81C90/91
Application Note
23
V 1.0, 2004-02
Figure 6
Block Diagram of the CAN module (connected to the C167CR here)
The CAN module is made of two major blocks. One of them represents the interface to
the CPU.
In the C167CR, the CAN module is connected to the bus controller (and therefore to
the CPU) via the XBUS. From a user’s point of view, this XBUS can be regarded as an
internal representation of the external bus. Connecting the CAN module to the XBUS
in 16-bit demultiplexed bus mode offers the fastest possible accesses. All registers of
the CAN module are organized as 16-bit registers, located on word addresses.
However, all registers may be accessed bytewise in order to select special actions
without affecting other mechanisms. These registers reside in a special CAN address
area of 256 bytes, which is mapped into segment 0 and uses addresses EF00h
through EFFFh.
In the C515C, the CAN module is connected to the internal bus. Again, the registers
are mapped into a special address area of 256 bytes using addresses F700h through
F7FFh. The registers can be accessed with MOVX-instructions. An access to this
special memory space requires the modification of the XPAGE register to the value
F7h. Furthermore, the bits XMAP0 and XMAP1 in the SYSCON register must be set to
"0".
XCS#
RD#
ADDRESS [7:0]
DATA [15:0]
XINTR0#
WR#
XCLK
XRST
CAN TxD
CAN RxD
BHE#
XBUS
Interface
CAN
Controller