Erasable memory
DarrenY
Posts: 61
Does anyone know of an IC that can be programmed/read from via I2C but will also erase its contents upon losing power?
I need to store a unique key in it and run it off a backup battery, but I want to link it in with a tamper switch so that if the device is interfered with (i.e. the switch opens and the IC loses power) then the key is erased.
The next time the Prop boots-up it checks to see if the key is present and if it isn't sets itself to 'unsecured' mode. (The Prop must also be capable of reprogramming the key when needed.)
I need to store a unique key in it and run it off a backup battery, but I want to link it in with a tamper switch so that if the device is interfered with (i.e. the switch opens and the IC loses power) then the key is erased.
The next time the Prop boots-up it checks to see if the key is present and if it isn't sets itself to 'unsecured' mode. (The Prop must also be capable of reprogramming the key when needed.)
Comments
I'd recommend the DS1307.· It's needs 5V power, but can be connected directly the the Props I2C bus without resistors or anything...
Oops.· I think I didn't read you message properly...· You want volatile memory...
Post Edited (Rayman) : 7/28/2008 3:49:44 PM GMT
Or use a PICmicro / AVR in I2C Slave mode.
The 256x8bit I2C RAM referred to by Hippy (a good idea) is available at Digikey, regular supply from NXP (Philips), for about $2 USD @ QTY=1, much cheaper in larger qty.
SOIC08: 568-1072-1-ND DIP08: 568-1071-5-ND
I've used them, they are great.
Cheers,
Alex
Anything else requires some controller to be executing and monitoring the case-open tamper switch. This way the 'magic key' held in RAM is either there or not whenever the controller starts up.
Open the tamper switch, the memory loses power and 'poof' the key is gone
I've had reasonable proof-of-concept success with a PICmicro powered through an unused I/O pin from a capacitor / battery, the diode clamp to internal +V being enough to keep the RAM alive but the chip in reset when main power is removed.
I cannot see anyway to do that with a Propeller, bootload overwrites all RAM, Cogs get stopped on Reset, overwritten when started. Can anyone see a way to pull the same trick ?