allgemeine Frage Programmierhäufigkeit

Oskar01

Mitglied
24. März 2008
267
0
16
Köln
Sprachen
  1. Assembler
Hallo,
nachdem es mir doch tatsächlich gelungen ist, beim ATTiny2313 auch auf das eseg zuzugreifen, kommt die bange Frage, wie oft kann man in das EEPROM schreiben?

In Der Dokumentation ist von über 100000 Schreibzyklen die Rede.
Da ich in der "Digitaluhr" nunmehr jede Minute die Zeit-Register auf das
eseg retten will, ist der Chip dann doch ziemlich schnell auf Zählerstand 100000.

Wer kann da Entwarnung geben?


Danke schon mal.

Gruß
von Oskar01
 
Hi Oscar,
In Der Dokumentation ist von über 100000 Schreibzyklen die Rede....
...Wer kann da Entwarnung geben?

Schade :( nix mit Entwarnung! In der Praxis wird das EEPROM wohl einige Schreibzugriffe mehr vertragen, aber im Prinzip sollte man sich schon daran orientieren.

Evtl. Abhilfe für Deine Anwendung:
Die Uhrzeit nur wegschreiben wenn wirklich notwendig, d.h. vor einem HW-Reset. Dazu Vcc z.B. mit Hilfe des Analog Komperators überwachen und dann kurz vor dem abnippeln (im ANALOG COMP Interrupt) die Uhrzeit wegschreiben.

Die Spgs-Versorgung muß natürlich noch lange genug stabil sein damit der EEPROM Zugriff abgeschlossen werden kann bevor gar nix mehr geht (siehe auch Brown-Out Detection).

Wenn man sicher gehen will, benötigt man noch einen entsprechenden Stütz-Kondensator.
Da ein Erase/Write Zugriff lt. Datenblatt ~3,4ms benötigt kann man den Kondensator berechnen. Die Kapazität ist dann noch abhängig von der gewünschten Spgs-Schwelle und Stromaufnahme der Gesamtschaltung (C=I*t/U)

Gruß
rangar
 
Hallo Oscar,

leider kann ich Rangar hier nur zustimmen. Ich hatte in meiner beruflichen Laufbahn leider auch schon mal in einem "Produkt" einen Fehler welcher dazu geführt hat, dass "sekündlich" in ein EEPROM und NAND-Flash geschrieben wurde. Mit dem Erfolg, dass die Speicherzellen nach endlicher Zeit definitv zerstört wurden.

Wann das genau eintritt kann niemand genau sagen. In Versuchen konnten wir sogar 1.000.000 Schreiben (also Faktor 100 mehr) und es ist nix passiert aber genau weiß man es halt nicht.

Ich habe mir für mein Projekt z.B. ein externes EEPROM ausgesucht bei dem ich schon von Herstellerangabe her 1 Mio. mal schreiben kann.

Aber mit zyklischen Schreibzugriffen auf solche HW Bauelemente sollte man immer vorsichtige sein und auf jeden Fall auf die Herstellerangaben hören.
 
Hallo @Markus, @rangar,
erstmal danke für die Tips.
Zunächst dachte ich nämlich, daß die "Programmierhäufigkeit" ausschließlich auf das "Flashen" des "eep"-Files Bezug nahm.
OK. Es hat bei mir etwas gedauert, bis ich merkte, daß nicht noch ein weiteres File mit der Endung *.hex in das EEPROM-Programmier-Feld reinkommen muß, sondern das File mit Endung *.eep in einem zweiten Programmiervorgang nach Öffnen der Programmiermaske.
Das File mit Endung *.hex stand nämlich schon standardmäßig in der entsprechenden Maske drin, Datei mit Endung *.eep mußte nur noch per Explorerfensterchen richtig rausgesucht werden. Da kommt dann sonst "natürlich" eine Fehlermeldung.
OK. Diese "Hürde" ist also erst einmal genommen.
Off topic:
Nochmals gute Besserung an @Markus, in Süddeutschland ist die "euthyreote Struma" weiter verbreitet, als man denkt. Das liegt - da wir früher auch im Bereiche der Trinkwasserversorgung der Schwäbischen Alb wohnten, weiß ich das noch - am jodarmen Trinkwasser. Ja, man hat sogar in der Schule das damals thematisiert und den Müttern jodhaltiges Salz zum Kochen wärmstens empfohlen.

Nochmals gute Besserung und dankeschön.


Gruß von Oskar01
 
Also, ich wollt hier nur darlegen, welche Daten ich im EEPROM ablegen würde...
- -- Konstanten, also Daten die sich grundsätzlich nicht änderen, die ein Controller braucht.. Z.B. eine "Trigonometrische Tabelle (sinus)" oder andere Konstanten, PI.. z.B. , Meinen Namen, oder adresse..

aktuelle Zeit gehört ins RAM, da sie dauernd aktualliesiert werden mus...
--Eine Uhr muss dauernd aktualiesiert werden, also sind die "Variablen" im RAM zu speichern...Die Software, welche die zeit aktualisiert, kann im EEPROM liegen, wenn sie von dort ausgeführt (oder aktualiesiert) werden ksnn..

-- Die Masken einer LCD-Anzeige können ebenfalls im EEPROM abgelegt werden, da sie nur "gelegentlich" geändert werden, nicht dauernd aktualisiert werden müssen ...
.. Routinen für "Flash-Updates" können ebenfalls im EEPROM abgelegt werden, falls das vorgesehen ist.....

Wolfgang
 
Hi Wolfgang,

Also, ich wollt hier nur darlegen, welche Daten ich im EEPROM ablegen würde...
- -- Konstanten, also Daten die sich grundsätzlich nicht änderen, die ein Controller braucht.. Z.B. eine "Trigonometrische Tabelle (sinus)" oder andere Konstanten, PI.. z.B. , Meinen Namen, oder adresse..
Konstanten würde ich ins Flash packen. Ich glaub nicht das sich PI nochmal
irgendwann ändern wird :D Und der Atmel kann neben dem Programm auch
Daten/Tabellen aus dem Flash laden.

aktuelle Zeit gehört ins RAM, da sie dauernd aktualliesiert werden mus...
--Eine Uhr muss dauernd aktualiesiert werden, also sind die "Variablen" im RAM zu speichern...Die Software, welche die zeit aktualisiert, kann im EEPROM liegen, wenn sie von dort ausgeführt (oder aktualiesiert) werden ksnn..
Kann sie nicht. Da der Atmel aus dem EEPROM keine ausführbaren Programme
laden kann.

-- Die Masken einer LCD-Anzeige können ebenfalls im EEPROM abgelegt werden, da sie nur "gelegentlich" geändert werden, nicht dauernd aktualisiert werden müssen ...
Das würde ich befürworten weil man auf die Art und Weise sehr schnell eine
Sprachanpassung machen kann (DE/US/EN/...). Daneben gehören auch
Kallibrierdaten ins EEPROM weil man die normalerweise nur ab und zu mal
ändert und sie sonst nur gelesen werden.

.. Routinen für "Flash-Updates" können ebenfalls im EEPROM abgelegt werden, falls das vorgesehen ist.....
Das EEPROM kann beim Atmel lediglich Daten und keinen Programmcode
enthalten. Programme stehen im Flash. Ein Flash-Updater oder auch
Boot-Loader steht auch im Flash aber in einem besonderen Bereich weiter
oben in den Adressen.

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)