Manchester kódování

Manchester kódování [ 1 ____]3[kódbipulzníabsolutní,]2​​[kódII-Manchester,] nosič informací .

Signál kódovaný kódem Manchester se samosynchronizuje, to znamená, že pro přenos dat není vyžadována další hodinová přenosová linka , protože během přenosu jednoho datového bitu, bez ohledu na to, zda je 1 nebo 0, je jeden je zajištěn přechod z jedné úrovně do druhé, což umožňuje přijímači synchronizovat své vnitřní hodiny nebo časovač s hodinami vysílače.

Signál zakódovaný v souladu s Manchesterským kódem nemá konstantní složku ani v případě přenosu dlouhých sekvencí nul a jedniček, proto lze elektrická spojení přenášející signál galvanicky izolovat např. pomocí transformátoru [5] .

Název kódování pochází z University of Manchester , kde bylo toto kódování poprvé použito k ukládání dat na magnetický buben počítače Manchester Mark I.

Popis

Konvence bitového kódování

Existují různé konvence pro kódování jednotlivých bitů v kódu Manchester:

Kódování dat pomocí EXCLUSIVE OR a jeho inverze
Úroveň
hodin
_

Datový bit
Úroveň kódu IEEE 802.3
Manchester [6]

Úroveň kódu Thomas
Manchester
0 0 0 jeden
jeden jeden 0
jeden 0 jeden 0
jeden 0 jeden


Princip kódování

Kódování Manchester kódu je poměrně jednoduché - provádí se logickou operací " EXCLUSIVE OR " (addition modulo two, XOR ) nad aktuálním kódovaným bitem a bitem generátoru hodin, v případě kódování podle IEEE 802.3 (příklady v pseudokódu ):

Výstup := Data_bit XOR Clock_generator ;

nebo s inverzí při kódování podle Thomase:

Výstup := NOT (Datový_bit XOR Clock_generator );

Možná jak hardwarová, tak softwarová implementace kodéru.

V hardwarové implementaci je použit generátor hodin s pracovním cyklem 2 a periodou opakování rovnou periodě kódování, posuvný registr , ze kterého je v každé periodě vytlačen kódovaný datový bit a logický prvek EXCLUSIVE OR .

Když je implementován v softwaru, je pomocí softwarového časovače vytvořen generátor virtuálních hodin s dobou expozice rovnající se polovině periody:

POKUD je spuštěn timer_half_period THEN restart timer; Generátor_hodin := Generátor_hodin XOR 1 ; END IF ;

Je možné a výhodné implementovat generátor hodin pomocí hardwarových přerušení časovače.

Dále, aby se vytvořil konečný výstupní kód, je provedena operace EXCLUSIVE OR s datovým bitem, například posunutým z registru, kde se nachází aktuální kódované slovo.

Princip dekódování

Existují dvě možnosti dekódování:

Dále jsou všechny úrovně a fronty popsány ve vztahu ke kódovací konvenci IEEE 802.3, se souhlasem G. E. Thomase jsou všechny úrovně a fronty nahrazeny inverzními.

Se známou periodou kódování

V prvním případě se při dekódování nejprve provede bitová synchronizace - určí se střed periody. Za tímto účelem dekodér sleduje vzestupy a poklesy signálu, dva sousední poklesy různých směrů, oddělené 1 periodou, jsou znakem postupného přechodu 0 a 1 nebo 1 a 0 v datovém toku, a pokud první z tyto poklesy stoupají (přední) a druhé klesají (klesají), pak to znamená, že v datovém toku jde o kombinaci dvou bitů 1 a 0 nebo 0, 1 v případě sestupné hrany také druhý z těchto okrajů označuje střed období kódování. Kombinace těchto dvou bitů je zapsána do dekódovaného datového bitového toku. Dále dekodér čeká dobu přibližně rovnající se 3/4 periody a začne sledovat výskyt poklesu, kdy se kapka objeví, pokud se jedná o pokles, znamená to, že další datový bit je 0 a 1 je vepředu. Současně se časovač expozice na 3/4 periody restartuje pomocí stejného diferenciálu a poté se proces opakuje.

