Forum: Mikrocontroller und Digitale Elektronik i.MX233 grillt SD-Karte?


von Hans M. (deschurli)


Angehängte Dateien:

Lesenswert?

Hallo allesamt,

Ich habe ein Microcontroller-Board mit einem i.MX233.
Das Board stürzt ca. einmal im Monat ab und zerstört dabei die
SD-Karte (defekte Sektoren).
Bei genauerer Betrachtung fiel mein Blick auf den verwendeten i.MX233
Mikrocontroller.
Beim Vergleich der vom Boardhersteller verwendeten Firmware mit der 
Orginal Firmware von Freescale Semiconductor fiel auf, dass der 
Microcontroller nach dem Start nich wie vorgesehen den DC-DC 
Schaltregler initialisiert sondern dies mittels eines zuvor gesetzten 
returns umgeht.

Der MX233 nutzte also durchgehend die für den Startvorgang vorgesehenen 
Linearregler anstatt auf den DC-DC Schaltregler umzuschalten.
Die Dauerhafte nutzung der Linearregler ist laut Hersteller recht 
instabil und kann zu brownouts führen.

Mir ist nun aber noch nicht genau klar, wie dies zu einer Beschädigung
der SD-Karte führen kann,  was den defekt auslöst und warum der Absturz
erst nach gut einem Monat erfolgt? :/
Kann es sein das der Controller einfach über die zeit "mürbe" wird?
Denken könnte ich mir, dass es dann einen externen Auslöser geben könnte 
wie Spannungsspitzen im Netz oder eine Elektrostatische-Entladung.
Wie kann ich das am besten testen? Will nicht wieder einen Monat warten 
:D

Habe jetzt ein Board im Test mit initialisiertem DC-DC Schaltregler und 
ein Board welches die Linearregler nutzt zur Spannungsversorgung des µC.
Gruß Schorsch

: Bearbeitet durch User
von Michael K. (Gast)


Lesenswert?

Anderer Gedanke:
Häufige Schreibzugriffe zerstören die Karte und als Folge stürzt das 
Programm ab.
Ohne wear leveling geht das fix.

Google:
The SD card spec has NO entry for wear leveling. That is completely 
dependent on the SD manufacturer

von Hans M. (deschurli)


Lesenswert?

Michael Knölke schrieb:
> Anderer Gedanke:
> Häufige Schreibzugriffe zerstören die Karte und als Folge stürzt das
> Programm ab.
> Ohne wear leveling geht das fix.
>
> Google:
> The SD card spec has NO entry for wear leveling. That is completely
> dependent on the SD manufacturer


Ich hatte bisher mehrere SanDisk microSD-Karten mit NAND-Speicher im 
Einsatz, meines Wissens müssten die wear leveling unterstützen.

Hatte die Anzahl der Schreibzugriffe auch schon im Verdacht und eine 
SD-Karte einem kleinen Stresstest ausgesetzt. Welchen diese auch 
problemlos überstanden hat.
Die Boards nutze ich für eine kleine Hausautomation, viele 
Schreibvorgänge fallen da jetzt nicht an.

von Michael K. (Gast)


Lesenswert?

Ok, Sandisk gehört zu den guten.
Defekte Sektoren hört sich aber trotzdem nicht nach Spannungsspitze an, 
dann wäre die ganze Karte tot und nicht nur ein paar Sektoren.

Du verwendest sicher ein Linux derivat.
Das ist zwar nicht meine Baustelle, aber ich weiß das bei falscher 
Konfiguration das System permanent auf der SD Karte rumrödelt auch wenn 
Du keinen Schreibvorgang auslöst.

Schau Dir mal die Datantransfers an oder klemm eine LED an den Takt.
Du wirst wahrscheinlich rege Kommunikation sehen wo Du keine erwartest.

von Hans M. (deschurli)


Lesenswert?

Michael Knölke schrieb:
> Ok, Sandisk gehört zu den guten.
> Defekte Sektoren hört sich aber trotzdem nicht nach Spannungsspitze an,
> dann wäre die ganze Karte tot und nicht nur ein paar Sektoren.
>
> Du verwendest sicher ein Linux derivat.
> Das ist zwar nicht meine Baustelle, aber ich weiß das bei falscher
> Konfiguration das System permanent auf der SD Karte rumrödelt auch wenn
> Du keinen Schreibvorgang auslöst.
>
> Schau Dir mal die Datantransfers an oder klemm eine LED an den Takt.
> Du wirst wahrscheinlich rege Kommunikation sehen wo Du keine erwartest.

