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
Wie immer kommt drauf an. Meistens 1000-100000 mal.
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.
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.
ok alles klar! VIELEN dank für die zahlreichen Entwarnungen!
Ansonsten halt beim Flashen immer auch einen Verifizierungslauf machen. Wenn die Daten nicht mehr stimmen, kann man ja wechseln.
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.
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.
PS: Wäre in der Tat eine Idee, in das Programmiergerät Zähler einzubauen, die neueren AVR8 haben ja eine Device-ID.
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.
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
> 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.
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.
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.
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.
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...
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.