User Manual
Secure Digital (SD) Bus Protocol Description
TriFlash with SD Interface Product Manual (Preliminary), Rev. 1.2 © 2002/2003 SANDISK CORPORATION
4-7
4.3.2. Operating Voltage Range Validation
The SD Physical Specification standard requires that all SD Memory Cards will be able to establish communication
with the host using any operating voltage between V
DD
-min and
V
DD
-max. As with all SD Memory Cards, TriFlash
follows the SD Physical Specification standard requiring the ability 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 operation condition register (OCR) and may not cover the whole range. TriFlash
hosts are expected to read the card’s OCR register and select proper
V
DD
values or reject the device.
TriFlash devices 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 device have non-compatible
V
DD
ranges, the device will
not be able to complete the identification cycle, nor to send CSD data.
SD_SEND_OP_COND (ACMD41) is designed to provide TriFlash hosts with a mechanism to identify and reject
devices that 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. TriFlash devices that cannot perform data transfer in the specified
range must discard themselves from further bus operations and go into Inactive State. Note that ACMD41 is an
application-specific command. Therefore, APP_CMD (CMD55) will always precede ACMD41. The RCA to be
used for CMD55 in idle_state will be the card’s default RCA = 0x0000.
The MultiMediaCard will not respond to ACMD41 (actually it will not respond to APP_CMD—CMD55, that
precedes it). The MultiMediaCard will be initialized as per the MultiMediaCard spec, using SEND_OP_COND
command (CMD1 of MultiMediaCard). The host should ignore an ILLEGAL_COMMAND status in the
MultiMediaCard response to CMD3, since it is a residue of ACMD41, which is invalid in the MultiMediaCard
(CMD0, 1, 2 do not clear the status register). Actually, ACMD41 and CMD1 will be used by the host to distinguish
between MultiMediaCards and SD-interface TriFlash devices in a system.
By omitting the voltage range in the command, the host can query each device and determine if there are any non-
compatibilities before sending out-of-range devices into the Inactive State. This query should be used if the host can
select a common voltage range or wants to notify the application of non-usable devices in the stack.
The busy bit in the ACMD41 response can be used by a device 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 ACMD41 until the busy bit is set.
During the initialization procedure, the host is not allowed to change the OCR values. Changes in the OCR content
will be ignored by the TriFlash. 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. However, for accessing the devices already
in Inactive State, a hard reset must be done by switching the power supply off and on.
GO_INACTIVE_STATE (CMD15) can also be used to send an addressed TriFlash into the Inactive State. This
command is used when the host explicitly wants to deactivate a device (e.g., host is changing V
DD
into a range
which is known to be not supported by this device).