AP29000
Connecting C166 and C500 Microcontroller to CAN
The Infineon CAN Devices C167CR, C515C and SAE 81C90/91
Application Note
22
V 1.0, 2004-02
4
The Infineon CAN Devices C167CR, C515C and SAE
81C90/91
4.1
The Microcontroller Families C500 and C166 at a Glance
The history of the 8-bit microcontrollers from Infineon is founded on 8051-compatible
derivatives like the SAB 80C515 or the SAB 80C517. The improvement of these
controllers lead to the C500 family whose C500 core is still fully compatible to the old
8051 core but provides more performance and a more flexible design methodology for
further integration. An actual high-performance member of the C500 family is the
C515C. It is based on the well-known SAB 80C515A, but has some additional features
like an SPI-compatible, synchronous serial interface (SSC) and a CAN module which
will be described in detail in section 3.2.
To meet the requirements of today’s and future embedded control applications
Infineon developed the SAB 80C166 in 1990 being the first member of the 16-bit
microcontroller family C166. The controllers own a registerbank-oriented CPU with a
four-stage pipeline being able to process most of the instructions in just one machine
cycle of 80 ns @ 25 MHz CPU clock. The freely programmable interrupt system has
response times of typically 400 ns and can handle a large number of independent
internal and external interrupt sources at 16 priority levels. The family members
SAB 80C166, C167, C165 and C163 are equipped with a well-balanced mix of
modular, autonomous peripherals like a 10-bit ADC with up to 16
channels,
Capture/Compare units, serial interfaces, a PWM unit, complex timer units and also a
CAN module. The implemented XBUS makes it easy to extend the standard
derivatives by further application specific peripheral functions. The controllers contain
up to 4
Kbytes internal RAM and up to 128
Kbytes ROM or Flash-EPROM,
respectively. The whole C166 architecture is made for fast instruction execution and
minimum response time to external events. This combination, however, provides
highest real-time performance.
4.2
The CAN Module on the C167CR / C515C
4.2.1
The Functional Blocks of the CAN Module
The CAN modules on the C167CR and the C515C are fully compatible concerning the
CAN functionality. There are only differences in the interface to the CPU, the module
clock generation, the internal registers (8 bit wide on the C515C, 16-bit wide on the
C167CR), and the interrupt functionality. A block diagram of the CAN module is shown
in figure 3.2-1 (connected to the C167CR here).