Aktuální vydání

celé číslo

12

2022

Automatizace výrobních, montážních a balicích strojů a linek

Elektrické, pneumatické a hydraulické pohony

celé číslo

Universal Serial Bus

číslo 7/2006

Universal Serial Bus

Lukáš Palko

V článku jsou popsány specifické vlastnosti sběrnice (rozhraní) Universal Serial Bus (USB), je uvedeno její porovnání s jinými rozhraními a zejména jsou představeny nové přidružené standardy USB On-the-Go (OTG) a USB Test Measurement Class (USBTMC, USB488). Cílem je seznámit čtenáře se sběrnicí USB a jejími novými variantami.

1. Úvod

Sběrnice USB se během několika posledních let stala zcela běžnou součástí spotřební elektroniky s vazbou na PC a svými vlastnostmi naprosto zastínila klasický sériový port s rozhraním RS-232. Standard USB vznikl v roce 1995 za spolupráce společností Compaq, Intel, IBM, Microsoft, NEC a dalších. Jako první podporoval USB operační systém Windows 95 OEM Service Release 2.1 (s označením 4.000.111) a dále se podpora USB stala běžnou součástí všech dalších operačních systémů (podpora formátu USB 2.0 je dostupná v servisních balíčcích pro systémy Windows 2000 a XP).

2. Parametry sběrnice USB

2.1 Základní vlastnosti
Standard USB se globálně prosadil díky svým parametrům a vlastnostem potvrzujícím jeho proklamovanou všestrannost a snadné používání. K hlavním přednostem USB patří zejména:

  • podpora metody plug-and-play, umožňující připojit zařízení za provozu; USB zajišťuje správné přidělení prostředků (IRQ, DMA atd.),
  • integrovaný rozvod napájecího napětí 5 V DC s odběrem až 500 mA,
  • možnost připojit až 127 zařízení,
  • velká přenosová rychlost (tab. 1).

Typ rozhraní

Max. přenosová rychlost

sériový port (RS-232)

115 kb/s

standardní paralelní port

920 kb/s

USB 1.1 Low Speed

1,5 Mb/s

USB 1.1 Full Speed

12 Mb/s

paralelní port ECP/EPP

24 Mb/s

IEEE 1394 FireWire

400 Mb/s

USB 2.0 High Speed

480 Mb/s

Tab. 1. Maximální přenosové rychlosti hlavních rozhraní používaných u PC

2.2 Porovnání se sběrnicí Firewire
Pro porovnání se nabízí velmi rychle se prosazující standard IEEE 1394 (Firewire) podobného zaměření jako USB, vyvinutý vlivnými společnostmi jako Apple, Sony a Creative Labs.

U běžných PC již několik let dominuje rozhraní USB. Zájem o rozhraní Firewire ovšem v poslední době prudce roste a Firewire se stává běžnou součástí nových počítačů. Poslední verze USB 2.0 sice uživateli nabízí větší přenosovou rychlost než Firewire, ale rozdíl již zdaleka není propastný. Oba standardy si přímo nekonkurují, poněvadž Firewire míří spíše do sféry profesionálního použití, a to zejména do oblasti přenosu digitálního videosignálu, kde se těší veliké oblibě.

Výhodou rozhraní Firewire oproti USB je menší zatížení procesoru při přenosové rychlosti až 400 Mb/s. Rozhraní Firewire bylo na trhu dříve než USB 2.0 a tou dobou nejrychlejší USB 1.1 značně pokulhávalo za požadavky na rychlost při přenosu digitálního videosignálu.

Obr. 1.

Obr. 1. Hvězdicová topologie USB

Rozhraní Firewire má ovšem i jeden dosti patrný nedostatek, a to nejednotné pojmenování. Současně se s ním lze setkat pod názvy Firewire (firma Apple), IEEE 1394 (IEEE), iLink (Sony) a SB 1394 (Creative Labs).

