09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Secure digital input/output interface (SDIO) <strong>RM0090</strong><br />

5. Send CMD24 (WRITE_BLOCK) as follows:<br />

a) Program the SDIO data length register (SDIO data timer register should be<br />

already programmed before the card identification process).<br />

b) Program the SDIO argument register with the address location of the card where<br />

data is to be transferred.<br />

c) Program the SDIO command register: CmdIndex with 24 (WRITE_BLOCK);<br />

WaitResp with ‘1’ (SDIO card host waits for a response); CPSMEN with ‘1’ (SDIO<br />

card host enabled to send a command). Other fields are at their reset value.<br />

d) Wait for SDIO_STA[6] = CMDREND interrupt, then program the SDIO data control<br />

register: DTEN with ‘1’ (SDIO card host enabled to send data); DTDIR with ‘0’<br />

(from controller to card); DTMODE with ‘0’ (block data transfer); DMAEN with ‘1’<br />

(DMA enabled); DBLOCKSIZE with 0x9 (512 bytes). Other fields are don’t care.<br />

e) Wait for SDIO_STA[10] = DBCKEND.<br />

6. Check that no channels are still enabled by polling the DMA Enabled Channel Status<br />

register.<br />

28.4 Card functional description<br />

28.4.1 Card identification mode<br />

While in card identification mode the host resets all cards, validates the operation voltage<br />

range, identifies cards and sets a relative card address (RCA) for each card on the bus. All<br />

data communications in the card identification mode use the command line (CMD) only.<br />

28.4.2 Card reset<br />

The GO_IDLE_STATE command (CMD0) is the software reset command and it puts the<br />

MultiMediaCard and SD memory in the Idle state. The IO_RW_DIRECT command (CMD52)<br />

resets the SD I/O card. After power-up or CMD0, all cards output bus drivers are in the highimpedance<br />

state and the cards are initialized with a default relative card address<br />

(RCA=0x0001) and with a default driver stage register setting (lowest speed, highest driving<br />

current capability).<br />

28.4.3 Operating voltage range validation<br />

All cards can communicate with the SDIO card host using any operating voltage within the<br />

specification range. The supported minimum and maximum V DD values are defined in the<br />

operation conditions register (OCR) on the card.<br />

Cards that store the card identification number (CID) and card specific data (CSD) in the<br />

payload memory are able to communicate this information only under data-transfer V DD<br />

conditions. When the SDIO card host module and the card have incompatible V DD ranges,<br />

the card is not able to complete the identification cycle and cannot send CSD data. For this<br />

purpose, the special commands, SEND_OP_COND (CMD1), SD_APP_OP_COND (ACMD41<br />

for SD Memory), and IO_SEND_OP_COND (CMD5 for SD I/O), are designed to provide a<br />

mechanism to identify and reject cards that do not match the V DD range desired by the<br />

SDIO card host. The SDIO card host sends the required V DD voltage window as the<br />

operand of these commands. Cards that cannot perform data transfer in the specified range<br />

disconnect from the bus and go to the inactive state.<br />

857/1416 Doc ID 018909 Rev 3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!