Batterij gevoede RAM IC gezocht

Hallo,

Ik ben bezig met een projectje en zoek daarvoor een anti-loskoppel detectie. Ook als het apparaat spanningsloos is:heel belangrijk. Nu zat ik te denken aan een RAM chip welke gevoed word door een knoopcel batterij. Door de batterij voeding eerst door de onderlinge printplaat stekkers te begeleiden word deze voeding afgekoppeld zodra er een stekker word losgetrokken en 'vergeet' de RAM zijn inhoud. Dit kan door de micro processor gedetecteerd worden en daarop passende maatregelen treffen. Ik heb al gezocht met Google maar eigenlijk het enigste wat ik vind zijn (E)EProms en deze onthouden juist de gegevens zonder spanning. Heeft dus iemand een idee voor zo'n IC? Bij voorkeur via I2C of SPI uit te lezen. De grote van het RAM zelf hoeft maar te bestaan uit 1 of 2 bytes dus dat is niet heel erg belangrijk.

Groet, Mark.

Zoiets? De standby current is maar 4uA:
http://www.microchip.com/wwwproducts/Devices.aspx?product=23A640

edit: rare pagina eigenlijk. Ze specificeren de standby current bij 3.6V, maar het ding mag maar 1.95V hebben... Wat voedingsspanningsbereik betreft is de 23K640 misschien interessanter

[Bericht gewijzigd door Fox2 op vrijdag 31 oktober 2014 13:47:01 (45%)

Je kunt een I2C io expander (PCA9555 oid) als ram gebruiken. De interne direction en pinstate registers zijn gewoon ram. Alleen kun je de IO;s dan niet gebruikenm, die moet je loslaten

Alleen hebben die devices vaak een erg lage spanning (<0.2V) om echt hun status te vergeten. Standby current kan 1uA zijn.

Op 31 oktober 2014 13:38:22 schreef Blauw Lampje:

De grote van het RAM zelf hoeft maar te bestaan uit 1 of 2 bytes dus dat is niet heel erg belangrijk.

2 byte RAM?

Ik denk dat er betere c.q. slimmere oplossingen zijn om een detectie te maken.

Je zou via het detectielusje (door de connector) een interrupt kunnen genereren voor de microprocessor die je al hebt. En anders een RS flipflop gebruiken... dat is een 1-bit geheugen.

Bert_Camper

Golden Member

Op 31 oktober 2014 13:45:09 schreef Fox2:
Zoiets? De standby current is maar 4uA:
http://www.microchip.com/wwwproducts/Devices.aspx?product=23A640

edit: rare pagina eigenlijk. Ze specificeren de standby current bij 3.6V, maar het ding mag maar 1.95V hebben... Wat voedingsspanningsbereik betreft is de 23K640 misschien interessanter

De K versie mag 3,6V hebben, in de volledige spec. staat het goed.

Groeten,
Bert

Arco

Special Member

Ik zie het voordeel van 1 byte ram ook niet erg?
Daarbij komt nog dat de inhoud van ram wat spanningsloos is geweest random is, dus erg onbetrouwbaar...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Je moet je niet vergissen in hoe "plakkerig" RAM blijkt te zijn. Haal de power van je RAM chip een factor tien onder "minimum" en sluit de boel weer aan. Als je het dan uitleest zal je zien dat 90% van de bitjes gewoon is gebleven. Absoluut waardeloos als je 100% van je data terug wilt kunnen lezen, maar "onbetrouwbaar" als de data echt weg moet.

Dit effect is extra meetbaar als je ontkoppel condensatoren hebt die nog een beetje lading blijven houden en niet helemaal leeg lopen.

Overweeg iets als een flipflop. Zorg voor een betrouwbare "power-on-reset" en een softwarematige "set". Je "set" de boel als alles OK is, en als je dan bij een hernieuwde poweron de boel niet "set" vindt, is er in de tussentijd wat gebeurd.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Kun je niet een thyristor met een pulldown weerstand gebruiken?
http://i.imgur.com/YpMlvHr.png
Je brengt de Gate dan één keer kort hoog zodat de thyristor gaat geleiden en Test hoog wordt.
Als de voeding dan wegvalt stopt de thyristor met geleiden en gaat Test weer laag.

@rew: Een betrouwbare power-on reset is niet triviaal. Er zijn goede chippies voor, maar dan kun je netzogoed een PCA9555 nemen, die heeft ook een gedefinieerde power-on state.

@jeroen79: Weet jij een thyristor met een houdstroom van 1µA? Anders is de knoopcel van TS leeg voordat je hem uberhaupt los kunt maken:-)

