mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik EEprom Flash Ram


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen also ichhabe ein Problem mit der Speicherwahl. Was
empfiehlt ihr mir für einen Speicher zu verwenden?

Ich benutze einen PIC 18F452 mit folgenden Speichern:

Flash: 32 Kbytes
RAM: 1536 bytes
Data EEPROM: 256 Bytes

Bei meinem Projekt geht es um eine Türsteuerung mit Zugangscodes

Ich hab folgende 2 Teile die ich in einen Speicher unterbringen muss:

1) Über einen Mastercode(der fest programmiert ist) können neue Codes
hinzugefügt und gelöscht werden. Es wird eine Liste z.B. mit 10
Zugangscodes geben die bei jeder eingabe eines codes überprüft werden
müssen. Die Codes dürfen natürlich nicht flüchtig sein. Welchen
Speicher soll ich da verwenden?

2) Die Türsteuerung beinhaltet einen Real Clock Timer wenn man sich mit
einem Code anmeldet liest der PIC das Datum aus dem RCT verknüpft dies
mit dem Benutzername(Zugangscode) und legt diesen String, oder was auch
immer es dann sein wird in eine Liste ab. Diese Liste beinhaltet immer
die letzten 50 Türöffnungen. Wo soll ich diese Liste anlegen?
Flüchtig/nicht Flüchtig? wie soll ich das mit der Liste lösen? den
speicher immer eins nachschieben und die bei 50 Fallen raus?

Gruss Michael

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Mastercode solltest Du im EEPROM ablegen.

Die Protokollierung der Türöffnungsvorgänge solltest Du im RAM ablegen;
Du musst, wenn diese Daten wichtig sind, dafür sorgen, daß a) der
Prozessor immer mit Spannung versorgt wird, oder b) bei Erkennen eines
Stromausfalls die Liste ins Flash-ROM kopieren. Ins EEPROM passt sie
aufgrund ihrer Größe nicht (50 * (Benutzerkennung + Zeitinformation)).

Die Liste permanent im Flash zu halten und zu aktualisieren ist der
Lebensdauer des Flash abträglich, das wird nur einige tausend
Schreibzyklen überleben (steht im Datenblatt).

Alternative: Externes nichtflüchtiges RAM anschließen;
batteriegepuffert (MK48T08) oder FERAM/MRAM.

Autor: Bartli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wie soll ich das mit der Liste lösen? den
> speicher immer eins nachschieben und die bei 50 Fallen raus?

Mit einem Ringpuffer ?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm das hör ich zum ersten mal kannst du mir sagen was das ist?

Autor: Bartli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Forum / Google nach Ringpuffer, Ringbuffer oder FIFO suchen.

Grob gesagt machst du dir ein Array und merkst dir in zwei Variablen
den  Index des neuesten und des ältesten Eintrags. Beim
Einfügen/Entfernen arbeitest du entsprechend mit diesen Indizes,
anstatt beim Einfügen die ganze Zeit sämtliche Einträge nach hinten zu
kopieren.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen Ringpuffer oder dergleichen sollte man bloß tunlichst nicht im
Flash-ROM unterbringen. ->Lebensdauer.

Und ins EEPROM passt er hier nicht, es sei denn, es wäre möglich, einen
Eintrag (Personenkennung & Zeit) in 5 Bytes unterzubringen.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nee ich mach das ins RAM ich merk nur grad das meine Kentnisse was
String und Array anbelangt nicht gerade soo doll sind um sowas zu
realisieren

Autor: lader (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hello all;
I have to program the flash memeory of msp430f1611 to read from and
write to the flash memeory and i donot know how it could be.
Any help will be appreciated
thanks

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.