Mikrocontroller Nicht-flüchtig programmieren

Gast #6057825
Lesenswert?

Guten Abend. Ich habe mir vor ein paar Wochen einen Arduino Uno 
angeschafft und mich mit dem ATMega328 angefreundet. Jedoch soll in 
meinem Projekt der ATMega verbaut werden und für mehrere jahrzehnte 
seinen Dienst verrichten. Ich befüchte nur dass weil das Programm auf 
dem Chip in einem Flash Speicher liegt nach rund 10 Jahren die Lichter 
ausgehen. Ich weiß den Chip entnehmen und neu bespielen dauert 5 Minuten 
aber das kommt nicht in Frage. Daher... welche Alternativen habe ich da?

Gruß Herrmann
Gast #6057860
Lesenswert?

Herrmann schrieb:
> Daher... welche Alternativen habe ich da?

Indem du in Zyklen von <=10 Jahren den Speicher Segment für Segment 
ausliest und den Inhalt neu draufschreibst. Sowas ähnliches macht der 
RAM in deinem PC alle paar ms. Das wirst du schon hinkriegen. Zehn Jahre 
bis zum ersten Mal ist ja eine lange Zeit.
Gast #6057865
Lesenswert?

Hallo

Arduino ist (war) ja meist => AVR und die sind auch in der Flash 
Variante schon deutlich älter als 10 Jahre auf den Markt und werden auch 
(vor allem) professionell genutzt.
Ist den irgendwas von Problemen bekannt?
Die Flash Technik wurde doch gerade so ausgelegt das sie ein Ersatz für 
die in "Kleinmengen" immer teuren und unflexiblen PROM ist?

Jemand
Gast #6057889
Lesenswert?

Danke  Markus M und talvisota

Sich selbst oder gegenseitig neu flashen würde mir zu aufwändig werden. 
Ich hatte schon vermutet dass es in Richtung PROM geht. In diesem Fall. 
Ich bin nicht so gut informiert. Mein eindruck war dass PROM uC nicht 
mehr so verbreitet sind oder nicht dieselbe Marktstellung haben wie 
andere. Man hört und sieht kaum etwas. Was kosten PROM uC die mit dem 
ATMega328p vergleichbar wäre in der Regel? Die Programmiergeräte dazu 
sind bestimmt immer noch teuer oder? Und kann ich den Code vom 328 
einfach auf den PROM übertragen? (von der Bezeichnung der Ein/ Ausgänge 
mal abgesehen)

Gruß Herrmann
Gast #6057900
Lesenswert?

Ich komme auf die Idee weil ich bereits mehrere Prototypen von meinem 
Projekt gebaut habe und gerade dabei bin alles zu optimieren. Alles ist 
schon fix und fertig. Ich möchte jetzt nur noch die Technologie 
verbessern.

Gruß Herrmann
Gast #6057908
Lesenswert?

Hermann! Lass Dich nicht verarschen.

Bei normalen  Temperaturen garantiert der Hersteller 100 Jahre! 20 Jahre 
bei 85 Grad. Lies das Datenblatt, Seite 1/7. solange der AVR keinen 
extremen Temperaturen ausgesetzt ist, sollte da nichts passieren.

https://www.sparkfun.com/datasheets/Components/SMD/ATMega328.pdf#page7

In meiner Wetterstation werkeln nun schon seit 2001 einige PICs und ein 
AVR ohne irgendwelche Probleme. Dein AVR wird uns beide überleben. In 
meiner Praxis über 20 Jahre hatte ich noch keinen uC Ausfall.

Natürlich trifft das nur auf legitime Exemplare von namhaften 
Herstellern zu. Bei unbekannten China Exemplaren unbekannter Herkunft 
und ohne Stammbaum ist natürlich alles möglich.
#6057911
Lesenswert?

Herrmann schrieb:
> Ich befüchte nur dass weil das Programm auf
> dem Chip in einem Flash Speicher liegt nach rund 10 Jahren die Lichter ausgehen.

Zitat aus dem Datenblatt der Atmegas 48,88,168,328:
1
"Reliability Qualification results show that the projected data retention failure rate is much less than 1 PPM over 20 years at 85°C or 100 years at 25°C."

