MultiMediaCard
TM
54
The following table provides a detailed description of the SPI bus commands. The responses are
defined in Chapter “Responses”. The Table “Commands and Arguments” lists all MultiMediaCard
commands. A “yes” in the SPI mode colon indicates that the command is supported in SPI mode. With
these restrictions, the command class description in the CSD is still valid. If a command does not
require an argument, the value of this field should be set to zero. The reserved commands are
reserved in MultiMediaCard mode as well. The binary code of a command is defined by the mnemonic
symbol. As an example, the content of the command index field is (binary) ‘000000’ for CMD0 and
‘100111’ for CMD39.
Table 4-15 Commands and Arguments
CMD index SPI mode
CMD0
CMD1
Argument
None
None
Resp
R1
R1
Abbreviation
GO_IDLE_STATE
SEND_OP_COND
Command description
resets the MultiMediaCard
Activates the card’s initialization
process.
asks the selected card to send its
card-specific data (CSD)
asks the selected card to send its
card identification (CID)
asks the selected card to send its
status register.
selects a block length (in bytes)
for all following block commands
(read and write).
*1
reads a block of the size selected
by the SET_BLOCKLEN
command.
*2
continuously transfers data blocks
from card to host until interrupted
by a stop command or the
requested number of data blocks
transmitted.
Yes
Yes
CMD2
CMD3
CMD4
CMD5
CMD6
CMD7
CMD8
CMD9
No
No
No
reversed
reversed
No
reversed
Yes
R1
SEND_CSD
CMD10
Yes
None
R1
SEND_CID
CMD11
CMD12
CMD13
No
No
Yes
None
R2
SEND_STATUS
CMD14
CMD15
CMD16
reversed
No
Yes
[31:0] block length
R1
SET_BLOCKLEN
CMD17
Yes
[31:0]
address
data
R1
READ_SINGLE_
BLOCK
CMD18
Yes
[31:0]
address
data
R1
READ_MULTIPLE
_BLOCK
CMD19
CMD20
CMD21…
CMD22
CMD23
reversed
No
reversed
Yes
[31:16] set to 0
[15:0] number of
blocks
R1
SET_BLOCK_CO
UNT
Defines the number of blocks
which are going to be transferred
in the immediately exceeding
multiple block read or write
command.
writes a block of the size selected
by the SET_BLOCKLEN
CMD24
Yes
[31:0]
address
data
R1b
*3
WRITE_BLOCK