Wide Bus Selection/Deselection; Data Read Format - SanDisk SDSDB-32-201-80 - Industrial Grade Flash Memory Card Product Manual

Secure digital card
Table of Contents

Advertisement

Secure Digital (SD) Card Protocol Description
All data read commands may be aborted any time by the stop command (CMD12). The data transfer
will terminate and the card will return to the Transfer State. The read commands are: block read
(CMD17), multiple block read (CMD18), send write protect (CMD30), send scr (ACMD51) and
general command in read mode (CMD56).
All data write commands can be aborted any time by the stop command (CMD12). The write
commands must be stopped prior to deselecting the card by CMD7. The write commands are: block
write (CMD24 and CMD25), write CID (CMD26), write CSD (CMD27), lock/unlock command
(CMD42) and general command in write mode (CMD56).
As soon as the data transfer is completed, the card will exit the data write state and move either to the
Programming State (transfer is successful) or Transfer State (transfer failed).
If a block write operation is stopped and the block length and CRC of the last block are valid, the data
will be programmed.
The card may provide buffering for block write. This means that the next block can be sent to the card
while the previous is being programmed. If all write buffers are full, and as long as the card is in
Programming State (see SD Card state diagram Figure 5-8), the DAT0 line will be kept low (BUSY).
There is no buffering option for write CSD, write CID, write protection and erase. This means that
while the card is busy servicing any one of these commands, no other data transfer commands will be
accepted. DAT0 line will be kept low as long as the card is busy and in the Programming State.
Actually if the CMD and DAT0 lines of the cards are kept separated and the host keeps the busy
DAT0 line disconnected from the other DAT0 lines (of the other cards), the host may access the other
cards while the card is in busy.
Parameter set commands are not allowed while the card is programming. Parameter set commands are:
set block length (CMD16), erase block start (CMD32) and erase block end (CMD33).
Read commands are not allowed while the card is programming.
Moving another card from Stand-by to Transfer State (using CMD7) will not terminate erase and
programming operations. The card will switch to the Disconnect State and will release the DAT line.
A card can be reselected while in the Disconnect State, using CMD7. In this case the card will move to
the Programming State and reactivate the busy indication.
Resetting a card (using CMD0 or CMD15) will terminate any pending or active programming
operation. This may destroy the data contents on the card. It is the host's responsibility to prevent this.

4.4.1. Wide Bus Selection/Deselection

Wide Bus (4 bit bus width) operation mode may be selected/deselected using ACMD6. The default bus width after
power up or GO_IDLE (CMD0) is 1 bit bus width. ACMD6 command is valid in 'tran state' only. That means that
the bus width may be changed only after a card was selected (CMD7).

4.4.2. Data Read Format

The DAT bus line is high when no data is transmitted. A transmitted data block consists of a start bit (LOW),
followed by a continuous data stream. The data stream contains the net payload data (and error correction bits if an
off-card ECC is used). The data stream ends with an end bit (HIGH). The data transmission is synchronous to the
clock signal.
The payload for block-oriented data transfer is preserved by a CRC check sum. The generator polynomial is a
standard CCITT polynomial:
4-10
16
12
x
+x
SanDisk Secure Digital (SD) Card Product Manual, Rev. 1.9 © 2003 SANDISK CORPORATION
5
+x
+1

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents