Forum: Mikrocontroller und Digitale Elektronik MINI SD-Karte ein- und ausschalten


von N. M. (nidal_mus)


Lesenswert?

Hallo,

ich habe eine SMD-Platine entwickelt, um Daten über WLAN zu senden. Aus 
verschiedenen Gründen kann die WLAN-Sendung manchmal nicht 
funktionieren. Deswegen habe ich auch Mini-SD-Karte dazu eingefügt, ich 
kann Daten auf SD speichern, solange WLAN nicht im Betrieb sein kann. 
wenn die WLAN wieder in Ordnung ist, kann ich meine Daten 
synchronisieren.
Wie kann ich aber den Strom der Karte ein- ausschalten, um Strom zu 
sparen, wenn ich die Karte nicht im Betrieb habe will? 
Transistor-Schaltung? Hätte jemand einen Schaltungsvorschlag für mich? 
Oder gibt es eine andere Option?

Grüße und Vielen Dank im Voraus!
Nidal

von Stefan F. (Gast)


Lesenswert?

SD Karten nehmen (fast) keinen Strom auf, wenn sie kein Taktsignal 
empfangen. So macht man das.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

N. M. schrieb:
> Oder gibt es eine andere Option?
Die Karten sind von sich aus auf Stromsparen ausgelegt. Der Controller 
darin legt sich schlafen, wenn er nichts zu tun hat. Also einfach die 
Karte nicht ansprechen, dann macht der Controller darin seinen Job 
fertig und geht ins Bett.
Wenn du ihm aber unkontrolliert den Saft abdrehst, dann wird er evtl. 
mit seiner Arbeit nicht fertig und kann die FAT nach dem Wearlevelling 
nicht mehr richtig zurückschreiben und ausdiemaus...

: Bearbeitet durch Moderator
von Wolle G. (wolleg)


Lesenswert?

Lothar M. schrieb:
> Wenn du ihm aber unkontrolliert den Saft abdrehst, dann wird er evtl.
> mit seiner Arbeit nicht fertig und kann die FAT nach dem Wearlevelling
> nicht mehr richtig zurückschreiben und ausdiemaus.

Hinzu kommt, dass die SD-Karte jedes Mal zuerst initialisiert werden 
muss.
Die Initialisierung muss in der Regel von "außen" erfolgen.

von Stefan F. (Gast)


Lesenswert?

Abgesehen davon ist deine Annahme schon korrekt, dass deine SD Karte 
signifikant Strom verbraucht.

Tendentiell gilt: je mehr Speicherkapazität, umso höher der 
Stromverbrauch. Das ist schon so manchem Smartphone Besitzer negativ 
aufgefallen.

von Jim M. (turboj)


Lesenswert?

N. M. schrieb:
> Hätte jemand einen Schaltungsvorschlag für mich?

P-Kanal Mosfet (als "high"-side switch). Die Pullup(s) müssen an die 
geschaltete Spannung.

Lothar M. schrieb:
> Der Controller
> darin legt sich schlafen, wenn er nichts zu tun hat.

Ich hatte ma einen Kartentyp, der legte sich nicht schlafen wenn der 
letzte Zugriff ein Multi-Bock Write war, und zog so rund 10mA dauerhaft. 
Hat mir gehörig die Kalkulation der Batterien versaut.

Die meisten anderen Karten hatten das Problem nicht, das war eine 
bestimmte Serie von 2GB Samsung (witzigerweise mit "Sandisk" bedruckt).

wolle g. schrieb:
> Hinzu kommt, dass die SD-Karte jedes Mal zuerst initialisiert werden
> muss.
> Die Initialisierung muss in der Regel von "außen" erfolgen.

Das muss man jedesmal tun, denn die Karte kommt beim Power-On im SD Mode 
hoch.

Lothar M. schrieb:
> Wenn du ihm aber unkontrolliert den Saft abdrehst, dann wird er evtl.
> mit seiner Arbeit nicht fertig und kann die FAT nach dem Wearlevelling
> nicht mehr richtig zurückschreiben und ausdiemaus...

