USB und NRZI codierung

OP (Firma: ZeuSWarE GmbH) #620638
Lesenswert?
• ▲
▼
Hi leuts, ich habe gerade ein kleines verständnissproblem mit NRZI,

also ist das richtig das NRZI vom Ausgangszustand abhängig ist??
also


-------------------------------------------
D+   | 0 | 0 1 0 1 0 1 0 1 1
-------------------------------------------
D-   | 1 | 1 0 1 0 1 0 1 0 0
-------------------------------------------
Phy  | K | K J K J K J K J J
-------------------------------------------
NRZI | x | 1 0 0 0 0 0 0 0 1

grüße
#620661
Lesenswert?
• ▲
▼
@ Kai Scheddin (zeusosc)

>Hi leuts, ich habe gerade ein kleines verständnissproblem mit NRZI,

>also ist das richtig das NRZI vom Ausgangszustand abhängig ist??

Ja. Eine Null wird als Null übertragen, eine 1 erzeugt eine 
Pegelwechsel.
Kombiniert mit der maximalen Lauflänge von 6 bit (?) bei USB hat man 
mindesten alle 6 Bit einen Pegelwechsel im Signal. Die Taktrückgewinnung 
wird es dir danken.

Mfg
Falk
OP (Firma: ZeuSWarE GmbH) #620679
Lesenswert?
• ▲
▼
Ok,
zu den 6 bit:
ich dachte es wird nur bei konstanter polarität alle 6bit ein polwechsel 
intigriert???
oder kommt wirklich alle 6bit ein polwechsel??
also: (beispiel sync packet)

-------------------------------------------
D+   | 0 | 0 1 0 1 0 1 1 0 1
-------------------------------------------
D-   | 1 | 1 0 1 0 1 0 0 1 0
-------------------------------------------
Phy  | K | K J K J K J J K J
-------------------------------------------
NRZI | x | 1 0 0 0 0 0 1 0 0
------------------------------------------
Sync | x | 1 0 0 0 0 0 x 0 0

??? also der polwechsel wird rausgefiltert???? grüüße
#620684
Lesenswert?
• ▲
▼
@ Kai Scheddin (zeusosc)

>ich dachte es wird nur bei konstanter polarität alle 6bit ein polwechsel
>intigriert???

Ja, stimmt.

>oder kommt wirklich alle 6bit ein polwechsel??

Nein, spätestens nach 6 Bit. Wenn du konstant 1 überträgst ergibt das 
nach jedem Bit einen Polwechechsel.

>also der polwechsel wird rausgefiltert????

Nein, nur die Stopfbits. Wenn 6 Nullen aufeinanderfolgen wird eine 1 
eingefügt, die mit dem Datenstrom eigentlich nix zu tun hat. Der 
Empfänger erkennt dann auch wieder 6 aufeinanderfolgende Nullen und 
weiss dann, dass die nächste 1 ein Stopfbit ist und wieder rausgefiltert 
werden muss. Man muss hier einfach trennen zwischen NRZI-Kodierung und 
Bitstopfen. Das sind zwei getrennte Prozesse, auch wenn sie in Summe 
einen speziellen Zweck erfüllen.

MFG
Falk
OP (Firma: ZeuSWarE GmbH) #620712
Lesenswert?
• ▲
▼
>>>also der polwechsel wird rausgefiltert????
ja ich meinte das durch den polwechsel erzeugte stopFbit, gut dann denke 
ich das richtig verstanden zu habe. Zum zwecke nochmal:

nach definition ist D+=1 D-=0 ein High, auch J (für low/full speed)
und D+=0 und D-=1 ein low, auch K;

sollten 6 aufeinander folgende J's oder K's gesendet werden folgt ein 
polwechsel,.. der nicht im phystrom auftaucht,
der fertige phystrom geht dann in die NRZI decodierung

(phy: gemeint ist der physische datenstrom resultierend aus den 
differntiellen leitungen D+ und D-)

------------------------------    |
D+   | 0 | 0 1 0 1 0 1 1 0 1      |
------------------------------    |
D-   | 1 | 1 0 1 0 1 0 0 1 0      |
------------------------------   \ /
Phy  | K | K J K J K J x K J      |
------------------------------    |
NRZI | x | 1 0 0 0 0 0 x 0 0      |
------------------------------   \ /
Sync | x | 1 0 0 0 0 0 x 0 0      °

>edit --------------------------------
der polwechsel am bit 6 soll nur demonstrativ sein...
>edit ende----------------------------

Noch eine frage zu den differential leitungen:
In der Netzlektüre "USB in a Nutshell"  wird gesagt das der reciever
D+ als 1 erkennt wenn dieser 200mV größer als D- ist, obwohl die 
transmission mit D+ > 2.8 V und D- <0,3V ist,..
das macht mich gerade ein bissl konfuss,...

grüüße und danke,..
#620725
Lesenswert?
• ▲
▼
@ Kai Scheddin (zeusosc)

>In der Netzlektüre "USB in a Nutshell"  wird gesagt das der reciever
>D+ als 1 erkennt wenn dieser 200mV größer als D- ist, obwohl die
>transmission mit D+ > 2.8 V und D- <0,3V ist,..
>das macht mich gerade ein bissl konfuss,...

Du musst zwischen differentiellen und Gleichtaktsignalen unterscheiden. 
Das macht USB bissel komisch. Die Daten werden differentiell codiert, so 
wie RS485 oder LVDS, also der Vergleich zwischen D+ und D-. Aber das 
Paketende über ein Gleichtaktsignal, was quasi CMOS mit 0..3V 
entspricht.

MFG
Falk

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.