2.3 Topologie USB
Základem USB je zřetězená hvězdicová topologie, v níž každé zařízení komunikuje s hostitelským portem tak, jako by mělo vyhrazené spojení. Přes všechna zřetězení jsou rozbočovače sběrnice (hub) pro software zcela transparentní a každé zařízení je adresováno samostatně. Součástí samotného PC již je rozbočovač pro připojení dvou či více zařízení. Je označován jako kořenový (root hub) a nachází se na základní desce počítače. Další rozbočovače jsou externí. Ty mají vždy jednu zásuvku rozhraní (upstream port) pro připojení k nadřazenému kořenovému nebo jinému rozbočovači a až čtyři zásuvky (downstream ports) pro připojení podřízených rozbočovačů anebo koncových zařízení (obr. 1). Rozbočovačů může být za sebou zařazeno až sedm a celkem lze k jednomu počítači připojit až 127 zařízení. Samotné koncové zařízení v sobě může obsahovat i rozbočovač. Lze se tedy setkat např. s klávesnicí pro USB obsahující zásuvku USB pro připojení např. myši.

Obr. 2.

Obr. 2. Konektory USB

Rozbočovače USB v souhrnu zajišťují:

  • rozšíření počtu připojitelných zařízení,
  • rozpoznání varianty sběrnice (Low Speed, Full Speed, High Speed),
  • rozvod a správu napájení připojených zařízení,
  • vynulování zařízení (reset) podle stavu sběrnice.

2.4 Elektrické parametry USB

2.4.1 Vybrané parametry
Z elektrických parametrů USB bude dále pojednáno o konektorech, o způsobu komunikace v závislosti na rychlosti přenosu a o napájení.

2.4.2 Konektory
Rozhraní USB využívá dva typy konektorů. Ploché konektory „typu A„ v současné době obsahuje základní deska každého PC vyrobeného v několika posledních letech, a to minimálně dva. U nejnovějších základních desek je kořenový rozbočovač rozšířen o další integrovaný rozbočovač, což znamená nabídku celkem až osmi portů USB.

Konektor „typu B„ je určen pro periferní zařízení, čímž je zároveň určen standard propojovacího kabelu.

Číslo kontaktu

Označení

Barva

Funkce

1

Vbus

červená

napájecí napětí +5 V

2

D–

bílá

data –

3

D+

zelená

data +

4

GND

černá

zem

Tab. 2. Funkce kontaktů konektoru USB

Oba typy konektorů jsou schematicky naznačeny na obr. 2 s přiřazením funkcí kontaktům podle tab. 2.

2.4.3 Komunikace
Všechny tři verze USB, dané přenosovými rychlostmi (Low Speed, Full Speed, High Speed), mohou být použity a provozovány současně pro připojení různých typů periferních zařízení k jednomu počítači. Verze se od sebe liší kabelem i elektrickými parametry rozhraní připojeného zařízení. Přenos je rozdílový (diferenční) s úrovněmi napětí kompatibilními s TTL:

  • při log 1 je vodič D+ na úrovni 2,8 V a současně vodič D– na úrovni 0,3 V,
  • při log 0 je tomu opačně, čili D– je na úrovni 2,8 V a D+ na úrovni 0,3 V.

Pro využití maximální přenosové rychlosti v režimu High Speed (až 480 Mb/s) může být délka kabelu nejvíce 5 m, přičemž kabel musí být stíněný a kroucený. V nejpomalejším režimu Low Speed (do 1,5 Mb/s) lze použít i nestíněný a nekroucený kabel, avšak délky maximálně 3 m. Nejlepších výsledků se vždy dosahuje při použití stíněného krouceného kabelu. Přenosová impedance kabelu obou variant je 60 a shodné je i zapojení vysílačů, znázorněné na obr. 3. Minimální rozdílové vstupní napětí přijímače je 200 mV, a to při souhlasném rušivém napětí až 2,6 V, aniž by byla narušena činnost systému.

Obr. 3.

