Aktuální vydání

celé číslo

07

2020

Řízení distribučních soustav a chytrá města

Měření a monitorování prostředí v budovách a venkovním prostředí

celé číslo

Univerzální sériové rozhraní USB

Automa 7/2000

doc. Ing. Miroslav Kubíček, CSc.,
Ústav počítačové a řídicí techniky VŠCHT, Praha

Univerzální sériové rozhraní USB
Článek stručně představuje nově zaváděné univerzální sériové počítačové rozhraní USB

Obr. 1.

Na základních deskách počítačů se objevily konektory náležející sériovému rozhraní s názvem Universal Serial Bus (USB). Toto nové rozhraní přináší vyšší rychlosti sériového přenosu dat s využitím paketů pro komunikaci počítače s okolními zařízeními, především periferními. Vzhledem k sedmibitové adrese může PC prostřednictvím USB komunikovat s až 127 zařízeními. Podívejme se na USB podrobněji.

Současný stav V současné době je platná specifikace USB 2.0, jejíž konečná verze byla vydána 27. dubna 2000. U jejího zrodu stály firmy Compaq Computer, Hewlett-Packard, Intel, Lucent Technologies, Microsoft, NEC a Koninlijke Philips Electronics. K rychlostem 12 Mb/s a 1,5 Mb/s, které umožňovala již předchozí verze USB 1.1, přidává specifikace USB 2.0 rychlost přenosu dat 480 Mb/s. Všechna zařízení vyhovující specifikaci USB 1.1 jsou plně slučitelná i s verzí USB 2.0.

Obr. 2.

Základní vlastnosti
USB je obousměrné, izochronní, levné a dynamicky přizpůsobitelné sériové rozhraní splňující požadavky platformy PC nejen v současné době, ale i s výhledem do budoucna. Izochronní data mají časování určeno svým zdrojem. USB spojuje okolní zařízení s řídicím počítačem v systém s topologií několikaúrovňové hvězdice (obr. 1). V každém systému s rozhraním USB je pouze jeden řídicí počítač. V centru každé hvězdice je rozbočovač (hub). Jednotlivá zařízení jsou v systému propojena čtyřvodičovým kabelem po dle obr. 2. Vodiče D+ a D– slouží k přenosu dat, vodič označený VBus je napájecí (napětí +5 V) a vodič GND propojuje země jednotlivých zařízení. Pro přenosové rychlosti 12 Mb/s a 480 Mb/s je požadována stíněná kroucená dvoulinka s charakteristickou impedancí 90 W. Pro rychlost přenosu dat 1,5 Mb/s není požadována a je pouze doporučena.

Datový signál je generován budičem s diferenčním výstupem, takže signál ve vodiči D+ je inverzí signálu ve vodiči D– a naopak. Data jsou přenášena v paketech (obr. 3). Začátek paketu je označen SOP (Start of a Packet) a konec paketu EOP (End of a Packet).

Obr. 3.

Protokol
USB využívá pro přenos dat polling, tj. systém, ve kterém jsou jednotlivá připojená zařízení vyzývána k vysílání. Každý přenos začne tím, že řídicí počítač vyšle paket typu token. Následuje paket dat, popř. oznámení, že data nejsou přenášena. Paket potvrzení přenosu (handshake) indikuje, zda data byla přenesena úspěšně.

Přenos dat se může uskutečňovat dvěma způsoby, a to jednak jako tok dat (stream) a jednak jako zpráva (message). Tok dat nemá přesně definovanou strukturu, zatímco zpráva ano. V některých případech lze však tok dat řídit.

Data jsou v systému USB kódována metodou NRZI (Non Return to Zero Invert). Logická nula je tudíž reprezentována změnou napěťových úrovní na datových vodičích a logická jednička absencí této změny. Na obr. 4 je ukázán vzorek přenášených dat a jeho zakódování metodou NRZI. Protože paralelně s daty není přenášen žádný taktovací signál, je na začátku každého paketu vyslán tzv. synchronizační vzorek, který má za úkol synchronizovat taktovací generátor přijímače. Synchronizační vzorek je tvořen sedmi nulami následovanými jedničkou v kódování NRZI. Pro udržení  synchronizace se vždy, následuje-li po sobě šest jedniček dat, vloží nula – vložený bit (obr. 5). Tímto způsobem je, po zakódování NRZI, zajišťována potřebná změna signálu. Dále ihned následuje PID (Packet Identifier) udávající typ paketu, formát paketu a způsob detekce chyby aplikovaný v paketu (CRC). PID lze rozdělit do čtyř skupin: token, data, potvrzení přenosu a speciální.

