DocID018909 Rev 11
RM0090
Secure digital input/output interface (SDIO)
1067
Note:
The DPSM remains in the Wait_S state for at least two clock periods to meet the N
WR
timing
requirements, where N
WR
is the number of clock cycles between the reception of the card
response and the start of the data transfer from the host.
•
Send: the DPSM starts sending data to a card. Depending on the transfer mode bit in
the data control register, the data transfer mode can be either block or stream:
–
In block mode, when the data block counter reaches zero, the DPSM sends an
internally generated CRC code and end bit, and moves to the Busy state.
–
In stream mode, the DPSM sends data to a card while the enable bit is high and
the data counter is not zero. It then moves to the Idle state.
If a FIFO underrun error occurs, the DPSM sets the FIFO error flag and moves to the
Idle state.
•
Busy: the DPSM waits for the CRC status flag:
–
If it does not receive a positive CRC status, it moves to the Idle state and sets the
CRC fail status flag.
–
If it receives a positive CRC status, it moves to the Wait_S state if SDIO_D0 is not
low (the card is not busy).
If a timeout occurs while the DPSM is in the Busy state, it sets the data timeout flag and
moves to the Idle state.
The data timer is enabled when the DPSM is in the Wait_R or Busy state, and
generates the data timeout error:
–
When transmitting data, the timeout occurs if the DPSM stays in the Busy state for
longer than the programmed timeout period
–
When receiving data, the timeout occurs if the end of the data is not true, and if the
DPSM stays in the Wait_R state for longer than the programmed timeout period.
•
Data:
data can be transferred from the card to the host or vice versa. Data is
transferred via the data lines
.
They are stored in a FIFO of 32 words
,
each word is 32
bits wide.
Table 154. Data token format
Description
Start bit
Data
CRC16
End bit
Block Data
0
-
yes
1
Stream Data
0
-
no
1