Dabei sollte die Karte aber ein "Busy" senden, auf dessen Beendigung man 
vor dem Ausschalten unbedingt warten sollte.

Mir sind aus genau dem Grund ein paar Karten kaputt gegangen, weil das 
halt beim Debugging schon mal vorgekommen ist.

von N. M. (nidal_mus)


Angehängte Dateien:

Lesenswert?

Erstmal, Danke Euch allen für die Antworten!

weil nicht alle SD-Karten in Schlafmodus automatisch gehen, und weil die 
Platine im Batteriebetrieb lang funktionieren muss, habe ich zwei 
Schaltungsmodellen vorbereitet: rechts und links (siehe Bild).

noch zu sagen, ich habe nun ein kleines Problem, und zwar dass ich keine 
freien Ausgänge mehr bei dem µ-Controller habe. die Überlegung ist 
jetzt, dass ich Chip Select (CS_SD) für die SD gleichzeitig für die 
Steuerung dieser Schalteinheit benutze (?)

links: weil Q1 mit 5V besser funktioniert sollte, musste ich eine Zener 
1,8V anschließen, um die Spannung für die SD auf ca. 3V zu begrenzen. 
Aber Chip-Select ist mit "0" gesteuert, T1 muss im diesem Fall von FET 
ersetzt werden, oder? Was seht Ihr?
rechts: ich bevorzuge diese Variante, aber die Frage kann Q1 mit 3,3V so 
funktionieren? ist die Schaltung in Ordnung? Oder soll ich einfach die 
Zener am Ausg. des Q1 lassen mit +5V als Stromversorgung?

Ich bitte auch Vorschläge vom SMD-Komponenten (Libraries), die ich im 
Eagle finden kann

Grüße und Vielen Dank im Voraus!
Nidal

von Stefan F. (Gast)


Lesenswert?

Die Diode als Spannungsregler-Ersatz ist keine gute Idee. Sie hat eine 
zu flache Kennlinie.

von Vka (Gast)


Lesenswert?

N. M. schrieb:
> weil Q1 mit 5V besser funktioniert sollte,

Gate Threshold Voltage max. -2,5V, das sollte dann auch für 3,3V passen. 
Alternativ: Ein eigener 3,3V Regler für die Karte, mit Enable Pin 
abschaltbar
Denk auch dran das SD Karten inzwischen eigene Systeme mit Prozessor & 
Co. sind, die brauchen eine solide Versorgung, mit Widerstand & Diode 
wird das nichts.

von Jim M. (turboj)


Lesenswert?

N. M. schrieb:
> die Überlegung ist
> jetzt, dass ich Chip Select (CS_SD) für die SD gleichzeitig für die
> Steuerung dieser Schalteinheit benutze (?)

GANZ BLÖDE Idee. SD Karte braucht Spannung und 80 Clock cycles bei 
CS=High, damit die Initialisierung sicher durchläuft.

Außerdem darf bei VCC=0V auch keine Spannung mehr am CS anliegen IMHO.

Stefanus F. schrieb:
> Die Diode als Spannungsregler-Ersatz ist keine gute Idee.

Amen. SD Karte hat keinen konstanten Strombedarf.
Übrigens gelten die 3,6V max. auch für Datenleitungen wie MOSI oder SPI 
CLK.

Ich hätte außerdem nach dem High-side Switch noch einen 1µ-10µF 
Pufferkondensator vorgesehen.

Der IRLML5203 ist ungeeignet - zu hoher VGS_th. IRLML6401 wäre besser.

N. M. schrieb:
> Ich bitte auch Vorschläge vom SMD-Komponenten (Libraries), die ich im
> Eagle finden kann

Selber zeichnen geht schneller, selbst wenn man sich das beibringen 
muss.

