Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller Nicht-flüchtig programmieren


von Herrmann (Gast)


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

von Dergute W. (derguteweka)


Lesenswert?

Herrmann schrieb:
> welche Alternativen habe ich da?

Mechanische Rechner.

Gruss
WK

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Nehme einen PROM Speicher. Den programmiert man einmalig und kann man 
nicht löschen. Und einen µC der keinen Flash hat.

... und verwende keine Elkos.

von Werner P. (werner4096)


Lesenswert?

Herrmann schrieb:
> Ich befüchte

nicht befürchten. Datenblatt lesen.

von Dyson (Gast)


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.

von Jemand (Gast)


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

von talvisota (Gast)


Lesenswert?

Zwei MCUs im Design vorsehen. Nach abgelaufener Zeit flashen die MCUs 
sich gegenseitig. Nebenbei kann man den Normalbetrieb mit der Redundanz 
der zweiten MCU absichern.

von Herrmann (Gast)


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

von Dyson (Gast)


Lesenswert?

Wie kommst du mit deinen Kenntnissen eigentlich auf die Idee, daß deine 
Schaltungen überhaupt funktionieren werden und falls doch, daß sie 
länger als ein paar Tage halten werden?

von Herrmann (Gast)


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

von Alter Sack (Gast)


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.

von Franz M. (elmo64)


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.

: Bearbeitet durch User
von marais (Gast)


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.

von Herrmann (Gast)


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.

von Larry (Gast)


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!

von Larry (Gast)


Lesenswert?

P.S.:

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

von Stefan H. (Firma: dm2sh) (stefan_helmert)


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."

von Karl K. (karl2go)


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.

Dann solltest du langsam mal lernen Datenblätter zu lesen:

Data retention: 20 years at 85°C/100 years at 25°C

Dass der AVR sein Programm verliert ist dein kleinstes Problem.

von Franz M. (elmo64)


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?

: Bearbeitet durch User
von Roman (Gast)


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!

von Wolfgang (Gast)


Lesenswert?

Herrmann schrieb:
> Mir einen Chip auf den Tisch
> legen und mal eben 10 - 20 Jahre warten wäre schwierig.

Die Zeit haben auch die Hersteller nicht. Dort wird mit verschärften 
Umgebungsbedingungen getestet und dann für moderatere Bedingungen runter 
skaliert.

von Peter D. (peda)


Lesenswert?

Es werden praktisch keine Geräte mehr mit PROM hergestellt, alle laufen 
mit Flash.
Selbst OTP ist Flash, wo die Löschfunktion disabled ist.

von Michael U. (amiga)


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

von Gerhard (Gast)


Angehängte Dateien:

Lesenswert?

Aus dem Datenblatt des ATMEGA328:
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.
Und das reicht Dir nicht???

Gerhard

von Jens (Gast)


Lesenswert?

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

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

von Larry (Gast)


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.

von Stefan F. (Gast)


Lesenswert?

Das einzige mal, als bei mir ein Flash Speicher seine Daten verlor, war 
Ende der 90er Jahre bei einem Modem. Ich denke, dass man sich heute 
nicht mehr darum sorgen muss.

von Frank W. (Firma: DB1FW) (frankw) Benutzerseite


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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


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.

: Bearbeitet durch User
von m.n. (Gast)


Lesenswert?

Matthias S. schrieb:
> Wallas Nautic 40D Dieselheizung mit AT90S2313, Baujahr 1999.

Bei mir ist es ein Kodeschloß an der Gartentür mit gleichem µC, was auch 
schon seit 20 Jahren läuft.
Wo es öfter Ausfälle gab, das waren EPROMs. Da ging das ganze Gerät nach 
10 - 15 Jahren garnicht mehr.

von Marc V. (Firma: Vescomp) (logarithmus)


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...

: Bearbeitet durch User
von Stefan F. (Gast)


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.

von Frank B. (frank501)


Lesenswert?

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

Nee.
Echte Kerle bauen ihren PROM aus einzelnen Dioden auf.

von Michael U. (amiga)


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

von Christian M. (Gast)


Lesenswert?

Marc V. schrieb:
> Selbst Kernkraftwerke und Stationen im All werden überholt und Teile
>  ausgetauscht, nur bei dir kommt so etwas nicht in Frage...

Er macht wahrscheinlich eine interstellare Raumsonde...

Gruss Chregu

von Guest (Gast)


Angehängte Dateien:

Lesenswert?

Core Rope Speicher, damit sind sie mit der Apollo zum Mond geflogen das 
sollte reichen.

von Nosnibor (Gast)


Lesenswert?

Guest schrieb:
> Core Rope Speicher, damit sind sie mit der Apollo zum Mond geflogen

Schlechtes Beispiel. Mit der Mondfliegerei war es nach kaum vier Jahren 
vorbei, und man hat es seit dem nicht wieder hinbekommen. Woran das wohl 
liegt?   ;)

von pnp (Gast)


Lesenswert?

Nosnibor schrieb:
> Woran das wohl liegt?   ;)

Das wirst du uns in deiner unendlichen Weisheit bestimmt gleich 
verraten.

von Guest (Gast)


Lesenswert?

Nosnibor schrieb:
> Woran das wohl liegt?   ;)

Auf jeden Fall mal nicht daran daß das Programm aus dem Speicher 
verschwunden ist :D

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.