Rev.2.00 Nov 28, 2005 page 223 of 378
REJ09B0124-0200
M16C/6N Group (M16C/6NK, M16C/6NM) 19. CAN Module
Under development
This document is under development and its contents are subject to change.
19. CAN Module
The CAN (Controller Area Network) module for the M16C/6N Group (M16C/6NK, M16C/6NM) of microcomputers
is a communication controller implementing the CAN 2.0B protocol. The M16C/6N Group (M16C/6NK,
M16C/6NM) contains two CAN modules which can transmit and receive messages in both standard (11-bit)
ID and extended (29-bit) ID formats.
Figure 19.1 shows a block diagram of the CAN module.
External CAN bus driver and receiver are required.
Figure 19.1 CAN Module Block Diagram
CTX/CRX: CAN I/O pins.
Protocol controller: This controller handles the bus arbitration and the CAN protocol services, i.e. bit
timing, stuffing, error status etc.
Message box: This memory block consists of 16 slots that can be configured either as transmitter
or receiver. Each slot contains an individual ID, data length code, a data field
(8 bytes) and a time stamp.
Acceptance filter: This block performs filtering operation for received messages. For the filtering
operation, the CiGMR register (i = 0, 1), the CiLMAR register, or the CiLMBR
register is used.
16 bit timer: Used for the time stamp function. When the received message is stored in the
message memory, the timer value is stored as a time stamp.
Wake-up function: CAN0/1 wake-up interrupt request is generated by a message from the CAN bus.
Interrupt generation function
: The interrupt requests are generated by the CAN module. CANi successful reception
interrupt, CANi successful transmission interrupt, CAN0/1 error interrupt and
CAN0/1 wake-up interrupt.
CiCONR Register CiCTLR Register
CiIDR Register
i = 0, 1
j = 0 to 15
Interrupt
Generation
Function
Message Box
slots 0 to 15
Message ID
DLC
Message Data
Time Stamp
CTX
CRX
CiGMR Register
CiLMAR Register
CiLMBR Register
CAN0/1 Error Int
CAN0/1 Wake-Up Int
Data Bus
Data Bus
CiMCTLj Register
CiTSR Register
16 Bit Timer
Acceptance Filter
slots 0 to 15
Protocol
Controller
Wake-Up
Function
CiSSTR Register
CiICR Register
CiSTR Register
CiRECR Register
CiTECR Register
CANi Successful Reception Int
CANi Successful Transmission Int