RM0402
addresses the card. The assigned card changes to the Standby state, it does not react
to further identification cycles, and its output switches from open-drain to push-pull.
8.
The SDIO card host repeats steps 5 through 7 until it receives a timeout condition.
For the SD card, the identification process starts at clock rate F
output drives are push-pull drivers instead of open-drain. The registration process is
accomplished as follows:
1.
The bus is activated.
2.
The SDIO card host broadcasts SD_APP_OP_COND (ACMD41).
3.
The cards respond with the contents of their operation condition registers.
4.
The incompatible cards are placed in the inactive state.
5.
The SDIO card host broadcasts ALL_SEND_CID (CMD2) to all active cards.
6.
The cards send back their unique card identification numbers (CIDs) and enter the
Identification state.
7.
The SDIO card host issues SET_RELATIVE_ADDR (CMD3) to an active card with an
address. This new address is called the relative card address (RCA); it is shorter than
the CID and addresses the card. The assigned card changes to the Standby state. The
SDIO card host can reissue this command to change the RCA. The RCA of the card is
the last assigned value.
8.
The SDIO card host repeats steps 5 through 7 with all active cards.
For the SD I/O card, the registration process is accomplished as follows:
1.
The bus is activated.
2.
The SDIO card host sends IO_SEND_OP_COND (CMD5).
3.
The cards respond with the contents of their operation condition registers.
4.
The incompatible cards are set to the inactive state.
5.
The SDIO card host issues SET_RELATIVE_ADDR (CMD3) to an active card with an
address. This new address is called the relative card address (RCA); it is shorter than
the CID and addresses the card. The assigned card changes to the Standby state. The
SDIO card host can reissue this command to change the RCA. The RCA of the card is
the last assigned value.
27.4.5
Block write
During block write (CMD24 - 27) 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. A card supporting block
write is always able to accept a block of data defined by WRITE_BL_LEN. If the CRC fails,
the card indicates the failure on the SDIO_D line and the transferred data are discarded and
not written, and all further transmitted blocks (in multiple block write mode) are 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), the card
will detect the block misalignment error before the beginning of the first misaligned block.
(ADDRESS_ERROR error bit is set in the status register). The write operation will also be
aborted if the host tries to write over a write-protected area. In this case, however, the card
will set the WP_VIOLATION bit.
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 reports an error and does not change any register contents.
Secure digital input/output interface (SDIO)
RM0402 Rev 6
, and the SDIO_CMD line
od
881/1163
921
Need help?
Do you have a question about the STM32F412 and is the answer not in the manual?
Questions and answers