Manchester kódolás

Manchester kódolás [ 1 ____]3[kódbipulzusabszolút,]2​​[kódII-Manchester,] információhordozóra .

A Manchester kóddal kódolt jel önszinkronizáló, azaz nincs szükség további órajeles átviteli vonalra az adatátvitelhez , mivel egy adatbit átvitele során, függetlenül attól, hogy 1 vagy 0, egy Az egyik szintről a másikra átmenet biztosított, ami lehetővé teszi a vevő számára, hogy belső óráját vagy időzítőjét szinkronizálja az adó órájával.

A Manchester kóddal kódolt jelnek nincs állandó komponense még hosszú nullák és egyesek sorozatai átvitele esetén sem, ezért a jelet továbbító elektromos kapcsolatok galvanikusan leválaszthatók , például transzformátor segítségével [5] .

A kódolás elnevezése a Manchesteri Egyetemről származik, ahol először használták ezt a kódolást a Manchester Mark I számítógép mágneses dobjának tárolására .

Leírás

Bitkódolási konvenciók

Különböző konvenciók léteznek az egyes bitek kódolására a Manchester kódban:

Adatkódolás EXCLUSIVE OR használatával és annak megfordítása
Óraszint _
_
Adatbit
_
IEEE 802.3 Manchester
kódszint [ 6]

Thomas
Manchester kódszint
0 0 0 egy
egy egy 0
egy 0 egy 0
egy 0 egy


A kódolás elve

A manchesteri kód kódolása viszonylag egyszerű - IEEE 802.3 szerinti kódolás esetén az " EXCLUSIVE OR " (addition modulo two, XOR ) logikai művelettel hajtják végre az aktuális kódolt biten és az óragenerátor biten keresztül (példák). pszeudokódban ) :

Kimenet := Adat_bit XOR Óragenerátor ;

vagy inverzióval a Thomas szerinti kódolásnál:

Kimenet := NEM (Data_bit XOR Clock_generator );

Talán a kódoló hardveres és szoftveres megvalósítása.

A hardveres megvalósításban egy 2-es munkaciklusú és a kódolási periódussal megegyező ismétlési periódusú órajelgenerátort használnak, az eltolási regisztert , amelyből a kódolt adatbit és az EXCLUSIVE OR logikai elem minden periódusban kinyomódik .

Szoftverben való megvalósításkor egy virtuális óragenerátor jön létre szoftveres időzítővel, amelynek expozíciós időtartama a periódus felével egyenlő:

HA az időzítő_félidőszaka aktiválva AKKOR indítsa újra az időzítőt; Óragenerátor := Óragenerátor XOR 1 ; VÉGE HA ;

Lehetséges és előnyösebb egy óragenerátor megvalósítása hardveres időzítő megszakításokkal.

Továbbá a végső kimeneti kód kialakításához egy KIZÁRÓLAGOS VAGY műveletet hajtunk végre egy adatbittel, például abból a regiszterből, ahol az aktuális kódolt szó található.

A dekódolás elve

Két lehetőség van a dekódolásra:

Továbbá az összes szintet és frontot az IEEE 802.3 kódolási konvencióval kapcsolatban írjuk le, G. E. Thomas egyetértésével minden szintet és frontot inverzekkel helyettesítünk.

Ismert kódolási periódussal

Az első esetben a dekódolás során először bitszinkronizálást hajtanak végre - a periódus közepét határozzák meg. Ennek érdekében a dekóder figyeli a jel emelkedését és süllyedését, két szomszédos, különböző irányú, 1 periódussal elválasztott csepp annak a jele, hogy az adatfolyamban egymás után 0 és 1 vagy 1 és 0 lép, és ha az első ezek a cseppek emelkedő (front), a második pedig esik (esik), akkor ez azt jelenti, hogy az adatfolyamban két bit 1 és 0 vagy 0, 1 kombinációja leszálló él esetén, továbbá a a második él a kódolási periódus közepét jelzi. E két bit kombinációja kerül a dekódolt adatbitfolyamba. Ezután a dekóder körülbelül a periódus 3/4-ével egyenlő ideig vár, és elkezdi figyelni az esés előfordulását, amikor megjelenik, ha csepp, ez azt jelenti, hogy a következő adatbit 0 és 1 elöl van. Ezzel egyidejűleg az időtartam 3/4-ére az expozíciós időzítő újraindul ugyanazzal a különbséggel, majd a folyamat megismétlődik.