2.4.4 Detekce rychlosti přenosu
Správně detekovat rychlost umožňuje speciální nastavovací režim, v němž je vodič D+ nebo D– připojen na napětí 3,3 V přes tzv. pull up rezistor. Tak se připojí u pomalých zařízení (Low Speed) D– (obr. 4) a u rychlých (Full Speed) naopak D+. Uvedené rezistory jsou zároveň použity k oboustranné detekci přítomnosti zařízení a rychlosti, jakou může komunikovat.

Zařízení podporující velmi rychlé přenosy (High Speed) se připojují stejně jako rychlá zařízení (Full Speed) . Povolení velmi rychlého přenosu je následně řešeno softwarově.

2.4.5 Napájení
Součástí sběrnice USB je vlastní rozvod napájecích napětí o hodnotách 5 a 0,25 V. Pokud neodebírá proud větší než 100 mA, může být zařízení napájeno přímo z USB. Požadavek na větší odběr (až 500 mA) musí být ohlášen při enumeraci (rozpoznání) zařízení (viz dále). Odebírat více než 100 mA může jen jedno zařízení na celé sběrnici a systém má možnost při nedostatku rezerv odmítnout. Jestliže zařízení s USB mají vlastní zdroj (např. počítač má vlastní systém pro distribuci napájení nezávislý na USB), je tento řízen USB (zapínání, vypínání, stand-by mód atd.). Každý segment sběrnice umožňuje pro napájení zařízení s USB přenášet určitý omezený výkon, přičemž zařízení může být současně napájeno z vlastního zdroje.

2.5 Sériový přenos
Všechny aktivity na USB jsou iniciovány z PC, jediného hostitelského zařízení typu master. Žádné zařízení tedy nemůže na sběrnici vysílat data samovolně, vždy o to musí být požádáno ze strany PC. Pakety dat mají délku 8 až 256 bajtů. Všechny pakety putují v rámcích s dobou trvání 1 ms. Uvnitř jednoho rámce mohou být přenášeny pakety pro různá cílová zařízení. O jejich směrování se stará rozbočovač.

Obr. 4.

Obr. 3. Rozdílové zapojení vysílačů USB
Obr. 4. Detekce pomalého (Low Speed) zařízení: pull up rezistor na D–

Rychlost je předepisována výhradně hostitelem. Všechna periferní zařízení jsou typu slave a je nutné je synchronizovat na tok dat. Taktovací signál se nepřenáší, a proto se spolu s kódováním metodou NRZI používá technika bit stuffing, která při delší posloupnosti bitů s úrovní log 1 vloží za každých šest bezprostředně po sobě následujících „jedniček„ jednu nulu. Tím je vynucena změna napětí, obstarávající potřebnou synchronizaci komunikujících zařízení.

Přijímač i vysílač jsou zhotoveny jako jedna součástka typu SIE (Serial Interface Engine), která veškerou činnost vykoná hardwarově (synchronizace, příjem dat, kódování a dekódování dat). Dekódovaná data ze SIE přebírají oddělovače pracující v režimu FIFO jako posuvné registry při komunikaci s mikrořadičem. Ten zajišťuje zápis dat do oddělovačů stejně jako jejich čtení. Většinou je SIE součástí mikrořadiče sběrnice USB.

Vedle adresy zařízení je také definována adresa koncového bodu (endpoint). Ta udává, kam se mají data uložit, popř. odkud je lze vyzvednout. Pro inicializaci se využívá koncový bod 0. Při vlastních užitečných přenosech dat se pracuje s koncovým bodem 1.

Obr. 5.

Obr. 5. Sběrnice USB OTG umožňuje přímo, bez PC, spojit např. digitální fotoaparát s tiskárnou

Software sběrnice USB si vytvoří logické datové cesty (pipes) k jednotlivým koncovým bodům konkrétních zařízení. Jak již bylo uvedeno, fyzicky jsou data přenášena v paketech a ty v milisekundových rámcích. Pakety jsou prostřednictvím hardwaru směrovány do určeného koncového bodu. Jedno zařízení může současně využívat několika datových cest, čímž výrazně vzroste rychlost přenosu.

