Secure digital input/output interface (SDIO)
RM0090
1020/1731
DocID018909 Rev 11
The command register contains the command index (six bits sent to a card) and the
command type. These determine whether the command requires a response, and whether
the response is 48 or 136 bits long (see
). The command path
implements the status flags shown in
The CRC generator calculates the CRC checksum for all bits before the CRC code. This
includes the start bit, transmitter bit, command index, and command argument (or card
status). The CRC checksum is calculated for the first 120 bits of CID or CSD for the long
response format. Note that the start bit, transmitter bit and the six reserved bits are not used
in the CRC calculation.
The CRC checksum is a 7-bit value:
CRC[6:0] = Remainder [(M(x) * x
7
) / G(x)]
G(x) = x
7
+ x
3
+ 1
M(x) = (start bit) * x
39
+ ... + (last bit before CRC) * x
0
, or
M(x) = (start bit) * x
119
+ ... + (last bit before CRC) * x
0
Table 151. Short response format
Bit position
Width
Value
Description
47
1
0
Start bit
46
1
0
Transmission bit
[45:40]
6
-
Command index
[39:8]
32
-
Argument
[7:1]
7
-
CRC7(or 1111111)
0
1
1
End bit
Table 152. Long response format
Bit position
Width
Value
Description
135
1
0
Start bit
134
1
0
Transmission bit
[133:128]
6
111111
Reserved
[127:1]
127
-
CID or CSD (including internal CRC7)
0
1
1
End bit
Table 153. Command path status flags
Flag
Description
CMDREND
Set if response CRC is OK.
CCRCFAIL
Set if response CRC fails.
CMDSENT
Set when command (that does not require response) is sent
CTIMEOUT
Response timeout.
CMDACT
Command transfer in progress.