English
Language : 

PIC18F258 Datasheet, PDF (199/384 Pages) Microchip Technology – High Performance, 28/40-Pin Enhanced FLASH Microcontrollers with CAN
19.0 CAN MODULE
19.1 Overview
The Controller Area Network (CAN) module is a serial
interface, useful for communicating with other peripher-
als or microcontroller devices. This interface/protocol
was designed to allow communications within noisy
environments.
The CAN module is a communication controller, imple-
menting the CAN 2.0 A/B protocol as defined in the
BOSCH specification. The module will support CAN
1.2, CAN 2.0A, CAN2.0B Passive, and CAN 2.0B
Active versions of the protocol. The module implemen-
tation is a full CAN system. The CAN specification is
not covered within this data sheet. The reader may
refer to the BOSCH CAN specification for further
details.
The module features are as follows:
• Implementation of the CAN protocol CAN1.2,
CAN2.0A and CAN2.0B
• Standard and extended data frames
• 0 - 8 bytes data length
• Programmable bit rate up to 1 Mbit/sec
• Support for remote frames
• Double-buffered receiver with two prioritized
received message storage buffers
• 6 full (standard/extended identifier) acceptance
filters, 2 associated with the high priority receive
buffer, and 4 associated with the low priority
receive buffer
• 2 full acceptance filter masks, one each
associated with the high and low priority receive
buffers
• Three transmit buffers with application specified
prioritization and abort capability
• Programmable wake-up functionality with
integrated low pass filter
• Programmable Loopback mode supports self-test
operation
• Signaling via interrupt capabilities for all CAN
receiver and transmitter error states
• Programmable clock source
• Programmable link to timer module for
time-stamping and network synchronization
• Low power SLEEP mode
PIC18FXX8
19.1.1 OVERVIEW OF THE MODULE
The CAN bus module consists of a protocol engine and
message buffering and control. The CAN protocol
engine handles all functions for receiving and transmit-
ting messages on the CAN bus. Messages are trans-
mitted by first loading the appropriate data registers.
Status and errors can be checked by reading the
appropriate registers. Any message detected on the
CAN bus is checked for errors and then matched
against filters to see if it should be received and stored
in one of the 2 receive registers.
The CAN Module supports the following frame types:
• Standard Data Frame
• Extended Data Frame
• Remote Frame
• Error Frame
• Overload Frame Reception
• Interframe Space
CAN module uses RB3/CANRX and RB2/CANTX/INT2
pins to interface with CAN bus. In order to configure
CANRX and CANTX as CAN interface:
• bit TRISB<3> must be set;
• bit TRISB<2> must be cleared.
19.1.2 TRANSMIT/RECEIVE BUFFERS
The PIC18FXX8 has three transmit and two receive buff-
ers, two acceptance masks (one for each receive
buffer), and a total of six acceptance filters. Figure 19-1
is a block diagram of these buffers and their connection
to the protocol engine.
 2002 Microchip Technology Inc.
Preliminary
DS41159B-page 197