Vyšlo v týdeníku CHIPweek č. 13/95, 12. července 1995
Vytištěno z adresy: http://www.earchiv.cz/a95/a513k300.php3

Sériová komunikace


Recenze knihy: Peter W. Gofton: Sériová komunikace (Grada Publishing, 1995)

Jsou knížky, které se člověku doslova vryjí do paměti, a stávají se trvalou součástí jeho podvědomí. V nejútlejším mládí to bývají různé pohádkové knížky, a později pak takové knížky, které člověku poprvé otevřou určitou specifickou oblast lidského poznání. Sám dodnes vzpomínám na knížku, která mne poprvé zasvětila do světa sériových portů, sériových přenosů, přenosových protokolů a všeho dalšího, co se dosti vágně shrnuje pod jediný zastřešující pojem „sériové komunikace". Byla to knížka autora Petera W. Goftona, s názvem „Mastering Serial Communications". Dostala se mi rukou ještě „za hlubokého socialismu", kdy se knížky zahraniřní provenience sháněly jen velmi těžko, a pokud se to přeci jen podařilo, vesele se kopírovaly na tehdejším xeroxu. Dodnes mám nepříliš kvalitní xerokopii této vynikající knížky ve své knihovně.

Nyní se mi dostal do rukou k recenzi český titul „Sériová komunikace" téhož autora Petera W. Goftona, který v překladu Bohumila Kvapila vydalo nakladatelství Grada Publishing (zatímco originál pochází od nakladatelství SYBEX Inc.). Samozřejmě mne hned napadlo, že jde o jednu a tutéž knížku. Pro jistotu jsem se ale raději podíval do tiráže, nicméně zde nebyl původní anglický titul vůbec uveden - nakladatelství Grada má zřejmě zajímavý zvyk zatajovat před svými čtenáři, jak se v originále jmenují jimi vydávané překlady (podobně tomu bylo například i u titulu „Novellovský slovník sítí", jehož recenzi jste si mohli přečíst v CHIPWeeku č. 2). Nicméně srovnáním obsahů jsem snadno zjistil, že jde skutečně o jednu a tutéž knížku - zato však ve druhém vydání (zatímco já mám ve své knihovně kopii vydání prvního). Od roku 1986, kdy byla původní verze knížky napsána, totiž uplynulo poměrně dost času, a mnohé věci se změnily. Ne snad samotné principy sériových komunikací, ale například se mezitím výrazněji prosadily lokální sítě a prostředí MS Windows, a tak autor považoval za nutné zohlednit tyto skutečnosti v novém, rozšířeném vydání svého díla.

Takže o čem tedy je knížka „Sériová komunikace"? Je rozdělena do pěti částí, které jsou konkrétně tematicky zaměřeny.

První část, tvořená celkem šesti kapitolami, se věnuje obecnému úvodu do problematiky sériových komunikací. Dozvíte se zde například o rozhraní RS-232-C i RS-449, o zařízeních DTE a DCE, o problematice tzv. handshakingu při sériových přenosech a o nulovém modemu. Dále vás tato část knihy zasvětí do fomátu, v jakém jsou data při sériových komunikacích přenášena, ať již v rámci synchronních či asynchronních přenosů - dozvíte se o paritě, start bitech a stop bitech, o kódování ASCII a řídících znacích tohoto kódu, a o obvyklých nestandardních situacích typu chyby rámce apod. Další partie první části knihy je věnována problematice řízení toku, ať již programovými protředky (prostřednictvím řídících znaků XON-XOFF), či hardwarovými prostředky (signály DTR a DSR, RTS a CTS). Pozornost je zde věnována i tomu, k čemu vlastně řízení toku slouží - problematice hospodaření s vyrovnávacími pamětmi (buffery) při sériových přenosech. Dále se první část věnuje problematice modemů (ovšem jen do rychlosti 9600, v tomto ohledu nebylo druhé vydání nijak aktualizováno). Zmiňovány jsou i možnosti on-line komprese dat a samoopravných mechanismů, zabudovaných přímo do modemů. Popisována je také filosofie ovládání modemů pomocí příkazového jazyka, zavedeného původně firmou Hayes (který používá většina dnešních modemů). Zbytek první části publikace je pak věnován stručnému popisu filosofie sítí s přepojováním paketů a sítí ISDN, a problematice terminálové emulace a komunikace hostitelských počítačů s jejich terminály.

Druhá část knihy je zasvěcena problematice sériové komunikace z pohledu uživatelů osobních počítačů. Dozvíte se zde základní informace o technických prostředcích pro síriové komunikace, kterými jsou dnešní osobní počítače PC vybavovány, o příkazech a utilitách pro práci se sériovými porty na úrovni DOSu (příkazy MODE, CTTY atd.), i o tom jak vypadají obdobně zaměřené prostředky na úrovni MS Windows - zde je např. podrobněji popisován „zabudovaný" komunikační program MS Windows, známý pod jménem Terminal. Zbytek druhé části knihy se pak věnuje způsobu, jakým je možné využívat sériové komunikace v lokálních sítích, a to na konkrétním příkladu technologie NACS (NetWare Asynchronous Communication Services) firmy Novell.

Třetí část knížky se věnuje podrobnějšímu popisu technických prostředků, používaných pro sériovou komunikaci na osobních počítačích. Je zde podrobně popsán obvd 8250 (tzv. UART) a jeho programování, a stručněji pak i programování obvodu 16550. Popisovány je i podpora sériových komunikací na úrovni BIOSu, a související architektura počítačů PC (mj. jejich přerušovací systém).

Čtrvtá část knížky je věnována programování sériových komunikací. Nejprve je popisováno programování obvodu UART (8250) pomocí jazyka Basic, a poté přímé prgramování téhož obvodu v jazyku C - uváděna je jak varianta s tzv. dotazováním (tzv. polling), tak i obvyklejší metoda obsluhy sériových portů prostřednictvím přerušení. naznačena je také možnost vyuřití asembleru. Podrobněji se pak čtvrtá část knihy věnuje programování sériových portů v prostředí MS Windows (v jazyku C), a pak také programové obsluze protokolu NASI (NetWare Asynchronous Services Protocol), který úzce souvisí s technologií NACS, popisovanou ve druhé části knihy.

V závěrečné, pátí části knihy, jsou pak popisovány protokoly pro přenos souborů, používané při sériových komunikacích. Relativně stručně jsou popisovány protokoly XMODEM, YMODEM a ZMODEM, a podrobněji pak protokol KERMIT.

Zajímavou otázkou jistě je, pro koho je knížka „Sériové komunikace" autora Petera Goftona určena především. Domnívám se, že je velmi dobrým vstupním textem do problematiky sériových komunikací, a že může dobře posloužit všem, kteří chtějí do tohoto báječného světa vstoupit, a trochu se v něm porozhlédnout. Pokud je váš „hlavní svět" někde jinde - jste-li například jen běžnými uživateli osobních počítačů, pak vám tato knížka nejspíše sdělí vše, co by jste o sériových komunikacích měli znát. Chcete-li se však živit programováním sériových komunikací, pomůže vám udělat si první dojem, o čem tato práce vlastně je, a vybudovat si dobrou startovní pozici ke studii celé hory specializovaných publikací a manuálů, kterým tak jako tak neuniknete.