Energiehungrige MicroSD Karten

pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Energiehungrige MicroSD Karten

 · 
Posted: 20.10.2020 - 16:21  ·  #1
Hallo Leute,

ich habe eine Revisionsänderung einer Leiterplatte gemacht. Dabei habe ich die Klapphalterung der MicroSD-Karte gegen eine Push-Push mit Card-Detection getauscht.
Jetzt wollte ich das Ganze umprogrammieren und testen, damit man im laufenden Betrieb die MicroSD Karte wechseln kann.

Das Entfernen ist kein Problem, die SD-Card mit bei der fallenden Flanke des Card-Detection abgemeldet.

Aber beim einstecken habe ich das Problem, dass der XMEGA384C3 einen Reset durchführt, ich habe jetzt keinen Ozi hier greifbar. Aber meine Vermutung war ein zusammenbrechen der Spannung im XMEGA BOD-Überwachung beim einstecken der MicroSD-Karte. (BOD)

Meine BOD-LEVEL waren auf 2,6V eingestellt, ich habe das Ganze nun bis auf 2,2V runtergefahren, nun wird kein Reset mehr ausgeführt.

Was mich aber missmutig stimmt, hier kann was nicht stimmen!
Ich habe einen externen Watchdog, dieser hat einen BOD onboard, dieser hält bei Spannungen unter 2,63 den XMEGA in RESET. Komischerweise reagiert dieser nicht??

