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
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.
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.
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.
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.
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...
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.
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).
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.
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?
Ich würde einen 250mA Spannungsregler mit Enable-Eingang verwenden,
damit der Einschaltstrom begrenzt ist und dein µC nicht wegen
instabilber Stromversorgung abschmiert.
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.
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
> 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!
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.