In card mode, seven, nine or thirteen pins on the SD/MMC device are used, with the functions listed in the table below. All cards start up in “1 bit” mode (upon entering identification mode), which involves only a single data line. Once the host (the MCU/MPU) discovers the capabilities of the card, it may initiate 4- or 8-bit communication (the latter available only on new MMCs). Some card holders contain circuitry for card detect and write protect indicators, which the MCU/MPU may also monitor.
Panel | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Exchanges between the host and card begin with a command (sent by the host on the CMD line), often followed by a response from the card (also on the CMD line); finally, one or more blocks data may be sent in one direction (on the data line(s)), each appended with a CRC.
Panel | ||||
---|---|---|---|---|
| ||||
Panel | ||
---|---|---|
| ||
(1) When no data is being transmitted, data lines are held low. (2) Data block is preceded by a start bit (‘0’); an end bit (‘1’) follows the CRC. (3) The CRC is the 16-bit CCITT CRC. (4) During the busy signaling following a write, DAT0 only is held low. (5) See Figure - SD/MMC command and response formats for description of the command format. (6) See Figure - SD/MMC command and response formats for description of the command format. |
Panel | ||||
---|---|---|---|---|
| ||||
Panel |
---|
(1) Command index is not valid for response formats R2 and R3. (2) CRC is not valid for response format R3. |
When a card is first connected to the host (at card power-on), it is in the ‘inactive’ state, awaiting a GO_IDLE_STATE
command to start the initialization process, which is dependent on the card type. During initialization, the card starting in the ‘idle’ state moves through the ‘ready’ (as long as it supports the voltage range specified by the host) and ‘identification’ states (if it is assigned an address by or is assigned an address) before ending up in ‘standby’. It can now get selected by the host for data transfers. Figure - Simplified SD/MMC cardmode initialization and state transitions flowcharts this procedure.