CC3200 SDHost

From Texas Instruments Wiki
Jump to: navigation, search

Overview

      The Secure Digital Host (SD Host)controller on CC3200 provides an interface to standard SD memory cards in 1-bit transfer mode and handles the SD protocol and data packing at transmission level with minimum CPU intervention.

Application details

      This application showcases the basic use case of initializing the controller to communicate with the attached card, reading and writing SD card block using the internal controller buffer via DriverLib API(s). The demo includes extracting the card capacity, capacity class and SD version information and displaying it on the UART terminal. The demo also reads out the first block from the attached card and displays in to the terminal.

Here is the SDCard booster board which can be mounted on CC3200 Launchpad

CC32xx SDCard BP.JPG



Warning Warning: Writing to SD card block is disabled by default using a macro defined in the main.c file, this is to avoid accidental corruption of card Filesystem.


Source Files briefly explained

  • main.c - Includes the main and DriverLib wrapper functions to initialize, read and write the attached card.
  • pinmux.c - Generated by Pinmux utility to mux out the SD Host controller signal to chip boundary.
  • uart_if.c - Implements the UART terminal.
  • startup_ewarm.c - Implements interrupt vector table when using IAR ewarm tool chain
  • startup_css.c - Implements interrupt vector table when using CC tool chain


Build the board

User can order a SD Card booster pack from 40Oh to work with the CC3200 Launchpad, but the connector definitions do not match. Some board modifications require to make it work with the CC3200 LAUNCHXL Rev 3.2(onwards).

The board is available here
http://doc.43oh.com/The_Card_Reader_SDCard_BoosterPack
http://store.43oh.com/index.php?route=product/product&product_id=66

Here is the ECO List

  1. Scratch out traces at SJ1 , SJ2, SJ3, SJ4
  2. Blue wire the following pins
SDCard Pin no. Header Pin
2 J2.3
5 J2.6
7 J2.7

The board looks as below with the changes

CC3200 SD Card BP board.jpg

Usage

  • Setup a serial communication application (HyperTerminal/TeraTerm) with following settings. For detail info visit Terminal setup

   - Port: Enumerated COM port
   - Baud rate: 115200
   - Data: 8 bit
   - Parity: None
   - Stop: 1 bit
   - Flow control: None

  • Connect the SD Card to the LP board as shown below
LP Pin SD Card Pin Signal Name
P2.3 2 CMD
P3.2 3 GND/Vss
P1.1 4 Vcc/Vdd
P2.6 5 CLK
P2.1 6 Vss
P2.7 7 DAT0
  • Set the macro definition to 1 to remove write protection
 #define WRITE_TEST_EN   0
  • Run the reference application (Flashing the bin/IAR/CCS).
  • Observe the status messages on the host over serial port to understand the sequence of operations performed by the application.
300x400


Limitations/Known Issues

For many SD cards pull up resistors are required on the bidirectional signal lines, DAT0 and CMD.