Shop OBEX P1 Docs P2 Docs Learn Events
128k EEPROM for data storage — Parallax Forums

128k EEPROM for data storage

max72max72 Posts: 1,155
edited 2012-01-09 14:18 in Propeller 1
I would like to temporarily store data on a memory, and send it back when necessary.
Worst case would be 4 writes per hour.
My idea is to use the bottom 32k for the SD loader (say a firmware upgrade).
The next 32k for the program and what is left for data storage.

Is an eeprom like 24LC1025 suitable for the task? 1 million write cycles looks leaving plenty of room (28 years worst case is quite comfortable if I'm right).
Is it propeller compatible?

I was considering to use the SD card for data storage, but I cannot be sure the card will be inserted.

Thanks in advance,
Massimo

Comments

  • MacTuxLinMacTuxLin Posts: 821
    edited 2012-01-09 08:26
    If you use a SD socket with card detect pins, you can test if the card is insert or not. Let me check for a part for you.

    You can take a look at this part#
    AXA2R63061T. Each page in the datasheet will show you the "card attachment condition"
  • Mike GreenMike Green Posts: 23,101
    edited 2012-01-09 08:49
    You can certainly use one or more 128K EEPROMs for data storage. I have a Demo Board with 4 x AT24C1024B (Atmel) that supplies a 512K linear address space. You can also use the 24LC1025, but this Microchip device has a non-linear addressing scheme that splits the two 64K blocks. If you use four of them, you can get a linear 512K address space, but, if you use less than four, some of the 64K blocks will not be contiguous.
  • RaymanRayman Posts: 13,904
    edited 2012-01-09 09:05
    Check out this thread:
    http://forums.parallax.com/showthread.php?136690

    You only need a 64kB EEPROM (like what comes with most Propeller boards) to have 32kB of extra space you can use...
    Mike Green also has I2C code in OBEX.

    Ok, I re-read your question...

    I'd be interested to know if that simple PE -kit code would work above 64kB...
  • max72max72 Posts: 1,155
    edited 2012-01-09 09:43
    Thanks for the feedback.
    I have problems understanding the issue about contiguous blocks and address, but now I have a clue (and a well tested model).
    Time to study the datasheet...
    Massimo
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-01-09 09:57
    Rayman wrote: »
    I'd be interested to know if that simple PE -kit code would work above 64kB...

    The PEK EEPORM object needs to be modified to use a second chip or chips above 64K. I've modified it to use multiple chips but I think using Mike's I2C object is a better option.

    I'll post my multi-chip version if anyone's interested. Again, I think you'd be better off using Mike's code though.

    I beleive the AT24C1024 chip will give contiguous memory blocks using Mike's object.
  • Dave HeinDave Hein Posts: 6,347
    edited 2012-01-09 13:44
    max72 wrote: »
    I have problems understanding the issue about contiguous blocks and address, but now I have a clue (and a well tested model).
    Time to study the datasheet...
    The first byte of the address is defined as follows for the two devices:
    '1024 1 0 1 0 A2 A1 P0 R/W~
    
    '1025 1 0 1 0 B0 A1 A0 R/W~
    
    The A-bits correspond to external address-select pins on the chip that can be wrired high or low. These bits can be used to support up to 512K with 4 chips.

    The P0 and B0 bits are internal page/block select bits, which are used as the 17th internal address bit. The '1024 provides a contiguous and linear address space within one chip because the page address bit is the least significant of the 3-bit group.
  • max72max72 Posts: 1,155
    edited 2012-01-09 14:18
    Thanks for the explanation about memory addressing.

    While SD is a viable solution I would like to use this project to understand eeprom usage, and for sure I'm already learning a lot.

    Thanks again,
    Massimo
Sign In or Register to comment.