Začátek kontroly příchodu poklesu po 3/4 periody byl zvolen z důvodů odolnosti proti šumu, například v důsledku jitteru a/nebo šíření (prodlužování) kapek, aditivního šumu v přenosových vedeních, momenty výskytu kapek vzhledem k idealizovanému případu kolísají, na druhou stranu u sousedních identických bitů v datovém toku se hrany vyskytují na hranici mezi dvěma periodami přenosu stejných bitů a kontrola výskytu okraje by měly být provedeny po momentech hranic hodin.

Po příchodu každého informačního přechodu je také možné změřit dobu trvání periody pomocným časovačem a v případě potřeby upravit dobu trvání expozice časovače na 3/4 periody. To umožňuje sledovat pomalé změny v periodě kodéru, například kolísání rychlosti posunu magnetické pásky při čtení z magnetopáskové mechaniky nebo různé rychlosti karty s magnetickým proužkem lidskou rukou.

Aby se usnadnila bitová synchronizace, datovým blokům v kódu Manchester, zejména pokud jsou uloženy na magnetickém médiu, obvykle předchází poměrně dlouhá synchronizační sekvence 1010101 ...

Určení začátku informačního bloku

Dosažení bitové synchronizace pro příjem proudu informačních bitů nestačí, protože v mnoha případech není znám začátek informačního bloku v proudu nerozlišitelných bitů, například při čtení dat z magnetické diskové jednotky. Proto je dodatečně aplikována synchronizace na synchronizační slovo.

Kodér při kódování na začátek informačního bloku vloží binární synchronizační slovo nebo synchronizační podpis , který musí být dekodéru znám. Pro zahájení blokové synchronizace dekodér neustále porovnává posloupnost bitů v posuvném registru po každém posunu, délka tohoto registru je rovna délce signatury, do které se v každé periodě vkládá další bit, s danou synchronizací. slovo. Shoda slova v posuvném registru a podpisu nebo jeho inverze je znakem začátku informačního bloku a poté dekodér interpretuje bitový proud jako informační. Délka synchronizačního slova v různých systémech je různá, ale obvykle nejméně 2 bajty, například v protokolu Ethernet se délka podpisu považuje za 56 bitů.

Synchronizační slovo se nesmí v informačním toku vyskytovat, nebo alespoň pravděpodobnost takového výskytu musí být zanedbatelná. Čím delší je podpis, tím menší je pravděpodobnost jeho existence v informačním toku. Na druhou stranu podpis nenese užitečné informace a dlouhý podpis snižuje rychlost přenosu informací. Pokud je podpis krátký, pak se informační tok před kódováním zkontroluje na náhodnou přítomnost bitové sekvence, která odpovídá podpisu, a v případě potřeby se informační blok překóduje, aby se podpis vyloučil, nebo po dosažení synchronizace na začátku datového bloku, dekodér ignoruje všechny podpisy v datovém bloku až do konce příjmu celého bloku.

Využívá se také varianta synchronizace informačního bloku pomocí trvání nízkých a vysokých úrovní (0 a 1), které jsou v kódu Manchester samozřejmě nemožné. Ve „správném“ kódu nemůže být tato doba delší než tečka, pokud jsou například na začátek bloku vloženy dvě tečky nízké úrovně a dvě tečky vysoké úrovně, pak taková událost nezavádí konstantní složku do signálu a označuje začátek informačního bloku. Podle GOST 52070-2003 je blok synchronizován během 3 období - prvních 1,5 období na lince je udržováno vysoko a zbývajících 1,5 období - nízké. Jsou možné i další možnosti synchronizace, např. signálem po resetovací lince atp.

V mnoha případech není předem známo, kolikrát byl přijatý kódovaný signál během přenosu logicky invertován, například v ethernetových sítích může kódovaný signál procházet četnými uzly se zařízeními různých výrobců, které lze u libovolného výrobce vyměnit. času, nebo v případě čtení stejných magnetických datových pásek na různých modelech páskových jednotek. Při synchronizaci začátku datového bloku podpisem se tedy téměř vždy kontroluje shoda datového toku s podpisem a jeho bitová inverze. Pokud je nalezen invertovaný podpis, pak jsou všechny následující přijaté datové bity invertovány a ponechány beze změny, pokud je nalezen neinvertovaný podpis. Z toho vyplývá, že u takové synchronizace není zásadní, podle jaké shody bylo kódování původně provedeno - podle Thomase nebo podle IEEE 802.3.

