Atmel ARM-Based Evaluation Kit for SAM4S16C, 32-Bit ARM® Cortex® Microcontroller ATSAM4S-WPIR-RD ATSAM4S-WPIR-RD Data Sheet

Product codes
ATSAM4S-WPIR-RD
Page of 1231
SAM4S Series [DATASHEET]
Atmel-11100G-ATARM-SAM4S-Datasheet_27-May-14
896
38.9
SD/SDIO Card Operation
The High Speed MultiMedia Card Interface allows processing of SD Memory (Secure Digital Memory Card) and 
SDIO (SD Input Output) Card commands.
SD/SDIO cards are based on the MultiMedia Card (MMC) format, but are physically slightly thicker and feature 
higher data transfer rates, a lock switch on the side to prevent accidental overwriting and security features. The 
physical form factor, pin assignment and data transfer protocol are forward-compatible with the High Speed 
MultiMedia Card with some additions. SD slots can actually be used for more than flash memory cards. Devices 
that support SDIO can use small devices designed for the SD form factor, such as GPS receivers, Wi-Fi or 
Bluetooth adapters, modems, barcode readers, IrDA adapters, FM radio tuners, RFID readers, digital cameras 
and more.
SD/SDIO is covered by numerous patents and trademarks, and licensing is only available through the Secure 
Digital Card Association.
The SD/SDIO Card communication is based on a 9-pin interface (Clock, Command, 4 x Data and 3 x Power lines). 
The communication protocol is defined as a part of this specification. The main difference between the SD/SDIO 
Card and the High Speed MultiMedia Card is the initialization process.
The SD/SDIO Card Register (HSMCI_SDCR) allows selection of the Card Slot and the data bus width.
The SD/SDIO Card bus allows dynamic configuration of the number of data lines. After power up, by default, the 
SD/SDIO Card uses only DAT0 for data transfer. After initialization, the host can change the bus width (number of 
active data lines).
38.9.1 SDIO Data Transfer Type
SDIO cards may transfer data in either a multi-byte (1 to 512 bytes) or an optional block format (1 to 511 blocks), 
while the SD memory cards are fixed in the block transfer mode. The TRTYP field in the HSMCI Command 
Register (HSMCI_CMDR) allows to choose between SDIO Byte or SDIO Block transfer.
The number of bytes/blocks to transfer is set through the BCNT field in the HSMCI Block Register (HSMCI_BLKR). 
In SDIO Block mode, the field BLKLEN must be set to the data block size while this field is not used in SDIO Byte 
mode.
An SDIO Card can have multiple I/O or combined I/O and memory (called Combo Card). Within a multi-function 
SDIO 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, SDIO and combo cards can implement the 
optional concept of suspend/resume (Refer to the SDIO Specification for more details). To send a suspend or a 
resume command, the host must set the SDIO Special Command field (IOSPCMD) in the HSMCI Command 
Register.
38.9.2 SDIO Interrupts
Each function within an SDIO or Combo card may implement interrupts (Refer to the SDIO Specification for more 
details). In order to allow the SDIO card to interrupt the host, an interrupt function is added to a pin on the DAT[1] 
line to signal the card’s interrupt to the host. An SDIO interrupt on each slot can be enabled through the HSMCI 
Interrupt Enable Register. The SDIO interrupt is sampled regardless of the currently selected slot.