DS1307, heb je gelijk een RTC

https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTNtGAZSGGd-Km3pY8hC1hD1cG1mMgqWbVfwyeqc-7IwutkxF5v

FEATURES
= Real-Time Clock (RTC) Counts Seconds,
Minutes, Hours, Date of the Month, Month, Day of
the week, and Year with Leap-Year
Compensation Valid Up to 2100
= 56-Byte, Battery-Backed, General-Purpose RAM
with Unlimited Writes
= I2C Serial Interface

It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.

Het nadeel van het gebruiken (misbruiken) van RAM als detectie voor spanningsuitval, is dat niet gedefinieerd is wat de inhoud van de RAM is na een (korte) spanningsonderbreking.

Met PC's moest ik soms nog best moeite doen om de CMOS-RAM te wissen.

Ik zou echt adviseren om iets slimmers te maken...

Lucky Luke

Golden Member

Ideetje:

Hele microcontroller op knoopcel laten doordraaien bij spanningsloos maken (dat moet je dan detecteren), en 1 lusje door de connector laten lopen. (pulldown aan de microcontrollerkant, hard hoog trekken via lusje) Vervolgens bij loskoppelen dit "event" in microcontrollereeprom schrijven, en daarna controller in sleep zetten zodat de knoopcel langer mee gaat.

Kan waarschijnlijk ook met een buffercondensator ipv knoopcel.

Als de voeding via die connector komt ben je er al met power failure detectie. (Kwestie van elco over de voeding, na een diode, en meten vóó? die diode. Geen capaciteiten voor de diode)

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)

Goedemorgen op deze dag van de Radioamateur, (nee, ik ga niet. Koop ik weer allemaal spullen die ik niet nodig heb..)

Iedereen bedankt voor het meedenken. Ik de voorgestelde chip bekeken en dat is precies wat ik zoek.

