Кодът Манчестър-II или кодът Манчестър е най-широко използван в локални мрежи. Той също се отнася до самосинхронизиращите се кодове, но за разлика от кода RZ, той няма три, а само две нива, което осигурява по-добра устойчивост на шум.

Логическата нула съответства на прехода към горното ниво в центъра на битовия интервал, логическата единица съответства на прехода към по-ниското ниво. Логиката на кодиране е ясно видима в примера за предаване на последователност от единици или нули. При предаване на подредени битове честотата на повторение на импулса се намалява наполовина.

Информационните преходи остават в средата на бита, докато граничните преходи (на границата на битовите интервали) отсъстват при редуване на единици и нули. Това се прави с поредица от инхибиращи импулси. Тези импулси са синхронизирани с информационните импулси и гарантират, че нежеланите преходи на границите са забранени.

Промяната на сигнала в центъра на всеки бит улеснява изолирането на тактовия сигнал. Самосинхронизирането дава възможност за предаване на големи пакети информация без загуба поради разлики в тактовата честота на предавателя и приемника.

Фигура 7.3 Двустепенен код Manchester-II.

Голямо предимство на кода на Манчестър е липсата на постоянен компонент при предаване на дълга последователност от единици или нули. Поради това галваничната изолация на сигналите се извършва по най-простите начини, например с помощта на импулсни трансформатори.

Важна характеристика на Манчестърския код е, че сигналът няма постоянен компонент при предаване на дълга последователност от единици или нули. Това позволява предавателите и приемниците да бъдат галванично изолирани с помощта на импулсни трансформатори.

честотен спектърСигналът в манчестърското кодиране включва само две носещи честоти. За десетмегабитов протокол това е 10 MHz при предаване на сигнал, състоящ се от една нула или една единица, и 5 MMHz за сигнал с редуващи се нули и единици. Следователно лентовите филтри могат лесно да филтрират всички други честоти.

Предимства на Манчестърския код:

  • кодът се самосинхронизира, тъй като задължително има преход в средата на бит,
  • няма DC компонент в кодовия сигнал на Манчестър, това прави възможно използването му за галванична изолация импулсни трансформатори (галванична изолацияизвършвани от мрежовата карта).

Недостатък на кода на Манчестър:

  • както при RZ кода, се изисква два пъти по-голяма честотна лента, отколкото при NRZ кода при същата побитова скорост.

Кодът Manchester-II е намерил приложение във влакнесто-оптични и електрически жични мрежи. Най-често срещаният 10 Mbps Ethernet LAN протокол използва този код.

Така че, като начало, нека поговорим за това какво представлява кодирането "Манчестър".

В кода "Манчестър" единицата се кодира чрез прехода на сигнала в средата на битовия интервал от състояние "ИЗКЛЮЧЕНО" в състояние "ВКЛЮЧЕНО", а нулата - обратно, чрез прехода на сигнала в средата
битов интервал от състояние "ON" до състояние "OFF".

Какво представляват състоянията "ON" и "OFF"?
Състоянията на сигнала "ON" и "OFF" са главоблъсканицадържави. Като цяло "ИЗКЛЮЧЕНО" е неактивно състояние, същото като при отсъствието на всякакъв обмен, а "ВКЛЮЧЕНО" е активно състояние, тоест такова, което по някакъв начин е различно от неактивното. Ето защо, въпреки факта, че на снимката вдясно състоянието на сигнала „ON“ е показано с високо ниво на сигнала, а състоянието „OFF“ е показано с ниско ниво, това не трябва да се приема буквално (просто картината е по-позната и по-ясна с високи и ниски нива). Всъщност състоянията "ON" и "OFF" могат да бъдат кодирани по напълно различни начини. Например, IR дистанционните кодират тези състояния чрез наличието или отсъствието на импулси с определена честота, интегрираните фотодетектори (които най-често имат неактивно високо ниво на изходен сигнал) издават код, в който „ON“ е кодирано от ниско ниво и “OFF” е кодирано с високо ниво и т.н.

Продължителността на нула и единица в манчестърското кодиране е една и съща, тоест дължината на съобщението не зависи от това колко нули или единици има в съобщението, а зависи само от общия брой битове.

Ключовото свойство на манчестърското кодиране е, че и двете състояния на сигнала задължително присъстват по време на предаването на всеки бит: „ON“ и „OFF“ (отново вижте фигурата по-горе). Тоест по време на предаването на всеки бит сигналът трябва да промени състоянието си поне веднъж. Тоест кодът "Манчестър" може да се състои само от единични интервали, ако съседните битове са еднакви, и двойна продължителност, ако съседните битове са различни (това е показано на фигурата вляво).

Описаното свойство ви позволява допълнително да синхронизирате приемника с предавателя при получаване на всеки бит, да определите дали полученият код изобщо може да бъде "Манчестър", да диагностицирате края на съобщението или "загубата" на сигнала на предавателя.

Да речем, ако приемем, че честотата на предавателя не може да скочи с повече от 1,5 пъти, тогава липсата на промяна в състоянието на сигнала в рамките на 3 полубита може безопасно да се тълкува като край на съобщението или „загуба“ ” на сигнала на предавателя (ако знаем дължината на съобщението предварително). Или, например, когато разглеждаме някакъв неизвестен код, ако видим, че кодът съдържа повече от два варианта на интервалите между състоянията „ВКЛЮЧЕНО“ и „ИЗКЛЮЧЕНО“, тогава можем недвусмислено да заключим, че изследваният код не е „Манчестър ”.

Надявам се, че всичко е повече или по-малко ясно какво представлява кодът "Манчестър", така че нека да преминем към следващия въпрос - как да получим и декодираме този код.

Е, очевидно можете да определите началото на предаването на данни, като промените състоянието на сигнала, възприет от приемника от „ИЗКЛЮЧЕНО“ на „ВКЛЮЧЕНО“. Има обаче едно предупреждение. Тъй като прехвърлянето на едно също започва от състояние „ИЗКЛЮЧЕНО“, то при първата промяна на сигнала от „ИЗКЛЮЧЕНО“ на „ВКЛЮЧЕНО“, ние абсолютно няма да можем да диагностицираме дали това е средата на прехвърлянето на едно или начало на прехвърляне на нула. Единственото нещо, което може да се направи тук, е да се договори предварително кой бит да бъде предаден първи (т.е. да се въведе специален стартов бит, чиято стойност винаги ще бъде строго определена).

