SanDisk SDSDH-1024 Product Manual - Page 50

Card Identification Process

Page 50 highlights

Revision 2.2 Chapter 4 - SD Card Protocol Description SanDisk SD Card Product Manual 4.3.3 card have incompatible VDD ranges, the card will not be able to complete the identification cycle or send CSD data. The SD_SEND_OP_COND (ACMD41) command is designed to provide card hosts with a mechanism to identify and reject cards that do not match the host's desired VDD range. To accomplish this, the host sends the required VDD voltage window as the operand of the command. SD cards that cannot perform data transfers in the specified range must discard themselves from further bus operations and go into Inactive State2. The MultiMediaCard will not respond to ACMD413. The MultiMediaCard will be initialized per the MultiMediaCard specification, using SEND_OP_COND command (CMD1). The host should ignore an ILLEGAL_COMMAND status in the response to CMD3, since it is a residue of ACMD41 that is invalid in the MultiMediaCard (CMD0, 1, 2 do not clear the Status Register). The host will use ACMD41 and CMD1 in a system, to distinguish between a MultiMediaCard and an SD Card. By omitting the voltage range in the command, the host can query each card and determine if there are any incompatibilities before sending out-of-range cards into an 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 cards in the stack. The SanDisk SD Card can use the busy bit in the ACMD41 response 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 for communication. In this case the host must repeat ACMD41 until the busy bit is cleared. During the initialization procedure, the host is not allowed to change the OCR values; the SD Card will ignore changes in the OCR content. 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 cards 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 SD Card into the inactive state. CMD15 is used when the host explicitly wants to deactivate a card-for example, the host changes VDD into a range not supported by this card. Card Identification Process The host starts the card identification process with the identification clock rate fOD. In the SD Card, the CMD line output drives are push-pull drivers. After the bus is activated, the host will request the cards to send their valid operation conditions (ACMD41 preceding with APP_CMD-CMD55 with RCA=0x0000). The response to ACMD41 is the Operation Condition Register of the card. The same command will be sent to all of the new cards in the system. Incompatible cards are sent into inactive state. The host then issues the command, ALL_SEND_CID (CMD2), to each card to get its unique card identification (CID) number. An unidentified card (i.e., which is in Ready State) sends its CID number as the response (on the CMD line). After the card sends the CID number, it goes into Identification State. Thereafter, the host issues the CMD3 (SEND_RELATIVE_ADDR) command asking the card to publish a new relative card address (RCA), which is shorter than CID and will be used to address the card in the future data transfer mode (typically with a higher clock rate than fOD). 2 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. 3Actually it will not respond to preceding commands APP_CMD-CMD55. © 2004 SanDisk Corporation 4-6 12/08/04

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123

Chapter 4 – SD Card Protocol Description
Revision 2.2
SanDisk SD Card Product Manual
© 2004 SanDisk Corporation
4-6
12/08/04
card have incompatible V
DD
ranges, the card will not be able to complete the identification
cycle or send CSD data.
The SD_SEND_OP_COND (ACMD41) command is designed to provide card hosts with a
mechanism to identify and reject cards that do not match the host’s desired V
DD
range. To
accomplish this, the host sends the required V
DD
voltage window as the operand of the
command.
SD cards that cannot perform data transfers in the specified range must discard
themselves from further bus operations and go into Inactive State
2
.
The MultiMediaCard will not respond to ACMD41
3
. The MultiMediaCard will be
initialized per the MultiMediaCard specification, using SEND_OP_COND command
(CMD1). The host should ignore an ILLEGAL_COMMAND status in the response to
CMD3, since it is a residue of ACMD41 that is invalid in the MultiMediaCard (CMD0, 1, 2
do not clear the Status Register). The host will use ACMD41 and CMD1 in a system, to
distinguish between a MultiMediaCard and an SD Card.
By omitting the voltage range in the command, the host can query each card and determine
if there are any incompatibilities before sending out-of-range cards into an 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 cards in the stack.
The SanDisk SD Card can use the busy bit in the ACMD41 response 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 for communication. In this case the host must repeat
ACMD41 until the busy bit is cleared.
During the initialization procedure, the host is not allowed to change the OCR values; the
SD Card will ignore changes in the OCR content. 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 cards 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 SD Card into the
inactive state. CMD15 is used when the host explicitly wants to deactivate a card—for
example, the host changes V
DD
into a range not supported by this card.
4.3.3
Card Identification Process
The host starts the card identification process with the identification clock rate f
OD
. In the
SD Card, the CMD line output drives are push-pull drivers.
After the bus is activated, the host will request the cards to send their valid operation
conditions (ACMD41 preceding with APP_CMD-CMD55 with RCA=0x0000). The
response to ACMD41 is the Operation Condition Register of the card. The same command
will be sent to all of the new cards in the system. Incompatible cards are sent into inactive
state. The host then issues the command, ALL_SEND_CID (CMD2), to each card to get its
unique card identification (CID) number. An unidentified card (i.e., which is in Ready
State) sends its CID number as the response (on the CMD line). After the card sends the
CID number, it goes into Identification State. Thereafter, the host issues the CMD3
(SEND_RELATIVE_ADDR) command asking the card to publish a new relative card
address (RCA), which is shorter than CID and will be used to address the card in the future
data transfer mode (typically with a higher clock rate than f
OD
).
2
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.
3
Actually it will not respond to preceding commands APP_CMD-CMD55.