VyÜlo v t²denφku: CHIPweek
╚φslo:50/96
Datum:10. prosince 1996
Strana:24
Rubrika/kategorie: Principy poΦφtaΦov²ch sφtφ
Modul: P°enosovΘ techniky
Dφl:2

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek

Ji°φ Peterka

Synchronnφ, asynchronnφ a arytmick² p°enos

U ka₧dΘho datovΘho p°enosu je velmi d∙le₧itΘ, aby u₧ na tΘ nejni₧Üφ ·rovni (na ·rovni fyzickΘ vrstvy) ob∞ strany postupovaly stejn∞ rychle, konkrΘtn∞ aby stejn∞ rychle generovaly a na druhΘ stran∞ zase vyhodnocovaly p°enßÜen² signßl. Tomuto problΘmu se obecn∞ °φkß synchronizace, a zde se jednß o synchronizaci na ·rovni jednotliv²ch bit∙.

Nenφ jist∞ t∞₧kΘ domyslet si, ₧e kdy₧ odesilatel urΦit²m tempem vysφlß po p°enosovΘ cest∞ jednotlivΘ datovΘ bity, musφ je p°φjemce p°ijφmat stejnou rychlostφ. Ve skuteΦnosti se ale jednß o to, ₧e odesilatel m∞nφ p°enßÜen² signßl v urΦit²ch Φasov²ch odstupech, kterΘ ·zce souvisφ s tzv. bitov²mi intervaly. Z∙staneme-li u nejjednoduÜÜφho p°φpadu, kdy je pou₧ito dvoustavovΘ k≤dovßnφ a modulaΦnφ rychlost se rovnß rychlosti p°enosovΘ, pak p°enos ka₧dΘho jednotlivΘ bitu ätrvß" urΦitou dobu, danou p°evrßcenou hodnotou p°enosovΘ rychlosti. Nap°φklad p°i p°enosovΘ rychlosti 1 Mbit za sekundu jeden bit ätrvß" jednu mili≤ntinu sekundy. Tato mili≤ntina sekundy pak v danΘm p°φpad∞ p°edstavuje zmφn∞n² bitov² interval.

Obecn∞ je bitov² interval Φasov² ·sek, ve kterΘm odesφlajφcφ provßdφ takovΘ zm∞ny p°enßÜenΘho signßlu, kterΘ majφ vyjad°ovat hodnotu p°enßÜenΘho bitu. Nap°φklad tedy udr₧uje nap∞tφ na jednΘ ze dvou diskrΘtnφch ·rovnφ, reprezentujφcφch binßrnφ hodnoty, nebo naopak v tomto intervalu provede zm∞nu z jednΘ ·rovn∞ na druhou (je-li datov² bit reprezentovßn hranou, resp. zm∞nou signßlu) apod. P°φjemce samoz°ejm∞ musφ pou₧φvat stejnou konvenci pro vyhodnocovßnφ v²znamu p°enßÜenΘho signßlu (zda jsou bity vyjad°ovßny ·rovnφ nap∞tφ, hranou apod.). Hlavn∞ ale p°φjemce musφ v∞d∞t, kdy mß vyhodnocovat stav p°enßÜenΘho signßlu. P°esn∞ji kdy zaΦφnß a konΦφ ka₧d² jednotliv² bitov² interval, v rßmci kterΘho mß p°enßÜen² signßl vyhodnocovat.

Odesilatel i p°φjemce tedy musφ postupovat koordinovan∞ v Φase (neboli äve vzßjemnΘ synchronizaci"), a pro sprßvnΘ docen∞nφ problΘmu je vhodnΘ si uv∞domit, ₧e jejich pojem o Φase nemusφ nutn∞ b²t shodn². Ka₧d² toti₧ mß k dispozici vlastnφ ähodinky", neboli vlastnφ generßtor pravideln∞ se m∞nφcφho signßlu (tzv. hodinovΘho signßlu), kter² v poΦφtaΦφch odm∞°uje Φas. P°φsluÜnΘ obvody b²vajφ velmi spolehlivΘ co do p°esnosti odm∞°ovßnφ Φasu, ale na druhΘ stran∞ je t°eba si uv∞domit, ₧e p°i vyÜÜφch p°enosov²ch rychlostech staΦφ opravdu velmi malΘ odchylky, aby bylo zle. Nap°φklad tak zle, aby se p°φjemce kv∙li äopo₧d∞nφ" sv²ch hodinek (Φi naopak kv∙li jejich äp°edchßzenφ") dostal s vyhodnocovßnφm do jinΘho ne₧ sprßvnΘho bitovΘho intervalu, a p°enßÜen² signßl tak vzorkoval v dob∞, kdy ji₧ mß reprezentovat jin² bit ne₧ si p°φjemce myslφ.

Pro udr₧enφ vzßjemnΘ ΦasovΘ synchronizace (ΦasovΘ koordinace) p°φjemce i odesilatele naÜt∞stφ existuje n∞kolik mo₧nostφ.

