2000 Microchip Technology Inc.
The MCP2510 is designed to interface directly with the
Serial Peripheral Interface (SPI) port available on many
microcontrollers and supports Mode 0,0 and Mode 1,1.
Commands and data are sent to the device via the SI
pin, with data being clocked in on the rising edge of
SCK. Data is driven out by the MCP2510, on the SO
line, on the falling edge of SCK. The CS pin must be
held low while any operation is performed. Table 11-1
shows the instruction bytes for all operations. Refer to
Figure 11-8 and Figure 11-9 for detailed input and out-
put timing diagrams for both Mode 0,0 and Mode 1,1
The Read Instruction is started by lowering the CS pin.
The read instruction is then sent to the MCP2510 fol-
lowed by the 8-bit address (A7 through A0). After the
read instruction and address are sent, the data stored
in the register at the selected address will be shifted out
on the SO pin. The internal address pointer is automat-
ically incremented to the next address after each byte
of data is shifted out. Therefore it is possible to read the
next consecutive register address by continuing to pro-
vide clock pulses. Any number of consecutive register
locations can be read sequentially using this method.
The read operation is terminated by raising the CS pin
The Write Instruction is started by lowering the CS pin.
The write instruction is then sent to the MCP2510 fol-
lowed by the address and at least one byte of data. It is
possible to write to sequential registers by continuing to
clock in data bytes, as long as CS is held low. Data will
actually be written to the register on the rising edge of
the SCK line for the D0 bit. If the CS line is brought high
before eight bits are loaded, the write will be aborted for
that data byte, previous bytes in the command will have
been written. Refer to the timing diagram in Figure 11-3
for more detailed illustration of the byte write sequence.
Request To Send (RTS) Instruction
The RTS command can be used to initiate message
transmission for one or more of the transmit buffers.
The part is selected by lowering the CS pin and the RTS
command byte is then sent to the MCP2510. As shown
in Figure 11-4, the last 3 bits of this command indicate
which transmit buffer(s) are enabled to send. This com-
mand will set the TxBnCTRL.TXREQ bit for the respec-
tive buffer(s). Any or all of the last three bits can be set
in a single command. If the RTS command is sent with
nnn=000, the command will be ignored.
Read Status Instruction
The Read Status Instruction allows single instruction
access to some of the often used status bits for mes-
sage reception and transmission.
The part is selected by lowering the CS pin and the read
status command byte, shown in Figure 11-6, is sent to
the MCP2510. After the command byte is sent, the
MCP2510 will return eight bits of data that contain the
status. If additional clocks are sent after the first eight
bits are transmitted, the MCP2510 will continue to output
the status bits as long as the CS pin is held low and
clocks are provided on SCK. Each status bit returned in
this command may also be read by using the standard
read command with the appropriate register address.
Bit Modify Instruction
The Bit Modify Instruction provides a means for setting
or clearing individual bits in specific status and control
registers. This command is not available for all regis-
ters. See Section 10.0 (register map) to determine
which registers allow the use of this command.
The part is selected by lowering the CS pin and the Bit
Modify command byte is then sent to the MCP2510.
After the command byte is sent, the address for the
register is sent followed by the mask byte and then the
data byte. The mask byte determines which bits in the
register will be allowed to change. A ‘1’ in the mask byte
will allow a bit in the register to change and a ‘0’ will not.
The data byte determines what value the modified bits
in the register will be changed to. A ‘1’ in the data byte
will set the bit and a ‘0’ will clear the bit, provided that
the mask for that bit is set to a ‘1’. (see Figure 11-1)
The Reset Instruction can be used to re-initialize the
internal registers of the MCP2510 and set configuration
mode. This command provides the same functionality,
via the SPI interface, as the RESET pin. The Reset
instruction is a single byte instruction which requires
selecting the device by pulling CS low, sending the
instruction byte, and then raising CS. It is highly recom-
mended that the reset command be sent (or the
RESET pin be lowered) as part of the power-on initial-
FIGURE 11-1: Bit Modify