MultiMediaCard
TM
40
Sep.22.2005
Revision 0.3
Figure 6-1 : MultiMediaCard State Diagram (Card Identification Mode)
By omitting the voltage range in the command (by setting the argument of CMD1 to 0), the host can query the card and
determine the voltage type of the card. This bus query should be used if the host is able to select a common voltage
range, or if a notification to the application of a non usable card in the bus is desired. Afterwards, the host must choose a
voltage for operation, and reissue CMD1 with this condition, sending incompatible cards into the
Inactive State
.
The busy bit in the CMD1 response can be used by a card to tell the host that it is still working on its power-up/reset pro-
cedure (e.g. downloading the register information from memory field) and is not ready yet for communication. In this case
the host must repeat CMD1 until the busy bit is cleared.
During the initialization procedure, the host is not allowed to change the operating voltage range. Such changes shall be
ignored by the card. If there is a real change in the operating conditions, the host must reset the card (using CMD0) and
restart the initialization procedure. However, for accessing cards already in
Inactive State
, a hard reset must be done by
switching the power supply off and back on.
The command GO_INACTIVE_STATE (CMD15) can be used to send an addressed card into the
Inactive State
. This com-
mand is used when the host explicitly wants to deactivate a card (e.g. host is changing V
DD
into a range which is known to
be not supported by this card).
Ready State
(ready)
CMD1
Inactive
State (ina)
Idle State
(idle)
Identification
State (ident)
CMD0
CMD3
CMD2
from all states except (ina)
from all states in
data-transfer-mode
CMD15
card looses bus
card wins bus
cards with non compatible voltage range
card is busy or
host omitted voltage range
data-transfer mode
card-identification mode
Stand-by State
(stby)
Power on
CMD40
data-transfer mode
Interrupt mode
Wait-IRQ State
(irq)
Any start bit detected on the bus