English
Language : 

DSPIC33FJ32GS406 Datasheet, PDF (279/416 Pages) Microchip Technology – High-Performance, 16-bit Digital Signal Controllers
dsPIC33FJ32GS406/606/608/610 and dsPIC33FJ64GS406/606/608/610
21.0 ENHANCED CAN (ECAN™)
MODULE
Note 1: This data sheet summarizes the features
of the dsPIC33FJ32GS406/606/608/610
and dsPIC33FJ64GS406/606/608/610
families of devices. It is not intended to be
a comprehensive reference source. To
complement the information in this data
sheet, refer to Section 21. “Enhanced
Controller Area Network (ECAN™)”
(DS70185) in the dsPIC33F/PIC24H
Family Reference Manual, which is avail-
able from the Microchip web site
(www.microchip.com).
2: Some registers and associated bits
described in this section may not be avail-
able on all devices. Refer to Section 4.0
“Memory Organization” in this data
sheet for device-specific register and bit
information.
21.1 Overview
The Enhanced Controller Area Network (ECAN) mod-
ule is a serial interface, useful for communicating with
other CAN modules or microcontroller devices. This
interface/protocol was designed to allow communica-
tions within noisy environments. The
dsPIC33FJ32GS406/606/608/610
and
dsPIC33FJ64GS406/606/608/610 devices contain up
to two ECAN modules.
The ECAN module is a communication controller imple-
menting the CAN 2.0 A/B protocol, as defined in the
BOSCH CAN specification. The module supports
CAN 1.2, CAN 2.0A, CAN 2.0B Passive and CAN 2.0B
Active versions of the protocol. The module implementa-
tion is a full CAN system. The CAN specification is not
covered within this data sheet. The reader can refer to
the BOSCH CAN specification for further details.
The module features are as follows:
• Implementation of the CAN protocol, CAN 1.2,
CAN 2.0A and CAN 2.0B
• Standard and extended data frames
• 0-8 bytes data length
• Programmable bit rate up to 1 Mbit/sec
• Automatic response to remote transmission
requests
• Up to eight transmit buffers with application speci-
fied prioritization and abort capability (each buffer
can contain up to 8 bytes of data)
• Up to 32 receive buffers (each buffer can contain
up to 8 bytes of data)
• Up to 16 full (standard/extended identifier)
acceptance filters
• Three full acceptance filter masks
• DeviceNet™ addressing support
• 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 input capture module (IC2
for CAN1) for time-stamping and network
synchronization
• Low-power Sleep and Idle mode
The CAN bus module consists of a protocol engine and
message buffering/control. The CAN protocol engine
handles all functions for receiving and transmitting
messages on the CAN bus. Messages are transmitted
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
receive registers.
21.2 Frame Types
The ECAN module transmits various types of frames
which include data messages, or remote transmission
requests initiated by the user, as other frames that are
automatically generated for control purposes. The
following frame types are supported:
• Standard Data Frame:
A standard data frame is generated by a node when
the node wishes to transmit data. It includes an 11-bit
Standard Identifier (SID), but not an 18-bit Extended
Identifier (EID).
• Extended Data Frame:
An extended data frame is similar to a standard data
frame, but includes an extended identifier as well.
• Remote Frame:
It is possible for a destination node to request the
data from the source. For this purpose, the
destination node sends a remote frame with an iden-
tifier that matches the identifier of the required data
frame. The appropriate data source node sends a
data frame as a response to this remote request.
• Error Frame:
An error frame is generated by any node that detects
a bus error. An error frame consists of two fields: an
error flag field and an error delimiter field.
• Overload Frame:
An overload frame can be generated by a node as a
result of two conditions. First, the node detects a
dominant bit during interframe space which is an ille-
gal condition. Second, due to internal conditions, the
node is not yet able to start reception of the next
message. A node can generate a maximum of 2
sequential overload frames to delay the start of the
next message.
• Interframe Space:
Interframe space separates a proceeding frame (of
whatever type) from a following data or remote
frame.
 2009 Microchip Technology Inc.
Preliminary
DS70591B-page 279