Ja, ich nutze ein Debian GNU/Linux.
Danke für den Tipp. Da ich mich auch nicht sonderlich gut mit Linux 
auskenne habe ich das Board gestern mal einem Bekannten gegeben der sich 
das image auf der SD-Karte angeschaut hat. Er meinte das sieht soweit 
alles gut aus.

Das mit der LED werde ich mal versuchen.

Was ich noch anmerken sollte ist, dass der erste Crash des Boards mit 
defekter SD-Karte nach meinem Umzug passierte. Ich wohne nun direkt 
neben unserem örtlichen Energieversorger. Daher der Gedanke mit den 
Spannungsspitzen.

von Michael K. (Gast)


Lesenswert?

Die SD Karte ist ansprechbar also haben die empfindlichsten Komponenten, 
Karten Controller + i.MX233, alles überlebt.
Der NAND Flash kommt am Ende einer langen Kette von Halbleitern und 
immer wieder da geht was kaputt.
Alle anderen Bauteile die Du nicht tauscht, die also vorgestresst sein 
müssten, gehen nie kaputt.

Die Netzspitzen die Du vermutest, schlagen durch alle 
Schutzvorrichtungen, Netzteile, Elkos, Spannungsregler durch, wandern 
über die ganze Platine, über den Kartenkontroller bis ins Flash und 
machen da was kaputt ?
Hm, schwer zu glauben.

Ich habe jetzt so oft erlebt das sich die Linux Fraktion die Karten 
gelegt hat weil das System mit der Hardware dann doch andere Dinge 
macht, das ich den Fehler weiterhin da vermute.

Stell die Frage mal ein einem Linux / Debian Forum wie Du für SD Karte 
konfigurierst und / oder Dir auch die Zahl der Schreibzugriffe anzeigen 
lassen kannst.

Der Schaltplan des Olimex Nano Boards grenzt an Körperverletzung.
Ich habe dafür mal ein Baseboard gebaut.
SD Kartenanschlüsse sind u.U. dopelt belegt oder auf Pins / Jumper 
geführt.
Überprüfe das mal.

von Jim M. (turboj)


Lesenswert?

Georg Mink schrieb:
> Die Dauerhafte nutzung der Linearregler ist laut Hersteller recht
> instabil und kann zu brownouts führen.

Brownouts sind schlecht. SD(HC) Karten mögen Spannungsausfälle (weniger 
als 2.7V) beim Schreiben gar nicht, sie fallen dann öfter mal aus. 
Übrigens erhöht sich deren Stromverbrauch beim Schreiben deutlich - sie 
ziehen dann bis 100 mA (neuere eventuell sogar noch mehr). Das treibt 
den Linearregeler eventuell erst richtig in den Brownout.

Der Regler muss aber nicht unbedingt die Ursache für Ausfälle sein. Ich 
hatte hier auch schon billige Karten, die bei normalem Betrieb nach 
kurzer Zeit ausfielen.

Gute Erfahrungen in Bezug auf Zuverlässigkeit habe ich mit Sandisk 
Karten gemacht.

von Sven K. (svenk)


Lesenswert?

Hallo,

die Frage wäre doch zuerst einmal welches Board Du einsetzt? Eins von 
Olimex oder ein eigenes?

Es gibt bei Olimex im Handbuch beschrieben mit Sdcard ein Problem, und 
zwar wenn das Debugkabel USB/Seriell aktiv ist also an ein Gerät 
angeschlossen und an den imx und die Spannungsversorgung der 
Hauptversorgung erst später erfolgt. Dabei kann wohl die Sdcard 
beschädigt werden. Es gab auch nen Workaround.... (Alles gerade noch aus 
dem Gedächtnis)
Möglicherweise liegt auch bei Dir so etwas vor und Du hast so ein Kabel 
in Betrieb und nach einem Einschalten ist das Kabel zuerst in
Betrieb.

Lg Sven

von Wolfgang A. (Gast)


Lesenswert?

> i.MX233 grillt SD-Karte?

Wie heiß wird die Karte dabei? Fürs Grillen sollte die Temperatur schon 
deutlich über 200°C liegen und das dürfte das Gehäuse der SD-Karte schon 
deutlich deformieren.

