Forum: Mikrocontroller und Digitale Elektronik Versorgungsspannung von SD Karte per uC schalten


von Bernhard (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich würde gerne per uC die Versorgungsspannung einer SD Karte schalten. 
Der Grund dafür ist, dass ich gerne im laufenden Betrieb zwischen SDIO 
und SPI Betrieb umschalten will und das geht soweit ich gesehen hab nur 
indem ich die Karte mal kurz power cycle.

Da ich noch keine Erfahrung mit P-FETs hab, würd ich mich freuen wenn 
jemand die Schaltung im Anhang kurz reviewen könnte. Als P-FET hätt ich 
den SI2301CDS-T1-GE3 [1] gewählt. R19 dient zur Strombegrenzung und der 
pulldown dient dazu, um die SD Karte per default zu versorgen.

Kann das so funktionieren?

Vielen Dank,

Bernhard


[1] 
https://datasheet.lcsc.com/szlcsc/Vishay-Intertech-SI2301CDS-T1-GE3_C10487.pdf

von oszi40 (Gast)


Angehängte Dateien:

Lesenswert?

Bernhard schrieb:
> gerne im laufenden Betrieb

Bist Du sicher, dass alle Karten das ohne Schaden überstehen? Meine 
Wildkamera hat bei sinkender Spannung schon einige SD-Karten gekillt.

von Manfred (Gast)


Lesenswert?

oszi40 schrieb:
> Bernhard schrieb:
>> gerne im laufenden Betrieb
>
> Bist Du sicher, dass alle Karten das ohne Schaden überstehen?

Millionen von Geräten können Datenträger abschalten, ohne sie zu 
zerstören. Der Trick dabei wird sein, den letzten Schreibzugriff sicher 
beendet zu haben und auch die Datenleitungen in einem definierten 
Zustand zu haben, bevor man die Betriebsspannung abklemmt.

> Meine Wildkamera hat bei sinkender Spannung schon einige SD-Karten gekillt.

Da haben die Entwickler der Wildkamera gepfuscht. Ich hoffe mal, dass 
nur der Inhalt der Karte logisch zerstört ist, sie aber nicht physisch 
defekt ist. Sollte sich mit z.B. SD-Formatter wiederbeleben lassen, 
natürlich unter Verlust aller Daten.

von oszi40 (Gast)


Lesenswert?

Manfred schrieb:
> Sollte sich mit z.B. SD-Formatter wiederbeleben lassen,
> natürlich unter Verlust aller Daten.

Hat nicht geholfen. Wahrscheinlich bei Schreibvorgang mit zu niedriger 
Spannung wurde die SD-Karte unbrauchbar.

von Bernhard (Gast)


Lesenswert?

oszi40 schrieb:
> Bist Du sicher, dass alle Karten das ohne Schaden überstehen? Meine
> Wildkamera hat bei sinkender Spannung schon einige SD-Karten gekillt.

Ich denke das sollte ohne Probleme funktionieren - das wäre ja nichts 
anderes als wenn ich die Karte einfach so ausstecke? Bevor ich die Karte 
power cycle würd ich natürlich alle Schreibzugriffe beenden und die 
Karte unmounten.

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Bernhard schrieb:
> das wäre ja nichts
> anderes als wenn ich die Karte einfach so ausstecke?

Nein, ist es nicht.
Durch die Anordnug der einzelnen Kontakte ist sichergestellt das ALLE 
Kontakte in einer vorgegebenen Reihenfolge getrennt werden. Und die 
Spannung (und GND) ist das letzte was getrennt wird, nicht das erste...

von Wolfgang (Gast)


Lesenswert?

Irgend W. schrieb:
> Nein, ist es nicht.
> Durch die Anordnug der einzelnen Kontakte ist sichergestellt das ALLE
> Kontakte in einer vorgegebenen Reihenfolge getrennt werden.

Wenn die Schnittstellenleitungen vor dem Entfernen/Abschalten der 
Versorgung auf High-Z geschaltet werden, ist das genau das gleiche, wie 
voreilende Kontakte. Das undefinierte, langsame Wegsacken der Spannung 
ist dagegen etwas anderes.

von Bernhard (Gast)


Lesenswert?

Irgend W. schrieb:
> Nein, ist es nicht.
> Durch die Anordnug der einzelnen Kontakte ist sichergestellt das ALLE
> Kontakte in einer vorgegebenen Reihenfolge getrennt werden. Und die
> Spannung (und GND) ist das letzte was getrennt wird, nicht das erste...

Ok, aber wenn ich die Karte im Slot lasse und das Device (z.B Laptop 
ausschalte), dann bekomme ich doch das selbe Verhalten, oder?

Irgendwie tu ich mir gerade schwer zu verstehen warum man eine SD Karte 
während dem Betrieb nicht einfach mal power cyclen kann um den Mode zu 
ändern (wie gesagt unter der Voraussetzung, dass ich vorher garantiere, 
dass auf die Karte nicht mehr zugegriffen wird).

von oszi40 (Gast)


Lesenswert?

Du kannst es gerne testen. Nimm aber nicht gleich die teuersten Karten.
Meine Wildkamera hat verschiedene 4GB, 16GB und 32GB gekillt wegen 
Spannungsproblemen im Winter. Manchmal half gründliche Formatierung, 
manchmal waren sie unbrauchbar. Jedenfalls sollte man nicht schreiben 
und die Spannung kontrollieren, die an der SD-Karte noch ankommt um 
undefinierbare Zustände zu vermeiden.

von Bernhard (Gast)


Lesenswert?

oszi40 schrieb:
> Du kannst es gerne testen. Nimm aber nicht gleich die teuersten
> Karten.
> Meine Wildkamera hat verschiedene 4GB, 16GB und 32GB gekillt wegen
> Spannungsproblemen im Winter. Manchmal half gründliche Formatierung,
> manchmal waren sie unbrauchbar. Jedenfalls sollte man nicht schreiben
> und die Spannung kontrollieren, die an der SD-Karte noch ankommt um
> undefinierbare Zustände zu vermeiden.

Bist du sicher das es nicht an der Versorgungsspannung lag, die nicht 
mehr stabil bzw. ausreichend war? (ich nehm mal an das ist ein 
batteriebetriebenes Gerät?). Ich hätte da vermutet, dass der Controller 
das Gerät nicht rechtzeitig abgeschaltet hat und die Kamera dann mit 
einer grenzwertigen Versorgungsspannung betrieben wurde.

Zumindest kann ich mir ansonsten nicht erklären wo da der Unterschied 
ist zu nem Laptop den ich mit eingesteckter SD Karte einfach so 
runterfahre? Da hab ich ja ein ähnliches Verhalten. Die Karte wird 
ungemountet und dann wird die Versorgungsspannung getrennt. Oder überseh 
ich da etwas offensichtliches?

von Stefan F. (Gast)


Lesenswert?

Ich würde einen 250mA Spannungsregler mit Enable-Eingang verwenden, 
damit der Einschaltstrom begrenzt ist und dein µC nicht wegen 
instabilber Stromversorgung abschmiert.

von HildeK (Gast)


Lesenswert?

Bernhard schrieb:
> Kann das so funktionieren?

Ja, wenn du eine eingeschaltete SD-Karte (z.B. beim Reset) priorisierst. 
Andernfalls müsste der R20 nach +3.3V gehen anstatt nach GND.

von Frank K. (fchk)


Lesenswert?

Bernhard schrieb:
> Hi,
>
> ich würde gerne per uC die Versorgungsspannung einer SD Karte schalten.
> Der Grund dafür ist, dass ich gerne im laufenden Betrieb zwischen SDIO
> und SPI Betrieb umschalten will und das geht soweit ich gesehen hab nur
> indem ich die Karte mal kurz power cycle.

Ich nehme dafür gerne einen Load Swwitch wie den hier:

https://www.ti.com/lit/ds/symlink/tps2051b.pdf

und dann in SOT23-5.

Da ist dann gleich noch eine Strombegrenzung drin, rein zur Sicherheit, 
wenn da mal was in den Slot reinkommt. 500mA sollten ja für SD-Karten 
reichen. Diese Load-Switches sind eigentlich für USB VBus gedacht.

2051 hat High-active enable, 2041 ist das gleiche mit Low-Active enable 
pin. An den Enable machst Du dann noch einen Pull-Down bzw Pull-Up, 
damit der im Default-Zustand aus ist.

fchk

von Bernhard (Gast)


Lesenswert?

> Ja, wenn du eine eingeschaltete SD-Karte (z.B. beim Reset) priorisierst.
Andernfalls müsste der R20 nach +3.3V gehen anstatt nach GND.

Perfekt, vielen Dank fürs Review!

> Ich nehme dafür gerne einen Load Swwitch wie den hier:

> https://www.ti.com/lit/ds/symlink/tps2051b.pdf

Das ist ja mal ein echt cooles Teil. Da werd ich mir mal ein paar Stück 
zum Testen bestellen und den dann für die zweite Revision der PCB 
verwenden!

Besten Dank für den Tipp!

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


Lesenswert?

Bernhard schrieb:
> indem ich die Karte mal kurz power cycle.
Dann solltest du aber auf die Pegel an den IO Pins achten. Alle Pins an 
der Karte müssen auf 0V geschaltet werden. Denn sonst hast du auf einmal 
eigenartige Probleme wegen irgendeiner halbgaren parasitären Versorgung.

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.