
MultiMediaCard Flash
Preliminary MultiMediaCard Product Manual;
1998 SANDISK CORPORATION
Page 36 of 79
5.2.1 Reset
GO_IDLE_STATE (CMD0) is the software reset command and sets all MultiMediaCards to
Idle State regardless of the current card state. MultiMediaCards in Inactive State are not
affected by this command.
After power-on by the host, all MultiMediaCards are in Idle State, including the cards that
were in Inactive State.
After power-on or CMD0, all MultiMediaCards’ output bus drivers are in a high-impedance
state and the cards are initialized with a default relative card address (“0x0001”). The host
drives the bus at the identification clock rate f
OD
(generated by a push-pull driver stage).
5.2.2 Operating Voltage Range Validation
The MultiMediaCard standard requires that all MultiMediaCards will be able to establish
communication with the host using any operating voltage between V
DD
-min and V
DD
-max.
However, during data transfer minimum and maximum values for V
DD
are defined in the
card specific data register (CSD) and may not cover the whole range. MultiMediaCard
hosts are expected to read the card’s CSD register and select proper V
DD
values or reject
the card.
MultiMediaCards that store the CID and CSD data in the payload memory can
communicate this information only under data-transfer V
DD
conditions. This means if host
and card have non compatible V
DD
ranges, the card will not be able to complete the
identification cycle, nor to send CSD data.
SEND_OP_COND (CMD1) is designed to provide MultiMediaCard hosts with a
mechanism to identify and reject cards which do not match the host’s desired V
DD
range.
This is accomplished by the host sending the required V
DD
voltage window as the operand
of this command. MultiMediaCards which can not perform data transfer in the specified
range must discard themselves from further bus operations and go into Inactive State. All
other MultiMediaCards will respond concurrently (same method as card identification)
sending back their V
DD
range. The wired-or result of the response will show all voltage
ranges which some of the cards do not support.
By omitting the voltage range in the command, the host can query the MultiMediaCard
stack and determine if there are any non compatibilities before sending out-of-range cards
into the Inactive State. Bus query should be used if the host can select a common voltage
range or wants to notify the application of non usable cards in the stack.
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 procedure (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 OCR values.
Changes in the OCR content will be ignored by the MultiMediaCard. If there is a real
change in the operating conditions the host must reset the card stack (using CMD0) and
begin the initialization procedure once more.
GO_INACTIVE_STATE (CMD15) can also be used to send an addressed MultiMediaCard
into the Inactive State. This command 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).