Hallo zusammen, ich habe hier ein merkwürdiges Problem. Wir haben ein Gerätetyp, welcher seit 2 Jahren ohne größere Probleme und Reklamationen verkauft wird. Vor zwei Monaten wurden von diesem Gerät 8 Stück an einen Kunden geliefert. Letzte Woche kamen von diesen 8 Geräten 3 Stück zur Reparatur zurück. Alle das selbe Problem. In den EEPROMs der Geräte waren defekte, bzw. ungültige Werte zu finden. Merkwürdig daran sind nun folgende Umstände: -Das Problem ist bisher noch nie aufgetreten -Die defekten Werte im EEPROM sind bei allen 3 Geräten an unterschiedlichen Speicherstellen zu finden -In zwei der Geräte waren Werte im EEPROM zu finden, welche niemals im Programmablauf auftauchen Es handelt sich um ein internes EEPROM im Mikrocontroller, sodass ein Busproblem ausgeschlossen werden kann. An der Firmware und der Elektronik wurde nichts geändert. Hat von euch jemand eine Idee, wie solch ein Fehler zu Stande kommen kann? Ich bin etwas ratlos. Vielen Dank! Peter
Das kenne ich auch - vor allem bei älteren ATMEL Controllern ist das aufgetreten, wenn der Brown-Out nich sauber gekommen ist oder häufige Power-Up Zyklen gefahren wurden. Da macht der ATMEL mal irgendwas, was so nie konfiguriert war. Ich habe mir bei diesen Typen dann so geholfen, dass ich am Anfang der Initialisierung ein Register mit einer bestimmten Bitkombination programmiert habe und direkt in der Write-EEPROM Routine diese Kombi wieder abgefragt habe. Seit dieser Zeit ist Ruhe. Trotzdem sollte man die Ursache angehen bzw. erst mal analysieren. Gruß TK
Hallo, kann durch externe Einstrahlung verursacht werden. Hast Du EMV Prüfungen gemacht ? Gruß Bernd
Es handelt sich nicht um Atmel, sondern dsPIC30 Mikrocontroller. Ja, EMV Prüfungen wurden gemacht und Bestanden!
Bei PICs habe ich das noch nicht erlebt, aber gut, auch hier kann das Gleiche passieren. Wie sieht die Versorgungsspannung aus? Wie ist der Brown-Out eingestellt? Was macht das Gerät / was macht der Kunde damit? TK
Die Versorgungsspannung sieht gut aus. Auch in Langzeitmessungen konnten hier keine Auffälligkeiten ermittelt werden. Und wie gesagt. Von den Geräten sind schon hunderte raus, welche alle ohne Probleme laufen. Seltsam ist jetzt nur, dass es bei einem Kunden so viele sind. Brown-Out könnte ein guter Anhaltspunkt sein. Ich musste selbst im Quelltext schauen, da das Gerät noch von meinem Vorgänger programmiert wurde, aber Brown-Out ist definitiv ausgeschalten!
>Brown-Out könnte ein guter Anhaltspunkt sein. Ich musste selbst im
Quelltext schauen, da das Gerät noch von meinem Vorgänger programmiert
wurde, aber Brown-Out ist definitiv ausgeschalten!
Da haben wir doch schon das Problem! Gerät OHNE Brown-Out betreiben ->
bei Kundengeräten immer tötlich!
Da reicht doch schon das einfache ABSCHALTEN der Spannung und irgendwann
kommt dann eine von mehreren Schaltschwellen, an den das int. RAM nicht
mehr geht, die int. Peripherie bei einer anderen Schwelle nicht mehr
geht, der Oszillator bei einer weiteren Schwelle nicht mehr geht...
Und genau bei diesen Schwellen kann die int. Logik einfach mal irgendwas
machen!
Oder anders herum gesagt:
wenn der int. Brown-Out deaktiviert ist, dann muss ZWINGEND ein externer
Brown-Out vorhanden sein.
Gruß
TK
Dann mal vielen Dank für die Hilfe, ich denke (und hoffe) auch, dass es an dem liegen könnte. Es stellt sich mir aber noch die Frage, weshalb das Problem gerade bei diesem Kunden gleich 3 Mal aufgetreten ist und ansonsten bisher noch nie Probleme aufgetreten sind. Kann dies mit einer unsauberen Netzspannung beim Kunden zusammen hängen?
Ja - und mit vielen anderen Dingen, die ein Kunde so treibt. Also ich vermute - wie im ersten Beitrag geschrieben - einen häufigeren Power-Zyklus als bei den anderen Kunden. Gruß TK
Peter Z. schrieb: > Dann mal vielen Dank für die Hilfe, ich denke (und hoffe) auch, dass es > an dem liegen könnte. > Es stellt sich mir aber noch die Frage, weshalb das Problem gerade bei > diesem Kunden gleich 3 Mal aufgetreten ist und ansonsten bisher noch nie > Probleme aufgetreten sind. Kann dies mit einer unsauberen Netzspannung > beim Kunden zusammen hängen? Sind die EEPROMs dauerhaft beschädigt? Ich könnte mir gut vorstellen, daß ein EEPROM auch bei ausgeschaltetem Gerät, z.B. Lagerung, zerschossen werden kann, wenn jemand elektrisch leitende Teile daran berührt. Wie sieht es bei dem Kunden mit ESD-Schutz aus? Trägt da einer Schuhe mit Gummisohlen und einen Wollpullover? Das erzeugt schon mal ziemlich hohe Energien. Ein externes EEPROM (Exel XLS2816A) löschte ich sogar mal vollständig, in dem irrtümlich kurz ein falscher Spannungsimpuls an einen Pin kam (VCC negativer als GND). Das war nicht der Löschmodus! Der Strom reichte nicht für eine Zerstörung, und der Baustein blieb heil, läßt sich bis heute immer stets einwandfrei schreiben und lesen. Aus diesem Grunde setzte ich EEPROM auch nie mehr als externes ROM in µC-Schaltungen ein, sondern EPROM, wie es sich eigentlich gehörte. Die sind in dieser Hinsicht robuster.
Auch ein interressanter Aspekt. Aber der Kunde hat ein fertiges Gerät der Schutzklasse 1 vor sich und sollte sich nicht mehr um ESD kümmern müssen. Und der ESD-Test wurde sogar eine Klasse höher als notwendig durchgeführt und bestanden. Nein, das EEPROM ist nicht dauerhaft beschädigt. Nachdem ich das Gerät an unsere Servicestation gehängt und neu initialisiert und kalibriert habe hat alles wieder funktioniert.
Seinerzeit hatte ich etwas für den KFZ-Bereich auf einem ATmega128 programmiert. Trotz BOD war sein EEPROM immer wieder vergesslich. Letztlich hatte ich dann den EEPROM-Datensatz dreifach mit separater Prüfsumme abgespeichert und beim Einschalten den ggf. abweichenden Datensatz neu geschrieben. Das war zwar 150%ig, dafür ist aber auch nie etwas zurückgekommen. Wenn Du schon am Programm etwas änderst, vielleicht wäre ein mehrfaches Abspeichern auch für Dich die hinreichende Absicherung.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.