Microchip Technology MA330024 Data Sheet
2009-2014 Microchip Technology Inc.
DS70000591F-page 285
dsPIC33FJ32GS406/606/608/610 and dsPIC33FJ64GS406/606/608/610
21.0
ENHANCED CAN (ECAN™)
MODULE
MODULE
21.1
Overview
The Enhanced Controller Area Network (ECAN™)
module is a serial interface, useful for communicating with
other ECAN modules or microcontroller devices. This
interface/protocol was designed to allow communications
within noisy environments. The dsPIC33FJ64GS606/
608/610 devices contain one ECAN module.
module is a serial interface, useful for communicating with
other ECAN modules or microcontroller devices. This
interface/protocol was designed to allow communications
within noisy environments. The dsPIC33FJ64GS606/
608/610 devices contain one ECAN module.
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.
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
• 0-8 Bytes Data Length
• Programmable Bit Rate, up to 1 Mbit/sec
• Automatic Response to Remote Transmission
Requests
• Up to 8 Transmit Buffers with Application-Specified
Prioritization and Abort Capability (each buffer can
contain up to 8 bytes of data)
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
• 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
• Programmable Link to Input Capture module
(IC2 for CAN1) for Time-Stamping and Network
Synchronization
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.
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 CAN 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:
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).
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.
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 identifier 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.
purpose, the destination node sends a remote
frame with an identifier 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 con-
sists of two fields: an error flag field and an error
delimiter field.
sists of two fields: an error flag field and an error
delimiter field.
• Overload Frame: An overload frame can be gen-
erated by a node as a result of two conditions.
First, the node detects a dominant bit during inter-
frame space which is an illegal 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.
First, the node detects a dominant bit during inter-
frame space which is an illegal 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.
following data or remote frame.
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 “ECAN™” (DS70185) in the
dsPIC33/PIC24 Family Reference Manual,
which is available from the Microchip web
site (
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 “ECAN™” (DS70185) in the
dsPIC33/PIC24 Family Reference Manual,
which is available from the Microchip web
site (
www.microchip.com
). The information
in this data sheet supersedes the
information in the FRM.
information in the FRM.
2: Some registers and associated bits
described in this section may not be
available on all devices. Refer to
available on all devices. Refer to
in
this data sheet for device-specific register
and bit information.
and bit information.