Bevor der Flash vergesslich wird, benötigen andere Schaltungsteile 
sicherlich mehrere Überholungen.

Herrmann schrieb:
> Was kosten PROM uC die mit dem, ATMega328p vergleichbar wäre in der Regel?

Schaue einfach bei den großen Distributoren. Unter vielen Anderen, gibt 
es unter Anderem einige PICs und 8051 Derivate als OTP Versionen. Ob das 
aber Echter PRom ist, steht im Datenblatt.
Ansonsten gehen natürlich auch alle µCs, die mit externem 
Programmspeicher arbeiten.

Herrmann schrieb:
> Ich komme auf die Idee weil ich bereits mehrere Prototypen von meinem
> Projekt gebaut habe und gerade dabei bin alles zu optimieren. Alles ist
> schon fix und fertig.

Du bist dir bewusst, dass ein neuer µC zu einem weigehenden Redesign 
führen wird?
Falls du einen Atmega328 mit OTP- oder MROM möchtest, ist das nur eine 
Frage des Preises.
Gast #6057912
Lesenswert?

Werner P. schrieb:
>> Ich befüchte
>
> nicht befürchten. Datenblatt lesen.

Ist wirklich kein Problem. Es gibt tatsächlich eine Begrenzung der 
Lebensdauer für die Schreibzyklen, das betrifft Dich aber, so wie Du es 
schreibst, nicht. Was das Lesen angeht, gibt es die Sache mit der 
Verweildauer der Ladung in den Zellen. Da die AVR-Teile gutmütiges SLC 
(single level cell)-Flash verwenden, hat man hier viel Luft nach oben. 
Solange das Teil unter Spannung steht und läuft und die Zellen 
regelmässig angefasst werden, passiert da gar nichts. Erst wenn Du Dich 
entscheidest, Dein Gerät 10 Jahre lang in der Schublade zu lagern, 
müsste man anfangen, sich Gedanken zu machen.

Wozu ich aus eigener Erfahrung sagen kann, dass ich ein Projekt aus den 
frühen 90er Jahren (68881 mit Flash) vor 5 Jahren nochmal gestartet 
habe, und es keine Probleme gab (Mein Code von damals enthielt einen 
CRC-Check beim Einschalten, ich kann also davon ausgehen, dass der 
Inhalt komplett in Ordnung ist).

Wie andere schon sagten: Mach' Dir eher Gedanken über die Lebensdauer 
Deines Projekts. Ein Elko in der Nähe eines Kühlkörpers würde mir da 
mehr Sorgen machen als der Flash-Speicher.
Gast #6057913
Lesenswert?

Danke  Alter Sack
Leute nehmt euch ein Beispiel an ihm.

Das mit den 10 Jahren war eine Grundannahme von mir da mir diese 
Eigenheit von Flash Speichern, floating-gate usw. bekannt war. Allerding 
beziehen sich diese Angaben in der Regel auf Festplatten und USB 
Speicher die natürlich sehr viel stärker frequentiert werden als so ein 
Mikrocontroller weswegen ich schon erwartet hatte dass bei dem der 
Speicher etwas länger hält. Der Temperaturbereich in meinem Fall könnte 
zwischen - 15 und 70°C schwanken. Darauf kein billiges Plagiat zu kaufen 
werde ich dann wohl in Zukunft achten. Und eigene Erfahrungswerte von 
jemanden sind natürlich das aller Beste. Mir einen Chip auf den Tisch 
legen und mal eben 10 - 20 Jahre warten wäre schwierig.

Also wenn noch jemand Langzeit-Erfahrungswerte dazu hat kann er sie hier 
gerne noch beitragen würde mich interessieren.

Ansonsten Danke nochmal.
Gast #6057917
Lesenswert?

> OTP

ist EPROM ohne Loeschmoeglichkeit.

Echte PROMs gab es z.B. in der 74er TTL-Serie. Bei denen
wird eine Si-"Fuse" durch den Programmierer durchgebrannt.
Die Kapazitaeten sind bescheiden und die Leistungsaufnahme hoch.
Zuverlaessiger wird das Gesamtkonstrukt dadurch sicher nicht.

