Replace EEPROM with MMC - Can this be done? Too adventurous??

Discussion in 'Embedded Systems and Microcontrollers' started by rockrockmcrock, Jan 6, 2012.

  1. rockrockmcrock

    Thread Starter New Member

    Jan 6, 2012
    19
    0
    Yesterday, 08:08 PM
    Hi all,

    I'm a radio controll modeller. In my hobby we have memory modules for our transmitters to hold model settings. Up until very recently these have all been eeprom based - I've built a few of the simple 16K ones myself. Slowly the manufacturers are going over to SD Cards, but there's still a lot of old school transmitters around.

    What I'd like to do is replace the eeprom in the higher capacity modules with an MMC card - I don't know if this is even possible given the size restrictions. I've searched on the web and can't find anything like this. In my mind this would have 3 benefits: Simple backup to a PC, cheaper larger memory, one SD card would be compatible with all your transmitters so you wouldn't have to have memory modules for each one.

    Here's an example of one of the larger cards - the maximum size supported by the manufacturer is 64K, hence the need to break it into banks. 64K can be used up pretty fast with a high end transmitter!
    http://www.rc-market.com/ultrap_e.php

    The I2C based control protocol is proprietary but fairly well understood here's a description
    http://sylvain.lichtenberger.perso.sfr.fr/CampacSL.htm
    http://www.rcdesign.ru/articles/electronics/mempac64k

    What I'm thinking based on my limited knowledge is that you should be able to write a program for a PIC chip which could translate to SPI and pad information before storing it on an SD Card into 'virtual' 64K sections. It would be great to use FAT, but worst case you could easily write a program to read and backup the card at a base level.

    I've never had the excuse to buy (or try) a PIC programmer until now. I have some experience in electronics and lots in programming (but all in high level languages like J2ME, C#, Delphi and VB) - would I be overreaching myself with this?
     
  2. t06afre

    AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    What is stored, that need so "much" memory
     
  3. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    7,392
    1,606
    If I understand all this, you are looking to use I2C to talk to a PIC, and the PIC can store gobs of information inside an SD card.

    <shrug> Doesn't sound impossible. It's a mostly digital project that can be breadborded up in short order. No one could answer if you are overreaching your skills, but Microchip does offer lots of free support like C compilers, SD card libraries, and so on.

    It has been a few years since I got a PIC I2C slave to work. Master mode is simple, slave was poorly documented and much harder, may be better now.

    The SD card, even with full fat 16 or 32 support is pretty much just including the correct library to your project. If it has fat support you can view/edit the card on your PC.

    Electrically, the SD card runs at 3.3V so I would run the PIC at the same. If your I2C bus is running at a different voltage there are I2C level translators chips just for that.
     
  4. rockrockmcrock

    Thread Starter New Member

    Jan 6, 2012
    19
    0
    Thanks - great reply, you have understood correctly. The input signal side is at 4v so I'll dig around for info on translators. I see this mainly as a programming issue - I know programming but not embedded stuff - my main worry was there was some massive difference between the too!

    As to why I/we need so much memory - well 16K used to be fine and would store the settings for 8 models. Then the more complicated computer systems arrived and they used a thing called 'conditions' for each model. Each condition was a flight condition (i.e. windy settings, aerobatic settings etc.) for the model - very useful but as each was essentially a new set of 'model' settings in it's own right that used lots of memory. Each model can have up to 15 conditions, I usually use around 8 conditions per model, I have 15 aircraft that needs settings.....you get the picture!

    The other reason to use MMC is PC backup of these settings and convenience - I have a serial interface that bit-bangs through the 25 pin D-Sub of an old PC to do this but it's a pain.

    Final reason -it'd be cool ;)
     
  5. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    7,392
    1,606
    Nothing trumps coolness. :D

    Personally, for the maximum coolness I would drop a mini or micro USB connector on the board so I could plug in a USB cable to get the PC to update the SD card. Microchip has free application code for that (USB Device - Composite - MSD + CDC) so all you need do is add in the I2C slave parts.

    I have no idea what the potential market is for these but you just may have a marketable product with that.
     
  6. rockrockmcrock

    Thread Starter New Member

    Jan 6, 2012
    19
    0
    Wow - nice idea - and if structured correctly it would have wider applications....

    I'd already considered dropping a small LED display in there to ID the bank in use...wonder if there's enough room to do both.... :D

    As to marketability - yep, it could be sold to a niche quite well for the next 5-7yrs. That said, in the past I've put up my projects and let other private individuals use my work for free as I'm no manufacture, I'm a management consultant & enterprise architect! Also, I'm well aware that 80% of the silly salary that clients pay me was for information that originated on the Web....I like to think the other 20% of is home grown experience and that's more important, but, let's face it, I owe posters on the web a lot and probably need to pay back on some of my 'information' credit line!!!
     
Loading...