10.07.2015 Views

SanDisk SD Card

SanDisk SD Card

SanDisk SD Card

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Revision 2.2Chapter 4 – <strong>SD</strong> <strong>Card</strong> Protocol Description<strong>SanDisk</strong> <strong>SD</strong> <strong>Card</strong> Product ManualIf the <strong>SD</strong> <strong>Card</strong> does not have a free data receive buffer, it indicates this condition by pullingdown the data line to low. The card stops pulling down the data line as soon as at least onereceive buffer for the defined data transfer block length becomes free. This signaling doesnot give any information about the data write status that must be polled by the host.Multiple Block WriteIn multiple block write mode, the card expects continuous flow of data blocks followingthe initial host write command. The data flow is terminated by a stop transmissioncommand (CMD12). The Multiple Block Write Command timing diagram describes thetiming of the data blocks with and without card busy signal.Multiple Block Write Command Timing<strong>Card</strong>ResponseCMD E Z Z P *******************P P P P P ********************* P P P P P P P P PN WR Write DataCRC Status N WR Write Data CRC Status Busy N WRDAT Z Z P*P S Data+CRC E Z Z S Status E Z P*P S Data+CRC E Z Z S Status E S L*L E Z P*PIn write mode, the stop transmission command works similarly to the stop transmissioncommand in the Read Mode. The following figure describes the timing of the stopcommand in different card states.Stop Transmission During Data Transfer from the HostCMD S TDATHost CommandN CRCycles<strong>Card</strong> ResponseContent CRC E Z Z P P* ****P S T Content CRC E S TD D D D D D D D D D E Z Z S L<strong>Card</strong> is Programming*********Host CommandE Z ZZZContentZZZZThe card will treat a data block as successfully received and ready for programming only ifthe CRC data of the block was validated and the CRC status token sent back to the host.The figure below is an example of an interrupted (by a host stop command) attempt totransmit the CRC status block. The sequence is identical to all other stop transmissionexamples. The end bit of the host command is followed, on the data line, with one moredata bit, end bit and two Z clock for switching the bus direction. The received data block inthis case is considered incomplete and will not be programmed.Stop Transmission during CRC Status Transfer from the <strong>Card</strong>Host CommandN CRCycles<strong>Card</strong> ResponseHost CommandCMD S T Content CRC E Z Z P P* ****P S T Content CRC E S TData BlockCRC Status<strong>Card</strong> is ProgrammingDAT D D D D D Z Z S Status E Z Z S L*********E Z Z ZContentZ Z Z ZZAll previous examples dealt with the scenario of the host stopping the data transmissionduring an active data transfer. The following two diagrams describe a scenario of receivingthe stop transmission between data blocks. In the first example, the card is busyprogramming the last block while the card is idle in the second block as shown in thesecond diagram. However, there remains un-programmed data blocks in the input buffers.These blocks are being programmed as soon as the stop transmission command is receivedand the card activates the busy signal.© 2004 <strong>SanDisk</strong> Corporation 4-45 12/08/04

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

Saved successfully!

Ooh no, something went wrong!