Az időszak 3/4-e utáni esés beérkezésének ellenőrzésének megkezdését zajtűrési okok miatt választották, például a cseppek vibrálása és/vagy szétterülése (megnyúlása), a távvezetékekben fellépő additív zaj , a cseppek előfordulási pillanatai az idealizált esethez képest ingadoznak, másrészt az adatfolyamban szomszédos azonos bitek esetén ugyanazon bitek két átviteli periódusa közötti határon élek lépnek fel, és az előfordulás ellenőrzése Az élt az órák határainak mozzanatai után kell elkészíteni.

Valamint minden információs átmenet megérkezésekor lehetőség van egy segédidőzítővel mérni az időszak időtartamát, és szükség esetén az időzített expozíció időtartamát az időszak 3/4-ére beállítani. Ez lehetővé teszi a kódoló periódusának lassú változásainak nyomon követését, például a mágnesszalag előrehaladási sebességének ingadozásait mágnesszalagos meghajtókról történő olvasáskor, vagy a mágnescsíkos kártya emberi kéz általi eltérő sebességét.

A bitszinkronizálás megkönnyítése érdekében a Manchester kódban lévő adatblokkokat, különösen mágneses adathordozón tárolva, általában egy meglehetősen hosszú szinkronizálási sorozat előzi meg 1010101 ...

Információs blokk kezdetének meghatározása

A bitszinkronizálás elérése nem elegendő egy információs bitfolyam fogadásához, mivel sok esetben nem ismerjük az információs blokk kezdetét egy megkülönböztethetetlen bitfolyamban, például amikor adatokat olvasunk egy mágneses lemezmeghajtóról. Ezért a szinkronizálási szó szinkronizálását is alkalmazzák.

A kódoló, amikor az információs blokk elején kódol, beszúr egy bináris szinkronszót vagy szinkron aláírást , amelyet ismernie kell a dekódolónak. A blokk szinkronizálás elindításához a dekóder minden eltolás után folyamatosan összehasonlítja a shift regiszter bitsorozatát, ennek a regiszternek a hossza megegyezik az aláírás hosszával, amelybe az adott szinkronizálással minden periódusban a következő bit bekerül. szó. A shift regiszterben lévő szó és az aláírás illesztése vagy annak megfordítása az információs blokk kezdetének jele, majd a dekódoló a bitfolyamot információsként értelmezi. A szinkronizáló szó hossza a különböző rendszerekben eltérő, de általában legalább 2 bájt, az Ethernet protokollban például az aláírás hosszát 56 bitnek veszik.

A szinkronszó nem fordulhat elő az információáramlásban, vagy legalábbis az előfordulás valószínűsége elhanyagolható legyen. Minél hosszabb az aláírás, annál kevésbé valószínű, hogy az információáramban szerepel. Másrészt az aláírás nem hordoz hasznos információt, és a hosszú aláírás csökkenti az információátviteli sebességet. Ha az aláírás rövid, akkor a kódolás előtti információfolyamban ellenőrzik az aláírásnak megfelelő bitsorozat véletlenszerű jelenlétét, és szükség esetén az információs blokkot újrakódolják az aláírás kizárására, vagy a szinkronizálás elérése után az aláírás elején. az adatblokkot, a dekóder figyelmen kívül hagyja az adatblokkban lévő aláírásokat a teljes blokk vételének végéig.

Az információs blokk szinkronizálásának egy változatát is alkalmazzák alacsony és magas szintű (0 és 1) időtartamok segítségével, ami nyilvánvalóan lehetetlen a Manchester kódban. A „helyes” kódban ez az időtartam nem lehet több egy periódusnál, ha például két alacsony és két magas szintű periódus kerül beillesztésre a blokk elejére, akkor egy ilyen esemény nem vezet be állandó komponenst a jelbe, és jelzi az információs blokk kezdetét. A GOST 52070-2003 szerint a blokk 3 perióduson keresztül szinkronizálva van - a vonal első 1,5 periódusa magasan, a fennmaradó 1,5 periódus alacsonyan van tartva. Más szinkronizálási lehetőségek is lehetségesek, például egy jel a visszaállítási vonal mentén stb.

Sok esetben nem tudni előre, hogy a vett kódolt jelet hányszor fordították logikailag az átvitel során, például Ethernet hálózatokban a kódolt jel számos csomóponton haladhat át különböző gyártók berendezéseivel, amelyek bármikor cserélhetők. időben, vagy ugyanazon mágneses adatszalagok olvasása esetén különböző típusú szalagos meghajtókon. Ezért, amikor egy adatblokk elejét aláírással szinkronizáljuk, az adatfolyam egybeesését az aláírással és annak bitenkénti inverziójával szinte mindig ellenőrizzük. Ha invertált aláírást talál, akkor az összes következő vett adatbit megfordítja, és változatlan marad, ha nem invertált aláírást talál. Ebből következik, hogy egy ilyen szinkronizálásnál nem alapvető, hogy a kódolás eredetileg milyen megegyezés alapján készült - Thomas szerint vagy az IEEE 802.3 szerint.

