Nibo-IR-Protokoll
From Nibo
Das Protokoll ist erst in der Entwicklung und noch nicht implementiert!
Hardware
Die Übertragung findet über moduliertes Infrarotlich statt. Die Modulationfrequenz beträgt 36kHz.
Codierung
Ein einzelnes Bit wird in 6 IR-Pulsen übertragen. Ein einzelner Puls dauert dabei 1/36000 Sekunden, ein Bit wird demnach in 1/6000 Sekunde übertragen, was einer Datenrate von 6000 Baud entspricht. Die Daten werden direkt vor dem Senden NRZI-codiert, das bedeutet, dass das Ausgangssignal wechselt wenn eine Eins übertragen werden soll, und das es den aktuellen Level beibehält wenn eine Null übertragen werden soll. Dies ermöglicht zusammen mit der nachfolgenden Methode eine Rekonstruktion des Übertragungstaktes, da mindestens alle zwei Bit ein Signalwechsel erfolgt. Damit nicht mehr als zwei Nullen in Folge übertragen werden, und somit das Ausgangssignal längere Zeit den selben Zustand hätte, werden die Rohdaten vor der NRZI-Codierung anhand der nachfolgenden Tabelle GCR-codiert. Somit müssen jeweils für 4 zu Übertragende Roh-Bits 5 Signale übertragen werden, die resultierende Datenrate beträgt 4800 Baud.
Nibble | Code |
---|---|
0000 | 01010 |
0001 | 01011 |
0010 | 10010 |
0011 | 10011 |
0100 | 01110 |
0101 | 01111 |
0110 | 10110 |
0111 | 10111 |
1000 | 01001 |
1001 | 11001 |
1010 | 11010 |
1011 | 11011 |
1100 | 01101 |
1101 | 11101 |
1110 | 11110 |
1111 | 10101 |
Zusätzlich sind noch folgende Symbole definiert:
Bedeutung | Code |
---|---|
Idle | 0000...0011 |
Idle | 1000...0011 |
Break | 1111111111 |
Beispiel:
NRZI: ...0010 01101 00110 01100 01010 0000...0010 01100 11011 0000... GCR: ...0011 01011 10101 01010 01111 0000...0011 01010 10110 1000... Daten: ...Idle 0001 1111 0000 0101 Idle 0000 0110 Idle...