456
/
838
Nations Technologies Inc.
Tel
:
+86-755-86309900
:
Address: Nations Tower, #109 Baoshen Road, Hi-tech Park North.
Nanshan District, Shenzhen, 518057, P.R.China
d)
Wait for SDIO_STS.CMDRESPRECV bit is set, and then configure the SDIO data control register:
SDIO_DATCTRL.DATEN is set to 1 (the SDIO card host is enabled to send data);
SDIO_DATCTRL.DATDIR is set to 0 (the transmission direction is from the controller to the card);
SDIO_DATCTRL.TRANSMOD is set to 0 (block data transfer); SDIO_DATCTRL.DMAEN is set to 1
(DMA enabled); SDIO_DATCTRL.BLKSIZE is set to 9 (512 bytes); other fields do not need to be set.
e)
Bit10 DATBLKEND flag bit of wait status register SDIO_STS is set.
6.
Query the enable status register of the DMA channel to confirm that no channel is still enabled.
Card function description
18.4.1
Confirmation of working voltage range
All cards can use any voltage within the specified range to communicate with the SDIO card host, the minimum and
maximum voltage VDD values that can be supported are defined by the operating condition register (OCR) on the card.
When communication between the host and the card is initiated, the host may not know the voltages supported by the card,
and the card may not know whether the host can provide the voltages it supports. In order to verify the voltage, a series of
special commands are required, which are defined in the relevant specifications.
The commands defined in the protocol specification include: CMD1 (SEND_OP_COND, for MMC), ACMD41
(SD_APP_OP_COND, for SD memory cards) and CMD5 (IO_SEND_OP_COND, for SD I/O cards). These
commands provide a mechanism for the host to identify and reject cards that do not match the VDD range required
by the host. This is because a card whose internal memory stores the Card Identification Number (CID) and Card
Specific Data (CSD) can only transmit these information under the condition of data transfer VDD. When the SDIO
card host module is inconsistent with the VDD range of the card, the card will not be able to complete the
identification cycle and cannot send CSD data; therefore, when the VDD range does not match, the SDIO card host
can use these special commands to identify and reject the card. The SDIO card host will generate the required VDD
voltage when executing these commands. Cards that cannot transmit data within the specified voltage range are
disconnected from the bus and become inactive.
If the card cannot operate at the supplied voltage, it does not return a response and remains in an idle state. It is
mandatory to send CMD8 before ACMD41 command when initializing SD card. Receiving CMD8 is to let the card
know that the host supports the physical layer 2.00 protocol and the card supports higher version functions. If the
card can operate at the supplied voltage, the response will return the supply voltage and the check mode set in the
command parameter.
18.4.2
Card reset
The CMD0 command (GO_IDLE_STATE) is a software reset command, which sets the multimedia card (MMC) and
SD memory card into the idle state (Idle State). Regardless of the current card state. The reset command (CMD0) is
only used for the memory part of the memory or combination card. The CMD52 command (IO_RW_DIRECT) resets
the SD I/O card. Cards in the Inactive State are not affected by this command.
After the host is powered on, all cards are in the idle state (Idle State), including the cards that were previously in the
inactive state (Inactive State). After power-on or after executing CMD0, the outputs of all cards are in a high-
impedance state. The CMD lines of all cards are in input mode, waiting for the start bit of the next command, while