PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : In welchen Speicherbereich Eingaben ablegen (Dauerhaft)??



codejoker
20.12.2005, 23:56
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

linux_80
21.12.2005, 00:04
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/zeigebeitrag.php?p=141730#141730

Felix G
21.12.2005, 00:11
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")

Ratber
21.12.2005, 00:14
Wie lange halten die Daten und wie oft können diese überschrieben bzw. geändert werden ohne Speicehrprobleme zu bekommen?

Bei den AVR's werden 100'000 mal angegeben.
Meist geht aber noch ne ganze Ecke mehr.



Die Daten sollen nach dem Ausschalten erhalten bleiben und beim Start wieder ausgelesen werden.

Ja ,kein Problem.


Was gib es für externe Lösungen?
Bausteine?

Es gibt reichlich externe EEProms und Flash.



Wie spreche ich die Teile dann an?

SPI,I2C,andere Schnittstellen.
I2C ist gängig.
Gibt ne gute Auswahl.


Edit:
Hmm,zu lange getippert

codejoker
22.12.2005, 02:01
Hallo Leute,

vielen Dank für die zahlreichen Antworten! O:)

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

Felix G
22.12.2005, 03:04
1. bezieht sich die 100.000 x auf die Schreiboperation oder auch auf Lesen?
(gibt es bei Lesezugriffe ebenfalls diese „Abnutzung“?)Die Angabe bezieht sich nur auf Schreib- bzw. Löschoperationen.
Auslesen kann man ein EEPROM beliebig oft


2. EEProms und Flash – wo ist genau der Unterscheid?soweit ich weiss, unterscheiden sich die beiden Varianten aus Anwendersicht nur dadurch,
daß man bei einem normalen EEPROM auch einzelne Speicherzellen löschen kann, bei einem Flash-EEPROM jedoch nur ganze Sektoren.

Ratber
22.12.2005, 04:17
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

codejoker
22.12.2005, 12:38
Aahhhh...

vielen Dank an alle, jetzt wird es schon wieder etwas duchsichtiger! ;)

Gruß
Codejoker