> MROM

Ob das wirklich "maskenprogrammierter" ROM ist?
Oder nur ein Programmierservice fuer OTP?

2 Controller sind ja schon vorgeschlagen worden,
dazu dann vllt 3 SPI-Flashs mit dem Codeinhalt, damit man ein
Quorum bilden kann.
Und wenn ein Controller bei der Pruefsumme versagt,
dann mit dem Standby-Controller aus dem SPI-Flash neu programmieren.
Der Standby-Controller wird dann auch gleich der neue Master.
Die SPI-Flashs wird man auch gelegentlich refreshen muessen.

Aber fuer die Ewigkeit wird das auch nicht reichen.

Eine Tontafel mit der Bedienungsanleitung nicht vergessen!
(Firma: dm2sh) #6057923
Lesenswert?

Larry schrieb:
> Auch echte ROMs koennen kaputtgehen. Ich hatte mal einen
> ROM aus einem AppleII mit einem Wackelbit...

Ja, auch Antifuse-Memory ist davon betroffen. Ob der "echte" ROM jetzt 
Masken-ROM war oder Fuse- bzw. Antifuse-Speicher oder nur ein EPROM ohen 
Fenster ist für mich unklar.

Eigentlich sollte ich einmal nach Papers suchen: "Optimal refreshing 
algorithmens for reliable extended longterm data retention of antifuse 
memory."
#6057932
Lesenswert?

Herrmann schrieb:
> Der Temperaturbereich in meinem Fall könnte zwischen - 15 und 70°C schwanken.

Am Widerstandsfähigsten sind Bauteile mit Military grade.
Zu einem Produkt für die Ewigkeit gehört aber deutlich mehr, als nur 
robuste ICs.


Wieder einmal eine geheime Schaltung und Anwendung...

Benötigst du überhaupt einen µC? Vielleicht könntest du alles mit 
wenigen Logik-ICs aufbauen?
Gast #6057948
Lesenswert?

Herrmann schrieb:
> Ich komme auf die Idee weil ich bereits mehrere Prototypen von
> meinem Projekt gebaut habe und gerade dabei bin alles zu optimieren.
> Alles ist schon fix und fertig. Ich möchte jetzt nur noch die
> Technologie verbessern.
>
> Gruß Herrmann

Guten Morgen Hermann,

poste bitte Schaltplan und Sourcecode!
#6057979
Lesenswert?

Hallo,

Herrmann schrieb:
> Also wenn noch jemand Langzeit-Erfahrungswerte dazu hat kann er sie hier
> gerne noch beitragen würde mich interessieren.

keine Ahnung, ob das für Dich Langzeit-Erfahrung ist:
Ein Tiny45 mit RFM-Modul sendet hier alle 2 Minuten die Temperatur aus 
dem Gefrierfach des Kühlschranks.
Geflasht sehr wahrscheinlich am 1. ‎März ‎2009, ‏‎20:33:33.
Außer alle Jahre Batterie wechseln hat der seine Aufgabe noch nicht 
vergessen.

Gruß aus Berlin
Michael
Gast #6058012
Lesenswert?

> Dann muss er sich eben einen Ringkernspeicher bauen. Der hält nahezu
> ewig...

Das kann nur einer schreiben, der nie mit sowas gearbeitet hat.
Der Inhalt kann genauso korrupt werden wie RAM oder Flash.

Und dann darf man den "Urlader" an der "Konsole" wieder mal
neu eintippen.

Und die "Konsole" ist weiss Gott kein bequemes Terminal.
Sondern so viele Tasten wie das (Maschinen-)Wort breit ist.
Plus eine Increment- und LoescheAlles-Taste.
(Firma: DB1FW) Persönliche Seite #6058041
Lesenswert?

Es macht aber Sinn, auf eine gute Stromversorgung, Blockkondensatoren 
usw. zu achten. Je nach Einsatzgebiet. Ich habe ATMegas auf Booten 
eingesetzt. Dort ist es in der Tat vorgekommen, dass die Programmierung 
kaputt war. Neu flashen und alles ging wieder. Sehr selten, aber es ist 
vorgekommen. Seit ich die Stromversorgung verbessert habe ist das 
Problem weg.