Asynchronnφ p°enos

KoncepΦn∞ nejjednoduÜÜφ je takovΘ °eÜenφ, p°i kterΘm odesilatel explicitn∞ sd∞lφ p°φjemci, kdy zaΦφnß a kdy konΦφ ka₧d² jednotliv² interval. Pak je dokonce mo₧nΘ, aby jednotlivΘ bitovΘ intervaly trvaly r∙zn∞ dlouho, a tudφ₧ nebyla konstantnφ ani v²slednß p°enosovß rychlost. P°edstavu takovΘhoto pln∞ asynchronnφho p°enosu (asynchronnφho v tom smyslu, ₧e postrßdß jakoukoli synchronizaci), ukazuje hornφ Φßst dneÜnφho obrßzku.

V praxi se takov²to zp∙sob p°enosu moc nepou₧φvß, a to zejmΘna kv∙li tomu, ₧e pro jeho realizaci jsou nutnΘ alespo≥ t°i stavy p°enßÜenΘho signßlu (neboli tzv. t°φhodnotovß logika). Dva stavy toti₧ musφ vyjad°ovat p°enßÜenou binßrnφ hodnotu, a t°etφ stav je pot°ebn² pro vymezenφ zaΦßtku a konce bitovΘho intervalu. Na druhΘ stran∞ toto °eÜenφ neklade v∙bec ₧ßdnΘ nßroky na kvalitu ähodinek" p°φjemce (na kvalitu generßtoru jeho hodinovΘho signßlu). DalÜφ mo₧nΘ varianty °eÜenφ synchronizace vÜak ji₧ s urΦitou minimßlnφ äkvalitou" hodinek p°φjemce p°eci jen poΦφtajφ.

Arytmick² p°enos

Zajφmav²m kompromisnφm °eÜenφm je oΦekßvat od hodinek odesilatele i p°φjemce takovou p°esnost, ₧e vydr₧φ äjφt" dostateΦn∞ p°esn∞ alespo≥ po dobu p°enosu n∞kolika mßlo po sob∞ jdoucφch bit∙. Tomu je pak nutnΘ uzp∙sobit charakter p°enosu - data se nep°enßÜφ jako libovoln∞ dlouhΘ posloupnosti bit∙, ale jako skupinky bit∙ pevn∞ danΘ velikosti (nap°φklad 8 bit∙). Na zaΦßtek ka₧dΘ takovΘto skupinky se pak umφstφ zvlßÜtnφ znaΦka, kterß p°φjemci umo₧nφ äse°φdit si" jeho hodinky: od okam₧iku p°φjmu zmφn∞nΘ znaΦky si pak p°φjemce sßm odm∞°uje Φas a sßm si urΦuje, kdy mß vzorkovat jednotlivΘ bity v rßmci danΘ skupinky (viz obrßzek). Vzhledem k ji₧ vyslovenΘmu po₧adavku na p°esnost jeho hodinek se p°itom p°edpoklßdß, ₧e alespo≥ po dobu p°enosu jednΘ skupinky bit∙ jeho hodinky budou odm∞°ovat Φas sprßvn∞.

V praxi se tato varianta pou₧φvß pom∞rn∞ dlouho, a s oblibou nap°φklad tam, kde p°enßÜenß data majφ charakter znak∙, a cel² p°enos je pak mo₧nΘ oznaΦit za znakov∞-orientovan². Od toho je takΘ odvozena obvyklß terminologie: mφsto neformßlnφch äskupinek bit∙" se hovo°φ o znacφch, a zvlßÜtnφ znaΦka na zaΦßtku ka₧dΘho znaku je oznaΦovßna jako tzv. start bit (zatφmco na konci ka₧dΘho datovΘho znaku b²vß jeÜt∞ tzv. stop bit).

Obrßzek 1.
Obr.: P°edstava asynchronnφho a arytmickΘho p°enosu
a/ skuteΦn∞ asynchronnφ p°enos
b/ p°enos b∞₧n∞ oznaΦovan² jako asynchronnφ (sprßvn∞ arytmick²)
Souvislost se znakov∞ orientovan²mi p°enosy, ke kter²m dochßzφ nap°φklad mezi znakov²mi terminßly a hostitelsk²mi poΦφtaΦi, je u₧iteΦnß i pro pochopenφ jednΘ velmi d∙le₧itΘ vlastnosti tohoto zp∙sobu p°enosu: kdy₧ u₧ivatel psal n∞co na znakovΘm terminßlu, a jednotlivΘ znaky se ihned odesφlaly do hostitelskΘho poΦφtaΦe, nemohlo b²t p°edem znßmo, jakΘ budou ΦasovΘ odstupy mezi jednotliv²mi znaky - zßle₧elo samoz°ejm∞ na u₧ivateli a jeho ärytmu" prßce. Proto byl i prßv∞ popisovan² zp∙sob p°enosu uzp∙soben neexistenci rytmu, neboli libovoln∞ velk²m (Φi spφÜe nßhodn²m) Φasov²m odstup∙m mezi jednotliv²mi znaky. Proto se mu takΘ sprßv∞ °φkß arytmick² p°enos (a-rytmick², neboli postrßdajφcφ rytmus).