Dekódování s předem určenou periodou

S a priori neznámou periodou kódování dekodér zpočátku měří tuto periodu měřením času mezi sousedními okraji. Vzhledem k tomu, že okrajové body reálných signálů v průběhu času kolísají v důsledku jitteru, šumu, nepravidelného softwarového zpoždění v softwarovém kodéru atd., nestačí měřit pouze několik párů sousedních hran. Proto se při měření periody a poloviny periody v datovém toku obvykle shromažďují určité statistiky .

Ve správném kódu s nepříliš velkým jitterem bude histogram měření sestávat ze dvou skupin vzorků (obrázek 4) a čím menší je jitter, tím užší jsou skupiny na histogramu. První skupina odpovídá trvání 1/2 období, druhá - celému období. Podle výsledků statistického zpracování přijatého histogramu se určí perioda a její hodnota se nastaví generátoru vnitřních hodin dekodéru nebo jeho intervalovému časovači.

Výpočet odhadu období na základě výsledků měření období a případně poloviny období se provádí pomocí vzorce váženého aritmetického průměru .

kde  je počet časových intervalů vzorků intervalů histogramu (kapes),  - šířka intervalu,  je celkový počet vzorků  je počet vzorků v tém intervalu.

a jsou voleny tak, že např. podle čísla ms a ms.

Obdobnou metodou se určí hodnota poloviny období zprůměrovaná na statistickou populaci

Po určení periody se další dekódování neliší od výše popsaného dekódování s předem stanovenou periodou.

Implementace

Software

V prvních domácích počítačích, např. Sinclair ZX80 , " Elektronika BK-0010 ", ZX Spectrum , byly jako externí mechanika použity domácí magnetofony. V těchto počítačích bylo kódování a dekódování kódu Manchester během výměny s magnetofonem prováděno programově.

V moderních systémech se softwarové kódování a dekódování používá zřídka a tyto funkce jsou přiřazeny specializovaným mikroobvodům nebo funkčním blokům jako součást jiných mikroobvodů, například v mikrokontrolérech , mikroprocesorech .

Hardware

Existuje řada specializovaných čipů pro kódování a dekódování kódu Manchester, například:

  • 5862IN1N4 - dekodér kodeku Manchester [7]
  • K588VG3, K588VG6 - CMOS kodér-dekodér kódu Manchester, vytvořený již koncem 80. let [8]
  • DS8102 je nezávislý dvoukanálový delta-sigma modulátor , který převádí měření dvou vstupních analogových diferenciálních párů na kód Manchester na výstupu; MAXQ3108 je dvoujádrový mikrokontrolér, který obsahuje dekodér kódu Manchester [9]
  • 3D7501, ACT-15530, HI-15530, HD-15530, HD-15531, ST-10894 - monolitické dekodéry manchesterského kodeku a další [8] .

Spectrum of Manchester kód

Vzhledem k tomu, že pro každý bit dat dochází ke dvěma změnám v úrovni signálu, vede to k tomu, že spektrum manchesterského kódu zabírá dvojnásobnou šířku pásma ve srovnání např. s kódem NZR ( Nenulový návrat , přechod bez návratu na nula).

Porovnání spekter Manchester kódu a NZR je na obrázku. Protože kód Manchester nemá konstantní složku (v případě jeho kódování úrovněmi různé polarity rovnými v absolutní hodnotě), je výkonová spektrální hustota kódu Manchester rovna nule při nulové frekvenci, na rozdíl od kódu NZR, který má vždy konstantní složku na jakékoli úrovni a jeho spektrum má konečnou spektrální sílu při nulové frekvenci.

Maximální spektrální výkon kódování Manchester připadá na frekvenci rovnou frekvenci bitrate .

Manchesterské kódování jako klíčování fázovým posunem

Manchesterské kódování lze považovat za speciální případ binárního klíčování fázovým posunem  (PSK), ve kterém data řídí fázi obdélníkové vlny nosné, jejíž frekvence je bitová rychlost.

Výhody a nevýhody

Výhody

Vlastní synchronizace

