VyÜlo v t²denφku: COMPUTERWORLD
╚φslo:40/91
RoΦnφk:1991
Rubrika/kategorie: Co je Φφm ... v poΦφtaΦov²ch sφtφch
Dφl:2

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

Ji°φ Peterka: Co je Φφm ... v poΦφtaΦov²ch sφtφch (2):

Zßkladnφ formy p°enos∙

Zßkladnφ funkcφ ka₧dΘ poΦφtaΦovΘ sφt∞ je p°enos datov²ch signßl∙ od jednoho poΦφtaΦe ke druhΘmu. V poΦφtaΦov²ch sφtφch se m∙₧eme setkat s nejr∙zn∞jÜφmi formami p°enosu signßl∙, kterΘ mohou b²t navφc r∙zn²m zp∙sobem modulovßny a k≤dovßny. K p°enosu se mohou pou₧φvat p°enosovΘ kanßly r∙zn²ch vlastnostφ a charakteristik. ZaΦn∞me tedy prßv∞ mo₧n²mi formami p°enosu signßl∙.

Paralelnφ a sΘriov² p°enos (parallel and serial transmission)

P°i paralelnφm p°enosu jsou data p°enßÜena po vφce bitech najednou, typicky po cel²ch bytech. K tomu je ovÜem zapot°ebφ p°φsluÜn² poΦet soub∞₧n²ch (paralelnφch) vodiΦ∙, co₧ je ·nosnΘ jen na krßtkΘ vzdßlenosti (typicky 20 metr∙). S paralelnφm p°enosem se m∙₧eme setkat nejΦast∞ji p°i komunikaci mezi poΦφtaΦem a tiskßrnou vybavenou tzv. paralelnφm rozhranφm (standardnφ p°φpad); v oblasti poΦφtaΦov²ch sφtφ pak jen zcela v²jimeΦn∞ u n∞kter²ch experimentßlnφch lokßlnφch sφtφ.

P°i sΘriovΘm p°enosu jsou data p°enßÜena postupn∞ bit po bitu, nejni₧Üφm (p°esn∞ji nejmΘn∞ v²znamn²m) poΦφnaje. V drtivΘ v∞tÜin∞ sφtφ je p°enos dat sΘriov². NejmenÜφ polo₧ka dat p°enßÜenß sΘriov∞ je oznaΦovßna jako znak (character) a mß obvykle rozsah 7 nebo 8 bit∙. Znak vyjßd°en² p°φmo ve form∞ posloupnosti dvojkov²ch bit∙, kterΘ se skuteΦn∞ p°enßÜejφ, se pak oznaΦuje jako znaΦka.

SΘriov² asynchronnφ p°enos (serial asynchronous transmission)

Obrßzek 2.1.
Obr. 2.1.: Asynchronnφ p°enos znaku

P°i asynchronnφm sΘriovΘm p°enosu mohou b²t jednotlivΘ znaky (p°esn∞ji znaΦky) p°enßÜeny s libovoln²mi Φasov²mi odstupy mezi sebou. P°φjemce pak ovÜem nem∙₧e p°edem v∞d∞t, kdy zaΦφnß dalÜφ znak, a proto musφ b²t schopen jeho p°φchod podle vhodnΘho p°φznaku rozpoznat. Tφmto p°φznakem je tzv. start-bit (tΘ₧ rozb∞hov² prvek, viz obrßzek 2.1), kter²m zaΦφnß ka₧d² asynchronn∞ p°enßÜen² znak. P°φchod start-bitu je pro p°φjemce souΦasn∞ i mo₧nostφ sprßvn∞ si nastavit svΘ m∞°φtko Φasu (p°esn∞ji svou Φasovou zßkladnu). To je nutnΘ proto, aby p°φjemce sprßvn∞ urΦil ΦasovΘ okam₧iky, kdy mß vyhodnocovat stav jednotliv²ch datov²ch bit∙, kterΘ po start-bitu nßsledujφ.

Za vlastnφmi datov²mi bity m∙₧e nßsledovat jeden tzv. paritnφ bit (viz dßle) a koneΦn∞ tzv. stop-bit (tΘ₧ zßv∞rn² prvek), jeho₧ dΘlka obvykle odpovφdß dΘlce jednoho nebo dvou datov²ch bit∙. Stop-bit v sob∞ nenese ₧ßdnou informaci; jeho smyslem je pouze zajistit urΦit² minimßlnφ odstup mezi jednotliv²mi znaky - vyslßnφ nßsledujφcφho znaku m∙₧e zaΦφt nejd°φve po odvysφlßnφ celΘho p°edchozφho znaku, tedy vΦetn∞ jeho stop-bitu.

