Forum: Mikrocontroller und Digitale Elektronik Schnelles abspeichern von Messdaten mit dem PIC


von Georg (Gast)


Lesenswert?

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!

von Chris (Gast)


Lesenswert?

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.

von Georg (Gast)


Lesenswert?

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?

von schris (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.