Vielleicht kannst du einen Temperatur- und Spannungsdatenlogger mit gut 
entkoppelter Versergungsspannung auf einem zweiten µC/SD-Karte mit 
laufen lassen, um zu klären, was mit Spannung und Temperatur passiert.

von Hans M. (deschurli)


Lesenswert?

Sven K. schrieb:
> Hallo,
>
> die Frage wäre doch zuerst einmal welches Board Du einsetzt? Eins von
> Olimex oder ein eigenes?

Hi,

ich nutze ein TuxRadio V2 von busware.

-i.mx233 ARM9 - 450 MHz
-64MB DDR RAM
-Ti CC1101 transceiver
-10/100MBit smsc lan9512-jzx
-5V/2A power supply
-RP-SMA Buchse

Sven K. schrieb:
>Es gibt bei Olimex im Handbuch beschrieben mit Sdcard ein Problem, und
>zwar wenn das Debugkabel USB/Seriell aktiv ist also an ein Gerät
>angeschlossen und an den imx und die Spannungsversorgung der
>Hauptversorgung erst später erfolgt. Dabei kann wohl die Sdcard
>beschädigt werden. Es gab auch nen Workaround.... (Alles gerade noch aus
>dem Gedächtnis)
>Möglicherweise liegt auch bei Dir so etwas vor und Du hast so ein Kabel
>in Betrieb und nach einem Einschalten ist das Kabel zuerst in
>Betrieb.

Leider stürzen  die Boards immer im Dauerbetrieb ab, wenn kein 
Debugkabel mehr angeschlossen ist.
Während des Betriebs hängen an dem Board das Netzwerkkabel Cat5 mit RJ45
und ein USB-Stick mit einem zweiten CC1101 Transceiver und RP-SMA 
Buchse.

von Hans M. (deschurli)


Lesenswert?

Wolfgang A. schrieb:
>> i.MX233 grillt SD-Karte?
>
> Wie heiß wird die Karte dabei? Fürs Grillen sollte die Temperatur schon
> deutlich über 200°C liegen und das dürfte das Gehäuse der SD-Karte schon
> deutlich deformieren.

Die Karte wird natürlich nicht wirklich gegrillt ;)


Wolfgang A. schrieb:
> Vielleicht kannst du einen Temperatur- und Spannungsdatenlogger mit gut
> entkoppelter Versergungsspannung auf einem zweiten µC/SD-Karte mit
> laufen lassen, um zu klären, was mit Spannung und Temperatur passiert.

Werde mich die Tage mal um ein oszilloskop bemühen und das Board 
genaustens unter die Lupe nehmen.

von Hans M. (deschurli)


Lesenswert?

Hi,

ich hab neue Infos was den Art des Defekts der SD-Karten angeht.
Hatte sie nochmal einem Arbeitskollegen mitgegeben der sich etwas besser 
auskennt als meine Wenigkeit.^^
Von den sechs defekten Karten werden zwei Karten in keinster weiße mehr 
vom Sytem erkannt . Die anderen vier Karten werden zwar vom System noch 
erkannt, sie können aber weder gelesen, beschrieben noch formatiert 
werden. Auch sind mehrere Blöcke defekt.
Es scheint also in allen Fällen der Controller defekt zu sein.

Einen defekt durch eine zuhohe Anzahl an Schreibvorgänge kann ich 
mittlerweile ausschließen.

Der defekt geht immer mit einem Absturz und Neustart des Boards einher.
Da ja nicht nur das Dateisystem der Karten korrupt wird, sondern diese 
sich gleich ganz verabschiedet denke ich das der Fehler auf seiten der 
Hardware liegt.

Leider habe ich momentan nicht allzugroße möglichkeiten die Hardware 
genauer unter die Lupe zu nehmen. Und den Schaltplan für das Board 
findet man auch nirgends, muss ich mich wohl mal an den Hersteller 
wenden.

von Chris (Gast)


Lesenswert?

Bei den i.MX Prozessoren kann man die Treiberstärke der Pins einstellen.
Bei unserem Boards gabs vom Modulhersteller mal ein Update das die 
Stromstärke der Pins zum eMMC heruntergesetzt hat.
Evtl. kannst du mal in der Richtung suchen.

Gruß

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.