English
Language : 

K60P100M100SF2RM Datasheet, PDF (1648/1809 Pages) Freescale Semiconductor, Inc – K60 Sub-Family Reference Manual
Initialization/application of SDHC
52.6.3.1 Block write
This section discusses the block write access methods.
52.6.3.1.1 Normal write
During a block write (CMD24 - 27, CMD60, CMD61), one or more blocks of data are
transferred from the host to the card with a CRC appended to the end of each block by the
host. If the CRC fails, the card shall indicate the failure on the dat line. The transferred
data will be discarded and not written, and all further transmitted blocks (in multiple
block write mode) will be ignored.
If the host uses partial blocks whose accumulated length is not block aligned and block
misalignment is not allowed (CSD parameter WRITE_BLK_MISALIGN is not set, and
the CE-ATA card does not support partial block write, either), the card detects the block
misalignment error and aborts the programming before the beginning of the first
misaligned block. The card sets the ADDRESS_ERROR error bit in the status register,
and while ignoring all further data transfer, waits in the Receive-data-State for a stop
command. For a CE-ATA card, check the CE-ATA card specification for its behavior in
block misalignment. The write operation is also aborted if the host tries to write over a
write protected area.
For MMC and SD cards, programming of the CID and CSD registers does not require a
previous block length setting. The transferred data is also CRC protected. If a part of the
CSD or CID register is stored in ROM, then this unchangeable part must match the
corresponding part of the receive buffer. If this match fails, then the card will report an
error and not change any register contents.
For all types of cards, some may require long and unpredictable periods of time to write a
block of data. After receiving a block of data and completing the CRC check, the card
will begin writing and hold the DAT line low if its write buffer is full and unable to
accept new data from a new WRITE_BLOCK command. The host may poll the status of
the card with a SEND_STATUS command (CMD13) or other means for SDIO and CE-
ATA cards at any time, and the card will respond with its status. The responded status
indicates whether the card can accept new data or whether the write process is still in
progress. The host may deselect the card by issuing a CMD7 (to select a different card) to
place the card into the Standby State and release the DAT line without interrupting the
write operation. When re-selecting the card, it will reactivate the busy indication by
pulling DAT to low if the programming is still in progress and the write buffer is
unavailable.
1648
K60 Sub-Family Reference Manual, Rev. 6, Nov 2011
Freescale Semiconductor, Inc.