Forum: Mikrocontroller und Digitale Elektronik Schaltung: Batteriegepufferter SRAM


von Boris D. (borisd)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte von einem Mikrocontroller auf einen SRAM zugreifen. Wichtig 
ist, dass der SRAM seine Daten nicht verliert, wenn das System mal 
abgeschaltet ist. Hierzu habe ich die angehängte Schaltung entwickelt. 
Der SRAM-Chip speichert seine Daten bis zu einer minimalen 
Versorgungsspannung von 2 Volt sicher. Um die Batterie zu schonen, muss 
der SRAM-Chip deaktiviert werden, wenn die reguläre Versorgungsspannung 
einbricht, d.h. logische 1 an CS-Eingang.

Bitte um Beurteilung der Schaltung.

Viele Grüße

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Ist das ansteuernde Gatter ein 74(HC)241? Wenn ja, wird das nicht 
klappen, denn der Ausgang wird auf 0 gezogen, wenn der '241 stromlos 
wird. Es fliesst dann auch ein nicht zu verachtender Reststrom durch den 
10k.
Du solltest eine 'Open Collector' Ansteuerung für /CS überlegen. Diese 
wird ohne Ansteuerung hochohmig und der 10k hält /CS auf high.
Edit: Ah, ich sehe du speist den '241 aus der Batterie mit? Ok, das 
könnte klappen, allerdings hast du dann noch den '241 zu speisen.

: Bearbeitet durch User
von Boris D. (borisd)


Lesenswert?

Es handelt sich um einen 74LVC241, der - so wie der SRAM auch - sowohl 
über VCC als auch über die Batterie gespeist wird. Die Kontakte des 
Bausteins sind jeweils über ihm als V1/+UB und unter ihm als V1/-UB 
eingezeichnet.

Alternative Vorschläge nehme ich natürlich gerne an.

: Bearbeitet durch User
von Helge A. (besupreme)


Lesenswert?

Elegant ist die Lösung, /CS ausschließlich zum Deaktivieren des SRAM zu 
nehmen. /OE und /WR lassen sich konventionell z.B. über '138 auswählen 
und steuern.

Für /CS reicht dann ein BS170 und ein Pullup.

--

Schau dir mal den Stromverbrauch von deinem '241 im ausgeschalteten 
Zustand an. Der kann bei unbestimmten Pegeln steigen.

: Bearbeitet durch User
von Davis (Gast)


Lesenswert?

Drei Probleme sehe ich:

1. Der 74LVC241 zieht typ. 10 µA. D. h. er könnte auch höher sein.

2. Die Bat85 hat einen Rückstrom im µA.Bereich. Die BAT85 kannst du z. 
B. durch eine 1N4148 ersetzen.

3. Die Schaltung muss verhindern, dass ein angeschlossener 
Controller/Prozessor, der bei fallender Spannung Amok läuft, wild in das 
RAM schreibt. Bin skeptisch, dass deine Schaltung das leistet.

von Schwachstrombastler (Gast)


Lesenswert?

Die BAT85 hat ziemlich hohe Restströme (typisch 2uA bei 25°C). Für D2 
würde ich eine 1N4148 verwenden, der Pegelverlust ist bei den kleinen 
Strömen kein Problem. Für D1 könnte man besser einen Transistorschalter, 
welcher ähnlich wie ein LDO aufgebaut ist, einsetzen.

von Boris D. (borisd)


Angehängte Dateien:

Lesenswert?

So, hier gleich mal ein Update. Durch die Transistorschaltung ist nun 
der CE-Eingang invertiert, das ist aber kein Problem. Die 
Vorwärtsspannung der 1N4148 sollte bei dem kleinen Strom auch keine 
Probleme machen, sodass die Spannung am SRAM noch etwas größer als 2 
Volt ist.

: Bearbeitet durch User
von Boris D. (borisd)


Lesenswert?

Ich würde in dieser Schaltung einen Bipolar-Transistor einem MOSFET 
vorziehen, da der Ausgang des Mikrocontrollers bei Spannungsentzug ja 
floating sein könnte. Sehe ich das folgende richtig?

Wenn vorher das Gate des MOSFET über den Mikrocontroller mit einer 
Spannung nahe an VCC versorgt wurde und dann der Mikrocontroller dann 
seine Ausgänge schweben lässt, wenn ihm die Spannung entzogen wurde, 
dann wird der MOSFET erstmal weiter geschaltet sein, bis nach einer 
Weile die Ladungen am Gate durch leckströme abgewandert sind.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Boris D. schrieb:
> Wenn vorher das Gate des MOSFET über den Mikrocontroller mit einer
> Spannung nahe an VCC versorgt wurde und dann der Mikrocontroller dann
> seine Ausgänge schweben lässt

Das tut der MC aber normalerweise nicht. Ein z.B. AVR hat ja die 
Schutzdioden an den Pins und die gegen Vcc zieht den Ausgang auf low 
(weil ja Vcc low ist).

: Bearbeitet durch User
von M. P. (phpmysqlfreak)


Lesenswert?

In deinem Update ist mir aufgefallen, dass du jetzt lediglich die 
Versorgungsspannung des RAMs über Dioden versorgst.

/CS ist somit wieder low, sobald die Versorgungsspannung weg ist.

von Boris D. (borisd)


Lesenswert?

Korrigiert. Danke.

von Boris D. (borisd)


Angehängte Dateien:

Lesenswert?

Korrigierte Schaltung.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.