Langzeitstabilität hängt also nicht nur vom Prozessor/Speicher ab.
(Firma: matzetronics) #6058043
Lesenswert?

Herrmann schrieb:
> Also wenn noch jemand Langzeit-Erfahrungswerte dazu hat kann er sie hier
> gerne noch beitragen würde mich interessieren.

Wallas Nautic 40D Dieselheizung mit AT90S2313, Baujahr 1999. Läuft also 
seit 20 Jahren und es war bis jetzt nur eine 1N4005 Diode defekt. Die 
allerdings hatte den merkwürdigsten Defekt, den ich je bei einer Diode 
gesehen habe.
Der kleine MC wird den Aussentemperaturen ausgesetzt und bis auf etwa 
50°C geheizt, wenn die Heizung arbeitet.
(Firma: Vescomp) #6058264
Lesenswert?

Peter D. schrieb:
> Selbst OTP ist Flash, wo die Löschfunktion disabled ist.

 Genau, aber selbst mit PROM wäre ihm nicht geholfen.
 M328 kann nicht mit externem Programmspeicher funktionieren, bzw.
 kann schon, aber nur als Interpreter, d.h. die (mühsam) eingelesenen
 Daten müssen interpretiert werden, wozu wiederum der interne Flash
 benutzt werden muss, was wiederum bedeutet...

 Das ist wieder einmal so eine Frage:
 Ich habe keine Ahnung von Programmieren aber wie kann ich meinen
 Programm vor dem Kopieren schützen...
 Ich habe keine Ahnung von der Hardware aber wie kann ich verhindern,
 dass der uC seine Daten nach 20 Jahren verliert...

Herrmann schrieb:
> ausgehen. Ich weiß den Chip entnehmen und neu bespielen dauert 5 Minuten
> aber das kommt nicht in Frage. Daher... welche Alternativen habe ich da?

 So ein Blödsinn.
 Selbst Kernkraftwerke und Stationen im All werden überholt und Teile
 ausgetauscht, nur bei dir kommt so etwas nicht in Frage...

Herrmann schrieb:
> Sich selbst oder gegenseitig neu flashen würde mir zu aufwändig werden.

 Lol.
 Zeugt wiederum von deinen (unzureichenden) Kenntnissen.
 Einen Bootloader kann man nicht mit bestehendem Bootloader neu flashen,
 es sei denn, du hast den Bootloader selbst geschrieben, aber das
 übersteigt deine Möglichkeiten bei weitem...
Gast #6058293
Lesenswert?

Frank W. schrieb:
> Es macht aber Sinn, auf eine gute Stromversorgung, Blockkondensatoren
> usw. zu achten.

Das stimmt wohl. Den ein µC der Amok läuft, kann unter Umständen seinen 
eigenen Programmspeicher löschen.

EEproms sind noch empfindlicher, die können schon bei einem simplen 
Lesezugriff vergesslich werden, wenn dabei die Spannungsversorgung 
instabil ist.
#6058487
Lesenswert?

Larry schrieb:
> Das kann nur einer schreiben, der nie mit sowas gearbeitet hat.
> Der Inhalt kann genauso korrupt werden wie RAM oder Flash.
Kann mich nicht erinnern, daß sich unser KRS4201 das mal erlaubt hätte,

> Und dann darf man den "Urlader" an der "Konsole" wieder mal
> neu eintippen.
>
> Und die "Konsole" ist weiss Gott kein bequemes Terminal.
> Sondern so viele Tasten wie das (Maschinen-)Wort breit ist.
> Plus eine Increment- und LoescheAlles-Taste.

Ja, aber man konnte das eben noch machen, außerdem kannte unser 
Robotron-Techniker den sowieso auswendig.

War aber praktisch, abends Stop zu drücken und auszuschalten, morgens 
einschalten und Stop wieder rausnehmen und er lief da weiter, wo man am 
Abend zuvor aufgehört hat. :-)

Gruß aus Berlin
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren