Nibo-IR-Protokoll

From Nibo

(Difference between revisions)
(NRZI-Codierung)
Line 8: Line 8:
===NRZI-Codierung===
===NRZI-Codierung===
-
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 spätestens nach drei übertragenden Bits ein Signalwechsel erfolgt.
+
Die Daten werden direkt vor dem Senden NRZI-codiert, das bedeutet, dass der Pegel des Ausgangssignal wechselt wenn eine Eins übertragen werden soll und das der Pegel beibehalten wird wenn eine Null übertragen werden soll. Dies ermöglicht zusammen mit dem nachfolgenden Verfahren eine Rekonstruktion des Übertragungstaktes.
Beispiel:
Beispiel:

Revision as of 17:47, 21 August 2007

Dieses Protokoll befindet sich noch in der Entwicklung und ist noch nicht implementiert!

Contents

Hardware

Die Übertragung findet mit 940 nm Infrarotlicht statt. Das Licht wird mit 36 kHz moduliert.

Codierung

Ein einzelnes Bit wird mit 6 IR-Pulsen übertragen. Ein einzelner Puls dauert dabei 1/36000 Sekunde. Ein Bit wird somit in 1/6000 Sekunde übertragen, dies entspricht einer Roh-Datenrate von 6000 Baud.

NRZI-Codierung

Die Daten werden direkt vor dem Senden NRZI-codiert, das bedeutet, dass der Pegel des Ausgangssignal wechselt wenn eine Eins übertragen werden soll und das der Pegel beibehalten wird wenn eine Null übertragen werden soll. Dies ermöglicht zusammen mit dem nachfolgenden Verfahren eine Rekonstruktion des Übertragungstaktes.

Beispiel:

NRZI:  0001111011010101
Daten: 0001000110111111

GCR-Codierung

Damit nicht mehr als zwei Nullen in Folge übertragen werden, und somit das Ausgangssignal länger als drei Bitzeiten 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 die beiden folgende Symbole definiert:

Bedeutung Code Kommentar
Idle x0000...00101
00000...00110
mindestens 10 Bit lang, beliebig viele zusätzliche Nullen
Break x000001101
1111110110

Beide Symbole können an beliebigen Stellen auftreten, die NRZI wird dadurch zurückgesetzt, dass das erste Bit je nach Zustand Eins oder Null ist. Dadurch werden durch die NRZI immer die roten Codierungen erzeugt. Das Break-Symbol dient zur Resynchronisation und setzt das Protokoll immer in einen definierten Zustand zurück.

Beispiel

Übertragung: [Break], 0x1f, 0x05, (Pause), 0x06

NRZI:  ...00110 1111110110 01101 00110 01100 01010 000000...0110 01100 11011 00000...
GCR:   ...00101 1000001101 01011 10101 01010 01111 000000...0101 01010 10110 10000...
Daten:  ...Idle Break      0001  1111  0000  0101  Idle          0000  0110  Idle...
COM            [Break]    1f          05                        06
Personal tools