RC5-Protokoll
From Nibo
Der RC5-Code wurde von Phillips für Fernbedienungen entwickelt. Die Übertragung erfolgt mittels IR-Licht mit einer Wellenlänge von 940 bis 950 nm. Das IR Licht wird mit einer Frequenz von 36kHz moduliert, damit die Übertragung unempfindlich gegenüber Tages- und Kunstlicht ist. Eine weiterentwickelte Version ist das RC6-Protokoll.
Contents |
Paketformat
Die Übertragung erfolgt durch 14 Bit. Sie wird durch die Beiden 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 bei der Übertragung durch die Sequenz 0,1 (889 µs Ruhe, 889 µs Signal) codiert, eine Null durch die Sequenz 1,0 (889 µs Signal, 889 µs Ruhe). Dadurch erfolgt bei jedem übertragenen Bit mindestens ein Flankenwechsel.
Geräte
Folgende Geräte sind definiert:
Nummer | Hex | Gerät | Nummer | Hex | Gerät | |
---|---|---|---|---|---|---|
0 | 0x00 | TV1 | 16 | 0x10 | Vorverstärker1 | |
1 | 0x01 | TV2 | 17 | 0x11 | Radio | |
2 | 0x02 | Teletext | 18 | 0x12 | Kasette1 | |
3 | 0x03 | VD | 19 | 0x13 | Vorverstärker2 | |
4 | 0x04 | LV1 | 20 | 0x14 | CD | |
5 | 0x05 | Video1 | 21 | 0x15 | Plattenspieler | |
6 | 0x06 | Video2 | 22 | 0x16 | ||
7 | 0x07 | Experimental | 23 | 0x17 | Kasette2/DAT | |
8 | 0x08 | Satelit1 | 24 | 0x18 | ||
9 | 0x09 | Kamera | 25 | 0x19 | ||
10 | 0x0A | Satelit2 | 26 | 0x1A | CDR | |
11 | 0x0B | 27 | 0x1B | |||
12 | 0x0C | CDV | 28 | 0x1C | ||
13 | 0x0D | Camcorder | 29 | 0x1D | Beleuchtung1 | |
14 | 0x0E | 30 | 0x1E | Beleuchtung2 | ||
15 | 0x0F | 31 | 0x1F | Telefon |
UCOM-IR
Die virtuelle serielle Schnittstelle liefert bei der Übertragung folgende Symbole, die Symbole die die RC5 Codierung betreffen, sind fett dargestellt, die Zeit T beträgt 444µs:
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]