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• The clock must be running for the card to output data or response tokens. After the lastbus transaction, the host is required, to provide eight clock cycles for the card tocomplete the operation before shutting down the clock. Following is a list of variouscard bus transactions:− A command with no response—eight clocks after the host command end bit.− A command with response—eight clocks after the card response end bit.− A read data transaction—eight clocks after the end bit of the last data block.− A write data transaction—eight clocks after the CRC status token.• The host is allowed to shut down the clock of a card that is busy; the card willcomplete the programming operation regardless of the host clock. However, the hostmust provide a clock edge for the card to turn off its busy signal. Without a clock edgethe card (unless previously disconnected by a de-select command -CMD7) willpermanently force the DAT line down.4.6 Cyclic Redundancy Codes4.6.1 CRC7The Cyclic Redundancy Check (CRC) is intended to protect <strong>SD</strong> <strong>Card</strong> commands,responses, and data transfers against transmission errors, on its bus. One CRC is generatedfor every command and checked for every response on the CMD line. For data blocks,CRCs are generated for each DAT line per transferred block. The CRC is generated andchecked as shown in the following subsections.The CRC7 check is used for all commands, all responses except type R3, and C<strong>SD</strong> andCID registers. The CRC7 is a 7-bit value and is computed as follows:generator polynomial: G(x) = x 7 + x 3 + 1M(x) = (first bit) * x n + (second bit) * x n-1 +...+ (last bit) * x 0CRC[6...0] = Remainder [(M(x) * x 7 ) / G(x)]Figure 4-13CRC7 Generator/Checker© 2004 <strong>SanDisk</strong> Corporation 4-28 12/08/04

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

Saved successfully!

Ooh no, something went wrong!