-         
RSS-Feed anzeigen

Searcher

Fahrrad Kettenschaltung Schaltgeschwindigkeit messen: viele Daten - schon wieder

Bewerten
Hallo,
bei der Herabsetzung der Abstände der ADC-Messungen von 1ms auf 0,1ms um eine bessere Auflösung bei der Bestimmung Schaltwerkgeschwindigkeit zu erhalten, stoße ich wieder auf altbekannte Probleme. Ich werde die anfallenden Daten nicht schnell genug los.

Im bestehenden Programm fallen zwei Byte für Zeitstempel und ein Byte Meßwert an. Die werden per UART sobald sie gemessen wurden und sich der ADC Wert vom vorhergehenden unterscheidet sozusagen in Realtime an den PC gesendet. Da kommt dann für minimale Formatierung noch ein Semikolon und CR/LF dazu. Also gehen über UART maximal fünf Zeichen für Zeitstempel, ein Zeichen Semikolon, drei Zeichen ADC-Wert und zwei Zeichen CR/LF. Also rund 10 Zeichen, die im ungünstigsten Fall bei jeder Messung übertragen werden müssen. Bei 115200 Baud wird ein Bit in 1s/115200 etwa 8,7µs übertragen. 10 Zeichen mit 10 Bit je Zeichen (8 Bit plus Start- und Stopbit) brauchen 10*10*0,0087ms = 0,87ms. Das kann also bei 0,1ms Meßabstand nicht gut gehen.

Deshalb bin ich wieder auf ein altes "Projekt" zurückgekommen. Die Zwischenspeicherung der Daten in dem externen, über SPI verbundenen AT45DB041B Flashspeicher, der durch zwei abwechselnd beschreibbare Buffer recht schnell ist, aber auch durch einen gewissen Overhead wieder etwas Resourcen braucht. Die Wiederbelebung des alten Programmes hat mich den halben Tag gekostet. Die SPI Assemblerroutinen waren auf einem Mega88 geschrieben und ich bin wegen dem PLL Takt auf einen Tiny861 umgestiegen. Dadurch andere Pinbelegung und durch Steckenlassen des Programmiersteckers für den Tiny auf dem Interface zum Flashspeicher wollten die alten Routinen einfach nicht funktionieren Na gut, nun ist der OUT des Flashspeichers nicht mehr mit dem MOSI zusammengeschaltet und das lästige Stecken und Ziehen des Programmiersteckers umgangen. Der Tiny läuft mit 16MHz über seinen PLL Takt und die Soft-SPI Routine zum Schreiben eines Bytes hat mit gemessenen 1,25MHz Takt zum Flash übertragen.

Trotz seiner zwei abwechselnd beschreibbaren Buffer wird es mit dem AT45DB041B immer noch eng. Ein Buffer faßt 256 + 8 Byte (264Byte). Dann muß der Buffer per Kommando in den eigentlichen Flash geschrieben werden, daß bis zu 20ms dauern kann. Während dieser 20ms (20ms mit Löschen der zu beschreibenden Seite, 14ms ohne Löschen) kann in den zweiten Buffer geschrieben werden. Da ich mal von einer Mindestbewegungsdauer des Fahrradschaltwerks von 200ms ausgehe und alle 0,1ms gemessen wird, fallen also schon 2000Meßwerte an. In den 20ms flashen des einen Buffers können also schon 200 Meßwerte im zweiten Buffer aufgelaufen sein. Wegen der 256Byte Größe ist der Plan nun, bei jeder Messung nur das eine Byte ADC-Wert zu speichern. Der Timestamp ergibt sich durch den 0,1ms Meßabstand und kann bei der anschließenden Offlineübertragung der Meßwerte vom Speicher zum PC, wenn nötig hinzugefügt werden. Weitere Nachbearbeitung zur Datenreduktion kann dann auch noch stattfinden.

Noch 'ne Menge Arbeit, da die alten Routinen für das Flash alle überarbeitet und und neue gescrieben werden müssen. Damals fand mehr oder weniger nur ein quick and dirty Test statt.

Und die ADC-Auslese ISR ist auch noch nicht optimiert. Da wird es bei Aufrufen im Abstand von 0,1ms natürlich auch eng weil von dort ja die Daten schon zum Flash abgeschickt werden sollen.

"Fahrrad Kettenschaltung Schaltgeschwindigkeit messen: viele Daten - schon wieder" bei Twitter speichern "Fahrrad Kettenschaltung Schaltgeschwindigkeit messen: viele Daten - schon wieder" bei Facebook speichern "Fahrrad Kettenschaltung Schaltgeschwindigkeit messen: viele Daten - schon wieder" bei Mister Wong speichern "Fahrrad Kettenschaltung Schaltgeschwindigkeit messen: viele Daten - schon wieder" bei YiGG.de speichern "Fahrrad Kettenschaltung Schaltgeschwindigkeit messen: viele Daten - schon wieder" bei Google speichern "Fahrrad Kettenschaltung Schaltgeschwindigkeit messen: viele Daten - schon wieder" bei del.icio.us speichern "Fahrrad Kettenschaltung Schaltgeschwindigkeit messen: viele Daten - schon wieder" bei Webnews speichern "Fahrrad Kettenschaltung Schaltgeschwindigkeit messen: viele Daten - schon wieder" bei My Yahoo speichern

Stichworte: - Stichworte bearbeiten
Kategorien
Kategorielos

Kommentare