Chapter 4 – SD Card Protocol Description
Revision 2.2
SanDisk SD Card Product Manual
© 2004 SanDisk Corporation
4-19
12/08/04
new SD card-specific commands, the SD Card uses the application-specific commands
feature to implement its proprietary commands. Following is a description of APP_CMD
and GEN_CMD as they were defined in the MultiMediaCard Specification.
Application Specific Command—APP_CMD (CMD55)
This command, when received by the card, will cause the card to interpret the following
command as an application-specific command (ACMD). The ACMD has the same
structure as regular MultiMediaCard standard commands and it may have the same CMD
number. The card will recognize it as ACMD by the fact that it appears after APP_CMD.
The only effect of the APP_CMD is that if the command index of the immediately
following command has an ACMD overloading it, the non standard version will be used.
For example, a card has a definition for ACMD13 but not for ACMD7. Therefore, if
CMD13 is received immediately after APP_CMD command, it would be interpreted as the
non standard ACMD13, whereas CMD7, similarly received, would be interpreted as the
standard CMD7. In order to use one of the manufacturer specific ACMDs the host does one
of the following.
•
Sends APP_CMD: The response will have the APP_CMD bit (new status bit) set
signaling to the host that ACMD is expected.
•
Sends the required ACMD: The response will have the APP_CMD bit set, indicating
that the accepted command was interpreted as ACMD. If a non-ACMD is sent, it the
card will recognize it as a normal SD Card command and the APP_CMD bit in the
Card Status stays clear.
If a non-valid command is sent (neither ACMD nor CMD), it will be handled as a standard
SD Card illegal command error.
According to SD Card protocol perspective, the following ACMD numbers are reserved for
the SD Card proprietary applications and may not be used by any SD Card manufacturer:
ACMD6, ACMD13, ACMD17-25, ACMD38-49, ACMD51
.
General Command—GEN_CMD (CMD56)
The bus transaction of the GEN_CMD is the same as the single-block-read or -write
commands (CMD24 or CMD17). The difference is that the argument denotes the direction
of the data transfer (rather than the address) and the data block is not memory payload data
but has a vendor specific format and meaning. The card shall be selected (‘tran_state’)
before sending CMD56. The data block size is the BLOCK_LEN that was defined with
CMD16. The response to CMD56 will be R1.
Currently, there are no defined commands or usage for CMD56 in SanDisk’s SD Card, but
new commands may be easily defined and tailored for OEM application-specific
requirements (upon request to SanDisk).
4.4.9
Switch Function Command
Switch Function command (CMD6) is used to switch or expand memory card functions.
Currently there are two function groups defined.
•
Card Access Mode: 12.5MB/sec interface speed (default) or 25MB/sec interface speed
(high-speed)
•
Card Command System: Standard Command set (default), eCommerce Command set,
or Vendor-specific Command set.
This is a new feature, introduced in SD Physical Layer Specification Version 1.10.
Therefore, cards that are compatible with earlier versions of the specification do not