Die MicroSD hat direkt an der VDD 2 Kondensatoren 10uF/10v und noch einen kleinen Stützkondensator 0,1uF. das sollte doch locker reichen. Oder ziehen die MicroSD Karten beim einschalten wirklich so viel Energie? Ich habe da keine klare Aussage im Internet gefunden :-(

Oder muss ich dem Treiber evtl. das ausstecken im laufenden Betrieb noch mitteilen. Nicht das der sich hier verabschiedet und dann der externe Watchdog nicht mehr rechtzeitig getriggert wird?

Habt ihr sowas mit dem AVRco schon mal im laufenden Betrieb gemacht?

Da der externe Watchdog das Ganze auf 2,63V überwacht sollte ja ein absenken der BODLVL im XMega doch eigentlich kein Problem machen, oder?
Mit 2V kann der XMEGA intern ja ohne Probleme arbeiten und richtig überwacht wird der BODLVL ja vom TPS3823-30DBVT auf 2,63V.

Thorsten
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: Energiehungrige MicroSD Karten

 · 
Posted: 20.10.2020 - 16:49  ·  #2
Nachtrag:
Habe in einem Datenblatt vom Hersteller die Info bekommen 70mA HighSpeed und 90mA in UHS-I Mode

die Angaben " F16_MMCspeed = superfast;// standard, slow, fast, superfast " vom Treiber beziehen sich diese auf den BusSpeedMode? Oder auf den SPI vom XMEGA?

Nur sollte doch die SDCARD erst mit den "F16_DiskInit" auf die entsprechende Geschwindikeit mit dem CMD6 eingestellt werden. In meinen Tests habe ich die InitFunktion noch abgeschaltet. Da je nach Mode von der SD-Card der Strom bis auf 800mA hochgehen könnte.

@Rolf; Miparo war ja schon lange nicht mehr Online, kannst Du im Source mal nachschauen in welchen Mode die SD-Card geschaltet wird?

Thorsten
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: Energiehungrige MicroSD Karten

 · 
Posted: 21.10.2020 - 10:31  ·  #3
UPDATE;
Das ist kein Spannungsproblem, die Spannung steht auch am µP stabil. Deswegen macht auch der externe Watchdog kein BrownOut. Auf dem Ozi sieht man keine Reaktion, also reicht der Kondensator aus.

Im Moment scheint es so, als ob die Karte beim Spannungseinschalten Müll an den µP sendet und sich der Treiber teilweise aufhängt / ein neustart durchgeführt wird.

Habe ich irgenwo die Möglichkeit die Software-SPI Pins auf ein definiertes Signal zu ziehen, solange die Karte nicht eingesteckt ist? Somit könnte man diese über einen PullUp/PullDown fixieren und nach dem einstecken der Karte über eine Verzögerung diese wieder auf die Ursprünglichen Werte setzen und dann erst den INIT starten. Hat das schon mal Jemand beim XMEGA gemacht?

Thorsten
Merlin
Administrator
Avatar
Gender:
Age: 24
Posts: 1409
Registered: 03 / 2005
Subject:

Re: Energiehungrige MicroSD Karten

 · 
Posted: 21.10.2020 - 11:57  ·  #4
Hi Thorsten. I have done it with an XMEGA2563AU. I don't recall any problems with inserting or removing disk. It doesn't make a lot of sense that garbage sent to the processor causes any problems because the microprocessor is a SPI master, unless you perform an init on card detection. If that is the case, you could just delay the init for a few seconds.
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: Energiehungrige MicroSD Karten

 · 
Posted: 22.10.2020 - 00:42  ·  #5
Hi Thorsten.
Spannungseinbrüche beim Einstecken einer SD Karte sind normal, da beim Einstecken Umladungsvorgänge statt finden. Ich bin verwundert, dass du da nichts messen kannst. Ich habe das bei mir messen können und auch regelmäßig Resets beim xmega beobachtet. Wichtig ist, dass die Stützkondensatoren einen niedrigen ESR haben und mindestens 10uF groß sind. Normale Elkos sind da sehr ungeeignet, um den Spannungseinbruch von wenigen us abzufedern. Ein <1 Ohm Widerstand in der Stromversorgung der SD Karte kann auch hilfreich sein.
Darüber hinaus sind die Brownout Spannungsschwellen beim xmega sehr ungenau und man sollte unbedingt eine Stufe weniger Einstellen als eigentlich gewollt.

Ein und Ausstecken machen bei mir keine Probleme. Das der uc dabei einen Reset macht, ist in meiner Anwendung egal. Watchdog läuft mit ms2000.

Der xmega hat auch ein Statusregister, um die Ursache für einen Reset zu erfahren. Wäre für Debugausgaben sicherlich interessant.

Vielleicht helfen dir meine Erfahrungen weiter.



Gruß
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: Energiehungrige MicroSD Karten

 · 
Posted: 22.10.2020 - 10:22  ·  #6
Quote by Thomas.AC

Hi Thorsten.
Spannungseinbrüche beim Einstecken einer SD Karte sind normal, da beim Einstecken Umladungsvorgänge statt finden. Ich bin verwundert, dass du da nichts messen kannst. Ich habe das bei mir messen können und auch regelmäßig Resets beim xmega beobachtet. Wichtig ist, dass die Stützkondensatoren einen niedrigen ESR haben und mindestens 10uF groß sind. Normale Elkos sind da sehr ungeeignet, um den Spannungseinbruch von wenigen us abzufedern. Ein <1 Ohm Widerstand in der Stromversorgung der SD Karte kann auch hilfreich sein.
Darüber hinaus sind die Brownout Spannungsschwellen beim xmega sehr ungenau und man sollte unbedingt eine Stufe weniger Einstellen als eigentlich gewollt.

Ein und Ausstecken machen bei mir keine Probleme. Das der uc dabei einen Reset macht, ist in meiner Anwendung egal. Watchdog läuft mit ms2000.

Der xmega hat auch ein Statusregister, um die Ursache für einen Reset zu erfahren. Wäre für Debugausgaben sicherlich interessant.

Vielleicht helfen dir meine Erfahrungen weiter.



Gruß


Hallo Thomas,

das liegt evtl. daran, das ich zwischen der SD-Card und dem XMEGA 2 x 10uF/10V und 2 x 100nF liegen habe. Deswegen habe ich auf der Spanungsversorgung hier so gut wie keinen Ausschlag beim einstecken. Ich hänge jetzt mal zum test einen zusätzlichen Kondensator ran, aber wenn der Oszi hier so gut wie nichts anzeigt, glaube ich irgendwie nicht das dies das Problem ist.

Ich nutze ja den USB Treiber miparo, hat im Treiber und irgendwo im Forum geschrieben, das dann inbedingt der BOD aktiviert werden muss. Ich bin am überlegen das Ganze mal zum Test auf den niedrigsten Level einzustellen, ich habe ja sowieso meinen externen Watchdog mit BrownOut bei 2,6x V

Thorsten

@UPDATE;
Also ich habe den Kondensator 10uF/10V an der SDCard zum testen gegen einen MLCC 1210 100uF/ 6,3v getauscht. Diesen habe ich schon für meinen Schaltregler im Einsatz. sehr kleines ESR und passt auf das PAD und ganz wichtig, ich habe davon immer eine Rolle auf meinem Automaten.
Damit tritt dieses Problem nicht mehr auf. Vor dem Init habe ich noch ein "mDelay(10)"
Werde das Ganze jetzt mal durchtesten, mich wundert es nur, das auf der 3v3 Leitung so gut wie Kein Ausschlag zu sehen war. Wenn das so gut ist, lasse ich das einfach so. Mit dem MLCC hat die SD-Card auf jedenfall genug Energie und das recht schnell beim einschalten.
Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: Energiehungrige MicroSD Karten

 · 
Posted: 22.10.2020 - 22:04  ·  #7
100uf low esr, das ist doch mal eine Ansage!
Du weißt doch. Wer misst, misst Mist.
Scope mal auf 1us Zeitbasis einstellen, ac koppeln, Spannungsverstärkung hoch, manuell triggern und Triggerschwelle knapp unters signal einstellen. Dann sollte man was messen können, denke ich.

Gruß
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   125   139 · Page-Gen-Time: 0.036215s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI