Forum: Mikrocontroller und Digitale Elektronik Woran kann man erkennen wie DRUCHGESCHREIBEN ein Controller schon ist?


von DAVID B. (bastler-david)


Lesenswert?

Hallo
Die atmega Controller setzte ich sehr Gerne ein.
Habe einige Broads auf welchen ich erstmal teste bis alles so weit läuft 
wie gewünscht.
dabei kann der Programmspeicher des Test Broad schon ein paar hundertmal 
neu beschreiben werden.
Und dabei kam mir die Frage kann man irgendwie erkennen, dass der 
Speicher langsam durchgeschrieben ist?

Wird das schreiben dann vielleicht langsamer ?

Vielen Dank.

: Bearbeitet durch User
von Jonas B. (jibi)


Lesenswert?

Wie immer kommt drauf an. Meistens 1000-100000 mal.

von Gerhard O. (gerhard_)


Lesenswert?

Atmel gibt z.B. 10K+ Zyklen an. Da sind aber mindestens um Faktor 10 
Sicherheit bei Zimmertemperatur eingebaut. Schätzungsweise wirst Du 
mindestens 100K+ Dein Programm drauf flashen können. Die Begrenzungen 
sind bei hohen Temperaturen akuter. Bei Zimmertemperatur ist der 
Verschleiß weniger ausgeprägt.

Ich testete mal das EEPROM eines PICs der mit 1M spezifiziert ist und 
konnte ihn 14M beschreiben bis Fehler auftraten. Interessanterweise 
waren ein paar nächstgelegenen Zellen auch davon betroffen. Allerdings 
muß nan realistischerweise davon ausgehen, daß das EEPROM degradiert ist 
und man sich nicht darauf verlassen sollte.

FLASH kann man so sehen, daß beim Schreiben, ähnlich wie bei 
Bremsbeläge, jedesmal "Substanz" verloren geht, bis zum Zeitpunkt wo es 
nicht mehr zuverlässig funktioniert.

Die Moral von der Gschicht, beschreibe FLASH nicht unnötig oder noch 
schlimmer, regelmässig beim Programm Durchlauf.

Viele der alten PICs waren beständiger als vergleichbare AVRs. Die neuen 
uC scheinen auch allgemein kleiner Zyklennummern zu verkraften.

Ich glaube nicht, daß du den uC so schnell "ausnudeln" kannst. Ist mir 
noch nicht passiert. Allerdings verwende ich häufig geflashte 
Entwicklungsbords nicht für Geräte. Da ist es besser, Fabrikneue 
Controller einzusetzen.

Muß man eben praktisch sehen.

von Stefan F. (Gast)


Lesenswert?

Ich habe mal bei Lego gefragt, ob das so eine kluge Idee ist, dass der 
Flash Speicher des NXT nicht austauschbar ist. Sei meinten: Kein Problem 
darauf geben sie lebenslange Garantie. Wenn ich es schaffe, ihn zu 
verschleißen, bekomme einen neuen, mit Schleifchen drum und persönlicher 
Widmung.

Die sind sich wohl ziemlich sicher, dass das nur selten vorkommt. Aber 
die Antwort fand ich trotzdem cool.

von DAVID B. (bastler-david)


Lesenswert?

ok alles klar!
VIELEN dank für die zahlreichen Entwarnungen!

von Rolf M. (rmagnus)


Lesenswert?

Ansonsten halt beim Flashen immer auch einen Verifizierungslauf machen. 
Wenn die Daten nicht mehr stimmen, kann man ja wechseln.

von Einer K. (Gast)


Lesenswert?

DAVID B. schrieb:
> Und dabei kam mir die Frage kann man irgendwie erkennen, dass der
> Speicher langsam durchgeschrieben ist?
>
> Wird das schreiben dann vielleicht langsamer ?
Nein!
und
Nein!

Gerhard O. schrieb:
> Allerdings verwende ich häufig geflashte
> Entwicklungsbords nicht für Geräte. Da ist es besser, Fabrikneue
> Controller einzusetzen.
Ja!

Gerhard O. schrieb:
> Ist mir noch nicht passiert.
Einer, mit verify Fehlern.
Ursache unbekannt, Zyklenzahl keinesfalls überschritten.

von S. Landolt (Gast)


Lesenswert?

Nur am Rande: nachdem hier die Unsitte, nur klein zu schreiben, 
dankenswerterweise auf ein Minimum zurückgegangen ist, sollte man nicht 
ins Gegenteil verfallen, DAVID.
  Und ja, bis ein Controller DRUCHGESCHREIBEN ist, das dauert.

von S. Landolt (Gast)


Lesenswert?

PS:
Wäre in der Tat eine Idee, in das Programmiergerät Zähler einzubauen, 
die neueren AVR8 haben ja eine Device-ID.

von Stefan F. (Gast)


Lesenswert?

