Shop OBEX P1 Docs P2 Docs Learn Events
storing data to a MMC? — Parallax Forums

storing data to a MMC?

MatthewMatthew Posts: 200
edited 2005-01-30 02:25 in BASIC Stamp
Does anyone know where I can find information about this? I've never done datalogging before, but it might be of great use in my project.

Comments

  • Jim McCorisonJim McCorison Posts: 359
    edited 2005-01-30 02:25
    Matthew,

    I'm working with that as well. MMC memory can be interfaced to a stamp using the SPI or I2C protocols. I've not used either, but from comments I've read SPI is easier, so I'll probably use that. One complication is the MMC uses 3.3v whereas the stamp uses 5. You'll have to provide a regulated 3.3v supply as well as interface the MMC's 3.3v signals to the stamps 5v. Check out the schematic in the Technical Manual for BiPom's card (see below).

    The resources I would point you towards are:

    BiPom's MMC-RTC-1 board should get you up and running quickly www.bipom.com/periph_boards.shtm and don't do what I did and forget to order the cable to interface it to a breadboard. blush.gif

    SanDisk has several white papers and manuals available at:
    www.sandisk.com/oem/manuals.asp
    www.sandisk.com/oem/application-notes.asp
    www.sandisk.com/oem/whitepapers.asp
    The MMC Product Manual in their manuals link is 93 pages long, but it is a definitive guide on what you need to do. The Technical Reference Guide for SanDisk MultiMediaCard in the Application Notes gives a good overview.

    BiPom has a sample program for the BS2 to interface with an MMC card. The link on their web site is hosed. When I inquired about it they emailed me the program which I have attached.

    If you aren't trying to make the MMC card compatible with a PC or some other device, you can treat it as a giant chunk of memory and write to it in any fashion that makes sense for your application. Keep in mind that MMC cards are flash memory and each bit has a finite number of writes before they fail. But that number is, best case, 2,000,000 so unless you use it for memory cache or some other use where you are writing to it many times a second, you'll be fine.

    One thing to keep in mind is that you need to write to it in 512 byte blocks. So you will need some form of external SRAM to store the block to be read. Depending on the tolerance of your application to lose this block of data in the event of a power failure, and the frequency that the temporary memory is update you may need to use NVRAM, EEPROM, or battery backed SRAM.

    Jim
    MMC.bs2 12.7K
Sign In or Register to comment.