Nibo-IR-Protokoll

From Nibo

(Difference between revisions)
Line 5: Line 5:
==Codierung==
==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.
+
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 Roh-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.
+
===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.
 +
===GCR-Codierung===
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.
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.
{| {{BlueTable}}
{| {{BlueTable}}
Line 48: Line 50:
! Bedeutung !!  Code  
! Bedeutung !!  Code  
|-
|-
-
| Idle  || 0000...0011
+
| Idle  || 00000...00011
|-
|-
-
| Idle  || 1000...0011
+
| Idle  || 10000...00011
|-
|-
| Break  || 1111111111
| Break  || 1111111111
|}
|}
-
Beispiel:
+
==Beispiel==
 +
Übertragung [Break], 1f, 05, 06
-
  NRZI:  ...0010 01101 00110 01100 01010 0000...0010 01100 11011 0000...
+
  NRZI:  ...00010 1010101010 0000000010 01101 00110 01100 01010 00000...00010 01100 11011 00000...
-
  GCR:  ...0011 01011 10101 01010 01111 0000...0011 01010 10110 1000...
+
  GCR:  ...00011 1111111111 0000000011 01011 10101 01010 01111 00000...00011 01010 10110 10000...
-
  Daten: ...Idle 0001  1111  0000  0101  Idle       0000  0110  Idle...
+
  Daten: ...Idle Break      Idle      0001  1111  0000  0101  Idle         0000  0110  Idle...
 +
COM            [Break]              1f          05                        06

Revision as of 15:58, 21 August 2007

Das Protokoll ist erst in der Entwicklung und noch nicht implementiert!

Contents

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 Roh-Datenrate von 6000 Baud entspricht.

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.

GCR-Codierung

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 00000...00011
Idle 10000...00011
Break 1111111111

Beispiel

Übertragung [Break], 1f, 05, 06

NRZI:  ...00010 1010101010 0000000010 01101 00110 01100 01010 00000...00010 01100 11011 00000...
GCR:   ...00011 1111111111 0000000011 01011 10101 01010 01111 00000...00011 01010 10110 10000...
Daten: ...Idle  Break      Idle       0001  1111  0000  0101  Idle          0000  0110  Idle...
COM             [Break]               1f          05                        06
Personal tools