Това е всичко, сега, ако знаем от кой бит започва съобщението, знаем продължителността на интервалите на състоянията "ON" и "OFF", приемникът ни има точен, стабилен генератор и ние
знаем точно колко бита искаме да получим, тогава можем да съставим първия най-прост алгоритъм за възстановяване на оригинала, кодиран от "Манчестърския" код на пакета:

  1. - започнете да записвате стойността на сигнала. От този момент нататък на интервали, равни на продължителността на бита. И така - докато се получи необходимия брой битове.

Вариант две. Знаем от кой бит започва съобщението, знаем продължителността на интервалите “ON” и “OFF”, нашият приемник има стабилен генератор, но не знаем нищо за дължината на съобщението. В този случай можете да използвате свойството на кода на Манчестър, че сигналът не може да остане постоянен за 3 или повече полубита. Тоест моментът, в който сигналът остане в състояние „ИЗКЛЮЧЕНО“ за 3 полубита, може да се счита за край на съобщението. Алгоритъмът за възстановяване на изходния код в този случай може да изглежда така:

  1. - чрез промяна на състоянието на сигнала от "OFF" на "ON" определяме началото на предаването
  2. - отбройте една четвърт от продължителността на бита (за да стигнете до средата на половин бит)
  3. - от този момент (нека бъде момент номер 1) и по-нататък, на интервали, равни на продължителността на половин бит, анализираме стойността на сигнала. Веднъж
    ще се случи, че сигналът в последните три измервания ще бъде в състояние “OFF” - това ще сигнализира за край на съобщението. Освен това, като записваме стойността на сигнала през цялото време с нечетни числа, с изключение на последното, ще възстановим оригиналното съобщение.

Вариант три. Знаем от кой бит започва съобщението, но не знаем продължителността на интервалите, през които сигналът е в състояния „ON” и „OFF”. Какво да правим в
този случай? Ако по щастлива случайност знаете стойността не само на първия бит, но и на втория, тогава знаете точно на какви интервали (на цял бит или на половина)
ще се появят първите 2 превключвания и лесно можете да откриете необходимите интервали или научно казано, да синхронизирате приемника с предавателя.
(Да, разбрахме защо имат цели 2 начални бита. Между другото, в Ethernet мрежите, където също се използва манчестърско кодиране, се използва цял 56-битов преамбюл за първоначална синхронизация).
След това можете лесно да използвате първия или втория от горните алгоритми.

Е, да предположим, че има друг вариант. Ние знаем първите два бита от съобщението, но нашият генератор е пълен лайно, въпреки че работи (или, казано на научен език, можем да гарантираме, че за време, равно на продължителността на половин бит, честотата на генератора не може да се промени с 1,5 пъти или повече). Ето как да бъдете?

Да, просто трябва да преизчислите стойностите на продължителността на половин бит и цял бит за всеки нов фронт. Тоест, с други думи, е необходимо да синхронизирате приемника с предавателя не веднъж в самото начало, а на всеки нов фронт (под фронта имаме предвид превключване между състоянията „ON” / „OFF”), тъй като с Манчестър кодиране имаме нов фронт във всеки предаван бит.

Накратко, помислете различни комбинацииможете дълго време да помните основното предимство, за което кодът „Манчестър“ беше толкова обичан от всички: при предаване на всеки бит има промяна в състоянието „ON“ / „OFF“, което прави възможно синхронизирането предавателя и приемника.

В допълнение към горното съществува и така нареченото "разликово" или "диференциално" кодиране "Манчестър". В този случай, когато се предава нула, битовият интервал започва с промяна на състоянието на сигнала към обратното, а когато се предава едно, състоянието на сигнала в началото на битовия интервал не се променя. В противен случай всичко е същото като при обичайното кодиране "Манчестър" - в средата на битовия интервал състоянието на сигнала задължително се променя на обратното (виж фигурата вляво).

Тагът EM4100 съхранява 64 бита данни, което означава, че дизайнът трябва да съдържа 64-битов регистър за преместване, съставен от осем 8-битови 74HC165 регистъра. Регистърът се нулира след всеки 64 смени, за да нулирате данните и да започнете отначало. Данните на входовете на регистъра са както следва:
  • Времеви модел: девет единици
  • Производител/ID на версията: 2 блока от 5 бита, от които 4 бита са данни и 5-тият бит е паритет
  • Уникален идентификатор: 8 блока от 5 бита, от които 4 бита са данни, а петият е паритет
  • Контролна сума: 4 бита за четност, преброени по колони
  • Стоп бит: "0"

Дори шифрованите етикети са уязвими на много атаки. Освен това става все по-лесно да се емулират етикети на смартфони Поддръжка на NFC(които обикновено работят на 13,56 MHz). Просто напишете правилно приложението за модулация на полето и можете да правите каквото искате.

Като стандартно извинение напомням, че авторът (И преводач! - Забележка. превод) не поема отговорност за последствията от използването на информацията от тази статия. Читателят трябва да отговаря за всичките си действия.

Кадър

Понякога многокъсметлия. Един красив калъф не би навредил точно сега, когато прототипът е готов и печатната платка е поръчана. И точно по това време Флеминг завърши сглобяването и стартира машината лазерно рязане OSAA PhotonSaw. След година работа по проекта, лазерът е готов да изреже първите си части. Флеминг и Рун правят последни настройки и подменят алуминиевия капак на лазерния шкаф. Можете да си представите колко щастливи бяхме всички да видим как това нещо работи.

С работещата машина успяхме да тестваме нашия проект в реалния живот. Корпусът на нашия RFID етикет е направен от 2 mm плексиглас. Този корпус е първият обект, направен на PhotonSaw, да!

Роди се идеята бобината да се постави от външната страна на корпуса. Първоначално беше решено да се използва половината от височината на корпуса, но това не проработи на практика (допълнителните отвори в дългите страни не се използват). Бобината пасва идеално по периметъра на целия корпус, въпреки че имах съмнения дали правоъгълната намотка (105x55 мм) ще бъде твърде голяма за нормално електромагнитно свързване.

Тестовата бобина беше навита, без никакви изчисления, с тел 0,4 mm в 66 навивки. И очевидно отново имахме късмет, защото бобината се оказа точно както трябва, с индуктивност 645 μH, със свързан етикет, даващ резонансна честота 125,2 kHz. Тест на четец на врати показа, че прототипът работи добре с тази намотка.

С намотката от външната страна на корпуса, дебелината на последния може да бъде намалена. Вътрешната дебелина вече зависи само от височината на частите на дъската и като се вземе предвид дебелината на дъската трябва да бъде около 6 мм. Освен това би било хубаво да добавите гравиране. Флеминг предложи заобляне на страните на кутията от естетически и ергономични причини. Извито тяло също ще защити по-добре страните на намотката, защото там, където няма много напрежение, намотките от тел обичат да изпълзяват.