Přítomnost dvou zaručených přechodů při přenosu 1 bitu umožňuje samosynchronizaci signálu , což umožňuje přijímači (dekodéru) správně se naladit na přenosovou rychlost. Pro přenos není potřeba žádná další linka pro přenos hodinového signálu. Do datového bitového toku také není nutné vkládat startovací a zastavovací bity, jako například v protokolech RS-232 a RS-485, díky nimž se hustota dat v celkovém bitovém toku kódu blíží 100 % ( například pro kód NRZ 1-8 -0 se rovná 80 %).

Žádné DC

Bez ohledu na konkrétní bitový tok neobsahuje signál kódování Manchester DC složku, pokud jsou hodnoty horní a dolní úrovně stejné v absolutní hodnotě. To usnadňuje konstrukci galvanického oddělení pomocí transformátoru [5] a čtení a zápisu na magnetická média.

Nevýhody

Šířka pásma

Přenos Manchester kódu vyžaduje dvojnásobnou šířku pásma kanálu (šířku kanálu) ve srovnání například s kódováním NRZ .

požadavky na jitter

Klade vysoké nároky na stabilitu čel v čase - nízký jitter. Existují i ​​jiné způsoby kódování, například kód 8B/10B má užší šířku pásma, ale je náročnější na redukci jitteru.

Aplikace manchesterského kódování

Používá se kódování Manchester:

  • V technologii Ethernet ( IEEE 802.3 ). Kód Manchester-2 se například používá v standardech Ethernet, Token Ring , MIL-STD-1553B (GOST 52070-2003), MIL-STD-1760 a mnoha dalších standardech síťových protokolů [11] .
  • V  technologii 10BASE-T .
  • Řídící protokoly pro různá zařízení přes infračervené rozhraní.
  • v RFID štítcích .

Poznámky

  1. ↑ 1 2 3 4 5 6 7 Tanenbaum E. Počítačové sítě. - 4. vyd. - Petrohrad. : Peter, 2003. - 992 s. — ISBN 5-318-00492-X .
  2. ↑ 1 2 3 J. Park , S. McKay , E. Wright. Přenos dat v řídicích a řídicích systémech: praktický průvodce / překlad z angličtiny. V. V. Saveljevová . - M. : IDT Group LLC, 2007. - 480 s. - ISBN 978-5-94833-023-5 .
  3. ↑ 1 2 3 4 5 Berlin A. N. Switching in communication systems and networks. - M. : Eco-Trends, 2006. - 344 s. - ISBN 5-88405-073-9 .
  4. Abilov A.V. Komunikační sítě a spojovací systémy. - M . : Rozhlas a komunikace, 2004. - 288 s. — ISBN 5-256-01704-7 .
  5. ↑ 1 2 Dunsmore Brad, Skander Toby. Příručka telekomunikačních technologií. - M. : Williams, 2004. - 640 s. - ISBN 5-8459-0562-1 .
  6. - notes/index.mvp/id/3435 Manchester datové kódování pro rádiovou komunikaci. , < https://www.maximintegrated.com/en/app-notes/index.mvp/id/3435 > 
  7. Specializovaný kódový čip Manchester . Staženo 24. září 2020. Archivováno z originálu 10. září 2016.
  8. 1 2 https://smekni.com/a/121807/preobrazovatel-kodov-manchester-2/ Převodník kódu Manchester-2
  9. MAXQ3108
  10. Základy datové komunikace . Získáno 24. září 2020. Archivováno z originálu dne 16. srpna 2021.
  11. Síťové protokoly . Získáno 24. září 2020. Archivováno z originálu dne 14. března 2022.

Literatura

  • Forster R. (2000). „Kódování Manchester: Protichůdné definice vyřešeny“ . Engineering Science & Education Journal. 9 (6): 278. doi:10.1049/esej:20000609.
  • Tanenbaum, Andrew, S. (2002). Počítačové sítě (4. vydání). Prentice Hall. str. 274-275. ISBN 0-13-066102-3
  • Stallings, William (2004). Data a počítačové komunikace (7. vydání). Prentice Hall. str. 137-138. ISBN 0-13-100681-9.
  • Síťové protokoly Goldstein B.S. Access. - BHV-Petrohrad. — 2005.
  • Sukhman S. M., Bernov A. V., Shevkoplyas B. V.  Synchronizace v telekomunikačních systémech: Analýza inženýrských řešení. - M .: Eco-Trenz, - 2003, 272 s. ISBN 5-88405-046-1

Odkazy