2.6 Typy přenosů dat
Po sběrnici USB je možné komunikovat jedním ze čtyř způsobů. Jsou to:

  • řídicí přenos (control transfer), určený k řízení zařízení prostřednictvím řídicích dotazů (control requests) s velkou prioritou a funkcí automatického sledování chyb; jeden dotaz může obsahovat až 64 bajtů,

  • přenos při přerušení (interrupt transfer): zde se systém periodicky dotazuje na nová data (s přerušením, jak je obvykle chápáno, nemá tato činnost nic společného, protože připojené zařízení nemůže vyvolat přerušení u hostitele; typicky se přenáší až osm bajtů; využívá se u klávesnice anebo myši),

  • hromadný přenos (bulk transfer), používaný k přenosu velkých množství dat, která vyžadující detekci chyb, ale nejsou časově kritická; má malou prioritu a typicky se používá pro skener či tiskárnu,

  • izochronní přenos (isochronous transfer), také používaný pro velká množství dat, ale s definovanou rychlostí přenosu a bez korekce chyb (uplatní se všude tam, kde se přenáší zvuk anebo videosignál v reálném čase; zde jsou mnohem větší požadavky na přesnost v čase než na vlastní bezchybný přenos, neboť časové zpoždění může být velmi rušivé).

2.7 Enumerace – rozpoznání zařízení
Enumerace je proces, během něhož se zařízení s USB po svém připojení přihlašuje do operačního systému počítače. Při tom poskytuje svůj popis ve formě tzv. deskriptoru, nesoucího podrobné informace (sériové číslo, požadavek na odběr proudu, popis zařízení atd.), podle nichž systém vyhledá vhodný ovladač umožňující systému s danou periferií korektně komunikovat. Po úspěšném zavedení ovladače nové zařízení získá svoji adresu na sběrnici. Enumerace probíhá bez asistence uživatelského programu. Jestliže systém adekvátní ovladač ve své databázi nenajde, může být na umístění ovládače dotázán uživatel.

Obr. 6.

Obr. 6. Dílčí specifikace USB488: funkce převodníku USB-GPIB

Proces enumerace probíhá následovně:

  • rozbočovač zaznamená připojení nového zařízení detekcí přechodu datové linky na úroveň log 1,

  • hostitelský počítač (host) se dotáže rozbočovače, na který port bylo zařízení připojeno,

  • zařízení vydá příkaz k zapnutí daného portu a znovu na něm nastaví sběrnici (reset),

  • rozbočovač vynuluje na 10 ms sběrnici a uvolní napájecí proud až 100 mA; zařízení je schopno komunikovat na implicitní adrese 0,

  • hostitel zjistí typ komunikace se zařízením na adrese 0 a přiřadí mu jeho novou adresu na sběrnici,

  • hostitel si na nové adrese načte všechny deskriptory zařízení včetně konfigurace,

  • hostitel přiřadí zařízení povolení k odběru proudu podle údaje v deskriptoru, a tím je zařízení připraveno k použití.

3. Nové varianty USB

3.1 Trend
K základnímu univerzálnímu rozhraní USB s jeho třemi rychlostními módy začínají v poslední době přibývat další přidružené specifikace určené pro konkrétní třídy úloh. V dalším textu jsou stručně popsány standardy USB On-the-Go, zaměřený na drobná přenosná zařízení, a USB Test & Measurement Class, určený k použití v měřicích systémech.

3.2 USB On-The-Go (OTG)
Standard USB OTG byl vytvořen s cílem umožnit použití dosavadního rozhraní USB u menších přenosných zařízení typu mobilního telefonu, digitálního fotoaparátu, přehrávače MP3, PDA apod. Základním požadavkem přitom je, vedle menších konektorů (obr. 8), především schopnost vzájemné komunikace těchto zařízení bez účasti počítače, tzv. peer-to-peer, jako je tomu u konkurenčního rozhraní Firewire. Standard USB OTG se tak stává velmi důležitým pro sjednocení odlišných přístupů jednotlivých výrobců a zárukou mnohostranné kompatibility jimi dodávaných zařízení.

