Übertragungszeiten bei der IR FB
von
am 30.06.2013 um 14:58 (2131 Hits)
Habe inzwischen die Verbindung zwischen IR-Empfänger µC und Motorcontroller von 6 auf 3 Adern reduziert. Eine Datenleitung, auf der pro RC5 Empfang 12 Bits seriell übertragen werden. Die beiden anderen Adern signalisieren: "Bit auf Datenleitung" und "Bit gelesen". Damit werden die 12Bit in ca. 30µs übertragen und spart µC Anschlüsse - Einsatz von ATtiny25 statt ATtiny24 als Empfänger µC vorgesehen. Die Sende- und Empfangsroutinen dazu sind in Inline ASM geschrieben.
ASM wäre nicht unbedingt notwendig gewesen, wie einige Zeitmessungen gezeigt haben. Es kommt vor, daß der Motorkontroller bis zu 400µs braucht, um das erste Bit in seiner Hauptschleife zu lesen. Danach geht die Übertragung schnell und kann nur von den beiden Motorsteuerungsinterrupts unterbrochen werden. Wenn es dumm läuft und beide Interrups hintereinander liegen, maximal für 60µs. TWI, SPI oder sonstige HW Unterstützung hab ich nicht ausprobiert - war mir wg. der Slave Funktionen zu langwierig mich da einzuarbeiten.
Nach Vorliegen der Daten am RC5 Empfänger dauert es also maximal 0,5ms, bis die Daten im Motorkontroller verarbeitet werden können. Ist nichts im Vergleich zu dem, was vorher an Zeit vergeht (grob gemessen):
Tastendruck an der FB bis Start Senden über RC5: ca. 27ms (enthalten die 25ms default BASCOM debounce Zeit)
Potiwerte senden geht schneller, da nicht entprellt werden muß.
IR Übertragung mit RC5: ca. 25ms
Praktisch sofort nach Ende der IR Übertragung liegt das erste Bit schon auf der Datenleitung zum Motorcontroller (max. 500µs bis sie dort verarbeitet werden können)
Bei Notabschaltung der Motorspannung über Taste an der FB dauert es also
im schlechtesten Fall: 27ms + 25ms + 0,5ms + xµs = 53ms
bis die Motorspannung tatsächlich abgeschaltet wird (ohne menschliche Reaktionszeit und klemmende Tasten) Gegenwärtig kürzester erreichbarer Abstand von RC5 Paketübermittlungen mit RC5sendExt sind 115ms, senderseitig begrenzt. Ist gemessen - keine Ahnung, woher der Wert kommt, müßte eigentlich etwas schneller gehen können.
Gruß
Searcher