S. Landolt schrieb:
> Wäre in der Tat eine Idee, in das Programmiergerät Zähler einzubauen,

Es wäre eine nutzlose Idee, weil du auch damit nicht vorher sagen 
kannst, wann der Chip verschlissen sein wird.

von 100Ω W. (tr0ll) Benutzerseite


Lesenswert?

Stefan ⛄ F. schrieb:
> S. Landolt schrieb:
>> Wäre in der Tat eine Idee, in das Programmiergerät Zähler einzubauen,
>
> Es wäre eine nutzlose Idee, weil du auch damit nicht vorher sagen
> kannst, wann der Chip verschlissen sein wird.

Und mit mehreren Programmern dürfte das auch spaßig werden die Werte zu 
synchronisieren.

: Bearbeitet durch User
von S. Landolt (Gast)


Lesenswert?

> Chip verschlissen
Das meinte ich auch nicht, sondern um einen konkreten Wert für die 
Anzahl zu bekommen. Bei einigen alten Controllern hier könnte ich jetzt 
nicht sagen, waren es einige hundert Mal oder doch gar über tausend.
  Und ich arbeite nur mit zwei Programmiergeräten, wobei ich das ältere 
schon fast nicht mehr nutze.

von Flip B. (frickelfreak)


Lesenswert?

wichtig, der flash geht normalerweise nicht katastrophal kaputt, sondern 
die lamgzeit haltbarkeit der daten verringert sich mit jedem 
schreibvorgang, er wird also langzeit-vergesslich. Das ist also nicht 
vorhersehbar.

von Ingo W. (uebrig) Benutzerseite


Lesenswert?

100Ω W. schrieb:
> Und mit mehreren Programmern dürfte das auch spaßig werden die Werte zu
> synchronisieren.

Wenn das Programm den Flash nicht bis zu den letzten beiden Bytes (gehe 
mal von einem 16-Bit Zähler aus) ausfüllt, könnte der Programmer die 
vorher auslesen, inkrementieren und mit dem neuen Programm zusammen 
zurückschreiben.
Glaube mich erinnern zu können, dass der AVRDUDE so etwas mal drin 
gehabt haben sollte - hab es aber selbst nie genutzt.

von M. K. (sylaina)


Lesenswert?

Ingo W. schrieb:
> Glaube mich erinnern zu können, dass der AVRDUDE so etwas mal drin
> gehabt haben sollte - hab es aber selbst nie genutzt.

Kann man bei AVRDUDE, meine ich, immer noch nutzen. Das die beiden 
letzten Bytes im Flash wurden dafür benutzt...glaube ich. Ich hab es 
auch nie benutzt. Für fertige Geräte wird immer ein neuer Chip benutzt 
und wenn es bei einem Test-/Entwicklungsboard mal ein Problem 
diesbezüglich gibt kann man da immer noch den Chip austauschen.

von Bauform B. (bauformb)


Lesenswert?

Wer einen 1000 mal geflashten Chip hat, kann den ja mal heiß machen oder 
tiefkühlen und an den Grenzen der Versorgungsspannung testen. Bei 
solchen Bedingungen müssten abgenutzte Bits eher Fehler machen. Rund um 
die Flash-Zelle geht es doch ziemlich analog zu.

Mit größeren Chips kann man seine Programme auch im RAM testen. Mit den 
Cortex-M4 funktioniert das wunderbar. Mit AVR geht es wohl aus Prinzip 
nicht, aber was ist mit den Cortex-M0? Ein Gerücht sagt, dass es nicht 
gehen kann, aber trotzdem tut...

von Kurt (Gast)


Lesenswert?

Was willst du da groß rechnen, oder messen??? Viel zu aufwändig,
und damit auch für das Privat-/Hobby-Feld viel zu teuer.

Ein großer Feind erfolgreichen Arbeitens ist GEIZ AN DER FALSCHEN
STELLE! (Ein aktuelles Beispiel wäre die EU-Impfstoffbeschaffung...)

Für die Entwicklung kannst du ein gekennzeichnetes Exemplar
für ein Projekt nach dem anderen benutzen, bis das Verify des
Flash-Speichers nach der Programmierung sagt: Dieses Exemplar ist
hinüber.

Für genutzte Aufbauten nimmst du ein frisches Exemplar und spielst
auch mal eine neue Programmversion ein - und optimierst die vielleicht
noch mit 1...100 (oder auch 1000...) Schreibvorgängen.

Du brauchst also 1...3 Exemplare mehr vom jeweiligen atmega-µC,
als du davon verbauen willst.
Macht dich um 2...30 EU ärmer, aber erspart JEDE MENGE Ärger.

von MaWin (Gast)


Lesenswert?

Kurt schrieb:
> aber erspart JEDE MENGE Ärger.

Ich habe mich noch nie darum gekümmert, wie viele Schreibzyklen ein 
Controller hat. Kein einziger war jemals kaputt.

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.