The SPI interface is supported by SD and microSD cards and provides a convenient data storage interface for low-end embedded systems. Over the years, we’ve seen many more embedded designs using the SD interface go with SPI mode due to simplicity of design.
With Industrial Grade SD Card capacities as low as 128 MB, data logging and other functions can be added to a low-cost design. MicroSD‘s 11 mm by 15 mm physical size can fit into even the smallest systems. Since the protocol isn’t size dependent, larger or smaller cards can be installed as memory requirements change.
As a default, both the SD and microSD cards will operate in the faster SD mode unless configured to the slower SPI mode. This configuration needs to occur during the first reset command after power up.
To switch the card to SPI mode, the CS signal must be asserted while the host issues a reset command. Once either the SD or SPI mode is configured, only a full power cycle of the card will allow the mode to be changed.
In SPI mode for either the SD or microSD, the bus width is limited to a single bit. Contrast this to SD mode, which can operate with bus widths from 1 to 4 bits. With the default mode clock speed of 0 to 25 MHz, it’s not necessary to run the bus at a high data rate if not desired.
For more resources regarding the use of SD/microSD in SPI mode, see the introduction to SD Card White Paper. Also, the SD Association, which only makes the full specification available to members, has a free simplified version of the physical layer spec for download on their site.
Steve Larrivee is VP Sales & Marketing for Cactus Technologies Limited and has over 30 years’ experience in the data storage market, including 10 years with SanDisk and five years at Seagate Technology.