Forum: Mikrocontroller und Digitale Elektronik Logfile extern abspeichern


von Bernd (Gast)


Lesenswert?

Hi Leute,

ich möchte gern Fehlermeldungen, Warnungen etc. in einem externen 
Logfile abspeichern. Als Prozessor verwende ich den LPC1758 und extern 
hab ich zurzeit nur ein Eeprom angeschlossen. Ein LPC17xx verbraucht ja 
auch eine entsprechende Menge an Strom, so dass wahrscheinlich das

Problem vom Eeprom ist, dass dieses nur eine begrenzte Anzahl an 
Schreibzyklen zulässt, bis die einzelnen Speicherstellen nicht mehr 
programmiert werden können. Natürlich könnte man die anfallenden 
Einträge während des Betriebs zuerst im RAM zwischenspeichern, aber wenn 
ein plötzlicher Stromausfall kommt, sind diese weg und nirgends 
abgespeichert.

Platz für eine externe Speicherkarte (SD-Karte etc.) hab ich leider 
nicht. Ich könnte noch einen IC wie ein Dataflash platzieren; dieses 
verkraftet noch eine höhere Anzahl an Schreibzyklen. Welcher Speicher 
wird in einer SD oder MMC Karte verwendet? Ist das ein NOR-Flash?

Gibt es noch weitere Alternativen?

Gruß
Bernd

von Falk B. (falk)


Lesenswert?


von Bernd (Gast)


Lesenswert?

Falk Brunner schrieb:
> 
https://www.mikrocontroller.net/articles/Speicher#EEPROM_Schreibzugriffe_minimieren

das Problem ist, meine Eingangsspannung ist 5V und der Prozessor läuft 
mit 3V3. Seine Mindestspannung beträgt 2.7V. Schreibgeschwindigkeit zum 
Eeprom beträgt 400kHz. Pro Logeintrag müssen 16 Byte gespeichert werden; 
wenn ich von 8 Einträgen ausgehe wären das 128 Byte.

Anzahl an Bytes zu schreiben(lesen): 128Byte + 1Byte(Addr) + 
2Byte(RegAddr) + 128Byte(ACK) + 3Bytes(ACK) = 262Bytes -> 2096 Bits

-> t = 1/400kHz * 2096Bits = 5.24ms

C = i * t / V = (60mA * 5.24ms)/(5V-2.7V) = 137µF

könnte man sogar mit so einem Pufferkondensator realisieren.... kann ich 
hiefür einen Tantal verwenden sollte man lieber ELkos verwenden?

von Falk B. (falk)


Lesenswert?

@ Bernd (Gast)

>-> t = 1/400kHz * 2096Bits = 5.24ms

Das ist die reine ÜBERTRAGUNGSZEIT. Der EEPROM braucht auch noch Zeit 
zum schreiben der 128 Byte. Typisch sind ca. 5ms / Page a 16-32 Byte.

>C = i * t / V = (60mA * 5.24ms)/(5V-2.7V) = 137µF

Läuft der EEPROM auch noch solide mit 2,7V?

>könnte man sogar mit so einem Pufferkondensator realisieren.... kann ich
>hiefür einen Tantal verwenden sollte man lieber ELkos verwenden?

Ein Tantal IST ein Elektrolytkondensator. Was du meinst ist ein 
Aluminiumelektrolytkondensator. Tantal ist OK, Alu auch. Aber duch 
brauchst DEUTLICH mehr Puffer. Vielleicht ist FRAM was für dich, denn 
kann man nahezu beliegbig oft beschreiben. Oder du speicherst deine LOGs 
immer sofort mit cleverer Strategie, sodass weniger Schreibzyklen 
anfallen.

von Bernd (Gast)


Lesenswert?

Falk Brunner schrieb:
> mit cleverer Strategie, sodass weniger Schreibzyklen
> anfallen.

mit cleverer Strategie meinst du, dass die Logs in einer Liste 
gespeichert werden, so dass z.B. jede Speicherzelle nur alle 
x-Logeinträge beschrieben werden muss.

Falk Brunner schrieb:
> Vielleicht ist FRAM was für dich, denn kann man nahezu beliegbig oft
> beschreiben.

wird ab einer bestimmten Größe sehr teuer und ist nur noch als BGA zu 
haben.

von Falk B. (falk)


Lesenswert?

@ Bernd (Gast)

>mit cleverer Strategie meinst du, dass die Logs in einer Liste
>gespeichert werden, so dass z.B. jede Speicherzelle nur alle
>x-Logeinträge beschrieben werden muss.

Sowas in der Art.

>wird ab einer bestimmten Größe sehr teuer und ist nur noch als BGA zu
>haben.

Welcher Stratege hat denn so einen Bockmist verzapft?

http://www.youtube.com/watch?v=monjMGwDAcE&t=3m40s

;-)

von Falk B. (falk)


Lesenswert?


von Bernd (Gast)


Lesenswert?

hab bereits welche von Cypress gefunden, die auch gut verfügbar sind. 
Werd ich wohl einsetzen und gleich das Eeprom komplett rausnehmen.

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
Noch kein Account? Hier anmelden.