10.07.2015 Views

SanDisk SD Card

SanDisk SD Card

SanDisk SD Card

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Revision 2.2Chapter 4 – <strong>SD</strong> <strong>Card</strong> Protocol Description<strong>SanDisk</strong> <strong>SD</strong> <strong>Card</strong> Product Manual• A card can be re-selected while in the Disconnect State, using CMD7. In that case, thecard will move to the Programming State and reactivate the busy indication.• Resetting the card (using CMD0 or CMD15) will terminate any pending or activeprogramming operation, which may destroy the data contents on the card. It is thehost’s responsibility to prevent the potential destruction of data.4.4.1 2-GB <strong>Card</strong>To make a 2-GB card, the Maximum Block Length (READ_BL_LEN=WRITE_BL_LEN)will be set to 1024 bytes. But Block Length set by CMD16 must be up to 512 bytes to stayconsistent with 512 bytes Maximum Block Length cards (less than and equal 2-GB cards).4.4.2 Wide Bus Selection/De-selectionWide bus (4-bit bus width) operation mode may be selected/de-selected using ACMD6.The default bus width after power up or GO_IDLE (CMD) is one-bit bus width. ACMD6command is valid in tran state only. That means that the bus width may be changed onlyafter a card has been selected (CMD7).4.4.3 Data Read FormatWhen data is not being transmitted, the DAT bus line is high. A transmitted data blockconsists of a start bit (low), followed by a continuous data stream. The data stream containsthe net payload data, and error correction bits if an off-card ECC is used. The data streamends with an end bit (high). The data transmission is synchronous to the clock signalThe payload for a block-oriented data transfer is preserved by a CRC checksum. Thegenerator polynomial is standard CCITT format: x 16 + x 12 + x 5 + 1.Block ReadThe basic unit of data transfer is a block whose maximum size is defined byREAD_BL_LEN in the C<strong>SD</strong> Register. Smaller blocks with a starting and ending addresscontained entirely within one physical block, as defined by READ_BL_LEN, may also betransmitted. A CRC appended to the end of each block ensures data transfer integrity.CMD17 or READ_SINGLE_BLOCK starts a block read and returns the card to the TransferState after a complete transfer. CMD18 or READ_MULTIPLE_BLOCK starts a transfer ofseveral consecutive blocks. Blocks will be continuously transferred until a stop commandis issued. The stop command has an execution delay due to the serial commandtransmission. The data transfer stops after the end bit of the stoop command.If the host uses partial blocks with an accumulated length that is not block-aligned, thecard, at the beginning of the first misaligned block, will detect a block misalignment error,set the ADDRESS_ERROR bit in the Status Register, abort transmission, and wait in theData State for a stop command.4.4.4 Data Write FormatThe data transfer format is similar to the data read format. For block-oriented write datatransfer, the CRC check bits are added to each data block. Prior to an operation, the cardperforms a CRC check for each such received data block. 5 This mechanism prevents theerroneous writing of transferred data.5 The polynomial is the same one used for a read operation.© 2004 <strong>SanDisk</strong> Corporation 4-9 12/08/04

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!