Obr. 4.

Na obr. 6 nahoře je zobrazen formát paketu typu token, který může být generován pouze řídicím počítačem. Pole označené PID podrobněji specifikuje typ paketu (IN, OUT nebo SETUP). Pole adresy (ADDR) definuje jednu ze 127 možných adres v systému, která charakterizuje jedinou funkci. Pole ENDP podrobněji specifikuje zdroj nebo cíl údaje. Pole CRC nese informaci pro kontrolu cyklickým kódem.

Datový paket je tvořen polem PID, datovým polem a polem CRC (obr. 6 uprostřed). Datové pole může obsahovat 0 až 1 023 celých bytů. Paket potvrzení přenosu se skládá pouze z pole PID. Tyto pakety jsou užívány k  informování o stavu přenosu dat a mohou vracet hodnoty indikující úspěšný přenos dat.

Speciálním paketem může být např. paket SOF (Start of Frame) generovaný řídicím počítačem s periodou 1 ± 0,05 ms. Paket SOF se skládá z pole PID indikujícího typ paketu, následujícího jedenáctibitového čísla datového rámce (frame) a závěrečného pole CRC – viz obr. 6 dole. Specifikace USB 2.0 navíc definuje datový mikrorámec (microframe), který odpovídá 1/8 datového rámce, tj. 0,125 ms.

Obr. 5.

Rychlost přenosu se definuje na straně zařízení přivedením napětí 3,0 až 3,6 V přes rezistor 1,5 kW buď na vodič D+ (rychlost přenosu 12 Mb/s), nebo na vodič D– (rychlost přenosu 1,5 Mb/s). Pro rychlost přenosu 480 Mb/s je tento rezistor připojen na D+ prostřednictvím programově ovladatelného spínače. Systém tuto vysokou rychlost přenosu realizuje pomocí přesně definovaného protokolu, popsaného ve specifikaci [1].

Systémová podpora
USB je podporován operačními systémy Windows 98 a Windows 2000. Je-li užíván operační systém Windows 95/98, lze ze stránky www.usb.org/usbready.exe stáhnout program testující možnosti aplikace rozhraní USB na konkrétním počítači. Počítače vyrobené před rokem 1996 USB pravděpodobně nemají. Počítače vyrobené v roce 1997 USB s největší pravděpodobností mají a počítače vyrobené v roce 1998 a později USB mají určitě. U některých starších počítačů lze na základní desku připojit adaptér pro USB. Windows NT 3.5 a 4.0 rozhraní USB nepodporují.

Obr. 6.

Vzdálenost zařízení připojených pomocí USB
Propojení řídicího počítače s okolními zařízeními prostřednictvím USB ukazuje obr. 7.

Maximální vzdálenost zařízení od počítače závisí na zpoždění signálu kabelem a rozbočovačem, které nesmí překročit určitou danou hodnotu. Do systému lze při větších rychlostech přenosu dat zapojit maximálně pět rozbočovačů propojených kabely dlouhými maximálně 5 m. Při rychlosti přenosu 1,5 Mb/s však jen kabely o délce 3 m (pro zajištění komunikace je díky použitému protokolu požadováno menší zpoždění signálu). Připočteme-li kabel od zařízení k prvnímu rozbočovači, dostaneme pro větší rychlosti maximální vzdálenost 25 až 30 m. Delší kabely nelze použít bez rizika narušení funkce systému. Větších vzdáleností lze dosáhnout zapojením dalšího počítače (i laptopu) namísto nejvzdálenějšího zařízení systému, popř. využitím adaptéru pro jiné rozhraní, např. Ethernet nebo RS-485.

Obr. 7.

USB-IF
V roce 1995 bylo založeno USB Implementers Forum (USB-IF), což je organizace spojující nyní asi 600 firem. Jejím cílem je podporovat a urychlit průnik rozhraní USB na trh. Členové získávají mnoho výhod včetně např. způsobilosti účastnit se harmonizačního programu a získat pro své výrobky certifikát slučitelnosti s technologií USB.

Závěr
V článku je stručně popsáno univerzální sériové rozhraní USB, které se rychlostí přenosu 480 Mb/s stává vážnou konkurencí specifikaci IEEE 1394 (též nazývané FireWire). V současné době je vyvíjeno široké spektrum různých zařízení připojitelných k počítači pomocí USB, která se objeví na trhu v druhé polovině roku 2000. Lze očekávat, že USB perspektivně nahradí u počítačů doposud převážně používané sériové i paralelní rozhraní.

Literatura:

[1] Universal Serial Bus Specification Revision 2.0. April 27, 2000.

[2] http://www.usb.org