Dekódolás előre meghatározott időtartammal

Egy eleve ismeretlen kódolási periódus esetén a dekódoló kezdetben ezt az időszakot méri a szomszédos élek közötti idő mérésével. Mivel a valós jelek élpontjai idővel ingadoznak a jitter, zaj, a szoftveres kódoló szabálytalan szoftverkésleltetése stb. miatt, nem elég csak néhány szomszédos élpárt mérni. Ezért, amikor egy időszakot és egy fél periódust mérünk egy adatfolyamon, általában bizonyos statisztikai adatok halmozódnak fel .

Egy helyes, nem túl sok jitterrel rendelkező kódban a mérési hisztogram két mintacsoportból áll (4. ábra), és minél kisebb a jitter, annál szűkebbek a csoportok a hisztogramon. Az első csoport az időszak 1/2-ének, a második az egész időszaknak felel meg. A kapott hisztogram statisztikai feldolgozásának eredményei alapján a periódus meghatározása és értéke a dekóder belső órajel-generátorára vagy annak időzítőjére kerül beállításra.

A periódusok és szükség esetén a periódus felének mérési eredményei alapján az időszakbecslés számítása a súlyozott számtani átlag képlettel történik .

ahol  a hisztogram intervallumok (zsebek) mintáinak időintervallumainak száma,  - intervallum szélesség,  a minták teljes száma  a minták száma a th intervallumban.

és úgy vannak megválasztva, hogy például az ms és ms ábrája szerint .

Hasonló módszerrel határozzuk meg az időszak felének a statisztikai sokaságra átlagolt értékét

A periódus meghatározása után a további dekódolás nem különbözik a fent leírt dekódolástól, előre meghatározott periódussal.

Megvalósítások

Szoftver

Az első háztartási számítógépekben, például Sinclair ZX80 , " Elektronika BK-0010 ", ZX Spectrum , háztartási magnetofonokat használtak külső meghajtóként. Ezekben a számítógépekben a manchesteri kód kódolása és dekódolása a magnóval történő csere során programozottan történt.

A modern rendszerekben a szoftveres kódolást és dekódolást ritkán használják, és ezeket a funkciókat speciális mikroáramkörökhöz vagy funkcionális blokkokhoz rendelik más mikroáramkörök részeként, például mikrovezérlőkben , mikroprocesszorokban .

Hardver

Számos speciális chip létezik a Manchester-kód kódolására és dekódolására, például:

  • 5862IN1N4 – Manchester kodek dekóder [7]
  • K588VG3, K588VG6 – a manchesteri kód CMOS kódoló-dekódolója, a 80-as évek végén készült [8]
  • A DS8102 egy független kétcsatornás delta-szigma modulátor , amely két bemeneti analóg differenciálpár méréseit Manchester kódra konvertálja a kimeneten; A MAXQ3108 egy kétmagos mikrokontroller, amely Manchester kóddekódert is tartalmaz [9]
  • 3D7501, ACT-15530, HI-15530, HD-15530, HD-15531, ST-10894 - monolitikus Manchester kodek dekóderek és mások [8] .

Manchester kód spektruma

Mivel minden adatbitnél két változás történik a jelszintben, ez ahhoz a tényhez vezet, hogy a Manchester kód spektruma kétszer akkora sávszélességet foglal el, mint például az NZR kód ( Non-zero return , átmenet visszatérés nélkül nulla).

A Manchester kód és az NZR spektrumának összehasonlítása az ábrán látható. Mivel a Manchester kódnak nincs állandó komponense (abszolút értékben egyenlő polaritású szintekkel történő kódolás esetén), a Manchester kód teljesítményspektrális sűrűsége nulla frekvencián nullával egyenlő, ellentétben az NZR kóddal, amely mindig van állandó komponense bármilyen szinten, és spektruma véges spektrális teljesítményű nulla frekvencián.

A Manchester kódolás maximális spektrális teljesítménye a bitráta frekvenciával megegyező frekvenciára esik .

Manchester kódolás fáziseltolásos kulcsozásként

A manchesteri kódolás a bináris fáziseltolásos kulcsolás (PSK) speciális eseteként fogható  fel, amelyben az adatok egy olyan vivő négyszöghullámának fázisát szabályozzák, amelynek frekvenciája a bitsebesség.

Előnyök és hátrányok

Előnyök

Önszinkronizálás