PhotonSaw все още не е на ниво: гравирането продължава горен капаксе измести значително. Необходимо е да се финализира, преди да се направи окончателната версия на случая. Извитите контури също бяха обект на изчислителна грешка в софтуера, тъй като лъчът не се върна в първоначалната си позиция след преминаване през затворен път. Но така или иначе, извивките изглеждат наистина гладки.

PCB монтаж

Поръчаната дъска пристигна:

Сглобяването не беше много трудно. Върху шаблонната плоскост се нанася спояваща паста, поставят се всички детайли и след това се запояват в домашна пещ.

Чрез разделителния капацитет (47 pF имат съпротивление от приблизително 27 kOhm при честота 125 kHz) и защитни диоди, токът протича към захранващите шини. Енергията, идваща от бобината, е достатъчна за поддържане на захранващото напрежение от около 1 V. Токът може да достигне 250-500 μA. Изненадващо чиповете 74HC изглежда работят с това захранване. За съжаление под такъв натиск се случват странни неща. 74HC имат вътрешна верига за нулиране и трябва да се уверите, че работи. Имайте предвид, че изключването на защитните диоди не помага. На входовете на микросхемите има вътрешни защитни диоди, които в случая се отварят и вършат същата работа.

Нулиране на захранването се задейства само ако захранващото напрежение падне под определено ниво за определен период от време. Ако напрежението остане твърде високо, тогава вътрешната логика може да се обърка, защото някои части от нея може да са в недефинирано състояние, докато други работят правилно. Необходимо е вътрешно нулиране, за да се настроят всички чипове в последователно състояние. По този начин веригата ще работи хаотично при много ниско захранващо напрежение.

Наблюдавани са следните симптоми: тагът работи известно време, докато изпраща правилните данни. Ако бобината се извади от четеца и след това се постави обратно, можете да заложите дали етикетът ще се изключи. Понякога работи, понякога не. Изключването на PLL влошава ситуацията. Ниската консумация на енергия кара четеца понякога да получава данни от деактивиран етикет. Ето какво означава "енергийно ефективна система".

Има две решения: 1) намалете кондензатора във веригата за възстановяване на часовника до 15 pF и 2) добавете резистор 22-100 kΩ между захранването и земята, за да източите излишната енергия. Вторият метод води до увеличаване на изтичането по време на работа и всъщност не е необходим при намаляване на капацитета на кондензатора. Все пак се предлага като опция и пак е по-добре от неопределеното състояние на чиповете.

Модулация чрез ток или напрежение

Модулаторът донесе нова порция главоболие. Модулацията напълно изчезна, когато бобината беше поставена на известно разстояние от четеца. Това може да се случи и при преместване на намотката към или от четеца.

Причината беше във веригата на модулатора. MOSFET затварят бобината към резистор с определено съпротивление. Въпреки това, ако консумираната мощност от веригата е висока, съпротивлението на модулатора е много по-високо от съпротивлението на захранващите вериги. Това води до факта, че дълбочината на модулация зависи от консумирания ток и това не е много добро. Ситуацията се влошава от избора на ограничителен ценеров диод при по-ниско напрежение, отколкото в прототипа.

Решено е модулаторът да се превключи от режим на модулация на напрежението в режим на модулация на тока. За първия режим резисторът беше в дренажната верига, а сега е свързан между източника и земята. Напрежението гейт-източник ще спадне през този резистор, докато стойност остане малко над прага на отваряне на транзистора (0,9-1,1 V), което ще постави транзистора в линеен режим. Сега токът през транзистора ще бъде стабилен, независимо от напрежението на изтичане.

Тестването на прототипа показа, че текущата модулация работи много добре. Евтиният безименен четец вече не се проваля (добре, може би веднъж на сто или повече). Можем да предположим, че тази промяна ще работи чудесно на други читатели и етикетът вече вероятно ще може да работи на повечето от тях.

Завършена версия 1

Можете да видите промените в печатна електронна платка. Нямах 15 pF SMD кондензатор, трябваше да запоя обикновен с крака. Модулаторът е обрасъл с допълнителни резистори в източниците на транзисторите. Като цяло приемливо за първата версия.

(снимките могат да се кликват)





Видео демонстрация

Заключение

Може би си мислите, че този проект, изграден върху 7400 логика, може да се припише на ретро схеми, но това не е съвсем вярно. Първо, модерното семейство 74HC не е толкова старо. Второ, схемите с ниска мощност винаги са подходящи. Трето, единичен чип логически елементи(като използвания тригер на Шмит) често се използват в съвременни разработки. Често се забравя, че развитието на технологиите не спира дори за по-старите семейства микросхеми. Те просто станаха по-малко забележими на фона на общото разнообразие.

Аналоговата част се оказа по-трудна за разработване от цифровата. Отчасти поради липсата на спецификации, но главно поради многото компромиси, необходими за постигане на параметрите и непредвидени странични ефекти. Цифровите дизайни имат относително малко възможности, докато аналоговите дизайни обикновено изискват баланс между различни (и често противоположни) критерии.

Трябва да призная, че чиповете 74HC са много, много добре направени. Разработчиците знаеха какво правят и постигнаха много ниска консумация на енергия. Първоначално имах някои съмнения дали етикетът ще може да работи с пасивно захранване, но след като прочетох спецификациите, това беше просто въпрос на правилен дизайн на веригата. Въпреки това, все още има място за оптимизиране на различни части на етикета.

Сега нека видим как се представя този проект в състезанието 7400 през 2012 г. Подаването на заявления за конкурса приключва на 31 ноември. Пожелаваме успех на автора! - Забележка. превод

Тагове: Добавете тагове

Манчестър код

В локалните мрежи доскоро най-разпространеният метод за кодиране беше т.нар Манчестър код(Фиг. 2.16, d). Използва се в технологиите Ethernet и Token Ring.

В кода на Манчестър спадът на потенциала, тоест предната част на импулса, се използва за кодиране на единици и нули. В манчестърското кодиране всеки часовник е разделен на две части. Информацията се кодира от потенциални спадове, които се случват в средата на всеки цикъл. Единицата се кодира чрез преход от ниско към високо, а нулата се кодира чрез обратен ръб. В началото на всеки цикъл може да възникне фронт на служебния сигнал, ако трябва да представите няколко единици или нули подред. Тъй като сигналът се променя поне веднъж за цикъл на предаване на един бит данни, кодът на Манчестър има добри свойства за самосинхронизиране. Ширината на честотната лента на кода на Манчестър е по-тясна от тази на биполярния импулс. Той също няма постоянен компонент, а основният хармоник в най-лошия случай (при предаване на последователност от единици или нули) има честота N Hz, а в най-добрия случай (при предаване на редуващи се единици и нули) е равен до N / 2 Hz, като в AMI кодове или NRZ. Средно честотната лента на Манчестърския код е един и половина пъти по-тясна от тази на биполярния импулсен код, а основният хармоник осцилира около 3N/4. Манчестърският код има още едно предимство пред биполярния импулсен код. Последният използва три нива на сигнала за предаване на данни, докато Manchester използва две.