Wir wissen nicht ob das z.B. handgelötet wird, dann macht man die Pads 
etwas größer.

von Christian L. (cyan)


Lesenswert?

Vka schrieb:
> Gate Threshold Voltage max. -2,5V, das sollte dann auch für 3,3V passen.

Nein. Das ist der Wert bei dem der Mosfet langsam zu leiten beginnt 
(hier 250uA) aber noch nicht vollständig durchschaltet. Der IRLML5203 
ist erst für 4,5V spezifiziert. Es wäre besser einen Mosfet zu suchen, 
dessen Rdson bereits bei den üblichen 2,7V spezifiziert ist.

von Jim M. (turboj)


Lesenswert?

Vka schrieb:
> Gate Threshold Voltage max. -2,5V, das sollte dann auch für 3,3V passen.

Passt etwas zu genau. Ca. 0,5V V_DS bei 100mA, das könnte für die SD 
Karte zuviel sein (lies: Bei der Karte zuwenig Spannung ankommen).

Man bedenke auch das der Wert in dem Bereich stärkerer Exemplarstreuung 
unterworfen ist.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

N. M. schrieb:
> noch zu sagen, ich habe nun ein kleines Problem, und zwar dass ich keine
> freien Ausgänge mehr bei dem µ-Controller habe.

Solange du deine µC-Beschaltung geheim hälst und niemand anderen drauf 
gucken lässt, kann man das nur als gegeben hinnehmen, auch wenn es da 
evtl. noch andere Möglichkeiten gäbe.

> links: weil Q1 mit 5V besser funktioniert sollte, musste ich eine Zener
> 1,8V anschließen, um die Spannung für die SD auf ca. 3V zu begrenzen.

Muss der Zirkus mit zwei Versorgungsspannungen sein?

von N. M. (nidal_mus)


Lesenswert?

Hallo,

viele Analysen, wenig Vorschläge :-)
das hat mir aber natürlich geholfen, und bedanke ich mich bei allen!

Wolfgang schrieb:
> Solange du deine µC-Beschaltung geheim hälst und niemand anderen drauf
> gucken lässt, kann man das nur als gegeben hinnehmen, auch wenn es da
> evtl. noch andere Möglichkeiten gäbe.

LoooL, nö, das ist nicht der Fall. Ich verwende ESP-WROOM02 (ESP8266). 
Was ich vielleicht vergessen habe zu sagen die DO-Spannung ist 3.3V aber 
nicht 5V.
In der nächsten Version von der Platine und um noch einen DO zu sparen, 
könnte ich mit einem SPI-Bus- Teilnehmer mit I2C statt SPI 
kommunizieren, um ein chip Select zu reduzieren.

Vka schrieb:
> Alternativ: Ein eigener 3,3V Regler für die Karte, mit Enable Pin
> abschaltbar

Danke für den Tipp! Das wäre eine Lösung. Da möchte ich dann die 
Experten fragen, ich hätte nun folgende Lösung dafür:
Ich habe 2 SPI-Bus-Teilnehmer auf meiner Platine (MAX31865 und D-Karte). 
Beide bekommen "active low" Chip Selct, und beide funktionieren 
natürlich nicht gleichzeitig. Wenn SD muss mit dem µC kommunizieren 
bekommt (MAX31865) einen "High" auf CS, das Signal könnte aber auch 
gleichzeitig "Enable" für LDO 3,3V. Ist das nicht besser als nur MOSFET?


Jim M. schrieb:
> GANZ BLÖDE Idee. SD Karte braucht Spannung und 80 Clock cycles bei
> CS=High, damit die Initialisierung sicher durchläuft.
> Der IRLML5203 ist ungeeignet - zu hoher VGS_th. IRLML6401 wäre besser.
> Außerdem darf bei VCC=0V auch keine Spannung mehr am CS anliegen IMHO.

Danke für die wichtigen Infos, das werde ich natürlich berücksichtigen!


Liebe Grüße
Nidal

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.