Echter wat betreft het plakken van ram, hier had ik niet bij stil gestaan. Is dit echt zo erg ? Ik heb echt geen totaal 'leeg' nodig,(de byte/bytes word als een soort 'salt 'n peper' gebruikt) maar als het geheugen na bijvoorbeeld 1 minuut nog steeds hetzelfde is dan heb ik er niets aan. Er moet wel iets veranderen/omvallen. Maar bedankt voor de tip: dit ga ik zeker testen.

Maar het zou geen forum zijn als er meerdere oplossingen komen:

De Ds1307 RealtimeKlok heb ik al in gebruik en is voorzien van Eeprom. Dus op zich niet geschikt voor het doel wat ik voor ogen had. Wat wel zou kunnen is detecteren of de tijd nog accuraat is en dit gegeven gebruiken bedenk ik mij opeens. (Ergens is een register staat er dan een activatie bit op 1 dacht ik, welke zonder spanning op 0 valt). Echter ben ik dan wel de tijd weer kwijt...

De Microprocessor constant laten lopen door een batterij voeding heb ik ook al aan gedacht, echter moet ik dan een reset-knop toevoegen voor het geval hij vastloopt. (Ik zou ook de waakhond kunnen gebruiken voor een automatische reset...) En ik ben bang dat hij na een (normale, toegestane) reset ook zijn geheugen kwijt kan zijn. Daarom hou ik het liever gescheiden en ga ik voor iets externs. Dan kan ik ook met een gerust hart toestaan dat voor een reset de stekker er even uitgehaald mag worden en dat het apparaat dan zeker weten reset.

De oplossing met de thyristor is ook een goede en daar had ik eigenlijk niet aan gedacht. Maar ik wil toch eigenlijk minstens 8 bits en dan is 1 thysistor-bit toch te weinig. Ik zou het kunnen ver-8-voudigen en verder uitwerken, maar dan lijkt een IC me toch iets makkelijker.

Ik ben in ieder geval weer wat ideeen rijker. Mijn dank hiervoor.

Ben ik de enige die geen idee heeft wat de TS nou eigenlijk wil? Een geheugen die z'n inhoud verliest na een korte tijd? Aan de antwoorden te zien zijn er meer die het punt missen.
TS, wat wil je nou eigenlijk bereiken, wat is de functie die je wilt inbouwen?

@prosman hieronder: ja, dat maakt het een stuk duidelijker...

[Bericht gewijzigd door flipflop op zaterdag 1 november 2014 10:53:17 (11%)

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
bprosman

Golden Member

een anti-loskoppel detectie. Ook als het apparaat spanningsloos is

De jongere generatie loopt veel te vaak zijn PIC achterna.
Arco

Special Member

Ik begrijp het geheel nog steeds niet (helemaal). Alles wat je wilt kan een klein microcontrollertje al. (bijv. de 12LF1840)
Dat het geheugen zoekraakt bij een reset is onzin, dan deugt je programma niet. Na een reset kun je de resetoorzaak opvragen. (WD, MCLR, BOR)
Zelfs een klok is simpel te maken in de controller en gebruikt ook maar heel weinig stroom.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Met een EEPROM kun je zelfs nog snel iets wegschrijven bij het wegvallen van de spanning. Data die je bij opstarten weer kunt uitlezen. Maar ja, of dat de bedoeling is, who knows.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Voor de verandering een TS die /wel/ de reden heeft aangegeven waarom ie een rare chip of schakeling zoekt, zodat ook andere oplossingen voor het gegeven probleem aangedragen kunnen worden.

@Blauw Lampje
Dat "blijven plakken" van SRAM (en dat is wat jij krijgt als je < 1k koopt) is gedeeltelijk gebaseerd op dat chips HEEL weinig stroom trekken als de voedingsspanning onder een drempel komt.

Meet de voeding op een bordje maar eens nadat je de stroom eraf genomen hebt.

Wat wel enorm scheelt is als er een niet-half-geleider tussen VCC en GND stroom trekt. Een weerstand of zo.

Verder is het heel goed mogelijk dat je een behoorlijke exemplaarspreiding hebt wbt de lekstroom in de RAM chippies. Dus als jij een exemplaar hebt die WEL een lekstroom heeft en dus na 1 minuut zeer random is bij het opstarten, kan een andere veel beter "powerdown" de status vasthouden....

Is het niet iets om een condensatortje op de "slave" print te doen... Die zorgt dan voor een reset op je CPU zodat ie even wakker wordt en kan noteren: printje is losgeweest.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Lucky Luke

Golden Member

Op 1 november 2014 08:21:17 schreef Blauw Lampje:
De Ds1307 RealtimeKlok heb ik al in gebruik en is voorzien van Eeprom.

Nee, RAM. Met battery back-up. (Maar niet bruikbaar voor wat je wilt aangezien je de tijd waarschijnlijk wilt laten doorlopen)

EDIT@Rew hieronder: Bij mijn nixieklok slaat het ram in de ds1307 diverse vaak gewijzigde settings op. EEPROM zou het vast ook "lang genoeg" uithouden, maar RAM zeker. (Settings zijn weg als ik de batterij verwijder. Leeg is 'ie nog lang niet...)

[Bericht gewijzigd door Lucky Luke op zaterdag 1 november 2014 14:40:32 (29%)

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)

Waar "men" de RAM van de DS1307 in 99% van de gevallen voor gebruikt (*) is RAM niet het beste product, maar EEPROM wel. Ik gok dat de TS een datasheet voor z'n neus heeft van een fabrikant die de RAM door eeprom heeft vervangen, met behoud van software compatibiliteit.

In de standaard toepassing in een PC krijg je dan na X jaar(#) niet dat je bij opstarten steeds "CMOS CHECKSUM ERROR" krijgt, maar alleen maar dat de tijd niet goed staat. Tegenwoordig prima op te lossen met een NTP update....

(*) Bios configurations storage.
(#) als het batterijtje op is.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/