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 |
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φ.
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φ.
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).
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φ".
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φ).