Két garantált átmenet jelenléte az 1 bites átvitel során lehetővé teszi a jel önszinkronizálását , ami lehetővé teszi a vevő (dekódoló) számára, hogy megfelelően ráhangolódjon az átviteli sebességre. Az átvitelhez nincs szükség további vonalra az órajel továbbításához. Ezenkívül a start és stop biteket nem kell beilleszteni az adatbitfolyamba, mint például az RS-232 és RS-485 protokollokban, amelyek miatt az adatsűrűség a teljes kódbitfolyamban megközelíti a 100%-ot ( például az NRZ 1-8 kódnál -0 ez egyenlő 80%-kal.

Nincs DC

Az adott bitfolyamtól függetlenül egy Manchester kódoló jel nem tartalmaz DC komponenst, ha a felső és az alsó szint értékei abszolút értékben megegyeznek. Ez megkönnyíti a galvanikus leválasztás felépítését transzformátor [5] és mágneses adathordozón írás-olvasás segítségével.

Hátrányok

Sávszélesség

A Manchester-kód átvitele kétszeres csatornasávszélességet (csatornaszélességet) igényel, mint például az NRZ kódolásnál .

jitter követelmények

Magas követelményeket támaszt az előlapok időbeni stabilitásával szemben – alacsony rezgés. Vannak más kódolási módszerek is, például a 8B/10B kód szűkebb sávszélességgel rendelkezik, de a jitter csökkentése szempontjából igényesebb.

A manchesteri kódolás alkalmazásai

Manchester kódolást alkalmaznak:

  • Ethernet technológiában ( IEEE 802.3 ). Például a Manchester-2 kódot használják az Ethernet, Token Ring , MIL-STD-1553B (GOST 52070-2003), MIL-STD-1760 és sok más hálózati protokoll szabvány [11] .
  • 10BASE-T technológiában  .
  • Vezérlési protokollok különféle eszközökhöz infravörös kapcsolaton keresztül.
  • az RFID címkékben .

Jegyzetek

  1. ↑ 1 2 3 4 5 6 7 Tanenbaum E. Számítógépes hálózatok. - 4. kiadás - Szentpétervár. : Péter, 2003. - 992 p. — ISBN 5-318-00492-X .
  2. ↑ 1 2 3 J. Park , S. McKay , E. Wright. Adatátvitel az irányítási és irányítási rendszerekben: gyakorlati útmutató / fordítás angolból. V. V. Saveljeva . - M. : IDT Group LLC, 2007. - 480 p. - ISBN 978-5-94833-023-5 .
  3. ↑ 1 2 3 4 5 Berlin A. N. Kapcsolás a kommunikációs rendszerekben és hálózatokban. - M. : Öko-trendek, 2006. - 344 p. - ISBN 5-88405-073-9 .
  4. Abilov A.V. Kommunikációs hálózatok és kapcsolórendszerek. - M . : Rádió és kommunikáció, 2004. - 288 p. — ISBN 5-256-01704-7 .
  5. ↑ 1 2 Dunsmore Brad, Skander Toby. Távközlési technológiák kézikönyve. - M. : Williams, 2004. - 640 p. - ISBN 5-8459-0562-1 .
  6. - notes/index.mvp/id/3435 Manchester adatkódolás rádiókommunikációhoz. , < https://www.maximintegrated.com/en/app-notes/index.mvp/id/3435 > 
  7. Speciális Manchester kód chip . Letöltve: 2020. szeptember 24. Az eredetiből archiválva : 2016. szeptember 10.
  8. 1 2 https://smekni.com/a/121807/preobrazovatel-kodov-manchester-2/ Manchester-2 kód konverter
  9. MAXQ3108
  10. Adatkommunikációs alapok . Letöltve: 2020. szeptember 24. Az eredetiből archiválva : 2021. augusztus 16.
  11. Hálózati protokollok . Letöltve: 2020. szeptember 24. Az eredetiből archiválva : 2022. március 14.

Irodalom

  • Forster R. (2000). "Manchester kódolás: Az ellentétes definíciók megoldva". Engineering Science & Education Journal. 9 (6): 278. doi:10.1049/esej:20000609.
  • Tanenbaum, Andrew, S. (2002). Számítógépes hálózatok (4. kiadás). Prentice Hall. pp. 274-275. ISBN 0-13-066102-3
  • Stallings, William (2004). Data and Computer Communications (7. kiadás). Prentice Hall. pp. 137-138. ISBN 0-13-100681-9.
  • Goldstein B.S. Hozzáférés a hálózati protokollokhoz. - BHV-Pétervár. – 2005.
  • Sukhman S. M., Bernov A. V., Shevkoplyas B. V.  Szinkronizálás távközlési rendszerekben: Mérnöki megoldások elemzése. - M .: Eco-Trenz, - 2003, 272 p. ISBN 5-88405-046-1

Linkek