Information
MCP2515
DS80179G-page 2 © 2007 Microchip Technology Inc.
5. Module: SPI Module
Holding CS low for a long time after an SPI command
which initiates a CAN message may keep the CAN
transmit request “pending”, causing the CAN message
to be repeated.
Two Scenarios:
1. Generating an “SPI RTS” command while in SPI
Mode 11 (Mode 00 is not affected): If an “SPI
RTS” command is generated, and CS
is held
low for longer than it takes for the CAN message
to transmit, the message will be transmitted
again. This occurs because the SPI module will
keep the message “pending” until it detects
either a final rising edge on SCK (Mode 11 does
not provide this edge), or until CS
goes high.
2. Generating an “SPI Byte Write” to set the
transmit request (TXREQ) bit directly while in
either SPI mode: This scenario is the same as
the previous, except that the condition will occur
in either mode (Mode 00 or Mode 11). This
occurs because, for byte writes, the SPI module
will release the pending status to the CAN
module when CS
is high.
Work around
There are a few possible work-arounds:
• Raise CS before the CAN message has
“completed” transmission, which is an absolute
minimum of 47 µs.
• If CS cannot be raised in a timely manner
(rare), Use the “SPI RTS” command on Mode
00.
• Use hardware pins (TXnRTS
) to request
transmission.
Clarifications/Corrections to the Data
Sheet:
In the MCP2515 Data Sheet (DS21801D), the following
clarifications and corrections should be noted.
None.
APPENDIX A: REVISION HISTORY
Revision G (March 2007)
• Added SPI Module
Revision F (July 2006)
• Added CAN Module.
Revision E (October 2005)
• Updated CAN module information in this
document.
Revision D (February 2005)
• Added CAN module to this document.
Revision C (September 2004)
• Added additional information to RAM module
• Added oscillator module to this document
Revision B (May 2004)
• Added RAM module to this document
Revision A (January 2004)
• Initial release of this document, silicon issue
(oscillator module).