Потенциален код 2B1Q

На фиг. 2.16e показва потенциален код с четири нива на сигнала за кодиране на данни. Това е кодът 2B1Q, чието име отразява неговата същност - всеки два бита (2V) се предават в един цикъл от сигнал, който има четири състояния (1Q), Двойка битове 00 съответства на потенциал от -2,5 V, двойка битове 01 съответства на потенциал от -0,833 V, чифт 11 - потенциал +0,833 V и чифт 10 - потенциал +2,5 V. При този метод на кодиране са необходими допълнителни мерки за борба с дълги последователности от идентични двойки битове, тъй като сигналът след това се преобразува в постоянен компонент. При произволно разместване на битове спектърът на сигнала е два пъти по-тесен от този на NRZ кода, тъй като при същата битова скорост продължителността на часовника се удвоява. По този начин, използвайки кода 2B1Q, можете да прехвърляте данни по една и съща линия два пъти по-бързо, отколкото ако използвате кода AMI или NRZI. За да се реализира обаче, мощността на предавателя трябва да е по-висока, така че четирите нива да се разграничават ясно от приемника на фона на смущенията.

2.2.3. Логическо кодиране

Логическото кодиране се използва за подобряване на потенциални кодове от тип AMI, NRZI или 2Q1B. Логическото кодиране трябва да замени дългите последователности от битове, водещи до постоянен потенциал, с разпръснати такива. Както беше отбелязано по-горе, два метода са характерни за логическото кодиране - излишни кодове и кодиране.

Излишни кодове

Излишни кодовесе основават на разделянето на оригиналната последователност от битове на части, които често се наричат ​​знаци. След това всеки оригинален символ се заменя с нов, който има повече битове от оригинала. Например, логически код 4V/5V, използвани в технологиите FDDI и Fast Ethernet, заменят оригиналните 4-битови знаци с 5-битови знаци. Тъй като получените символи съдържат излишни битове, общият брой битови комбинации в тях е по-голям, отколкото в оригиналните. Така че в кода 4B / 5B получените символи могат да съдържат 32 битови комбинации, докато оригиналните символи - само 16. Следователно в получения код можете да изберете 16 такива комбинации, които не съдържат голям брой нули и пребройте останалите забранени кодове (нарушение на кода). В допълнение към премахването на DC и правенето на кода самосинхронизиращ се, излишните кодове позволяват на приемника да разпознае повредени битове. Ако приемникът получи забранен код, това означава, че сигналът по линията е бил изкривен.

Съответствието на източника и получените кодове 4V/5V е представено по-долу.

След това кодът 4B/5B се предава по линията, като се използва физическо кодиране в един от потенциалните методи за кодиране, който е чувствителен само към дълги последователности от нули. Кодовите символи 4V/5V, дълги 5 бита, гарантират, че на линията не могат да се появят повече от три нули подред за всяка комбинация от тях.

Буквата B в кодовото име означава, че елементарният сигнал има 2 състояния - от английски binary - двоичен. Има и кодове с три състояния на сигнала, например в кода 8B/6T за 8-битово кодиране обща информацияизползва се код от 6 сигнала, всеки от които има три състояния. Излишъкът на кода 8B/6T е по-висок от този на кода 4B/5B, тъй като има 3 6 =729 резултатни символа на 256 изходни кода.

Използването на справочната таблица е много проста операция, така че този подход не усложнява мрежови адаптерии интерфейсни блокове на комутатори и рутери.

За осигуряване на даденото честотна ленталиния, предавател, използващ излишен код, трябва да работи с повишена тактова честота. Така че, за да предава 4V / 5V кодове със скорост 100 Mb / s, предавателят трябва да работи на тактова честота от 125 MHz. В този случай спектърът на сигнала по линията се разширява в сравнение със случая, когато по линията се предава чист, неизлишен код. Въпреки това, спектърът на излишния потенциален код се оказва по-тесен от спектъра на кода на Манчестър, което оправдава допълнителния етап на логическо кодиране, както и работата на приемника и предавателя при повишена тактова честота.

Разбъркване

Разбъркването на данните със скрамблер, преди да ги поставите на линия с откровен код, е друг начин за логическо кодиране.

Методите на кодиране се състоят в изчисление бит по бит на получения код въз основа на битовете на изходния код и битовете на получения код, получени в предишни цикли. Например скрамблер може да реализира следната връзка:

където Bi е двоичната цифра на резултантния код, получен на i-тия цикъл на скрамблера, Ai е двоичната цифра на изходния код, който пристига на i-тия цикъл на входа на скрамблера, Bi-3 и Bi -5 са двоичните цифри на резултантния код, получен при предишните цикли на скрамблера, съответно 3 и 5 цикъла по-рано от текущия цикъл, операцията XOR (събиране по модул 2). Например, за изходната последователност 110110000001, скрамблерът ще даде следния резултатен код: B1 = A1 = 1 (първите три цифри от резултатния код ще бъдат същите като оригиналния, тъй като все още няма необходими предишни цифри)

По този начин изходът на скрамблера ще бъде последователността 110001101111, която не съдържа последователността от шест нули, присъстваща в програмен код.

След като получи получената последователност, приемникът я предава на дешифратора, който реконструира оригиналната последователност въз основа на обратната връзка:

Различните алгоритми за кодиране се различават по броя на термините, които дават цифрата на резултантния код, и отместването между термините. И така, в ISDN мрежите при прехвърляне на данни от мрежа към абонат се използва трансформация с измествания от 5 и 23 позиции, а при прехвърляне на данни от абонат към мрежа с измествания от 18 и 23 позиции.

Има още прости методиборба срещу последователности от единици, също отнасяни към класа на разбъркване.

За подобряване на биполярния AMI код се използват два метода, базирани на изкуственото изкривяване на последователността от нули чрез забранени знаци.

На фиг. Фигура 2.17 показва използването на метода B8ZS (биполярно със заместване с 8 нули) и метода HDB3 (биполярно с висока плътност 3 нули) за коригиране на AMI кода. Изходният код се състои от две дълги поредици от нули: в първия случай - от 8, а във втория - от 5.

Ориз. 2.17.Кодове B8ZS и HDB3. V - сигнал на забранената полярност; 1*-сигнал на единица с правилна полярност, но заместваща 0 в изходния код

