HB288016MM1
52
Data in
Data out
command
response
data error
command
from
host
to card
from
card
to host
data error token
from card to host
Next
commnand
Read Operation-Data Error
Data Write Overview
As for the read operation, while in SPI mode the MultiMediaCard supports single block write commands
only. Upon reception of a valid write command (CMD24 in the MultiMediaCard protocol), the card will
respond with a response token and will wait for a data block to be sent from the host. CRC suffix, block
length and start address restrictions are (with the exception of the CSD parameter WRITE_BL_PARTIAL
controlling the partial block write option) identical to the read operation (refer to Figure “Write
Operation”).
Data in
Data out
command
data block
response
data_response busy
command
from
host
to card
data from
host
to card
from
card
to host
data
response and
busy from
card
new command
from host
Write Operation
After a data block has been received, the card will respond with a data-response token. If the data block
has been received without errors, it will be programmed. As long as the card is busy programming, a
continuous stream of busy tokens will be sent to the host (effectively holding the DataOut line low). Once
the programming operation is completed, the host must check the results of the programming using the
SEND_STATUS command (CMD13). Some errors (e.g. address out of range, write protect violation etc.)
are detected during programming only. The only validation check performed on the data block and
communicated to the host via the data-response token is the CRC. While the card is busy, resetting the CS
signal will not terminate the programming process. The card will release the DataOut line (tri-state) and
continue with programming. If the card is reselected before the programming is finished, the DataOut line
will be forced back to low and all commands will be rejected. Resetting a card (using CMD0) will
terminate any pending or active programming operation. This may destroy the data formats on the card. It
is in the responsibility of the host to prevent it.