Hallo,
alle AVR haben ein EEprom, welches man für deine Zwecke verwenden kann,
ein Beispiel war heute schon hier:
https://www.roboternetz.de/phpBB2/ze...=141730#141730
Hallo Leute,
habe mal wieder eine sehr brennende Frage:
In welche Speicher soll ich vom Benutzer gemachte Eingaben (Einstellungen und Parameter) abspeichern?
Die Daten sollen nach dem Ausschalten erhalten bleiben und beim Start wieder ausgelesen werden.
Was nehme ich ad für einen Speicher bei mega32 und mega128?
Wie lange halten die Daten und wie oft können diese überschrieben bzw. geändert werden ohne Speicehrprobleme zu bekommen?
Was gib es für externe Lösungen?
Bausteine?
Wie spreche ich die Teile dann an?
Vielen Dank im Voraus für nützliche Hinweise und etwas Aufklärung!
Grüße an alle
Codejoker
Hallo,
alle AVR haben ein EEprom, welches man für deine Zwecke verwenden kann,
ein Beispiel war heute schon hier:
https://www.roboternetz.de/phpBB2/ze...=141730#141730
Solche Daten kommen ins interne EEPROM, dessen Lebensdauer normalerweise mit 100000 Schreibzyklen angegeben wird.
(normalerweise gehts noch wesentlich öfter, aber die 100k sind von Atmel garantiert)
Wenn man nur wenige Daten speichern will die sich aber evtl. öfter ändern könnten,
lohnt es sich vielleicht sie bei jeder Änderung an einer anderen Stelle im EEPROM abzulegen
(quasi "ringförmig"... wenn das obere Ende erreicht ist werden sie beim nächsten mal wieder ganz unten gespeichert)
Auf die Art kann man die Lebensdauer enorm erhöhen, da nicht nur auf einem kleinen Speicherbereich rumgeritten wird bis er hinüber ist.
(das EEPROM wird also quasi gleichmässig "abgenutzt")
So viele Treppen und so wenig Zeit!
Bei den AVR's werden 100'000 mal angegeben.Wie lange halten die Daten und wie oft können diese überschrieben bzw. geändert werden ohne Speicehrprobleme zu bekommen?
Meist geht aber noch ne ganze Ecke mehr.
Ja ,kein Problem.Die Daten sollen nach dem Ausschalten erhalten bleiben und beim Start wieder ausgelesen werden.
Es gibt reichlich externe EEProms und Flash.Was gib es für externe Lösungen?
Bausteine?
SPI,I2C,andere Schnittstellen.Wie spreche ich die Teile dann an?
I2C ist gängig.
Gibt ne gute Auswahl.
Edit:
Hmm,zu lange getippert
Gruß
Ratber
Hallo Leute,
vielen Dank für die zahlreichen Antworten!
Leider habe ich jetzt „neue“ Fragen mit denen ich Euch nochmals belästigen muss:
1. bezieht sich die 100.000 x auf die Schreiboperation oder auch auf Lesen?
(gibt es bei Lesezugriffe ebenfalls diese „Abnutzung“?)
2. EEProms und Flash – wo ist genau der Unterscheid?
3. Könnt Ihr mir ein paar externe Typen (I2C) nennen damit ich für meine weitere
Suche Anhaltspunkte habe?
Vielen Dank schon mal!
Gruß
Codejoker
Die Angabe bezieht sich nur auf Schreib- bzw. Löschoperationen.Zitat von codejoker
Auslesen kann man ein EEPROM beliebig oft
soweit ich weiss, unterscheiden sich die beiden Varianten aus Anwendersicht nur dadurch,2. EEProms und Flash – wo ist genau der Unterscheid?
daß man bei einem normalen EEPROM auch einzelne Speicherzellen löschen kann, bei einem Flash-EEPROM jedoch nur ganze Sektoren.
So viele Treppen und so wenig Zeit!
zu 2. möchte ich Felixg etwas ergänzen
Es gibt beide in beiden Sorten.
Byte und Seitenweise zu beschreiben/Lesen.
is mehr ne Frage der Technik,Stil,Alter usw.
Wie bei jedem Speicher gibt es auch hier Entwicklungssünden.
Flash bekommt man in Größen die es für EEProms nicht gibt.
Dafür sind Eeproms meist um den Faktor 5 öfter beschreibbar.
Was noch wichtig ist ist der Datenerhalt.
Moderne Flashspeicher halten ohne Saft die Daten für ca. 100 Jahre wärend ein EEprom wieder um den Faktor 2 vorraus sind (Wie gesagt,Moderne)
Ein weiterer Unterschied war das man beim EEProm einfach überschreiben konnte da der Baustein dabei automatisch die Speicherzelle gelöscht hat.
Bei etwas älteren oder billigeren Flashbausteinen muß man selber erst die Zelle löschen bevor man schreib.
Das gilt für viele Modernen Flashbaust. nicht mehr aber die sind noch nicht so populär bei Bastlern wegen des Preises.
Naja,so ungefähr.
Sicher hab ich einiges übersehen denn die Vielfalt auf dem Markt ist nicht mehr zu überschauen und seit Flash auf dem Vormarsch ist versucht die EEProm-Fraktion mit allen Tricks noch nen Blumentopf zu ernten.
Da weiß man nie so genau was es alles gibt.
zu. 3
I2C EEprom gibt es zb. unter der Bez. 24C01 /02 /04 usw. als 8 Bittige
die 93cxx Serie ist 16 Bittig.
usw.
Such bei Google einfach mal unter "I2C EEProm" da wirste genug finden.
Edit: Die schlimmsten Vertipper entfernt
Gruß
Ratber
Aahhhh...
vielen Dank an alle, jetzt wird es schon wieder etwas duchsichtiger!
Gruß
Codejoker
Lesezeichen