Hallo Leute, ich möchte Messwerte von einem Beschleunigungssensor (3-Achsen) alle 50ms auf eine SD-Karte o.ä. speichern. Hat da schon einer Erfahrungen gemacht? Ist das überhaupt möglich oder ist ne SD-Karte viel zu langsam? Kann bzw. muss man da einen Buffer verwenden? (Flashspeicher) Was empfehlt Ihr mir? Danke für Eure Hilfe Georg Ich habe übrigens den MikroC-Compiler da gibt es ne Bibliothek für SD bzw. MMC!
Das geht problemlos, mache dasselbe von 4x gyro, 3x accel (1-6g), 2x accel (high G), 3x Magnetometer, 2x Inclinometer, 1x Vibrationssensor, 3x Luftdruck bei 50 Herz. Inkl GPS Timestamp usw sind das 64 Bytes je 20ms, und werden in Blöcken zu 256 oder 512 geschrieben, das dauert ca 3ms-12ms, wobei die 12ms worst-case sind. Im micro habe ich je zwei buffer zu 64 Bytes, welche von den Sensoren gefüllt werden, das weitere Buffering macht die SD-Karte. Theoretisch würde es auch nur mit einem Buffer im Micro gehen, bin aber lieber auf der sicheren Seite.
Danke für die Antwort. Wie genau machst Du das Buffering auf der SD-Karte? Verwendest Du irgend eine Bibliothek für die Ansteuerung der SD-Karte, oder machst Du das ganze direkt über SPI?
Die Karten haben einen internen Buffer, da sie nur Blockweise schreiben können. Die Buffergröße kann man auslesen, und bei einigen Karten auch einstellen, und hängt ev. auch von der Formatierung ab. Ja, ich verwende eine selbstgeschriebenen Biblothek, da ich ein Flat-File verwende, und mir so die Fat Verwaltung spare, und gleichzeitig trotzdem FAT kompatibel bin. Die Karte muß halt vorher entsprechend vorbereitet werden, ist aber keine Problem.
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.