Datenlogger für größere Datenmengen

Gast #1741689
Lesenswert?
• ▲
▼
Hallo,

ich habe mehrere Sensoren die Daten liefern welche ich auf einen 
geeigneten Speichermedium in genau der Reihenfolge speichern muß wie die 
daten anfallen.

Es fallen z.Z. ca 2-3kByte pro Sekunde über je ein USART (ATMEGA644p) 
an. Später könnte das auch noch mehr werden.

Zuerst dachte ich an eine Lösung wie sie hier schon oft besprochen 
wurde: Daten über USART in einen ATMEGA... und dann auf eine SD Card 
speichern.

Bei ausgiebigen Tests kam es aber immer wieder zum "verschwinden" von 
daten, d.h. manche  Datensätze wurden nicht gespeichert. Ich habe die 
wirkliche Ursache nicht genau herausfinden können aber ich vermute dass 
es mit der Eigenschaft der SD Cards zusammenhängt, daten manchmal 
verzögert zu übernehmen wenn (SD card-)intern irgenwelche "arbeiten" 
anliegen (wear leveling). Bei GPS Loggern mit einem NMEA Datensatz pro 
Sekunde wird das noch keine Probleme geben.

Hat jemand Erfahrungen beim speichern solcher datenraten auf SD Card? 
Ich weiß dass viele kommerzielle Geräte die karten mit viel höheren 
datenraten beschreiben. Aber dort werden wahrscheinlich größere 
Pufferspeicher eingesetzt die ein nicht kontinuierliches 
Schreibverhalten der Karte von der datenquelle entkoppeln.

Kann mir jemand genaueres zu den Auswirkung des wear leveling 
hinsichtlich einer nicht kontinuierlichen Beschreibbarkeit von SD Cards 
sagen? Ich habe bislang nur Infos zu Sinn und Prinzip von Wear leveling 
gefunden.

Welche andenen Speichermedien außer SD Card gibt es noch, die relativ 
einfach mit ATMEGAs angesteuert werden können?

Danke für Hilfe,
Dude
#1741724
Lesenswert?
• ▲
▼
Es gibt noch CF-Karten. Das Problem (man kann nicht immer kontinuierlich 
schreiben) besteht aber da auch. SD-Karten lassen sich bis zu 250ms 
Zeit, bis sie wieder "da" sind. Du müßtest also bei 2kByte/s ca. 512 
Byte (einen Sektor) zwischenspeichern, das geht noch im Ram vom AVR. 
Ansonsten macht sich als Puffer ein kleiner SPI-Ram ganz gut (DIP8) - 
einfach anzusteuern, 32kByte sind gängig.

Und - Du solltest Deine "Vermutung" natürlich erstmal bestätigen, z.B. 
rote Lampe leuchten lassen, wenn Programm schreiben will und SD-Karte 
nicht schnell genug antwortet..

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.