Nynφ ovÜem jedna velmi d∙le₧itß terminologickß poznßmka: v b∞₧nΘ odbornΘ praxi se termφn äarytmick²" nepou₧φvß, a mφsto n∞ho se prßv∞ popsanΘmu (arytmickΘmu) zp∙sobu p°enosu °φkß äasynchronnφ".

Synchronnφ p°enos

Asynchronnφ (sprßvn∞: arytmick²) p°enos tedy poΦφtß s tφm, ₧e hodinky p°φjemce dokß₧φ äjφt" dostateΦn∞ p°esn∞ alespo≥ po dobu p°enosu jednoho znaku, a potom se mohou v∙Φi hodinkßm odesilatele libovoln∞ ärozejφt" (proto₧e na zaΦßtku dalÜφho znaku, dφky jeho start bitu, dojde k jejich dalÜφmu se°φzenφ, neboli tzv. äzasynchronizovßnφ").

Existuje vÜak jeÜt∞ t°etφ varianta °eÜenφ vzßjemnΘ synchronizace mezi p°φjemcem a odesilatelem, kterß poΦφtß s trval²m udr₧ovßnφ vzßjemnΘ koordinace hodinek obou z·Φastn∞n²ch stran (neboli s trval²m udr₧ovßnφm synchronizace) - zejmΘna kv∙li tomu, aby bylo mo₧nΘ co nejefektivn∞ji p°enßÜet libovoln∞ dlouhΘ posloupnosti bit∙.

Zde je ovÜem nutnΘ si uv∞domit, ₧e trvalΘ synchronizace (na p°edem neomezenou dobu) nenφ mo₧nΘ dosßhnout zvyÜovßnφm kvality ähodinek" na obou stranßch. Zde je nutnΘ zvolit takovΘ °eÜenφ, kterΘ zajistφ jejich pr∙b∞₧nΘ äse°izovßnφ". To je samoz°ejm∞ mo₧nΘ, a lze toho dosßhnout hned n∞kolika zp∙soby.

Principißln∞ nejjednoduÜÜφm °eÜenφm je p°enßÜet sm∞rem k p°φjemci i ätikßnφ" hodinek odesilatele. To ovÜem vy₧aduje samostatn² p°enosov² kanßl (vedle kanßlu datovΘho), a ten v∞tÜinou neb²vß k dispozici (s v²jimkou p°enos∙ na velmi malΘ vzdßlenosti, kde je mo₧nΘ pou₧φt nap°φklad vφcevodiΦovΘ kabely).

Alternativnφm °eÜenφm je smφchat hodinov² signßl se signßlem, kter² reprezentuje äu₧iteΦnß data", a p°enßÜet vÜe jedin²m spoleΦn²m p°enosov²m kanßlem. Nap°φklad tak, aby v rßmci jednoho bitovΘho intervalu dochßzelo ke dv∞ma zm∞nßm signßlu - jeden reprezentuje Φasovßnφ, a druh² data. Pak ovÜem p°i stejnΘ p°enosovΘ rychlosti stoupne rychlost modulaΦnφ na dvojnßsobek, a s nφ i pot°ebnß Üφ°ka p°enosovΘho pßsma.

DalÜφ alternativou je umo₧nit p°φjemci, aby se synchronizoval ze samotn²ch dat. Jsou-li nap°φklad jednotlivΘ bity reprezentovßny p°echodem signßlu mezi dv∞ma ·rovn∞mi (hranou), pak nenφ problΘm vyu₧φt tuto hranu i pro se°φzenφ hodinek p°φjemce. ProblΘm je spφÜe v tom, aby byla zajiÜt∞na pravidelnost t∞chto hran, co₧ zase souvisφ s tφm, ₧e v p°enßÜen²ch datech nesmφ b²t urΦitΘ äsynchronizaci nep°ejφcφ" sekvence (nap°φklad posloupnosti sam²ch nul Φi naopak sam²ch jedniΦek apod.). Ale i tomu se dß p°edejφt, tφm ₧e se do p°enßÜenΘho proudu dat um∞le vlo₧φ vhodn² bit navφc, kter² nebezpeΦφ ztrßty synchronizace odstranφ (a p°φjemce takov²to bit v₧dy rozpoznß a zahodφ).


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek
Tento Φlßnek m∙₧e b²t voln∞ Üφ°en, pokud se tak d∞je pro studijnφ ·Φely, na nev²d∞leΦnΘm zßklad∞ a se zachovßnφm tohoto dov∞tku. Podrobnosti hledejte zde, resp. na adrese http://archiv.czech.net/copyleft.htm