Implementace již existujících rozhraní USB nabízí uživateli velkou šířku pásma, a tím i přenosovou rychlost, která činí až 12 Mb/s u základního formátu USB OTG (Full Speed), vycházejícího z USB verze 1.1, a až 480 Mb/s pro nový formát USB OTG Hi-Speed. Lze tedy velmi rychle přenášet i velké objemy dat, např. při synchronizaci kontaktních údajů mezi mobilním telefonem a PDA, při přímém připojení digitálního fotoaparátu k tiskárně a tisku fotografií bez použití PC (obr. 5) nebo při připojení jednotky družicové navigace (GPS) k PDA.

Obr. 7.

Obr. 7. Převodník USB-GPIB

První samostatný čip podporující USB OTG Hi-Speed byl uveden na trh v srpnu roku 2004 společností TransDimension. Jedná se o představitele třetí generace obvodů pro USB OTG této společnosti s označením TD1120. Tento integrovaný obvod je schopen pracovat v režimu hostitelského řídicího systému pro standardní mód USB OTG (Full Speed) i jako periferie v nejrychlejším módu USB OTG Hi-Speed.

3.3 USB Test & Measurement Class (USBTMC)
Standard USBTMC je určen pro automatizované měřicí systémy k propojení centrální řídicí a vyhodnocovací jednotky (osobní počítač) a vlastních měřicích přístrojů. Představuje moderní alternativu k doposud používaným rozhraním GPIB (IEEE-488) a RS-232. Při jeho vývoji se vycházelo mj. z dosavadního prostředí pro zpracování I/O spojení VISA (Virtual Instrument Software Architecture), podporujícího rozhraní GPIB i RS-232. Nový standard USBTMC se podařilo vytvořit společným úsilím společností sdružených jednak okolo standardu VISA a jednak v komunitě USB Implementers Forum Device Working Group (USB-IF DWG).

Standard USBTMC se může vypořádat ze základními signály pro řízení měřicích zařízení i akceptovat příchozí přerušení a požadavky těchto zařízení. Způsob adresování požadavků je natolik univerzální, že umožňuje připojit jakékoliv zařízení vyhovující této specifikaci, od nejjednodušších senzorů až po velmi komplikovaná měřicí zařízení s mnoha měřenými veličinami. Postup tvorby měřicího systému na bázi GPIB, RS-232 a USBTMC je pro porovnání uveden ve vloženém rámečku. Součástí specifikace USBTMC je její podtřída USB488, která dokáže kompletně přizpůsobit model GPIB prostředí USB. Na základě této podtřídy pracují převodníky USB-GPIB, které je možné využít pro připojení současných měřicích systémů GPIB k počítači s USB (obr. 6).

Ve skutečném provedení může být převodník USB-GPIB integrován přímo do zakončení kabelu sběrnice (obr. 7). Přenosová rychlost se přizpůsobí pomalejší sběrnici GPIB. Převodník pak vystupuje v operačním systému jako virtuální adaptér GPIB. Tím jsou zajištěny všechny funkce softwaru pro GPIB a není nutný žádný zásah do dosavadního programového vybavení měřicího systému s GPIB.

Obr. 8.

Obr. 8. Konektory pro GPIB a USB: a) klasický konektor USB typu B, b) konektor USB mini B, c) konektor GPIB

Při návrhu zařízení pro USB je třeba dobře zvážit zejména požadavky na jeho použití. Základní standard USB vyžaduje od zařízení jeden řídicí koncový bod a další dva konfigurovatelné body, u nichž si firmware zvolí typ přenosu (hromadný, izochronní či přerušení). Zařízení určené pro standard USBTMC musí mít alespoň tři koncové body (řídicí, hromadný vstupní a hromadný výstupní). Zařízení s USBTMC může mít i čtvrtý koncový bod (přerušení), který zajistí zpracování chybových signálů a signálu ukončujícího měřicí činnost.

