Přeskočit na obsah

NRZI

Z Wikipedie, otevřené encyklopedie

Linkový kód NRZI (bez návratu k nule s inverzí) přiřazuje jedné logické hodnotě signál beze změny stavu a druhé logické hodnotě signál se změnou stavu (inverze). Z toho plyne nezávislost na polaritě signálu: přepólování přenosové linky nemění bitovou posloupnost. Proto je kódování NRZI oblíbené na rozhraních používajících diferenciální signály.

Varianty NRZI

[editovat | editovat zdroj]

NRZI existuje ve dvou variantách v závislosti na tom, jestli změnu stavu způsobí jednička (značka, anglicky mark) nebo nula (mezera, anglicky space). Je-li dk posloupnost dat na vstupu a pk představuje posloupnost úroveň na výstupu, platí pro NRZ-M vztah:

a pro NRZ-S:

kde operátor je operace sčítání modulo-2, kterou lze realizovat hradlem XOR, k-1 se vztahuje na předchozí hodnotu (zapamatovanou například bistabilním klopným obvodem), a pruh nad dk negaci.

Pokud je známo, že uživatelská data neobsahují dlouhou posloupnost nul (NRZ-M) nebo jedniček (NRZ-S), lze NRZI kódování použít pro vytváření signálu, který zajišťuje synchronizaci vysílače a přijímače. Na začátku a na konci uživatelských dat mohou být použity bity, které se nemění logickou úroveň, pro vyznačení a detekci začátku a konce rámce.

Linkový kód NRZI používá USB[1], Ethernet na optických vláknech (100-Base-FX)[2], FDDI a jeho použití se předpokládá i pro linkový protokol HDLC. NRZI se také používá pro záznam dat na paměťová média, například pro CD-ROM nebo pro pevné disky.

Varianta NRZI-M nebo NRZ-M kóduje jedničku změnou úrovně. Nula je kódována signálem beze změny úrovně.

Kódování NRZ-M
Zapojení NRZ-M-kodéru
Příklad 1:
Data: 1 1 1 1 1 1 1 1
signál s počátečním stavem „1”: 0 1 0 1 0 1 0 1
signál s počátečním stavem „0”: 1 0 1 0 1 0 1 0
Příklad 2:
Data: 0 0 0 0 0 0 0 0
signál s počátečním stavem „1”: 1 1 1 1 1 1 1 1
signál s počátečním stavem „0”: 0 0 0 0 0 0 0 0
Příklad 3:
Data: 1 1 1 1 1 0 1 0 1 0 1 1 0 0 0 1
signál s počátečním stavem „1”: 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1
signál s počátečním stavem „0”: 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1 0

NRZI-S nebo NRZ-S kóduje nulu změnou úrovně a jedničku signálem bez zněny úrovně. Toto kódování používá například USB nebo HDLC.

Kódování NRZ-S

Kódování NRZ-S
Zapojení NRZ-S-kodéru
Příklad 1:
Data: 1 1 1 1 1 1 1 1
signál s počátečním stavem „1”: 1 1 1 1 1 1 1 1
signál s počátečním stavem „0”: 0 0 0 0 0 0 0 0
Příklad 2:
Data: 0 0 0 0 0 0 0 0
signál s počátečním stavem „1”: 0 1 0 1 0 1 0 1
signál s počátečním stavem „0”: 1 0 1 0 1 0 1 0
Příklad 3:
Data: 1 1 1 1 1 0 1 0 1 0 1 1 0 0 0 1
signál s počátečním stavem „1”: 1 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1
signál s počátečním stavem „0”: 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0

V tomto článku byl použit překlad textu z článku Non Return to Zero na německé Wikipedii.

Související články

[editovat | editovat zdroj]