RC5-Protokoll
From Nibo
Der RC5-Code wurde von Phillips für Fernbedienungen entwickelt. Die Übertragung erfolgt mittels IR-Licht, welches mit 36kHz moduliert wird.
Contents |
Paketformat
Die Übertragung wird durch zwei Startbits (S1 und S0) mit dem Wert eins eingeleitet. Anschliessend wird ein Toggle Bit übertragen, welches bei jedem erneuten Tastendruck auf der Fernbedienung den Zustand wechselt. Danach wird die Geräteadresse mit fünf Bit (A4-A0) und abschliessend das Kommando mit sechs Bit (C5-C0) übertragen.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
S1 | S0 | T | A4 | A3 | A2 | A1 | A0 | C5 | C4 | C3 | C2 | C1 | C0 |
Eine Eins wird durch die Sequenz 01 eine Null durch die Sequenz 10 übertragen. Dadurch erfolgt bei jedem übertragenen Bit midestens ein Flankenwechsel.
UCOM-IR
Die virtuelle serielle Schnittstelle liefert bei der Übertragung folgende Symbole, die Symbole die die RC5 Codierung betreffen, sind fett dargestellt:
Symbol | IR | Timing | Bedeutung |
---|---|---|---|
. | Lo <1T | Ungültig | |
a | Lo 1T | Ungültig | |
b | 0 | Lo 2T | Einzelnes Null-Bit |
c | Lo 3T | Ungültig | |
d | 00 | Lo 4T | Doppeltes Null-Bit |
* | Lo >4T | Idle | |
, | Hi <1T | Ungültig | |
A | Hi 1T | Ungültig | |
B | 1 | Hi 2T | Einzelnes Eins-Bit |
C | Hi 3T | Ungültig | |
D | 11 | Hi 4T | Doppeltes Eins-Bit |
~ | >8T | Timeout/Flush |
Beispiel
Zur Übertragung des Befehls Standby(12) and den CD-Player(20) wird der Code ...0101010110011010101001011010... über Infrarot übertragen. Dieser Code wird auf der seriellen Schnittstelle als *BbBbBbDdDbBbBbBdBdDbB~* übertragen. Dies Code kann zur Bit-Folge 11110100001100 decodiert werden:
Start A=20:CD-Player C=12:Standby S S T A A A A A C C C C C C Bit: 1 1 1 1 0 1 0 0 0 0 1 1 0 0 IR: 000 01 01 01 01 10 01 10 10 10 10 01 01 10 10 000000.. COM: * B bB bB b D d D b Bb Bb B d B b D b B ~*
Weblinks
- http://www.sprut.de/electronic/ir/rc5.htm - RC5 Code
- http://www.sbprojects.com/knowledge/ir/rc5.htm - RC5 Code [englisch]