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