Кодът B8ZS коригира само последователности, състоящи се от 8 нули. За да направи това, след първите три нули, вместо останалите пет нули, той вмъква пет цифри: V-1*-0-V-1*. V тук означава сигнал от единица, забранен за даден цикъл на полярност, тоест сигнал, който не променя полярността на предходния, 1* е сигнал на единица с правилна полярност, а знакът звездичка маркира факт, че в изходния код в този цикъл нямаше единица, а нула. В резултат на това приемникът вижда 2 изкривявания за 8 тактови цикъла - много малко вероятно е това да се е случило поради шум по линията или други повреди в предаването. Следователно получателят счита такива нарушения за кодиране на 8 последователни нули и при получаване ги заменя с оригиналните 8 нули. Кодът B8ZS е конструиран по такъв начин, че неговият постоянен компонент е нула за всяка последователност от двоични цифри.

Лекция 4: OSI модел

  1. Слоеве и процес на комуникация в OSI модела

  2. Взаимодействие на нивата в процеса на общуване

За унифицирано представяне на данни в мрежи с разнородни устройства и софтуер Международната организация по стандартизация (ISO) разработи основен комуникационен модел отворени системи OSI (взаимосвързване на отворена система). Този модел описва правилата и процедурите за прехвърляне на данни в различни мрежови среди при организиране на комуникационна сесия. Основните елементи на модела са слоеве, процеси на приложение и физически средства за свързване. На фиг. 2.1 показва структурата на основния модел. Всяко ниво на модела OSI изпълнява специфична задача в процеса на предаване на данни по мрежа. базов моделе в основата на разработването на мрежови протоколи. OSI разделя комуникационните функции в мрежа на седем слоя, всеки от които обслужва различна част от процеса на оперативна съвместимост на отворените системи.

Ориз. 2.1 OSI модел

OSI моделът описва само средства за взаимодействие в цялата система, а не приложения за крайни потребители. Приложенията прилагат свои собствени комуникационни протоколи чрез достъп до системни съоръжения. Ако дадено приложение може да поеме функциите на някои от горните слоеве на OSI модела, тогава за комуникация то осъществява директен достъп до системните инструменти, които изпълняват функциите на останалите долни слоеве на OSI модела.

Взаимодействие на слоевете на OSI модела

OSI моделът може да бъде разделен на два различни модела, както е показано на фигура 2.2:

    хоризонтален модел, базиран на протоколи, който осигурява механизъм за взаимодействие на програми и процеси на различни машини;

    вертикален модел, базиран на услуги, предоставяни от съседни слоеве един на друг на една и съща машина.

Ориз. 2.2 Схемата на взаимодействие на компютрите в основния референтен модел OSI

Всеки слой на изпращащия компютър взаимодейства със същия слой на получаващия компютър, сякаш е директно свързан. Такава връзка се нарича логическо или виртуална връзка. Всъщност взаимодействието се осъществява между съседни нива на един компютър.

Така че информацията на изпращащия компютър трябва да премине през всички нива. След това се предава по физическия носител към получаващия компютър и отново преминава през всички слоеве, докато достигне същото ниво, от което е изпратено на изпращащия компютър.

AT хоризонтален моделдвете програми се нуждаят от общ протокол за обмен на данни. Във вертикален модел съседните слоеве комуникират чрез интерфейси за програмиране на приложения (API).

Преди да бъдат подавани в мрежата, данните се разбиват на пакети. Пакетът е единица информация, предавана между станции в мрежа. При изпращане на данни пакетът преминава последователно през всички нива софтуер. На всяко ниво към пакета се добавя контролна информация от това ниво (заглавие), което е необходимо за успешно предаване на данни по мрежата, както е показано на фиг. 2.3, където Заг- заглавка на пакета, Кон- край на пакета.

От приемащата страна пакетът преминава през всички слоеве в обратен ред. На всеки слой протоколът на този слой чете информацията на пакета, след което премахва информацията, добавена към пакета на същия слой от подателя, и предава пакета на следващия слой. Когато пакетът достигне Приложенониво, цялата контролна информация ще бъде премахната от пакета и данните ще се върнат в оригиналната си форма.

Ориз. 2.3 Формиране на пакет от всяко ниво на седемстепенния модел

Всяко ниво на модела има своя собствена функция. Колкото по-високо е нивото, толкова повече трудна задачатой решава.

Отделни нива на модела OSIудобно да се счита за програмни групипредназначени за извършване на специфични функции. Един слой, например, отговаря за осигуряването на трансформация на данни от ASCIIв EBCDICи съдържа програминеобходими за изпълнение на тази задача.

Всеки слой предоставя услуга на по-висок слой, като на свой ред иска услуга от по-ниския слой. Горните слоеве изискват услуга по почти същия начин: като правило е изискване за маршрутизиране на някои данни от една мрежа към друга. Практическото прилагане на принципите на адресиране на данни се възлага на по-ниските нива.

Разглежданият модел определя взаимодействието на отворените системи различни производителив същата мрежа. Следователно той извършва координиращи действия за тях по:

    взаимодействие на приложените процеси;

    формуляри за представяне на данни;

    еднообразно съхранение на данни;

    управление на мрежови ресурси;

    сигурност на данните и защита на информацията;

    диагностика на програми и хардуер.

На фиг. 2.4 дадено Кратко описаниефункционира на всички нива.

Ориз. 2.4 Ниво функции

Приложен слой

Приложният слой осигурява достъп на приложните процеси до зоната за взаимодействие, е горното (седмо) ниво и е непосредствено съседен на приложните процеси. Всъщност приложният слой е набор от различни протоколи, чрез които мрежовите потребители имат достъп до споделени ресурси като файлове, принтери или хипертекстови уеб страници, а също така организират съвместната си работа, например, използвайки протокола електронна поща. Специалните приложни сервизни елементи предоставят услуги за специфични приложни програми като програми за трансфер на файлове и емулация на терминал. Ако например програмата трябва да изпрати файлове, тогава тя определено ще бъде използвана протокол за трансфер на файлове, достъп и управление FTAM ( Прехвърляне на файл, достъп и управление). В модела OSI приложна програма, който трябва да изпълни конкретна задача (например актуализиране на база данни на компютър), изпраща конкретни данни във формуляра дейтаграмина приложен слой. Една от основните задачи на този слой е да определи как трябва да се обработва заявка за приложение, с други думи, каква форма трябва да приеме заявката.

Единицата от данни, с която работи приложният слой, обикновено се нарича съобщение.

Приложният слой изпълнява следните функции:

