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
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.
> wie soll ich das mit der Liste lösen? den > speicher immer eins nachschieben und die bei 50 Fallen raus? Mit einem Ringpuffer ?
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.
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.
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
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
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.