NetBurner 3.2
Flash Card Hardware Interface Design

Flash Card Hardware Interface Design

MMC/SD Hardware Interface

Schematic Representation

The SD/MMC flash card interface is installed on NetBurner Network Development Kits (NNDK) with development board revision 1.06 and higher. The schematic representation is shown below:

EffsDevBoardSchem.png

Signal Description

SD/MMC Pin SD/MMC Signal Name Modxxxx Signal Connection
1 /CS, Chip Select J2-35 - with 10k pull-up*
2 DI, Data In J2-28 - QSPI DOUT
3 GND Ground
4 VCC VCC 3.3V
5 CLK J2-J5 - QSPI CLK
6 GND Ground
7 DO, Data Out J2-J7 - QSPI DIN
8 NC, No Connection No Connection
9 NC, No Connection No Connection
D CD, Card Detect J2-47 - with 10k pull-up*
W WP, Write Protect J2-40 - with 10k pull-up*
Com Common Ground
Com Common Ground

These signals can be any available GPIO pins on the NetBurner module, with a corresponding software change in mmc_m7.cpp for the MODM7AE70 or mmc_mcf.cpp for the other platforms to specify the signal name.

SD/MMC Connector Part Number

The SD/MMC flash card connector used on the NetBurner development board is available from Mouser Electronics, part number 688-SCDA1A0901.

SD/MMC Card Compatibility

The SD/MMC must support native SPI mode transfers, which is common for most SD/MMC cards. Up to 2GB is supported for standard SD/MMC and up to 32GB is supported for SDHC.

Exclusive Use of the SPI

The EFFS normally requires exclusive use of the SPI interface. The standard software and drivers operate in this mode. There are also performance reasons for exclusive use. While it may be possible to share the SPI with other peripherals, it is not supported in the development tool suite.

SD/MMC Interface Control Pins

You can modify the default pin selections for the interface control signals in \nburn\platform\<platform>\mmc_m7.cpp for the MODM7AE70, or nburn\platform\<platform>\mmc_mcf.cpp for the other platforms. The relavent functions in this file are lsited below. Note that the values in these functions must be used on the NetBurner development board since the board is wired in this configuration.

void MMC_BaseInit(int CurrentDrive) // Configure pins to be used for SD/MMC interface control
int get_cd(int currentDrive) // Get the Card Detect state
int get_wp( void ) // Get the Write Protect state
void spi_cs_lo( void ) // Set SPI chip select low
void spi_cs_hi( void ) // Set SPI chip select high

Interrupt Driven SPI

For the ColdFire based platforms (MOD5441X, SB800EX, and NANO54415), you can enable the SD/MMC SPI interface to work with the NetBurner interrupt driven SPI driver instead of the default polling mode driver. This will result in slightly lower SD/MMC performace but overall higher system performance. This is useful if you find that your network performance or user tasks run poorly during file system accesses. A modification must be made in nburn\platform\<platform>\mmc_mcf.cpp, followed by a rebuild of the platform system directory. Near to top of this file, the following line should be uncommented:

define SD_IRQ_SPI