Описание на формите и методите на взаимодействие между приложените процеси.

    производителност различни видовевърши работа.

    прехвърляне на файл;

    управление на работата;

    управление на системата и др.

    Идентифициране на потребители чрез техните пароли, адреси, електронни подписи;

    Идентифициране на работещи абонати и възможност за достъп до нови приложни процеси;

    Определяне на достатъчността на наличните ресурси;

    Организиране на заявки за свързване с други приложни процеси;

    Прехвърляне на приложения на представително ниво за необходимите методи за описание на информацията;

    Избор на процедури за планирания диалог на процесите;

    Управление на обменяните данни между приложните процеси и синхронизиране на взаимодействието между приложните процеси;

    Определяне на качеството на услугата (време за доставка на блокове от данни, допустим процент грешки);

    Споразумение за коригиране на грешки и определяне на надеждността на данните;

    Координиране на ограниченията, наложени върху синтаксиса (набор от знаци, структура на данните).

Тези функции дефинират видовете услуги, които приложният слой предоставя на приложните процеси. В допълнение, приложният слой прехвърля към приложните процеси услугата, предоставена от физическия, връзката, мрежовия, транспортния, сесийния и презентационния слой.

На приложен слойе необходимо да се предостави на потребителите вече обработена информация. Това може да се управлява от системен и потребителски софтуер.

Приложният слой е отговорен за достъпа на приложенията до мрежата. Задачите на това ниво са прехвърляне на файлове, обмен пощенски съобщенияи управление на мрежата.

Най-често срещаните протоколи от горните три слоя са:

    FTP (File Transfer Protocol) протокол за прехвърляне на файлове;

    TFTP (Trivial File Transfer Protocol) е най-простият протокол за прехвърляне на файлове;

    имейл X.400;

    Telnet работа с отдалечен терминал;

    SMTP (Simple Mail Transfer Protocol) е прост протокол за обмен на поща;

    CMIP (Common Management Information Protocol) общ протокол за управление на информацията;

    ПОДХЛЪЗВАНЕ ( Serial Line IP) IP за серийни линии. Протокол за сериен пренос на данни символ по символ;

    SNMP (Simple Network Management Protocol) прост протокол за управление на мрежата;

    FTAM (прехвърляне на файлове, достъп и управление) е протокол за прехвърляне, достъп и управление на файлове.

Презентационен слой

Презентационният слой или презентационният слой представлява данните, предавани между процесите на приложението в желаната форма на данни.

Този слой гарантира, че информацията, предавана от приложния слой, ще бъде разбрана от приложния слой в друга система. Ако е необходимо, презентационният слой по време на прехвърляне на информация извършва преобразуване на формати на данни в някакъв общ формат на представяне и съответно по време на приемане извършва обратното преобразуване. По този начин приложните слоеве могат да преодолеят, например, синтактичните разлики в представянето на данни. Тази ситуация може да възникне в LAN с разнородни компютри ( IBM PC иMacintosh), които трябва да обменят данни. Така че в полетата на базите данни информацията трябва да бъде представена под формата на букви и цифри и често във формата графично изображение. Трябва да обработите тези данни, например, като числа с плаваща запетая.

Общото представяне на данни се основава на системата ASN.1, която е обща за всички нива на модела. Тази система служи за описване на структурата на файловете, а също така решава проблема с криптирането на данни. На това ниво може да се извършва криптиране и декриптиране на данни, благодарение на което незабавно се гарантира тайната на обмена на данни за всички приложни услуги. Пример за такъв протокол е протоколът сигурен Гнездо слой(SSL)който осигурява тайни съобщения за протоколите на приложния слой на TCP/IP стека. Този слой осигурява трансформация на данни (кодиране, компресиране и т.н.) на приложния слой в информационен поток за транспортния слой.

Представителният слой изпълнява следните основни функции:

    Генериране на заявки за установяване на сесии за взаимодействие между процесите на приложението.

    Координиране на представянето на данни между процесите на приложението.

    Внедряване на форми за представяне на данни.

    Представяне на графичен материал (чертежи, рисунки, диаграми).

    Криптиране на данни.

    Изпращане на заявки за прекратяване на сесии.

Протоколите на презентационния слой обикновено са интегрална частпротоколи на горните три слоя на модела.

Сесиен слой

Слоят на сесията е слой, който определя процедурата за провеждане на сесии между потребители или процеси на приложения.

Слоят на сесията осигурява контрол на разговора, за да улови коя страна е активна в този моменти също така осигурява съоръжения за синхронизация. Последните ви позволяват да вмъквате контролни точки в дълги трансфери, така че в случай на неуспех да можете да се върнете към последния. контролно-пропускателен пунктвместо да започне всичко отначало. На практика малко приложения използват сесийния слой и той рядко се прилага.

Слоят на сесията контролира прехвърлянето на информация между процесите на приложението, координира приемането, предаването и издаването на една комуникационна сесия. В допълнение, сесийният слой допълнително съдържа функциите за управление на пароли, контрол на разговора, синхронизиране и анулиране на комуникация в сесия на предаване след повреда поради грешки в по-ниските слоеве. Функциите на това ниво са в координацията на комуникациятамежду две приложни програми, работещи на различни работни станции. Идва под формата на добре структуриран диалог. Тези функции включват създаване на сесия, управление на предаването и получаването на пакети съобщения по време на сесия и прекратяване на сесия.

На ниво сесия се определя какъв ще бъде трансферът между два процеса на приложение:

    половин дуплекс(процесите ще изпращат и получават данни на свой ред);

    дуплекс(процесите ще изпращат данни и ще ги получават едновременно).

В полудуплексен режим сесийният слой предава на процеса, който започва предаването, токен за данни. Когато дойде време вторият процес да отговори, към него се предава маркерът за данни. Сесийният слой позволява предаване само на страната, която притежава токена за данни.

Сесийният слой осигурява следните функции:

    Установяване и прекратяване на ниво сесия на връзка между взаимодействащи системи.

    Извършване на нормална и спешна комуникация между процесите на приложението.

    Управление на взаимодействието на приложените процеси.

    Синхронизиране на сесийни връзки.

    Уведомяване на процесите на кандидатстване за изключения.

    Създаване на етикети в процеса на приложение, които позволяват след повреда или грешка да се възстанови изпълнението му от най-близкия етикет.

    Прекъсване в необходимите случаи на процеса на кандидатстване и правилното му възобновяване.

    Прекратяване на сесия без загуба на данни.

    Изпращане на специални съобщения за хода на сесията.

Сесийният слой е отговорен за организирането на сесии за обмен на данни между крайните машини. Протоколите на сесийния слой обикновено са компонент на протоколите на горните три слоя на модела.

