mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Speicheroptimierung Daten Logger


Autor: Karl Kanpp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich moechte einen Mikroprozessor als Datenlogger einsetzen. Da die Daten 
nicht regelmaessig anfallen, muessen die folgenden Daten gespeichert 
werden: Jahr, Monat, Tag, Stunde, Minute, Sekunde, und zwei positive 
oder negative Dezimalzahlen des Formates "-0000.000". Die Daten sollen 
in Bloecken gleicher Laenge gespeichert werden. Die Blocklaenge sollte 
24 Byte nicht ueberschreiten. Ueber Hinweise und Vorschlaege waere ich 
dankbar.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

und das Problem wäre?

2 Byte Jahr
1 Byte Monat
1 Byte Tag
1 Byte Stunde
1 Byte Minute
1 Byte Sekunde
2*4 Byte long-Zahl -> Fixkomma-Wert

Macht zusammen 15 Byte an denen man noch was einsparen kann wenn man 
z.B. Monat und Tag in ein Byte bringt.

Matthias

Autor: Frankl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1 Byte Jahr    0-255 Jahre sollte reichen
1 Byte Monat   ok
1 Byte Tag     ok
1 Byte Stunde  ok
1 Byte Minute  ok
1 Byte Sekunde ok
2*4 Byte long-Zahl -> Fixkomma-Wert

Macht zusammen 14 Byte an denen man noch was einsparen kann wenn man 
z.B. Monat und Tag in ein Byte bringt.

Autor: Thomas Fischl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

man könnte evtl. auch den Zeitabstand zwischen den einzelnen Messungen 
mit abspeichern.

1/2 Byte Abstand in Sekunden zum vorhergehenden Wert
2*4 Byte long-Zahl -> Fixkomma-Wert

=>max. 10 Byte

Thomas

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Herr Kanpp,
um Speicher zu sparen würde ich den Speicherablauf entsprechend 
organisieren. Jahr und Monat nur immer am Anfang eines neuen 
Zeitfensters abspeichern. Das Gleiche für Tag und Stunde,den Rest je 
nach Abtastrate.
Wenn Sie sich Zeitmarken setzen können Sie auch hohe Abtastraten fahren 
und speichern nur immer dann etwas wenn eine (vorgebbare) Änderung 
eingetreten ist. Wenn nicht allzuviel Speicher benötigt wird, ist in 
störanfälliger Umgebung (Motorsteuerungen, Wechselrichter usw.) ein FRAM 
wesentlich sicherer als EEPROM da das Zeitfenster (Störmöglichkeit beim 
Beschreiben des Speichers) nur einen Bruchteil dessen ausmacht. Auch bei 
den entsprechenden Mikrokontrollern gibt es wohl in Bezug auf die 
Robustheit im Einsatz große Unterschiede. Mit dem 68HC11E2 und dem 
PIC16F84 habe ich sehr gute Erfahrungen in diesem Zusammenhang gemacht.
Ihre Angaben sind allerdings nicht detailliert genug um ein umfassendes 
Konzept zu entwerfen.

MfG  Manfred Glahe

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zum Thema Zeitstempel:
Du könntest die einen beliebigen Nullpunkt setzen (sagen wir mal 
1.1.2000 0.00) und die Anzahl der seit dem vergangenen Sekunden 
übertragen. Mit einer long-Zahl (4byte) kämst du immerhin auf 136 Jahre.
Für die Daten könntest du ein 3byte-Format wählen, +/- ca. 8.3 Mio, den 
Dez.punkt brauchst du nicht zu speichern (kannst du bei der Auswertung 
wieder hinzufügen).
Mit 10 byte könntest du also den gesamten frame unterbringen. Ich 
persönlich würde einen 16-byte-frame wählen, da kannst du noch weitere 
Informationen unterbringen (Status/Alarmmeldungen und evtl. ein 
CRC-Byte), irgendwas kommt meist noch nach.

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.