MCP2510-E/ST Microchip Technology, MCP2510-E/ST Datasheet - Page 15
![no-image](/images/manufacturer_photos/0/4/439/microchip_technology_sml.jpg)
MCP2510-E/ST
Manufacturer Part Number
MCP2510-E/ST
Description
Stand-Alone CAN Controller with SPI Interface
Manufacturer
Microchip Technology
Datasheet
1.MCP2510-EST.pdf
(76 pages)
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Part Number:
MCP2510-E/ST
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
3.0
3.1
The MCP2510 implements three Transmit Buffers.
Each of these buffers occupies 14 bytes of SRAM and
are mapped into the device memory maps. The first
byte, TXB
the message buffer. The information in this register
determines the conditions under which the message
will be transmitted and indicates the status of the mes-
sage transmission. (see Register 3-2). Five bytes are
used to hold the standard and extended identifiers and
other message arbitration information (see Register 3-
3 through Register 3-8). The last eight bytes are for the
eight possible data bytes of the message to be trans-
mitted (see Register 3-8).
For the MCU to have write access to the message
buffer, the TXB
cating that the message buffer is clear of any pending
message to be transmitted. At a minimum, the TXB
SIDH, TXB
loaded. If data bytes are present in the message, the
TXB
is to use extended identifiers, the TXB
must also be loaded and the TXB
Prior to sending the message, the MCU must initialize
the CANINTE.TXI
ation of an interrupt when the message is sent. The
MCU must also initialize the TXB
bits (see Section 3.2).
3.2
Transmit priority is a prioritization, within the MCP2510,
of the pending transmittable messages. This is inde-
pendent from, and not necessarily related to, any prior-
itization implicit in the message arbitration scheme built
into the CAN protocol. Prior to sending the SOF, the pri-
ority of all buffers that are queued for transmission is
compared. The transmit buffer with the highest priority
will be sent first. For example, if transmit buffer 0 has a
higher priority setting than transmit buffer 1, buffer 0 will
be sent first. If two buffers have the same priority set-
ting, the buffer with the highest buffer number will be
sent first. For example, if transmit buffer 1 has the same
priority setting as transmit buffer 0, buffer 1 will be sent
first. There are four levels of transmit priority. If TXB
TRL.TXP<1:0> for a particular message buffer is set to
11, that buffer has the highest possible priority. If
TXB
is 00, that buffer has the lowest possible priority.
3.3
To
TRL.TXREQ bit must be set for each buffer to be trans-
mitted. This can be done by writing to the register via
the SPI interface or by setting the TX
the particular transmit buffer(s) that are to be transmit-
2002 Microchip Technology Inc.
N
N
initiate
Dm registers must also be loaded. If the message
CTRL.TXP<1:0> for a particular message buffer
MESSAGE TRANSMISSION
Transmit Buffers
Transmit Priority
Initiating Transmission
N
CTRL, is a control register associated with
N
SIDL, and TXB
message
N
CTRL.TXREQ bit must be clear, indi-
N
E bit to enable or disable the gener-
transmission
N
DLC registers must be
N
N
SIDL.EXIDE bit set.
CTRL.TXP priority
N
N
RTS pin low for
EIDm registers
the
TXB
N
N
C-
C-
N
-
ted. If transmission is initiated via the SPI interface, the
TXREQ bit can be set at the same time as the TXP pri-
ority bits.
When
TXB
TXB
Setting the TXB
message transmission, it merely flags a message
buffer as ready for transmission. Transmission will start
when the device detects that the bus is available. The
device will then begin transmission of the highest prior-
ity message that is ready.
When the transmission has completed successfully the
TXB
INTF.TX
erated if the CANINTE.TX
If the message transmission fails, the TXB
TRL.TXREQ will remain set indicating that the mes-
sage is still pending for transmission and one of the
following condition flags will be set. If the message
started to transmit but encountered an error condition,
the TXB
bits will be set and an interrupt will be generated on the
INT pin if the CANINTE.MERRE bit is set. If the mes-
sage lost arbitration the TXB
set.
3.4
The TX
as request-to-send inputs, which provides a secondary
means of initiating the transmission of a message from
any of the transmit buffers, or as standard digital inputs.
Configuration and control of these pins is accomplished
using the TXRTSCTRL register (see Register 3-2). The
TXRTSCTRL register can only be modified when the
MCP2510 is in configuration mode (see Section 9.0). If
configured to operate as a request to send pin, the pin
is mapped into the respective TXB
for the transmit buffer. The TXREQ bit is latched by the
falling edge of the TX
designed to allow them to be tied directly to the RX
pins to automatically initiate a message transmission
when the RX
internal pullup resistors of 100 k
3.5
The MCU can request to abort a message in a specific
message buffer by clearing the associated TXBnC-
TRL.TXREQ bit. Also, all pending messages can be
requested to be aborted by setting the CAN-
CTRL.ABAT bit. If the CANCTRL.ABAT bit is set to
abort all pending messages, the user MUST reset this
bit (typically after the user verifies that all TXREQ bits
have been cleared) to continue trasmit messages. The
CANCTRL.ABTF flag will only be set if the abort was
requested via the CANCTRL.ABAT bit. Aborting a mes-
sage by resetting the TXREQ bit does cause the ATBF
bit to be set.
N
N
N
CTRL.ABTF,
CTRL.TXERR bits will be cleared.
CTRL.TXREQ bit will be cleared, the CAN-
N
N
RTS Pins are input pins that can be configured
N
TXnRTS Pins
Aborting Transmission
IF bit will be set, and an interrupt will be gen-
CTRL. TXERR and the CANINTF.MERRF
TXB
N
BF pin goes low. The TX
N
N
CTRL.TXREQ
CTRL.TXREQ bit does not initiate a
N
RTS pin. The TX
TXB
N
IE bit is set.
N
N
MCP2510
CTRL.MLOA bit will be
CTRL.MLOA
(nominal).
N
is
DS21291E-page 15
CTRL.TXREQ bit
N
RTS pins have
N
RTS pins are
set,
N
and
N
the
BF
C-