
Secure digital input/output interface (SDIO)
RM0008
558/1096
Doc ID 13902 Rev 12
5.
Send CMD24 (WRITE_BLOCK) as follows:
a)
Program the SDIO data length register (SDIO data timer register should be
already programmed before the card identification process)
b)
Program the SDIO argument register with the address location of the card where
data is to be transferred
c)
Program the SDIO command register: CmdIndex with 24 (WRITE_BLOCK);
WaitResp with ‘1’ (SDIO card host waits for a response); CPSMEN with ‘1’ (SDIO
card host enabled to send a command). Other fields are at their reset value.
d)
Wait for SDIO_STA[6] = CMDREND interrupt, then program the SDIO data control
register: DTEN with ‘1’ (SDIO card host enabled to send data); DTDIR with ‘0’
(from controller to card); DTMODE with ‘0’ (block data transfer); DMAEN with ‘1’
(DMA enabled); DBLOCKSIZE with 0x9 (512 bytes). Other fields are don’t care.
e)
Wait for SDIO_STA[10] = DBCKEND
6.
Check that no channels are still enabled by polling the DMA Enabled Channel Status
register.
22.4
Card functional description
22.4.1 Card
identification
mode
While in card identification mode the host resets all cards, validates the operation voltage
range, identifies cards and sets a relative card address (RCA) for each card on the bus. All
data communications in the card identification mode use the command line (CMD) only.
22.4.2 Card
reset
The
GO_IDLE_STATE
command (CMD0) is the software reset command and it puts the
MultiMediaCard and SD memory in the Idle state. The
IO_RW_DIRECT
command (CMD52)
resets the SD I/O card. After power-up or CMD0, all cards output bus drivers are in the high-
impedance state and the cards are initialized with a default relative card address
(RCA=0x0001) and with a default driver stage register setting (lowest speed, highest driving
current capability).
22.4.3
Operating voltage range validation
All cards can communicate with the SDIO card host using any operating voltage within the
specification range. The supported minimum and maximum V
DD
values are defined in the
operation conditions register (OCR) on the card.
Cards that store the card identification number (CID) and card specific data (CSD) in the
payload memory are able to communicate this information only under data-transfer V
DD
conditions. When the SDIO card host module and the card have incompatible V
DD
ranges,
the card is not able to complete the identification cycle and cannot send CSD data. For this
purpose, the special commands,
SEND_OP_COND
(CMD1),
SD_APP_OP_COND
(ACMD41
for SD Memory), and
IO_SEND_OP_COND
(CMD5 for SD I/O), are designed to provide a
mechanism to identify and reject cards that do not match the V
DD
range desired by the
SDIO card host. The SDIO card host sends the required V
DD
voltage window as the
operand of these commands. Cards that cannot perform data transfer in the specified range
disconnect from the bus and go to the inactive state.