English
Language : 

K60P100M100SF2RM Datasheet, PDF (1651/1809 Pages) Freescale Semiconductor, Inc – K60 Sub-Family Reference Manual
Chapter 52 Secured digital host controller (SDHC)
When the write operation is paused, the data transfer inside the host system is not
stopped, and the transfer is active until the data buffer is full. Because of this (if not
needed), it is recommended to avoid using the suspend command for the SDIO card. This
is because when such a command is sent, the SDHC thinks the system will switch to
another function on the SDIO card, and flush the data buffer. The SDHC takes the
resume command as a normal command with data transfer, and it is left for the driver to
set all the relevant registers before the transfer is resumed. If there is only one block to
send when the transfer is resumed, the XFERTYP[MSBSEL] and XFERTYP[BCEN] bits
are set as well as the XFERTYP[AC12EN] bit. However, the SDHC will automatically
send a CMD12 to mark the end of the multi-block transfer.
52.6.3.2 Block read
This section discusses the block read access methods.
52.6.3.2.1 Normal read
For block reads, the basic unit of data transfer is a block whose maximum size is stored in
areas defined by the corresponding card specification. A CRC is appended to the end of
each block, ensuring data transfer integrity. The CMD17, CMD18, CMD53, CMD60,
CMD61, and so on, can initiate a block read. After completing the transfer, the card
returns to the transfer state. For multi blocks read, data blocks will be continuously
transferred until a stop command is issued.
The software flow to read from a card incorporates the internal DMA and the read
operation is a multi-block read with the Auto CMD12 enabled. For the other two methods
(by means of external DMA or CPU polling status) with different transfer methods, the
internal DMA parts should be removed and the alternative steps should be
straightforward.
The software flow to read from a card is described below:
1. Check the card status, wait until card is ready for data.
2. Set the card block length/size:
a. For SD/MMC, use SET_BLOCKLEN (CMD16)
b. For SDIO cards or the I/O portion of SDCombo cards, use
IO_RW_DIRECT(CMD52) to set the I/O block size bit field in the CCCR
register (for function 0) or FBR register (for functions 1~7)
c. For CE-ATA cards, configure bits 1~0 in the scrControl register
K60 Sub-Family Reference Manual, Rev. 6, Nov 2011
Freescale Semiconductor, Inc.
1651