GD32F20x User Manual
662
Figure 24-12. Read wait control by stopping SDIO_CLK
SDIO_CLK
DAT
Read data 1a
Interrupt period
H
Read data 1b
2 CLK
2 CLK
1 CLK
Figure 24-13. Read wait operation using SDIO_DAT[2]
SDIO_CLK
DAT[3:0]
Read data 1a
INT
Read data 1b
2 CLK
2 CLK
4 CLK min(no wait)
2 CLK
CMD
CMD52
DAT1
DAT2
Read data 1a
Read data 1a
Read data 1b
Read data 1b
We can start the Read Wait interval before the data block is received: when the data unit is
enabled (SDIO_DATACTL[0] bit set), the SD I/O specific operation is enabled
(SDIO_DATACTL[11] bit set), Read Wait starts (SDIO_DATACTL[10] = 0 and
SDIO_DATACTL[8] = 1) and data direction is from card to SD I/O (SDIO_DATACTL[1] = 1),
the DSM directly moves from Idle to Read Wait. In Read Wait the DSM drives SDIO_DAT[2]
to 0 after 2 SDIO_CLK clock cycles. In this state, when you set the RWSTOP bit
(SDIO_DATACTL[9]), the DSM remains in Wait for two more SDIO_CLK clock cycles to drive
SDIO_DAT[2] to 1 for one clock cycle. The DSM then starts waiting again until it receives data
from the card. The DSM will not start a Read Wait interval while receiving a block even if
Read Wait start is set: the Read Wait interval will start after the CRC is received. The
RWSTOP bit has to be cleared to start a new Read Wait operation. During the Read Wait
interval, the SDIO can detect SD I/O interrupts on SDIO_DAT[1].
SD I/O suspend/resume operation
Within a multi-function SD I/O or a Combo card, there are multiple devices (I/O and memory)
that share access to the SD bus. In order to allow the sharing of access to the host among
multiple devices, SD I/O and combo cards can implement the optional concept of
suspend/resume. If a card supports suspend/resume, the host may temporarily halt a data
transfer operation to one function or memory (suspend) in order to free the bus for a higher
priority transfer to a different function or memory. Once this higher-priority transfer is
completed, the original transfer is re-started where it left off (resume).
Figure 24-14. Function2 read cycle inserted during function1 multiple read cycle
shows
a condition where the first suspend request is not immediately accepted. The host then
checks the status of the request with a read and determines that the bus has now been
released (BS=0). At this time, a read to function 2 is started. Once that single block read is
Summary of Contents for GD32F20 Series
Page 191: ...GD32F20x User Manual 191 Bits Fields Descriptions 31 0 TRNDATA 31 0 32 Bit Random data ...
Page 290: ...GD32F20x User Manual 290 conversion is ongoing ...
Page 325: ...GD32F20x User Manual 325 15 0 ALRM 15 0 RTC alarm value low ...
Page 385: ...GD32F20x User Manual 385 ...
Page 523: ...GD32F20x User Manual 523 clears AERR bit by writing 0 to it ...