Mikroelektronika MIKROE-724 Scheda Tecnica
mikroBasic PRO for dsPIC30/33 and PIC24
MikroElektronika
389
Multi Media Card Library
The Multi Media Card (MMC) is a Flash memory card standard. MMC cards are currently available in sizes up to and
including 32 GB and are used in cellular phones, digital audio players, digital cameras and PDA’s.
mikroBasic PRO for dsPIC30/33 and PIC24 provides a library for accessing data on Multi Media Card via SPI
communication. This library also supports SD (Secure Digital) and high capacity SDHC (Secure Digital High Capacity)
memory cards.
Secure Digital Card
Secure Digital (SD) is a Flash memory card standard, based on the older Multi Media Card (MMC) format.
SD cards are currently available in sizes of up to and including 2 GB, and are used in digital cameras, digital camcorders,
handheld computers, media players, mobile phones, GPS receivers, video games and PDAs.
Secure Digital High Capacity Card
SDHC (Secure Digital High Capacity, SD 2.0) is an extension of the SD standard which increases card’s storage capacity up to
32 GB by using sector addressing instead of byte addressing in the previous SD standard.
SDHC cards share the same physical and electrical form factor as older (SD 1.x) cards, allowing SDHC-devices to support both
newer SDHC cards and older SD-cards. The current standard limits the maximum capacity of an SDHC card to 32 GB.
Important:
- Routines for file handling can be used only with FAT16 file system.
- Library functions create and read files from the root directory only.
- Library functions populate both FAT1 and FAT2 tables when writing to files, but the file data is being read from the
FAT1 table only; i.e. there is no recovery if the FAT1 table gets corrupted.
- If MMC/SD card has Master Boot Record (MBR), the library will work with the first available primary (logical)
partition that has non-zero size. If MMC/SD card has Volume Boot Record (i.e. there is only one logical partition and
no MBRs), the library works with entire card as a single partition. For more information on MBR, physical and logical
drives, primary/secondary partitions and partition tables, please consult other resources, e.g. Wikipedia and similar.
- Before write operation, make sure you don’t overwrite boot or FAT sector as it could make your card on PC or digital
camera unreadable. Drive mapping tools, such as Winhex, can be of a great assistance.
- Library uses SPI module for communication. The user must initialize the appropriate SPI module before using the
MMC Library.
- For MCUs with multiple SPI modules it is possible to initialize all of them and then switch by using the
SPI_Set_
Active()
function. See the SPI Library functions.
The SPI module has to be initialized through
SPIx_Init_Advanced
routine with the following parameters:
- SPI Master
- 8bit mode
- secondary prescaler 1
- primary prescaler 64
- Slave Select disabled
- data sampled in the middle of data output time
- clock idle high
- Serial output data changes on transition from active clock state to idle clock state
Tip: Once the MMC/SD card is initialized, SPI module can be reinitialized at higher a speed. See the Mmc_Init and
Mmc_Fat_Init routines.