Транспортен слой.

Транспортният слой е проектиран да прехвърля пакети през комуникационна мрежа. На транспортния слой пакетите се разделят на блокове.

По пътя от изпращача до получателя пакетите могат да бъдат повредени или загубени. Въпреки че някои приложения имат собствена обработка на грешки, има някои, които предпочитат да се справят с надеждна връзка веднага. Задачата на транспортния слой е да гарантира, че приложенията или горните слоеве на модела (приложение и сесия) прехвърлят данни със степента на надеждност, която изискват. OSI моделът дефинира пет класа услуги, предоставяни от транспортния слой. Тези видове услуги се различават по качеството на предоставяните услуги: спешност, възможност за възстановяване на прекъснати комуникации, наличие на съоръжения за мултиплексиране за множество връзки между различни протоколи на приложения чрез общ транспортен протокол и най-важното, възможност за откриване и коригиране грешки при предаване като изкривяване, загуба и дублиране на пакети.

Транспортният слой определя адресирането на физическите устройства (системи, техни части) в мрежата. Този слой гарантира доставката на блокове информация до получателите и управлява тази доставка. Основната му задача е да осигури ефективни, удобни и надеждни форми на пренос на информация между системите. Когато се обработва повече от един пакет, транспортният слой контролира реда, в който пакетите преминават. Ако дубликат на получено преди това съобщение премине, тогава дадено ниворазпознава това и игнорира съобщението.

Функциите на транспортния слой включват:

    Контрол на мрежовото предаване и осигуряване на целостта на блоковете данни.

    Откриване на грешки, частичното им отстраняване и докладване на некоригирани грешки.

    Възстановяване на трансмисията след повреди и неизправности.

    Консолидиране или разделяне на блокове от данни.

    Предоставяне на приоритети за блокови трансфери (нормални или спешни).

    Потвърждение за прехвърляне.

    Елиминиране на блокове в безизходни ситуации в мрежата.

Започвайки от транспортния слой, се изпълняват всички по-високи протоколи софтуерни инструментиобикновено се включва с мрежова операционна система.

Най-често срещаните протоколи на транспортния слой включват:

    TCP (Transmission Control Protocol) TCP/IP стеков протокол за управление на предаването;

    UDP (User Datagram Protocol) е протоколът за потребителска дейтаграма на стека TCP/IP;

    NCP (NetWare Core Protocol) основен протокол за NetWare мрежи;

    SPX (Sequenced Packet eXchange) Novell Stack Sequenced Packet Exchange;

    TP4 (Transmission Protocol) - клас 4 протокол за предаване.

Манкунианкодътсе отнася до самосинхронизиращи импулсни кодове и има две нива, което осигурява добра устойчивост на шум. Всеки цикъл (битов интервал) е разделен на две части. Информацията се кодира от потенциални спадове, които се случват в средата на всеки цикъл.

Една единица се кодира чрез ниво на сигнала от високо към ниско, а нула се кодира чрез обратен фронт. В началото на цикъла може да възникне служебен фронт на сигнала (когато се предават няколко единици или нули подред).

Нека разгледаме специални случаи на кодиране, както в предишните случаи.

При МанчестърПри кодирането задължителната промяна на сигнала в средата на всеки битов интервал улеснява изолирането на тактовия сигнал. Ето защо Манкунианкодътима добро самосинхронизиращ сеИмоти.

Сигналът не съдържа постоянен компонент, честотата на основния хармоник на сигнала е в диапазона от fo=N/2 Hz до fo=N Hz, вариращи в зависимост от типа битов поток.

Манчестърското кодиране се използва в ранните версии на 10 Mbps Ethernet технология.

Диференциален Манчестър код (Диференциален Манчестър)

Булевите стойности "0" и "1" се прехвърлят съответно присъствиеили отсъствие смениниво на сигнала в ранотактов (битов) интервал. В средата на битовия интервал има задължителна промяна в стойността на сигнала.

Диференциално манчестърско кодиране

Този код има същите предимства и недостатъци като Манкуниан.

От всички кодове, които разгледахме, кодирането на Манчестър има най-добрата самосинхронизация, тъй като фронтът на сигнала се появява поне веднъж на часовник.

Манчестърският код се използва в Ethernet мрежи със скорост на предаване 10 Mbps (10Base-T). Диференциален Манчестър код - в мрежи с технология Token Ring.

Понастоящем разработчиците са стигнали до извода, че в много случаи е по-рационално да се приложи потенциално кодиране, като се премахнат недостатъците му с помощта на т.нар. логично кодиране (см. по-долу в този раздел).

Код за връщане към нула rz (Връщане към нула)

Бит "1" - импулс единполярност в първата половина на битовия интервал, във втората половина на битовия интервал сигналът има нулев потенциал.

Бит "0" - импулс другполярност в първата половина на битовия интервал, във втората половина на битовия интервал сигналът има нулев потенциал. Кодът има добри свойства за синхронизация.

За този код битовият интервал
.

Код с инверсия на стойностите на кода cmi.

При този метод на предаване бит 1 се представя според правилата квази-троиченкодиране, а бит 0 - под формата на два импулса с противоположна полярност с промяна на знака в средата. Кодът също има добри свойства за синхронизация.

Потенциален код 2b1q

Това е потенциален код с четири нива на сигнала за кодиране на данни. Името отразява същността на кодирането - на всеки два бита (2B) се предават в един цикъл чрез сигнал с определено ниво (1 Q) . Линейният сигнал има четири състояния. С други думи, скоростта на информацията N в този метод на кодиране е два пъти скоростта на модулация B.

2B1Q кодиране

Сигнал в код 2B1Q

Фигурата показва сигнал, съответстващ на битовата последователност: 01 01 10 00. Основната честота на сигнала в кода 2B1Q не надвишава стойността fo=N/4 Hz

Въпреки това, за да се приложи този метод на кодиране, мощността на предавателя трябва да бъде по-висока, така че четирите потенциални стойности да бъдат ясно разграничени от приемника на фона на смущенията.

Кодът MLT3 (Многостепенна трансмисия - 3) .

Използват се три нива на предаване: "-1", "0", "+1".

Единствоотговаря изисква се преходот едно ниво на сигнала до друго на ръба на тактовия интервал.

нулаотговаря отсъствиепромени в нивото на линейния сигнал.

При предаване на последователност от единици периодът на промяна на нивото на сигнала включва четири бита. В такъв случай fo=N/4 Hz Това е максималната основна честота на сигнала в кода. MLT-3.В случай на редуваща се последователност от нули и единици основният хармоник на сигнала е с честота fo=N/8 Hz, което е половината от кода НРЗИ.

