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.
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.
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. flowcharts this procedure.