General Description The SDIO (Secure Digital I/O) card is based on and compatible with the SD memory card. This compatibility includes mechanical, electrical, power, signaling and software. The intent of the SDIO card is to provide high-speed data I/O with low power consumption for mobile electronic devices. A primary goal is that an SDIO card inserted into a non-SDIO aware host will cause no physical damage or disruption of that device or it’s software.
IO devices with a minimum of hardware. The Low-Speed cards support such functions as modems, bar-code scanners, GPS receivers etc. If a card is a ‘Combo card’ (memory plus SDIO) then Full-Speed and 4-bit operation is mandatory for both the memory and SDIO portions of the card.
Signal Pins Figure 1 Signal connection to two 4-bit SDIO cards SD 4-bit mode CD/DAT[3] Data line 3 Command line VSS1 Ground Supply voltage Clock VSS2 Ground DAT[0] Data line 0 DAT[1] Data line 1 or Interrupt (optional) DAT[2] Data line 2 or Read Wait (optional) It is recommended that multi-slot hosts intending to support SDIO (SDIO aware) provide a separate CLK to...
SDIO Card Initialization Differences in I/O card initialization A requirement for the SDIO specification is that an SDIO card must not cause non-I/O aware hosts to fail when inserted. In order to prevent operation of I/O Functions in non-I/O aware hosts, a change to the SD card identification mode flowchart is needed.
if IR or (F=0 & MP=1) if OCR invalid & MP=1 No voltage compare performed by card for CMD5 if (IR or timeout) & MP=1 if IORDY if PI=0 and MP=1 {MEM=0} Reinit Memory Get MemoryOCR OCR Valid if IR if MEMRDY MEM=1 IO=0,MEM=1 Card...
Differences with SD Memory Specification Unsupported SD Memory commands Several commands required for SD Memory devices are not supported by either SDIO-only cards or the I/O portion of Combo cards. Some of these commands have no use in SDIO devices such as Erase commands and thus are not supported in SDIO.
Bus Width For a SD memory card, the bus width for SD mode is set using ACMD6. The SDIO card uses a write to the CCCR using CMD52 to select bus width. In the case of a combo card, both selection methods exist. In this case, the host shall set the bus width in both locations by issuing both the ACMD6 and the CCCR write using CMD52 with the same width before starting any data transfers.
New I/O Read/Write Commands Two additional data transfer instructions have been added to support I/O. IO_RW_DIRECT, a direct I/O command similar to the MMC 'Fast I/O' command, and IO_RW_EXTENDED, which allows fast access with byte or block addresses. Both commands are in class 9 (I/O Commands). IO_RW_DIRECT command (CMD52) The IO_RW_DIRECT is the simplest means to access a single register within the total 128K of register space in any I/O function, including the common I/O area (CIA).
SDIO Card Internal Operation I/O access differs from memory in that the registers can be written and read individually and directly without a FAT file structure or the concept of blocks (although block access is supported). These registers allow access to the I/O data, control of the I/O function and report on status or transfer I/O data to/from the host.
Suspend/Resume Within a multi-function SDIO or a Combo card, there are multiple devices (I/O and memory) that must share access to the SD bus. In order to allow the sharing of access to the host among multiple devices, SDIO and combo cards can implement the optional concept of suspend/resume.
SDIO Fixed Internal Map The SDIO card has a fixed internal register space and a Function unique area. The fixed area contains information about the card and certain mandatory and optional registers in fixed locations. The fixed locations allow any host to obtain information about the card and perform simple operations such as enable in a common manner.
Card Common Control Registers (CCCR) The Card Common Control Registers allow for quick host checking and control of an I/O card’s enable and interrupts on a per card (master) and per function basis. The bits in the CCCR are mixed Read/Write and read only.
SDIO Interrupts In order to allow the SDIO card to interrupt the host, an interrupt function is added to a pin on the SD interface. Pin number 8, which is used as DAT[1] when operating in the 4-bit SD mode, is used to signal the card’s interrupt to the host.
SDIO Physical Properties SDIO Size The SDIO card is compatible with host sockets designed for SD memory cards. In addition, the SDIO cards can be extended to allow for external connectors, antennas etc. With the exception of the write protect switch, all SDIO cards must meet the mechanical specifications described in the SD Physical spec version 1.01 for that portion of the card that is not extended.
SDIO Mechanical Extensions In order to implement some function in the SD card form factor, some extensions to the standard card size and constructions may be needed. There are two areas of extension defined for SDIO devices. Both of these extensions are optional, and may be used by card vendors based upon their needs.
10. SDIO Power 10.1 SDIO Card Initialization Voltage SDIO cards follow the same voltage and current requirements as SD memory cards. This means that an SDIO or combo card must allow basic communication with the card at an initial voltage range of 2.0 to 3.6V. This basic communication is defined as: CMD5 with arg=0, CMD0, CMD15 and CMD58.
Abbreviations and Terms Block A number of bytes, basic data transfer unit CCCR Common Card Control Registers Connect/Disconnect Common Information Area Card IDentification number register Card Information Structure Clock signal Command line or SD bus command (if extended CMDXX) Combo Card A card that includes both SDIO and SD memory Cyclic Redundancy Check Chip or Card Select...
Page 24
Read After Write Relative Card Address register Resume Re-starting the temporarily halted data transfer Reserved for Future Use. Normally Read-Only and set to 0 Read Only Memory Read Wait Control SD Configuration Register Secure Digital SD Association SDCLK SD clock signal SDIO Secure Digital I/O SDIO aware...
A.1 SD and SPI Command List Table 4 and Table 5 show the commands that are supported by SD memory and SDIO devices in both SPI and SD modes. If a command is not identified as either mandatory or optional, then it is not supported by that device.
C.1 Example SDIO Controller Design Figure 6 shows an example of an SDIO controller design. In this example, two independent state machines are used. The first is the Bus State machine, which communicates with the host and maintains bus states. Figure 7 shows an example state table for this machine.
Power on, IO Reset from any state Go Inactive request Read Complete Abort asserted CMD53 Read Read Not Ready IOEN=1 IORDY=1 RF=0 EX=1 Read Data Continue Read Transfer Ready Multiple Read Data Transfer State IOEN=1 IORDY=1 RF=1 EX=1 Figure 8 State Diagram for Function State Machine Disable State IOEN=0 IORDY=0...
Need help?
Do you have a question about the SD-501 and is the answer not in the manual?
Questions and answers