EEPROM size
David Betz
Posts: 14,516
in Propeller 1
Does anyone know of any common Propeller boards that have an EEPROM larger than 64K bytes? I know that the Hydra has a 128K byte EEPROM. Are there any others with large EEPROMs?
Also, how safe is it to use the EEPROM as scratch space. I'm thinking of storing temporary files in EEPROM in a simple BASIC interpreter I'm working on. The idea would be to write EEPROM once every time someone enters the "run" command. I think an EEPROM location can be written at least a million times so I would think it would be difficult to wear one out just by typing interactive commands.
Also, how safe is it to use the EEPROM as scratch space. I'm thinking of storing temporary files in EEPROM in a simple BASIC interpreter I'm working on. The idea would be to write EEPROM once every time someone enters the "run" command. I think an EEPROM location can be written at least a million times so I would think it would be difficult to wear one out just by typing interactive commands.
Comments
Not that I've seen mentioned.
The largest i2c memory in TSSOP looks to be 1MBit, and 2MBit is in SO8 only
Interesting, where does this sit next to PropBasic and the venerable BasicStamps ?
The other possible issue, is the erase/write delay times, but if it is "run" only, that sounds one-off ?
Yea, I got the wrong part numbers, then I got a phone call. Sorry.
But it would be good practice to support EEPROMs at other adresses, or SPI SRAM (unless you need nonvolatile storage).
But seriously, the problem with SD's is that they're pretty complicated to access and IIRC takes up quite a chunk of RAM.
Also, on the EEPROM matter, there's a cool thing about those 128k ones: if pins 28/29 are accessible, you can just hook a 24LC512 or whatever (64k) with A0 tied high and (assuming the board itself has 64k) you get something that is mostly identical to a single 128k chip. This principle can be expanded for up to 8 chips (or 4 128k chips), so up to 512k of EEPROM can be controlled by just two pins. At the same time as copious amounts of I/O's, clocks and whatnot. I like I²C.
I could always build one with 128KB EEPROM (I know I have at least 1 !Mb eeprom in mydraw of goodies).
But honestly, using SD is likely the easiest because you are not restricted to size, you have a little OS so you can name the files, and SD cards do wear levelling too.
Factually, it would cost me more to use a 128KB EEPROM than 64KB, than it does to add the microSD socket. Of course the SD card is not included, but they can be had for A$6.00 (~US$4.50) for 8GB SanDisk with microSD/SD adapter.
BTW My latestOS can read/program the lower or upper EEPROM from/to a file on SD FAT16/32. I was trying to get Tachyon to work with my P8XBlade2, but got distracted.
btw, if you use microSD there is a way of soldering these directly to a board as a "chip" rather than using a socket.
here you have some fram eeprom replacements:
128Kx8 http://www.mouser.com/ds/2/100/001-84463_FM24V10_1_MBIT_128K_X_8_SERIAL_I2C_F-RAM-476703.pdf
64Kx8 http://www.mouser.com/ds/2/100/FM24V05_512-Kbit_64_K_8_Serial_I2C_F-RAM_Datasheet-477686.pdf
32Kx8 http://www.mouser.com/ds/2/100/001-90839_FM24V02A_256_Kbit_32K_8_Serial_I2C_F_RAM-773533.pdf
They are 3.4MHz I2C fram devices so with no-delay writes. I am pretty sure they can replace the eeprom because I am using with success the FM31L278 (which has also an additional built-in RTC) to boot the P1.
Having the fram as boot device allows for writes also in the first 32K space (on right offset places) to update the values and saves code to restore presets, because at next reboot all the values are already the right ones (the latest ones).
The other way, with larger eeprom, you do not need to write to it every time. If you are not going to reboot the prop you can store the values in prop's ram. A simple voltage divider on supply prior to regulator and bigger caps can act as a power-fail interrupt and the caps can provide sufficient energy to store the data to the eeprom at this time.