Renesas 16-bit single-chip microcomputer Manual Do Utilizador

Página de 334
Rev.1.02    Jul 01, 2005    page 198 of 314
REJ09B0126-0102
M16C/6N Group (M16C/6NL, M16C/6NN)
18. CAN Module
Under development
This document is under development and its contents are subject to change.
18. CAN Module
The CAN (Controller Area Network) module for the M16C/6N Group (M16C/6NL, M16C/6NN) of microcomputers
is a communication controller implementing the CAN 2.0B protocol. The M16C/6N Group (M16C/6NL,
M16C/6NN) contains one CAN module which can transmit and receive messages in both standard (11-bit)
ID and extended (29-bit) ID formats.
Figure 18.1 shows a block diagram of the CAN module.
External CAN bus driver and receiver are required.
Figure 18.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 C0GMR register, the C0LMAR register, or the C0LMBR 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 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. CAN0 successful
reception interrupt, CAN0 successful transmission interrupt, CAN0 error interrupt
and CAN0 wake-up interrupt.
C0CONR Register
C0CTLR Register
C0IDR Register
j = 0 to 15
Interrupt
 Generation
Function
Message Box
 slots 0 to 15
Message ID
DLC
Message Data
Time Stamp
CTX
CRX
C0GMR Register
C0LMAR Register
C0LMBR Register
CAN0 Successful Reception Int
CAN0 Successful Transmission Int
CAN0 Error Int
CAN0 Wake-Up Int
Data Bus
Data Bus
C0MCTLj Register
C0TSR Register
16 Bit Timer
Acceptance Filter
slots 0 to 15
Protocol
Controller
Wake-Up
Function
C0SSTR Register
C0ICR Register
C0STR Register
C0RECR Register
C0TECR Register