PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RC5: Probleme mit dem Toggle-Bit



Sauerbruch
05.03.2007, 10:15
Ich habe ien Problem mit RC5, das ich nicht so richtig vestehe. Zum Equipment: Empfänger ist ein TSOP 1738,
uC ein ATmega8.

Die Adresse wird konstant richtig erkannt, der Kommando-Wert nimmt aber bei jedem erneuten Tastendruck um 128 zu bzw. wieder ab. D.h. wenn ich z.B. wiederholt die Taste "5" drücke, kommt als Kommando 5 und 133 im Wechsel.
Nun habe ich gelesen, dass das 2. Startbit auch als 7. Kommando-Bit genutzt werden kann. Wenn dieses Bit "toggeln" würde, wäre das ja eine gute Erklärung, weshalb sich das Kommando bei jedem erneuten Druck genau um 2^7 ändert. Könnte es also sein, dass der Befehl GetRC5 (Address, Command) das Toggle-Bit mit dem 2. Startbit verwechselt?

Das invertierte Signal aus dem RX habe ich mir auf dem Oszi mal ganz genau angesehen - es ist ein lupenreines, invertiertes RC5-Signal, und das 3. (!!) Bit toggelt. So, wie´s sein soll. Zumindestens dann, wenn ich die allererste, fallende Flanke nach dem längeren Ruhe-High als erstes Startbit mit dem Wert 1 interpretiere.

Dann habe ich das RX-Signal mal über einen Inverter an den uC geschickt - damit wurden allerdings keinerlei Adressen und Kommandos mehr erkannt. Die invertierte Lage scheint also o.k. zu sein.

Hat jemand eine Idee, woher dieses eigentümliche Verhalten kommen könnte?

SprinterSB
05.03.2007, 10:39
Schau mal die Spezifikation der RC5-Empfänger-Software an.

Möglicherweise wird das FLIP-Bit in Bit 7 des Codes übertragen.

Ein 7. Kommantobit würde in Bit 6 übertragen, weil die Nummerierung mit 0 anfängt.


0, 1, 2, ...
Wo ist mein dritter Koffer??!!

Sauerbruch
05.03.2007, 11:30
Okay - das war ein guter Tipp!

Zugegebenrmaßen hatte ich mir die Details des Befehls GetRC5 nicht sooo genau angeschaut, denn mir ist (auch weiterhin) nicht klar, weshalb der Kommando-Wert durch das Toggle-Bit verfälscht werden sollte. Es ist aber tatsächlich so, wie in der BASCOM-Hilfe steht:


For extended RC5 code, the extended bit is bit 6 of the command.

The toggle bit is stored in bit 7 of the command.



Hab´also gleich nach dem Befehl GetRC5 die Bits 6 und 7 gecleart (der Informatiker am Bahnhof lässt grüßen... O:) ) - und schon kappt´s einwandfrei.

Vielen Dank für den guten Tipp!!

jar_
10.03.2007, 12:19
Hab´also gleich nach dem Befehl GetRC5 die Bits 6 und 7 gecleart
Vielen Dank für den guten Tipp!!

bit 6 würde ich nicht clearen, wird als erweiterter Code für über 64 Geräte Codes benutzt, evt. entgeht dir was ?

Sauerbruch
10.03.2007, 13:51
das stimmt, aber ich muss nur ein paar Funktionen übertragen (6 Stück an der Zahl), so dass ich der Einfachkeit halber nur Zahlen-Tasten benutze. Von dem Bereich, in dem die erweiterten Kommandos benötigt werden, bin ich noch ein gutes Stück weg!

jar
12.03.2007, 15:28
ich bin nun jar ohne _