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.
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
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.
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
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
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.
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.