Zajímavé je také porovnat konektory pro GPIB a USB (obr. 8). Výhodou konektoru USB mini-B nejsou pouze menší rozměry vhodné pro menší zařízení, ale překvapivě také větší mechanická odolnost. Výrobce zaručuje nejméně 5 000 jeho zasunutí a vysunutí, zatímco u klasického konektoru pro USB typu B je toto číslo 1 500.

4. Závěr

Sběrnice USB je nejrozšířenějším rozhraním určeným k připojení externích zařízení k počítači a její obliba neustále roste. Se zavedením módu High Speed nabízí velkou přenosovou rychlost, která dostačuje i pro přenos velkých množství dat. Tímto počinem se standard USB stal velmi zajímavou alternativou k rozhraní Firewire. Periferie počítače a vůbec elektronika připojitelná k počítači zažívají masivní rozvoj; ten se odráží i v oblasti komunikačních rozhraní. Díky tomu vznikají nové přidružené standardy, které jsou pouze jistým přizpůsobením dosavadního rozhraní pro specifickou oblast použití. V článku jsou představeny standardy USB OTG a USBTMC.

Postupy při sestavování měřicího systému s použitím GPIB, RS-232 a USBTMC

GPIB
K sestavení měřicího systému založeného na GPIB je nutné mít adaptér pro toto rozhraní odpovídající sběrnici v PC (ISA, PCI), speciální ovladač pro operační systém a speciální 24žilový kabel. Zejména uvedený hardware je značně nákladný. Tímto způsobem lze připojit až patnáct periferií. Po fyzickém propojení je nutné všechna použitá zařízení manuálně zkonfigurovat a nastavit jim unikátní adresu GPIB v rámci daného měřicího systému. Maximální přenosová rychlost může být až 6 Mb/s.

RS-232
Měřicí systém vystavěný s použitím rozhraní RS-232 je o poznání jednodušší a levnější. Nicméně je nutné zvolit správný typ připojovacích kabelů, kterých existuje nepřeberné množství typů. Výhodou je, že rozhraní RS-232 je součástí běžných PC, a je většinou zastoupeno dvěma konektory. Tím je ale také dán i počet připojitelných zařízení, protože sběrnice funguje na principu spojení mezi dvěma body (point-to-point). Obvykle je tedy možné k PC připojit pouze dvě zařízení. Po připojení periferií je opět nutné manuálně nastavit parametry pojítka (přenosová rychlost, datové bity, paritní bity, počet start/stop bitů a řízení toku dat). Maximální přenosová rychlost je 115 kb/s, což je výrazně méně než u GPIB.

USBTMC
Z porovnání s již uvedenými informacemi vyplývá, že nový standard USBTMC nabízí nesrovnatelně lepší vlastnosti. Jeho fyzická vrstva je shodná s fyzickou vrstvou klasické sběrnice USB s jejím velkým uživatelským komfortem, možností připojit až 127 periferních zařízení a s přenosovou rychlostí až 480 Mb/s. Na rozdíl od GPIB či RS-232 vyžaduje připojení zařízení minimální zásah uživatele. Podpora metody plug-and-play umožňuje připojit zařízení do systému za provozu. Následně se z deskriptoru zařízení automaticky zavedou všechny potřebné informace (pouze při prvním připojení k počítači se může stát, že jeho operační systém bude vyžadovat ovladač). Po úspěšném zavedení se automaticky, bez nutnosti zásahu uživatele, nastaví adresy všech připojených zařízení.

Literatura:
[1] KAINKA, B.: Měření, řízení a regulace pomocí sběrnice USB. BEN, Praha, 2003.
[2] PALKO, L.: Počítačem dálkově řízený přepínač videosignálu. [Diplomová práce.] ÚTKO FEKT VUT, Brno, 2004.

Odkazy na internet:
http://www.hw.cz/docs/usb/usb.html

Ing. Lukáš Palko, Enjoy spol. s r. o.
(lukaspalko@enjoy-rampl.com)