Сигнал в код MLT-3

Логическо кодиране

Логическо кодиране извършено от предавателя до физическикодиране, обсъдено по-горе, посредством връзка или физически слой. На сцената логичнокодиранеборба с недостатъците на методите физическидигиталенкодиране - отсъствиесинхронизация, Наличностпостояненкомпонент. Така първо с помощта на логичнокодиранеформират се коригирани битови последователности, които след това се използват прости методифизическикодиранепредавани по комуникационни линии.

Булева стойносткодираневключва замяна на битовете на оригиналната информационна последователност с нова битова последователност, която носи същата информация, но има в допълнение допълнителни свойства, като способността на приемащата страна да открива грешки в получените данни или надеждно да поддържа синхронизация с входящия сигнал.

Разграничете два метода за логическо кодиране:

- кодиране излишен код;

- разбъркване.

Излишък кодове (таблични кодове) се основават на разделяне на оригиналната битова последователност на групи и след това заместване на всяка оригинална група с кодова дума в съответствие с таблицата. Една кодова дума винаги съдържа повече битове от оригиналната група.

Логически код 4V/5V заменя оригиналните 4-битови групи с 5-битови кодови думи. В резултат на това общият брой възможни битови комбинации за тях (2 5 =32) е по-голям, отколкото за оригиналните групи (2 4 =16). Следователно, в кодова таблицаможете да включите 16 такива комбинации, които не съдържат повече от две нули подреди ги използвайте за прехвърляне на данни. Кодът гарантира, че не повече от три последователни нули могат да се появят на линията за всяка комбинация от кодови думи.

Останалите кодови комбинации се използват за предаване на сервизни сигнали (синхронизиране на предаване, начало на блок данни, край на блок данни, контрол на предаването в слоя на връзката). Неизползваните кодови думи могат да бъдат използвани от приемника за откриване на грешки в потока от данни. Цената за предимствата, получени с този метод на кодиране на данни, е намаляване на скоростта на предаване на полезна информация с 25%.

Линеен код

Символ

Група източник

4V/5V логическо кодиране се използва в 100Mbit/s Ethernet мрежи:

    в комбинация с код NRZI (спецификация 100Base FX, среда за предаване - оптично влакно);

    комбиниран с MLT-3 код (100Base TX спецификация, UTP Cat 5e предавателна среда).

Има и кодове с три състояния на сигнала, например в кода 8V/6T за кодиране на 8 бита от оригиналната информация се използват кодови думи от троичния код от 6 елемента. Всеки елемент може да приеме една от трите стойности (+1, 0, -1). Код излишък 8V/6Tпо-висок от кода 4V/5V, тъй като на 28 = 256 отчетени изходни знаци 3 6 =729 получени кодови думи. Този метод на кодиране се използва в спецификацията 100Base T4 - при организиране на 100Mbps Ethernet през UTP Cat3 кабел (остаряла спецификация). Тук 3 усукани двойки се използват едновременно за предаване на битовия поток. Скоростта на трансфер на информация за всяка двойка е N=100 Mbps / 3 = 33,3 Mbps, скоростта на модулация на линейния сигнал е 25 M Baud (8:6=1,33; 33,3:1,33=25), което позволява използването на неекранирани усукана двойка UTP Cat3.

В код8V/10V всеки 8 бита от оригиналната последователност се заменят с десет бита от кодовата дума. В същото време има 1024 резултатни комбинации за 256 първоначални комбинации. При подмяна в съответствие с кодовата таблица се спазват следните правила:

      нито една получена комбинация (кодова дума) не трябва да има повече от 4 еднакви бита подред;

      нито една получена комбинация не трябва да съдържа повече от 6 нули или 6 единици;

Кодът 8B/10B(+NRZI) се използва в стандарта 1000Base-X Gigabit Ethernet (когато влакното се използва като среда за предаване).

Внедрете мрежови адаптери за логическо кодиране. Тъй като използването на справочна таблица е много проста операция, методът на логическо кодиране с излишък не усложнява функционалните изисквания на това оборудване.

За осигуряване на дадена пропускателна способностнПредавател за бит/сек, използващ излишен код, трябва да работи с повишена тактова честота.И така, за предаване на сигнал в код 4V/5Vсъс скорост на предаване на информация N= 100 Mbps,предавателят трябва да работи на тактова честота 125 MHz (т.е.б=125 Мбо). В този случай спектърът на линейния сигнал се разширява. Обаче спектърът на сигнала на излишния потенциален код се оказва по-тесен от спектъра на сигнала в Манчестъркод, което оправдава допълнителната стъпка на логическо кодиране, както и работата на приемника и предавателя при повишена тактова честота.

Разбъркване е такова "смесване" на оригиналната битова последователност, при което вероятността за поява на единици и нули на входа на физическия кодиращ модул става близка до 0,5. Извикват се устройства (или софтуерни модули), които извършват тази операция скрамблери (разбъркване - изхвърляне, произволно сглобяване).

Схема за включване на скрамблер в комуникационен канал

Скрамблерът в предавателя извършва трансформацията на структурата на оригиналния цифров поток. Дешифраторът в приемника възстановява оригиналната битова последователност. Почти единствената операция, използвана в кодиращите и дескремблерите, е XOR - "побитово XOR"(добавка от модул 2).

Основната част на скрамблера и дескрамблера е генератор на псевдослучайна последователност (PRS) под формата на K-битов регистър за изместване с обратна връзка.

Има 2 основни типа двойки скрамблер-дескремблер:

    самосинхронизиращ се;

    с първоначален монтаж (добавка).

Веригите за самотактоване се управляват от кодирана последователност. Тези схеми имат недостатъка на разпространението на грешката. Влиянието на грешния символ се появява толкова пъти, колкото обратна връзкае в схемата.

Вариант на внедряване на кодиране в схема за самосинхронизиране.

Нека, например, скрамблерът изпълнява релацията In i =A i +B i -5 +B i -7 .

Тук Bi е двоичната цифра на резултантния код, получен на i-тия цикъл на скрамблера; Ai е двоична цифра на изходния код, който пристига в предавателя на входа на скрамблера на i-тия цикъл; B i -5 и B i -7 са двоичните цифри на резултантния код, получен в предишните цикли на скрамблера, съответно на цикли "i-5" и "i-7".

Дешифраторът в приемника възстановява оригиналната последователност, използвайки релацията

C i =B i +B i-5 +B i-7 =(A i +B i-5 +B i-7)+B i-5 +B i-7 =A i

В адитивните схеми кодираната последователност не се подава на входа на регистрите за преместване, няма разпространение на грешката, но е необходима синхронизация на работата на двойката скрамблър-дескремблер.