English
Language : 

DS80C390_00 Datasheet, PDF (116/155 Pages) Dallas Semiconductor – High-Speed Microcontroller User’s Guide Supplement
DS80C390 High-Speed Microcontroller User’s Guide Supplement
SECTION 18: CONTROLLER AREA NETWORK (CAN) MODULE
The DS80C390 incorporates two identical CAN controllers (CAN 0 and CAN 1). Each of these CAN
units provide operating modes which are fully compliant with the CAN 2.0B specification. The
microcontroller interface to the CAN controllers is broken into two groups of registers. To simplify the
software associated with the operation of the CAN controllers, all of the global CAN status and controls
as well as the individual message center control/status registers are located in the Special Function
Register map. The remaining registers associated with the data identification, identification masks, format
and data are located in the MOVX space. Each of the SFR and MOVX registers are configured as dual
port memories to allow both the CAN controller and the microcontroller access to the required functions.
The basic functions covered by the CAN controllers include the use of 11-bit standard or 29-bit extended
acceptance identifiers, as programmed by the microcontroller for each message center. Each CAN unit
provides storage for up to 15 messages, with the standard 8 byte data field, in each message. Each of the
first 14 message centers is programmable in either a transmit or receive mode. Message center 15 is
designed as a receive only message center with a FIFO buffer to prevent the inadvertent loss of data when
the microcontroller is busy and is not allowed time to retrieve the incoming message prior to the
acceptance of a second message into message center 15. Message 15 also utilizes an independent set of
mask registers and Identification registers, which are only applied once an incoming message has not
been accepted by any of the first fourteen message centers. A second filter test is also supported for all
message centers (1 - 15) to allow the CAN controller to use two separate 8 bit media masks and media
arbitration fields to verify the contents of the first two byte of data of each incoming message, before
accepting an incoming message. This feature allows the CAN unit to directly support the use of higher
CAN protocols which make use of the first and/or second byte of data as a part of the acceptance layer for
storing incoming messages. Each message center can also be programmed independently to perform
testing of the incoming data with or without the use of the global masks.
Global controls and status registers in each CAN module allow the microcontroller to evaluate error
messages, validate new data and the location of such data, establish the bus timing for the CAN Bus,
establish the Identification mask bits, and verify the source of individual messages. In addition each
message center is individually equipped with the necessary status and controls to establish directions,
interrupt generation, identification mode (standard or extended), data field size, data status, automatic
remote frame request and acknowledgment, and masked or non-masked identification acceptance testing.
Utilizing the Single Bus CAN mode (SBCAN=1) ties the inputs and outputs of both CAN modules
together, effectively creating a single CAN module with 30 message centers.
The priority order associated with the CAN module transmitting or receiving a message is determined by
the inverse of the number of the message center, and is independent of the arbitration bits assigned to the
message center. Thus message center 2 has a higher priority than message center 14. To avoid a priority
inversion the CAN modules are configured to reload the transmit buffer with the message of the highest
priority (lowest message center number) whenever an arbitration is lost or an error condition occurs.
The following tables illustrate the locations of the MOVX SRAM registers and bits used by the CAN
controllers. Following the tables are descriptions of the function of the bits and registers.
116 of 155