Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Ausführungsfehler (EEPROM) - Gerät tauschen oder "wiederbeleben"?
Wenn du spaß am basteln hast: Je nach Gerät ist der EEPROM tatsächlich ein extra Baustein auf der Platine, welche auch relativ häufig kaputt gehen.
Wenn ein Schreiben der Applikation das Problem behebt, scheint er 'komplett' überschrieben zu werden. Also könnte ein Austausch das Problem dauerhaft beheben.
Ich weiß, vermute aber, dass hier einfach der im Atmega integrierte EEPROM genutzt wird. Zumindest auf der neuen Platine ist ein Atmega drauf, da hab ich nämlich schon mal reingeschaut Nach dem Speicher habe ich aber bislang noch nicht gesucht, wäre aber eigentlich unsinnig den extern zu machen wenn der MCU selber einen mitbringt. Eventuell kann man den ganzen Atmega aber tauschen wenn man an das Programm rankommt und es auslesen kann.
Also wenn ein EEPROM einen Fehler hat, dann ist der meist nicht dauerhaft reversibel. Wenn ein Bit (also eine Zelle im EEPROM-Substrat) ohne äußere Einwirkung kippt, dann ist diese Zelle meist an der Oxidschicht am sog. Fowler-Nordheim-Tunnel beschädigt. Das führt dazu, dass die vorher getrennten Elektronen "durchsickern", ähnlich wie einem undichten Wasserhahn. Das sog. floating gate, was je nach Zustand negativ oder positiv ist, bekommt dann Alzheimer.
In der Regel rechnet man mit 100k-300k Schreibzyklen einer Zelle, je nach Spannung (desto geringer desto besser) und Temperatur (weniger ist besser). Man kann hier durch "wear leveling" eine höhere Lebensdauer erreichen, in dem man wechselnde Zellen als Datenträger verwendet. Und indem man mehrere Bytes auf einmal schreibt (page mode) statt einzeln, dann ist der "Stress" und damit der Verschleiß pro Zelle geringer, da die Energie der integrierten Ladungspumpe besser verteilt wird.
Im KNX-Umfeld wird es sicher Werte geben, die vom Sensor/Aktor regelmäßig gesichert werden (im EEPROM), um z.B. nach einem Busausfall wieder den letzten Zustand herstellen zu können. Wenn das nicht nur bei Busausfall (weil vielleicht die Energie nicht mehr zum Puffern der Daten reicht) geschieht, sondern periodisch, dann sind bei einer Zelle bei einem 10min-Rhythmus bereits nach ~2 Jahren, im 60-min-Rhythmus nach ~11 Jahren die 100k Schreibzyklen erreicht wenn sonst keine Maßnahmen getroffen wurden.
Wenn ein Bit (also eine Zelle im EEPROM-Substrat) ohne äußere Einwirkung kippt, dann ist diese Zelle meist an der Oxidschicht am sog. Fowler-Nordheim-Tunnel beschädigt. Das führt dazu, dass die vorher getrennten Elektronen "durchsickern", ähnlich wie einem undichten Wasserhahn. Das sog. floating gate, was je nach Zustand negativ oder positiv ist, bekommt dann Alzheimer.
Das war verdammt interessant zu lesen, ich kannte zwar den grundsätzlichen Aufbau aber nicht was genau im inneren dann passiert.
So ganz nachvollziehen kann ich aber noch nicht was ein Binäreingang so schreiben muss, ich hätte erwartet, dass beim Start einmal der aktuelle Status auf den Bus geschrieben wird und alles was davor war irrelevant ist. Der aktuelle Status kann ja zu jedem Zeitpunkt durch Abfragen des Eingangs ermittelt werden. Aber ich schätze man kann wohl, wenn man das unbedingt will, den Status vor Busspannungsverlust wegschreiben und beim Start nur bei Änderung senden, auch wenn ich das als unsinnig ansehe.
Bei einem BE wäre das tatsächlich erstmal unsinnig, wenn es nur um den Status der Eingänge geht. Viele BE haben ja aber auch noch eine Logik onboard oder Zähler, da wäre eine Sicherung des Zustandes schon wieder sinnvoll. Vielleicht sind es aber auch "nur" globale Einstellungen im Aktor, die regelmäßig weggesichert werden und das EEPROM "altern" lassen, das weiß nur der Hersteller.
Nach 15 Jahren kann natürlich auch durch die natürliche Alterung der Bauteile ein Defekt auftreten, beim EEPROM kann das mitunter auch die integrierte Ladungspumpe sein (erzeugt 10-15V aus 3.3V/5V, um die Zellen zu beschreiben) die nicht mehr ordnungsgemäß funktioniert. Oder halt ein Siebelko, so dass beim Schreiben oder Lesen die Spannung einbricht...alles möglich.
BTW: ich restauriere gerade alte Hifi-Geräte, u.a. habe ich im Büro gerade einen 45 Jahre alten Marantz Receiver reaktiviert. Bis auf ein paar defekte Birnen waren alle relevanten Bauteile im Normbereich, sogar die Elkos. Das waren noch Zeiten, da waren Geräte für die Ewigkeit designt. Beim Klang läuft es einem eiskalt den Rücken runter, sowas habe ich seit 30 Jahren nicht mehr gehört. Stellt bei mir gerade alles auf den Kopf, da es locker mein Mid-Tech-Schrott für tausende Euro glatt an die Wand spielt. Ich glaube ich mach bald mal einen Vintage Hifi Thread auf...Wahnsinn, was es da für Schätze gibt.
Zähler könnte der hier auch, und auch bei positiven und negativen Flanken unterschiedliche Schaltobjekte senden, nur ob man dafür den EEPROM beschreiben muss? Genutzt werden die Zähler jedenfalls nicht, nur ein Eingang hat die Aufteilung positive/negative Flanke aktiv. Da es aber auch eine Entprellzeit gibt wird das ganze mit einem Neustart meiner Meinung nach sowieso schwierig (die müsste man ja auch den Neustart über "zählen" etc.), kurzum: Ich sehe keinen Sinn den EEPROM ständig (oder überhaupt) zu beschreiben während das Ding normal läuft.
Ja alte Technik ist schon was tolles Da durften noch die ganzen Giftstoffe in die Kondensatoren gesteckt werden und die Dinger hielten ewig.
Ich bin mittlerweile so weit, dass ich bei meinen Platinendesigns versuche auf Elkos zu verzichten, das sind im Prinzip Fehlerursache Nr. 1. Wenn man mit den EEPROMs etc. vernünftig umgeht halten die auch ewig. Ich hab mal einen Impulszähler programmiert, der hat nen 2MB EEPROM zur Seite gestellt bekommen und der Zählerstand wurde dadurch ermittelt, dass jedes Byte im Speicher nacheinander hochgezählt wurde. Beim Start musste also das ganze Ding eingelesen werden bzw. das erste Zeichen wurde gelesen und dann wurde geschaut wo dieses Zeichen +1 auftritt, anhand des ersten Zeichens multipliziert mit der "Länge" des Speichers wurde die Basis gefunden, die Anzahl bytes bis zu dem gefundenen Zeichen + 1 wurde draufaddiert, fertig . Das Ding hält prinzipiell auch ewig, wear-leveling für Anfänger.
Mich hat es gerade doch nochmal in den Fingern gejuckt und ich habe den neuen Eingang mal wieder geöffnet, auf der Platine ist ein FM25C160. Ich weiß ja nicht wie "genau" die ETS mit den Fehlerbeschreibungen ist, das könnte aber potenziell unter "EEPROM" fallen wenn man die Begriffe mal nicht so ganz genau nimmt. Den alten habe ich allerdings noch nicht aufgemacht, würde aber vermuten, dass möglicherweise der Aufbau ähnlich/identisch ist wie beim neuen, auch wenn der neue zusätzlich KNX Secure kann. Ich würde sogar behaupten, dass wenn der Atmega nicht auslesegeschützt sein sollte..... Ach lassen wir das lieber Mit Lötkolben und Ersatzchip könnte man den also höchstwahrscheinlich auch wieder fit bekommen wenn man das möchte, wobei es diesen Chip nur noch zu horrenden Preisen auf eBay etc. gibt und nicht bei den großen Distributoren.
Exakt, aber wer weiß was dem armen Ding zugestoßen ist, in der Anlage gab's auch mal größere Kurzschlüsse die dann den SLS rausgehauen haben, wenn da Leitungen ungünstig nebeneinander gelegen haben ist der vielleicht Opfer einer induzierten Überspannung etc. geworden.
Im Datenblatt wurden sogar die 15 Jahre die der alte Aktor nun auf dem Buckel hat mal "durchgerechnet":
Even at 2000 accesses per second to the same row, 15 years time will elapse before 1012 endurance cycles occur.
Vielleicht ist der FRAM aber auch eine Konsequenz aus kaputten EEPROMs. Es gab bestimmt in der Zwischenzeit die ein oder andere Änderung am Design.
Ja, die Technik hat sich da fortlaufend weiterentwickelt. Heute ist die Hardware z.B. bei SSDs qualitativ eigentlich minderwertig was die Speicherzellen angeht...der Rest wird über wear leveling, also Software erledigt.
Was hier noch nicht erwähnt wurde: geplante Obsoleszenz. Auch das könnte natürlich eine Ursache sein, gerade bei einem Mikrocontroller onboard dann auch noch nahezu unsichtbar umsetzbar.
Wobei da 15 Jahre eher untypisch sind.
Dann würde der Hersteller sich auch nicht kulant zeigen
Aber nahezu unsichtbar? Ich weiß ja nicht.... Das Risiko wäre mir zu groß, liest jemand das Ding aus und wühlt etwas im Code rum wenn die Dinger reihenweise kaputt gehen und offenbar nur der MCU kaputt ist und mit einem MCU tausch alles wieder läuft und entdeckt das ganze hagelt es Schadensersatzforderungen, auch nach 15 Jahren noch. Und verlässt sich der Hersteller auf den Ausleseschutz des Atmegas hat er auch verloren, das ist halt kein "secure MCU" und wenn man da ran will kommt man da auch ran.
Es gibt durchaus Personen die sich auf die Reparatur von (höherpreisigen) Geräten spezialisiert haben, die wissen dann auch schon genau was kaputt geht und gerade wenn es häufiger vorkommt wird dann das Teil komplett reverse engineered weil da viel Geld mit zu holen ist. Nur mal als Beispiel: Aktor kostet 250€, es ist ein Chip für 5€ kaputt, es dauert eine Stunde den zu tauschen, es wird erwartet, dass alle Aktoren früher oder später kaputt gehen, also wird man bestimmt 50 Kunden irgendwie finden können, nehmen wir 50 Stunden Zeit um diesen Fehler zu finden bzw. herauszufinden wie man das Ding nach dem Chiptausch wiederbeleben kann, so kostet dann eine Reparatur 125€, also die Hälfte vom neuen Aktor. Gut, bei einem 250€ Aktor ist das nun echt knapp, aber bei noch teureren Geräten wird es immer lukrativer für solche Personen.
Das ist ja ein FRAM...der sollte länger halten als ein EEPROM wenn die Randbedingungen stimmen :-)
Sollte..., kann ich aber so aus der Praxis nicht bestätigen. Hatte zuletzt bei einer Lötstation von ca. 1996 ein defektes FRAM.
Okay, hat zwar lange gehalten, war aber trotzdem entweder schlechter Code oder ein nicht so dauerhaftes FRAM im Spiel. Immerhin war die Station nicht im Dauereinsatz sondern nur zu Hobbyzwecken.
Zumindest war es reparabel.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar