Kodavimas Diferencialiniu Mančesteriu
Diferencialinis Mančesteris (angl. Differential Manchester encoding) yra dvejetainio signalo kodavimo būdas, kai perduodant duomenis perduodama ir laikmačių susiderinimui reikalinga informacija.
Įrenginių susiderinimo problema
[redaguoti | redaguoti vikitekstą]Informacijos siuntėjas ir gavėjas turi turėti suderintus laikmačius, kad teisingai interpretuotų, kada informacijos vienetas prasideda ir kada baigiasi.
Tarkime koduojame dvejetainį (duomenys iš 0 ir 1) tokiu būdu:
- jei turime 1, kanalu siunčiame +1V signalą
- jei turime 0, kanalu siunčiame -1V signalą.
Pavyzdžiui, aptartu kodavimo būdu siunčiant 0111111110 (8-vienetai) ir 0111111100 (7-vienetai), gavėjui bus sunku atskirti, ar buvo užkoduoti 8 ar 7 vienetai.
Galimi sprendimai[1]:
- Tikslesni įrenginių laikmačiai. Tačiau tikslumas kainuoja. Prie didelių (pavyzdžiui, 1GB) duomenų kiekių ar greičių ir labai maža (pavyzdžiui, 10-8) paklaida turėtų įtaką.
- Atskiras kanalas skirtas laikmačių suderinimui. Tačiau jis nėra tinkamas tiesiant keliasdešimt kilometrų linijas arba signalo elektromagnetinėmis bangomis įtakojant šalia esančias linijas
- Kas tam tikrą laiką siunčiant suderinimui skirtus duomenis.
- Duomenis koduoti įterpiant laikmačio taktą.
Mančesterio algoritmas
[redaguoti | redaguoti vikitekstą]Lengviau pagaminti technologijas, kurios reaguotų į signalo pasikeitimą, o ne skaičiuotų signalo stiprumą[2]. todėl juo ir paremtas Mančesterio algoritmas.
Tradicinis Mančesterio algoritmas (I variantas):
- 0 atitinka perėjimą nuo teigiamas prie neigiamos įtampos
- 1 atitinka perėjimą nuo neigiamos prie teigiamos įtampos
- Perėjimas vykdomas takto viduryje
- Jei duomenų skaičiai iš eilės vienodi, tai tarp taktų grįžtama į buvusią padėtį
Tradicinis Mančesterio algoritmas (II variantas):
- Turime vieną signalą, kuris atitinka duomenis (0 – neigiamą, 1 – teigiamą signalą)
- Turime antrą signalą, kuris atitinka laikmatį (kas duomenų skaitmenį perinama nuo neigiamo prie teigiamo)
- Sujungiame abu signalus griežtos disjunkcijos principu (0+0=0 1+1=0 0+1=1 1+0=1)
Diferencialinis Mančesterio kodavimas
- Takto viduryje visada būna perėjimas
- 0 atitinka papildomą perėjimą prieš takto vidurį
- 1 atitinka papildomo perėjimo nebuvimą
Šaltiniai
[redaguoti | redaguoti vikitekstą]- ↑ Andrew S. Tanenboum, Computer Networks, ISBN 0-13-255317-1
- ↑ Douglas E. Comer, Computer Networks And Internets, ISBN 0-13-504583-5