Asynchronnφmu zp∙sobu p°enosu se n∞kdy takΘ °φkß trochu nehezky start-stopnφ p°enos.

SΘriov² synchronnφ p°enos (serial synchronous transmission)

Obrßzek 2.2.
Obr. 2.2.: Synchronnφ p°enos znak∙
P°i synchronnφm p°enosu jsou obvykle p°enßÜeny celΘ bloky znak∙. DatovΘ bity jednotliv²ch znak∙ p°itom nßsledujφ t∞sn∞ po sob∞, bez jak²chkoli Φasov²ch odstup∙, a nejsou proklßdßny ₧ßdn²mi start- Φi stop-bity (mohou vÜak b²t dopln∞ny jednφm paritnφm bitem). ZaΦßtek bloku je indikovßn jednφm nebo n∞kolika specißlnφmi synchronizaΦnφmi znaky (tzv. znaky SYN), jejich₧ hlavnφm smyslem je zajistit pot°ebnou Φasovou synchronizaci odesilatele i p°φjemce - tzn. pomoci p°φjemci p°esn∞ stanovit ΦasovΘ okam₧iky, ve kter²ch mß vyhodnocovat jednotlivΘ datovΘ bity. Blok znak∙ je pak op∞t zakonΦen synchronizaΦnφmi znaky, kterΘ mohu (ale nemusφ) b²t nep°etr₧it∞ vysφlßny a₧ do zaΦßtku nßsledujφcφho datovΘho bloku.

Synchronnφ p°enos je obecn∞ rychlejÜφ ne₧ asynchronnφ, nebo¥ nenφ zatφ₧en re₧iφ p°ipadajφcφ na start- a stop-bity. Jeho technickß a programovß realizace vÜak b²vß pon∞kud slo₧it∞jÜφ ne₧ u p°enosu asynchronnφho.

Parita (parity)

P°i sΘriovΘm i paralelnφm p°enosu dat m∙₧e dochßzet k chybßm, jejich₧ d∙sledkem je p°ijetφ opaΦnΘ hodnoty jednoho Φi n∞kolika bit∙, ne₧ jakΘ byly p∙vodn∞ vyslßny. NejjednoduÜÜφm, ale souΦasn∞ takΘ nejmΘnn∞ ·Φinn²m zp∙sobem zabezpeΦenφ znaku (kter²m je umo₧n∞no nßsledn∞ rozpoznat v²skyt chyby) je dopln∞nφ datov²ch bit∙ jednφm dalÜφm bitem tak, aby celkov² poΦet jedniΦek ve znaku byl (p°i odesφlßnφ) lich² (pak jde o tzv. lichou paritu - odd parity), nebo naopak sud² (pak jde o tzv. sudou paritu - even parity). P°φjemce musφ v∞d∞t, zda mu odesilatel posφlß znaky se sudou, nebo lichou paritou.

Pokud poΦet jedniΦkov²ch bit∙ nesouhlasφ s oΦekßvanou paritou, m∙₧e si p°φjemce dovodit, ₧e doÜlo k chyb∞ p°i p°enosu jednoho (nebo t°φ, p∞ti, obecn∞ lichΘho poΦtu) bit∙. Mß-li p°ijat² znak oΦekßvanou paritu, nenφ to jeÜt∞ stoprocentnφ zßrukou jeho bezchybnosti - pomocφ jedinΘho paritnφho bitu nelze rozpoznat chyby v sudΘm poΦtu bit∙. ZabezpeΦenφ pomocφ jednoho paritnφho bitu je tedy vhodnΘ pou₧φvat jen tam, kde je pravd∞podobnost v²skytu chyb v jednotliv²ch bitech malß a pravd∞podobnost v²skytu chyb ve vφce bitech souΦasn∞ zanedbatelnß.

V praxi se lze setkat takΘ s tφm, ₧e se paritnφ bit nastavuje v₧dy na 0 (resp. v₧dy na 1) - v angliΦtin∞ se tomu °φkß space parity (resp. mark parity). Smysl je nap°. ten, ₧e odesilatel m∙₧e vysφlat sedmibitovΘ znaky dopln∞nΘ tφmto konstantnφm paritnφm bitem, kterΘ p°φjemce p°ijme jako osmibitovΘ znaky bez parity (Φφm₧ se ovÜem ztrßcφ mo₧nost detekovat p°enosovΘ chyby).


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ dφl | nßsledujφcφ dφl
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