Public Version
www.ti.com
MMC/SD/SDIO Functional Description
shows the common way to stop a transfer, indicating command to send and features to enable.
Table 24-7. MMC/SD/SDIOi Controller Transfer Stop Command Summary
WRITE transfer
READ transfer
SD / MMC
SDIO
SD / MMC
SDIO
Single block
Transfer ends
Transfer ends
Transfer ends
Transfer ends
automatically
automatically
automatically
automatically
Wait TC
Wait TC
Wait TC
Wait TC
Multi blocks
Before the
Send CMD12
Send CMD52
Send CMD12
Send CMD52
(finite or infinite)
programmed block
Wait TC
Wait TC
Wait TC
Wait TC
boundary
Stop at the end of
Auto CMD12 active
Set
Auto CMD12 active
If READ_WAIT
the transfer
Transfer ends
Transfer ends
supported
(finite transfer only)
automatically
[16] SBGR bit to
automatically
Stop at block gap
Wait TC
0x1.
Wait TC
Wait TC
Send CMD52
If READ_WAIT not
Wait TC
supported
Send CMD52
Wait TC
NOTE:
The MMC/SD/SDIOi controller will send the stop command to the card on a block boundary,
regardless the moment the command was written to the controller registers.
24.4.8 MMC CE-ATA Command Completion Disable Management
The MMC/SD/SDIOi host controller supports CE-ATA features, in particular the detection of command
completion token. When a command that requires a command completion signal (
CEATA and
[2] ACEN set to 1) is launched, host system is no longer allowed to emit a new
command in parallel of data transfer unless it is a command completion disable.
The settings to emit a command completion disable token follow:
•
[12] CEATA is set to 1.
•
[2] HR set to 1.
•
Clear the
register.
•
Write into
register with value 0x00000000.
When a command completion disable token was emitted (that is,
[0] CC received), the host
system is again allowed to emit another type of command (for example a transfer abort command CMD12
to abort transfer).
A critical case can be met when command completion signal disable (CCSD) is emitted during the last
data block transfer, the sequence on command line could be sent very close to command completion
signal (CCS) token sent by the card.
Three cases can be met:
•
CCS is receive just before CCSD is emitted:
An interrupt CIRQ is generated with CCS detection, CCSD is transmitted to card then an interrupt CC
is generated when CCSD ends. In this case, card consider the CCSD sequence.
•
CCS is not generated or generated during the CCSD transfer:
The CCS bit cannot be detected (conflict is not possible as they drive the same level on command line,
then no CIRQ interrupt is generated; besides CC interrupt is generated when CCSD ends).
•
CCS is generated without CCSD token required:
Only the interrupt CIRQ is generated when CCS is detected.
3395
SWPU177N – December 2009 – Revised November 2010
MMC/SD/SDIO Card Interface
Copyright © 2009–2010, Texas Instruments Incorporated