USB. Universal Serial Bus. www.usb.org. revize 2.0 z 27.dubna 200



Podobné dokumenty
Rozhraní USB. Rozhraní USB. Specifikace USB. Doplnění (upřesnění) 1.0. Rychlosti Low Speed (1.5 Mb/sec) a Full Speed (12 Mb/sec).

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

Universal Serial Bus. Téma 12: USB. Komunikační principy Enumerace Standardní třídy zařízení

Distribuované systémy a počítačové sítě

Universal Serial Bus (USB)

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra řídicí techniky. Diplomová práce

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

Základní normalizované datové přenosy

PCMCIA(Personal Computer Memory Card PCMCIA (3) PCMCIA (2) PCMCIA (4)

Sběrnice PCI, PCI-X, PCI Express

Nadpis 1 Universal Serial Bus Nadpis (USB) 2 Nadpis 3

Metody připojování periferií

Zpracování informací

FLOOR TALKER. Uživatelský návod verze 1.0. TELSYCO s.r.o. Prostřední 627/ Praha 4.

Charakteristika rozhraní USB

Snímač barometrického tlaku T2314, T2414

Sériové komunikace KIV/PD Přenos dat Martin Šimek

Vnější paměti. Vnější paměti. Dělení podle materiálu a fyzikálních principů

Počítačové sítě. Miloš Hrdý. 21. října 2007

Snímače teploty a vlhkosti s komunikací po RS485 protokolem Modbus RTU - řada PHM

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

2007/2008 ZS. operačních systémů

Převodník USB na RS232. Milan Horkel

enos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

DIGITÁLNÍ VSTUPNĚ/VÝSTUPNÍ KARTA S USB KONEKTIVITOU

Komunikační jednotka MEg202.2

Principy činnosti sběrnic

Modul analogových vstupů M-AI4

USB 3.0. Mechanická specifikace a fyzické rozhranní

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Počítačové sítě internet

SB8485. Převodník USB na 8x RS485/RS září 2010 w w w. p a p o u c h. c o m

Adresovatelný převodník rozhraní RS48/RS232 ELO E250. Uživatelský manuál

Sběrnice a rozhraní. Josef Voltr

ACASYS-KS Komunikace v systému ACASYS

Smart Sensors and Wireless Networks Inteligentní senzory a bezdrátové sítě

Konektory a Kabely. Aneb zařízení integrovaná do základní desky a konektory a kabeláž pro připojení externích zařízení

SPECIFIKACE DODÁVKY EPS A SERVISU EPS

Zajištění kvality služby (QoS) v operačním systému Windows

PB169 Operační systémy a sítě

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor

Systém řízení sběrnice

NABÍJEČKA NICD, NIMH A LI-ION AKUMULÁTORŮ NAPÁJENÁ A ŘÍZENÁ POMOCÍ USB NICD, NIMH AND LI-ION ACCUMULATOR CHARGER SUPPLIED AND CONTROLLED VIA USB

DataLab IO. DataLab PC/IO

Temp-485. Teplotní čidlo pro vnitřní použití na sběrnici RS-485 s jednoduchým komunikačním protokolem

Typ Napětí Hmotnost kg

Komunikace v síti M-Bus

Distribuované průmyslové měřicí systémy

Komunikační protokol MODBUS RTU v měřicích převodnících AD4xxx a Drak 4

RTU RTU. Podklady pro dokumentaci. Gateway to Modbus RTU RESET USB MODBUS RTU RS 485 DATA. Made in EU DATA

V případě potřeby lze snímače nakonfigurovat do kompatibilního režimu se staršími snímači REGMET P21M. Přehled typů: osvětlení

Komunikace mikroprocesoru s okolím Josef Horálek

Převodník na DIN lištu s frekvenčním výstupem typ RF1

Externí zařízení. Uživatelská příručka

Topologie počítačových sítí Topologie = popisuje způsob zapojení sítí, jejich architekturu adt 1) Sběrnicová topologie (BUS)

JUMO ecotrans ph 03 Mikroprocesorový převodník / spínací zařízení hodnoty ph / redox potenciálu a teploty

Sběrnicová struktura PC Interní počítačové paměti PC

Maticová klávesnice. Projekt do předmětu Subsystémy PC. Brno, Tomáš Kreuzwieser, Ondřej Kožín

SNÍMAČ T0110. Programovatelný snímač teploty s výstupem 4-20 ma. Návod k použití

Obvody a architektura počítačů. Sběrnice a rozhraní

Počítačové sítě I. 4. Fyzická vrstva sítí. Miroslav Spousta, 2004

TDL500. Systém elektronické evidence návštěvnosti TDL500

UDAQ-1216A UDAQ-1416A. multifunkèní modul pro rozhraní USB

Zemní ochrana rotoru generátoru ve spojení proudové injektážní jednotky PIZ 50V a ochrany REJ 521

Rozšiřující modul s protokolem MODBUS

CQ485. Opakovač a převodník linek RS485 a RS422. S aktivní i pasivní obnovou dat

PC5936 v1.0 Instalační manuál

Nový VRF systém. Řídicí systém. Divize technické podpory

Architektura počítače

Uživatelská příručka

Hardware PC Interní a externí interface

Ovládání kolony vozidel ze systému Android pomocí protokolu Zigbee

Elektrické vlastnosti modulů Modulová norma všechna měřítka

Teploměry a ovladače s digitální komunikací - řada AM. Tango. alpha nea. Základní technické parametry

Voděodolný tloušťkoměr MG-401 Obsah:

Rozhraní ATA a ATAPI. Rozhraní ATA a ATAPI. Koncepce ATA. Řadič je součástí diskové jednotky. Původní fyzické rozhraní odvozeno od sběrnice ISA.

URMET DOMUS DIGITÁLNÍ SYSTÉM 1072 DIGITÁLNÍ SYSTÉM 1072 OBECNÁ ČÁST

MK800. Signalizační a testovací panel s interní/externí BMS sběrnicí a se zobrazením alarmových a stavových hlášení pro 1 až 250 zařízení

Management procesu II Mgr. Josef Horálek

JEDNOTKA SNÍMAČŮ 1-WIRE (DALLAS) TUDS-40-MOD

Programové konstrukce

TOPOLOGIE DATOVÝCH SÍTÍ

TCP2RTU. Transparentní převodník protokolu MODBUS TCP na MODBUS RTU/ASCII. Tři varianty: pro RS422, RS485 a RS232

TQS1. Inteligentní teplotní čidlo. Komunikace linkou RS485. Teplotní rozsah -55 C až +125 C. Obrázek září 2005 w w w. p a p o u c h.

Skupina IEEE 802. Institute of Electrical and Electronics Engineers skupina 802: standardy pro lokální sítě. podvrstvy

Servozesilovače. Digitální servozesilovače TGA, TGP

USB komunikační adaptér RS virtuální sériový port ELO E215. Uživatelský manuál

Blast Rozhraní DeviceNet

Metody připojování periferií

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Architektura protokolů

Lokální sítě LAN KIV/PD Přenos dat Martin Šimek

PŘEVODNÍK T4111. Programovatelný převodník teploty z čidla Pt1000 na proudovou smyčku 4-20 ma. Návod k použití

TMU. USB teploměr. Teploměr s rozhraním USB. Měření teplot od -55 C do +125 C. 6. května 2011 w w w. p a p o u c h. c o m

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/

REGULOVATELNÝ ZDROJ NAPÁJENÝ A ŘÍZENÝ POMOCÍ USB

Měřicí systémy. Obsah. Systémy složené z autonomních měřicích přístrojů a modulů Sériová rozhraní. Sériová rozhraní - pokračování 1

Informační a komunikační technologie

Internetová kamera ICA-300. Uživatelský návod

Transkript:

USB Universal Serial Bus www.usb.org revize 2.0 z 27.dubna 200

Proč vznikla? Základní charakteristika USB bylo třeba vytvořit nové univerzální a dostatečně rychlé rozhraní pro vícenásobné připojení různých periferních zařízení Požadavky na nově vznikající rozhraní : možnost připojit více zařízení současně možnost připojovat a odpojovat zařízení za chodu k počítači při konfiguraci nového zařízení se obejít bez zásahu uživatele poskytnout dostatečné přenosové kapacity V roce 1996 vznikla první specifikace USB. Jednalo se o revizi 1.0. Tato specifikace však úplně nebyla jednoznačná a proto některá zařízení spolu nespolupracovala. Z tohoto důvodu se během roku 1998 objevila upravená verze této specifikace, která nesla označení 1.1. Maximální přenosová rychlost 12Mb/s však přestala vyhovovat a v roce 2000 vznikla revize 2.0, která podporuje přenosové rychlosti až do 480 Mb/s. Tato poslední verze USB se na trhu výrazně prosadila až na přelomu roku 2001 a 2002 kdy se objevila první zařízení podle této specifikace. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 2

Vlastnosti USB sběrnice a USB zařízení : nezávislost na použité platformě (PC, MacOS) garantovaná přenosová kapacita a zpoždění podpora pro přenosy dat v reálném čase možnost připojit až 127 zařízení současně lze připojovat a odpojovat zařízení za chodu konfiguraci připojeného zařízení provede hostitelský systém bez zásahu uživatele (konfigurace prostředků zařízení) nízká zátěž samotného protokolu včetně volby velikosti datového paketu Dostatečná přenosová kapacita : o Low Speed zařízení (LS) - maximální rychlost 1,5Mb/s o Full Speed zařízení (FS) - maximální rychlost 12 Mb/s o High Speed zařízení (HS) - maximální rychlost 480 Mb/s mechanismy pro detekci chyba a následné opakované poslání poškozených paketů podpora PnP pro detekci zařízení a následnou volbu ovladače (pokud je třeba) možnost napájet energeticky nenáročná zařízení přímo ze sběrnice podpora pro úsporu energie je zabudována přímo v protokolu USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 3

Logická struktura sběrnice USB sběrnice má stromovou strukturu a zařízení lze rozdělit do tří základních tříd : USB hostitel (Host) HW, který je součástí počítače společně se SW podporou obsaženou ve většině případů v operačním systému. USB zařízení (Device) samotné zařízení, které chceme připojit k počítači pomocí USB USB rozbočovač (HUB) speciální druh USB zařízení, které vytváří nové přípojné body ke sběrnici (porty) Veškerou komunikaci se zařízeními a jejich konfiguraci řídí USB hostitel společně s operačním systémem. Ve stromové struktuře USB sběrnice se z tohoto důvodu může vyskytovat pouze jediný USB Host a ten je vždy na nejvyšší úrovni ve stromové struktuře. Žádné dvě USB zařízení spolu nemohou komunikovat přímo. Zařízení může posílat data pouze v okamžiku, kdy hostitel vyhradí prostor v časovém schématu sběrnice pro konkrétní zařízení. Maximální počet úrovní ve stromové struktuře sběrnice je 7. První úroveň je již USB rozbočovač v hostitelském systému. (Obrázek 1 - Logická struktura USB) USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 4

Obrázek 1 - Logická struktura USB USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 5

Zvláštním druhem zařízení je tzv. Compound Device. Tato periferie v sobě integruje USB rozbočovač a zároveň USB zařízení. Typickým představitelem může být USB klávesnice, která obsahuje port pro připojení dalšího zařízení například USB myš. Původní verze USB 1.1 podporoval pouze zařízení LS a FS. Nová revize zachovává zpětnou kompatibilitu a navíc podporuje HS zařízení. Z tohoto důvodu jsou z pohledu revize sběrnice funkční téměř všechny kombinace USB zařízení a hostitelů. V další úvaze předpokládejme jak USB hostitele tak USB zařízení podle verze 1.1. Pokud je zařízení LS připojeno k počítači pomocí dalšího rozbočovače tak samotné zařízení komunikuje se svým rozbočovačem podle pravidel pro zařízení LS. Hostitel však posílá požadavky na zařízení podle pravidel pro zařízení FS, protože rozbočovač je zařízení typu FS. Z výše uvedeného je patrné že rozbočovač musí obsahovat vyrovnávací paměť a mít jistou inteligenci. Je také rozdíl ve fyzické signalizaci pro FS a LS zařízení a rozbočovač musí být schopen transformovat i příslušné signály. Zařízení typu HS používá principiálně úplně jinou signalizaci. Na následujícím obrázku (Obrázek 2 - Rychlost komunikace mezi jednotlivými zařízeními) jsou znázorněny komunikační rychlosti pro kombinaci rozbočovačů a zařízení podle obou revizí specifikace. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 6

Obrázek 2 - Rychlost komunikace mezi jednotlivými zařízeními Je nutné se i také uvědomit, že maximální přenosová kapacita je sdílena mezi všemi USB zařízeními. Nelze tedy předpokládat, že pokud připojíme dvě HS zařízení k HS hostiteli, tak budou obě zařízení po celou dobu připojení schopny komunikovat vždy na maximální přenosové rychlosti 480Mb/s. Pokud celou problematiku zjednodušíme, lze předpokládat, že v okamžiku kdy budou chtít komunikovat obě zařízení současně se hostitel bude snažit poskytnout oběma zařízením zhruba stejnou přenosovou kapacitu každému polovinu za maxima. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 7

Model toku dat Na následujícím obrázku (Obrázek 3 - Vrstvový model toku dat) jsou zobrazeny jednotlivé vrstvy, které mají na starosti jednotlivé operace a přes které prochází data. Fyzická vrstva stará se o fyzický přenos dat. Jde o konkrétní HW, který je většinou implementován na základní desce počítače. Společně s ovladačem pro daný USB obvod je tato část zodpovědná za příjem a vysílání paketů včetně generování a kontrolu CRC. Díky ovladači poskytuje standardní rozhraní pro vyšší vrstvu. Ta je tak nezávislá na konkrétní HW implementaci. Komunikační vrstva na této úrovni probíhá detekce a konfigurace zařízení a následný přenos dat. Skládá se ze dvou částí. Nižší je zodpovědná za správu a řízení zařízení. Je pevnou součásti systému. Vyšší část je reprezentována ovladačem konkrétního zařízení a zodpovídá za příjem požadavků z vyšší vrstvy, jejich transformaci a předávání vrstvě nižší. Funkční vrstva typickým představitelem je konkrétní klientský SW, který chce komunikovat se svým zařízením. Nezajímá se jak přesně je zařízení připojeno, požaduje pouze bezchybný přenos dat. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 8

Obrázek 3 - Vrstvový model toku dat USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 9

Na straně USB zařízení nelze jednoznačně určit, kde přesně začíná a končí jednotlivé vrstvy. Vždy bude záležet na konkrétní implementaci. Jednou z možností je kompletní obvodová implementace, kde zpracování všech standardních požadavků ze strany USB hostitele a také požadavků ovladače zařízení obstarává samotný obvod. Jakákoli změna v parametrech USB zařízení znamená zásah do struktury obvodu nebo jeho paměti. Druhou možností je obvod, který je schopen zpracovávat fyzickou vrstvu a komunikační vrstvu musí již implementovat další obvod. Ve většině případů se používá mikrokontrolér. U funkční vrstvy je problém podobný. Funkčnost může realizovat samotný obvod, nebo řidicí mikrokontorlér nebo další obvod, který využívá USB rozhraní ke komunikaci. Fyzické USB zařízení může v sobě integrovat více logických zařízení. Typickým představitelem může být kopírka, tiskárna a scanner v jednom zařízení. Každé zařízení má své rozhraní (interface) a pomocí něj lze využívat služeb daného zařízení. Výsledkem je, že fyzicky je připojeno pouze jedno zařízení avšak v systému se může vyskytnout několik nových logických zařízení. Pro další výklad předpokládejme jedno fyzické zařízení, které obsahuje pouze jedno logické zařízení. Na následujícím obrázku (Obrázek 4 - Koncept koncových bodů) je zobrazen koncept koncových bodů. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 10

Obrázek 4 - Koncept koncových bodů Při komunikaci s USB zařízením se používají komunikační kanály, roury (pipes), které jsou zakončeny na straně zařízení koncovým bodem (EndPoint- EP) a na straně hostitele vyrovnávací pamětí. Koncový bod není nic jiného než USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 11

vyrovnávací paměť, která má definovány určité parametry a ty jsou vázány na danou rouru. Roura může být pouze jednosměrná. Pokud požadujeme obousměrnou komunikaci musíme použít roury dvě. Terminologie USB rozlišuje dva typy kanálů (pipes) : Message pipe přenášena data jsou strukturovaná a jednotlivé položky mají z pohledu USB určitý význam. Tyto informace však nejsou interpretovány koncovým bodem ale až vyšší komunikační vrstvou Steram pipe přenášená data nemají z pohledu USB specifikace žádnou strukturu a jejich skutečný význam zná až funkční vrstva. USB specifikace rozlišuje celkem čtyři typy koncových bodů a příslušných kanálů a od toho se odvíjející 4 typy přenosů. Typ podporovaného přenosu pro daný EP se nastavuje během konfigurace zařízení a za provozu se nemůže již změnit. U všech těchto přenosů je volitelná velikost paketu. Existuje několik omezení v závislosti na použité revizi USB sběrnice a rychlosti zařízení, na které komunikuje. Control transfer tento typ přenosů se používá pro detekci a konfiguraci zařízení, přenášena data mají specifikovanou strukturu a jedná se tedy o Message pipe. Tento typ přenosů se většinou nepoužívá pro data, které chce přenést uživatelská aplikace. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 12

Interrupt transfer pokud je třeba přenést data z zařízení do počítače s definovaným maximálním zpožděním, je použit tento typ přenosu. Jeden z parametrů nastavovaných při konfiguraci je právě maximální akceptovatelné zpoždění. Isochronous transfer pokud je třeba přenášet data v pravidelných intervalech a s pevnou velikostí (real time data) je použit tento typ přenosu. Pokud dojde k chybnému přenosu paketu, tak se tato chyba ignoruje a data se zahazují. Oba předchozí typy přenosů mají jisté nároky na časování. Protože veškerou komunikaci na USB řídí hostitel, musí všechny tyto požadavky vzít v úvahu při tvorbě časového schématu sběrnice. V případě Interrupt přenosů se musí hostitel dotazovat zařízení na data nejpozději v okamžiku kdy vyprší čas na maximální zpoždění přenosu dat. V případě Isochronous přenosů se musí zařízení dotazovat v přesně definovaném intervalu a musí vždy vyhradit dostatečný prostor pro přenos dat. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 13

Bulk transfer tento typ přenosů nemá žádné omezení na časování případně vyhrazenou přenosovou kapacitu. Pokud je na USB více logických zařízení, které používají tento typ přenosu snaží se hostitel zbývající prostor v časovém schématu sběrnice spravedlivě podělit mezi všechny přenosy tohoto typu. Z charakteristiky výše uvedených přenosů plyne několik poznatků : Pro přenosy typu Control, si systém vyhradí zhruba 10% přenosové kapacity sběrnice. Tím je zajištěno, že se vždy povede detekovat nově připojené zařízení. Pokud je na USB připojeno relativně hodně zařízení nemusí být v časovém schématu sběrnice již prostor pro nové zařízení a nemusí tedy fungovat i když se správně detekuje. Chyby u přenosu typu Isochronous se neopravují a chybná data se zahazují. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 14

Konfigurace a detekce zařízení Po připojení zařízení k portu tuto událost rozbočovač zaregistruje a pošle příslušnou zprávu hostiteli. Ten vyšle požadavek na BusReset příslušného portu a jeho následné zapnutí. Připojené zařízení se inicializuje, nastaví si adresu 0 a čeká na požadavky od hostitele. V předchozí kapitole je popsán koncept koncových bodů. Jednotlivé parametry nemusí být vždy pevně dány a během konfigurace si hostitele může vybrat z několika možností. Taktéž fyzické USB zařízení může obsahovat několik logických zařízení a každé logické zařízení může mít několik možností nastavení. Základní principy lze shrnout do několika bodů : Koncový bod nula je vyhrazen vždy pro konfiguraci zařízení ve skutečnosti se jedná o koncové body 0 a 1, kdy jeden slouží pro přenos dat od hostitele k zařízení (OUT) a druhý od zařízení k hostiteli (IN) USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 15

Všechny ostatní koncové body mohou patřit příslušnému logickému zařízení. Každé fyzické zařízení může obsahovat několik možných konfigurací. Vybrána může být v daný okamžik pouze jedna děje se tak při detekci a konfiguraci. V rámci každé konfigurace může existovat několik rozhraní (Interface), přičemž každé rozhraní reprezentuje jedno logické zařízení. Ke každému rozhraní může náležet několik koncových bodů včetně nastavení jejich parametrů. Rozhraní může mít ještě tzv. alternativní rozhraní, kdy v rámci jedné konfigurace existuje několik možných variant pro příslušné rozhraní (logické zařízení). V jeden okamžik může být vybráno pouze jedno z možných alternativních rozhraní. Informace o tom jaké možné konfigurace zařízení obsahuje se hostitel dozví při detekci zařízení. Tyto informace jsou uloženy v deskriptorech. Pokud zařízení obsahuje více možných konfigurací vybere si hostitel tu, která mu nejvíce vyhovuje. Pokud zařízení vyhovuje USB 2.0 musí být většina deskriptorů uložena dvakrát. Podle toho jestli se komunikuje na FS nebo HS se musí některé parametry upravit. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 16

Třídy zařízení Každé USB zařízení může patřit do jisté třídy zařízení (Device Class). Typickým představitelem je USB myš, která patří do skupiny HID (Human Input Device). Pokud zařízení náleží do definované třídy, musí splňovat některé požadavky. Většinou musí podporovat specifické USB požadavky pro danou třídu zařízení. V jednotlivých třídách zařízení existují ještě podtřídy (SubClass), které dále zařízení dělí většinou podle funkce. Pro takto definovanou třídu existuje příslušný komunikační protokol a nastavení příslušných koncových bodů. Protože většina operačních systémů v sobě obsahuje ovladače pro příslušné třídy zařízení, výrobce už nemusí dodávat vlastní. Výsledkem je, že většina USB myší a klávesnic funguje okamžitě po připojení. Jiným příkladem mohou být paměťové karty na USB nebo digitální foťáky. Tyto zařízení patří do třídy velkokapacitních zařízení (MassStorage). Výhodou tohoto řešení je, že o veškerou logickou správu se stará operační systém a USB zařízení poskytuje pouze přístup k paměťovým místům. Do příslušné třídy může patřit celé fyzické USB zařízení nebo jen příslušné logické zařízení (interface). Každé logické zařízení pak může používat svůj definovaný protokol. Pokud žádná z existujících tříd danému USB zařízení nevyhovuje, výrobce si navrhne svůj komunikační protokol a pak také musí dodat svůj ovladač pro dané zařízení. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 17

Mechanické vlastnosti Pro připojování USB zařízení se používají dva typy konektorů. A konektor B konektor Opačný A konektor Opačný B konektor USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 18

Obrázek 5 - Průřez kabelem Na předchozím obrázku (Obrázek 5 - Průřez kabelem)je zobrazen průřez kabelem. Pro FS a HS zařízení musí mít výše uvedenou strukturu. Je také nutné dodržet celou řadu parametrů. Pro zařízení LS nejsou požadavky na propojení tak náročné a musí se dodržet pouze některé parametry. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 19

Fyzická vrstva USB sběrnice používá pro propojení zařízení s hostitelem celkem 4 vodiče : červený napájecí napětí +5V černý napájecí a signálová zem zelený signálový vodič D+ bílý signálový vodič D- Signály D+ a D- lze považovat za signály komplementární při přenosu dat. V některých okamžicích mají oba stejnou úroveň a slouží k signalizaci specifických požadavků. USB zařízení podle verze 1.1 používají pro přenos dat napěťové úrovně. Naproti tomu USB zařízení podle verze 2.0, které komunikuje na HS používá pro přenos dat proudové smyčky. Pokud toto zařízení komunikuje na FS používá pro signalizaci opět napěťové úrovně. Z tohoto důvodu musí mít HS zařízení přijímač i vysílač, který je schopen zpracovávat data přenášená napěťovými úrovněmi a také proudovou smyčkou. Schéma HS přijímače je zobrazeno na následujícím obrázku (Obrázek 6 - HS přijímač vysílač). USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 20

Obrázek 6 - HS přijímač vysílač USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 21

USB specifikace nepoužívá pojmy logická 1 a logická 0 ale stavy J a K. Podle toho na jaké rychlosti zařízení komunikuje (LS, FS, HS) jsou těmto stavům přiřazeny příslušné napěťové úrovně. FS/LS D+ D- D+ D- High D+ > V OH (min) D- < V OL (max) V HSOH (min) D+ V HSOH (max) V HSOL (min) D- V HSOL (max) Low D+ < V OL (max) D- > V OH (min) V HSOL (min) D+ V HSOL (max) V HSOH (min) D- V HSOH (max) HS Tabulka 1 - Definice napěťových úrovní LS FS HS J Low High High K High Low Low Tabulka 2 - Definice stavů Pro připojení USB zařízení se používá kabelů, jejichž impedance je 90Ω. Oba datové vodiče D+ a D- jsou jak na straně rozbočovače tak na straně zařízení zakončeny 45W rezistorem pro komunikaci na HS. Po FS a LS komunikaci má vysílač i přijímač impedanci 45 W. V předchozích tabulkách nejsou uvedeny číselné USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 22

hodnoty. Zjednodušeně lze tvrdit, že u LS a FS signalizace odpovídá High +5V a Low 0V. U HS zařízení neslouží pro přenos informací napěťové úrovně přímo. Je použita proudová smyčka s proudem o velikosti +-17,77mA. Vedení je na každé straně zakončeno rezistorem o velikosti 45Ω. Průchodem proudu vznikne na každém rezistoru +400mV nebo -400mV podle směru procházejícího proudu. Jak se pozná, že zařízení je LS, FS nebo HS? Podle rezistoru o velikosti 1,5kΩ, který je připojený na signál D+ nebo na D-. Obrázek 7 - Low Speed zařízení USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 23

Obrázek 8 - Full Speed zařízení HS zařízení má k signálu D+ připojený rezistor o velikosti 1,5kΩ proti +3,3V (Obrázek 6 - HS přijímač vysílač). Tento rezistor je odpojitelný a používá se pouze při detekci zařízení. Jestli je zařízení schopno komunikovat na HS se zjišťuje během BusReset. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 24

Shrnutí k signalizaci : signály D+ a D- jsou navzájem komplementární LS a FS zařízení používají pro přenos dat napěťové úrovně HS zařízení používá proudové smyčky signalizace u FS je invertovaná oproti LS rychlost zařízení se pozná podle rezistoru, který je připojený na D+ nebo D- signály D+ a D- musí být na každé straně zakončeny rezistorem o velikosti 45Ω, což odpovídá polovině jmenovité impedance kabelu. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 25

Kódování, časování Při komunikaci se nevysílají přímo stavy J a K, které reprezentují příslušné bity. Provede se nejdříve NRZI překódování, které je zobrazeno na následujícím obrázku (Obrázek 9 - NRZI kódování). Obrázek 9 - NRZI kódování Princip NRZI : pokud je 0 změň signál na signál opačný pokud je 1 nedělej nic Všechna data jsou vysílána sériově. Pokud však nedojde po delší dobu ke změně signálu mohlo, by dojít rozsynchronizování hodin vysílače a přijímače. To by se mohlo stát v případě, kdy by se vysílaly za sebou samé 1, protože ty nemění USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 26

výstupní signál. Používá se metoda vycpávání (bit stuffing). Pokud je za sebou vysláno šest 1 je automaticky vložena 0, která se na straně přijímače následně odstraní. Tímto způsobem lze detekovat i některé chyby. Pokud je za sebou víc jak sedm 1 je určitě něco špatně. Problém synchronizace hodin se také musí vyřešit při vysílání paketu. Než se začnou přenášet užitečná data jsou vyslány 3 páry KJ a 2 K signály u LS a FS zařízení. U HS zařízení se používá 15 KJ páru a 2 K signály. Rámec, mikrorámec Časování sběrnice je u LS a FS komunikace děleno do rámců (frame) kde každý rámec trvá 1ms. Na začátku každého rámce pošle hostitel paket (StartOfFrame-SOF) s číslem rámce. Pro počítání rámců se používá 11 bitový čítač, který přetéká a začíná znovu počítat od nuly. U HS komunikace se každý rámec skládá z 8 mikrorámců (microframe), což odpovídá délce 125ms. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 27

Formát paketů Existuje několik typů paketů. Každý paket musí mít na začátku identifikátor svého typu (PID), většinou následuje adresa zařízení a koncového bodu. Identifikátor paketu je 4 bitový. Zabezpečení proti chybám je provedeno tak, že každý bit se přenese ještě jednou v invertované podobě jak je zobrazeno na následujícím obrázku (Obrázek 10 - Identifikátor paketu). Obrázek 10 - Identifikátor paketu PID Type Token PID Name PID<3:0> Description OUT 0001B Address + endpoint number in host-to-function transaction IN 1001B Address + endpoint number in function-to-host transaction SOF 0101B Start-of-Frame marker and frame number SETUP 1101B Address + endpoint number in host-to-function transaction for SETUP to a control pipe Tabulka 3 - Typy paketů - 1. část USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 28

PID Type Data Handshake Special PID Name PID<3:0> Description DATA0 0011B Data packet PID even DATA1 1011B Data packet PID odd DATA2 0111B Data packet PID high-speed, high bandwidth isochronous transaction in a microframe MDATA 1111B Data packet PID high-speed for split and high bandwidth isochronous transactions ACK 0010B Receiver accepts error-free data packet NAK 1010B Receiving device cannot accept data or transmitting device cannot send data STALL 1110B Endpoint is halted or a control pipe request is not supported NYET 0110B No response yet from receiver PRE 1100B (Token) Host-issued preamble. Enables downstream bus traffic to low-speed devices. ERR 1100B (Handshake) Split Transaction Error Handshake SPLIT 1000B (Token) High-speed Split Transaction Token PING 0100B (Token) High-speed flow control probe for a bulk/control endpoint Reserved 0000B Reserved PID Tabulka 4 - Typy paketů - 2. část USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 29

Na následujících obrázcích je zobrazen formát pole pro uložení adresy příjemce a adresy koncového bodu (Obrázek 11 - Adresa zařízení, Obrázek 12 - Adresa koncového bodu). Obrázek 11 - Adresa zařízení Obrázek 12 - Adresa koncového bodu I u těchto položek je třeba zajistit detekci případných chyb. Používá se CRC součet s následujícím generujícím polynomem : G(X)=X 5 +X 2 +1 Posloupnost jednotlivých položek v paketu je zobrazena na následujícím obrázku (Obrázek 13 - Posloupnost položek v paketu). USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 30

Obrázek 13 - Posloupnost položek v paketu Podle typu paketu lze kromě adresy zařízení a adresy koncového bodu přenášet ještě další informace, které nemají charakter dat. I tyto položky jsou zabezpečeny pomocí kontrolního součtu. Generující polynom je stejný jak v případě adresy zařízení a adresy koncového bodu Data se přenášejí za sebou po jednotlivých bytech (nejdříve LSB pak MSB). Číslování bytů je zobrazeno na následujícím obrázku (Obrázek 14 - Princip uložení dat). Identifikátor datového paketu se pravidelně mění z DATA0 na DATA1. Tím je ošetřen případ, kdy by se ztratil celý paket. Přijímač vždy zkoumá zda skutečný identifikátor datového paketu odpovídá tomu co očekává. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 31

Obrázek 14 - Princip uložení dat Rovněž při přenosu dat je třeba zajistit detekci chyb. V tomto případě je použit také kontrolní součet s následující generující polynom : G(X)=X 16 + X 15 + X 2 +1 Na následujícím obrázku je zobrazena posloupnost položek v paketu, který nese data (Obrázek 15 - Posloupnost položek v datovém paketu). Obrázek 15 - Posloupnost položek v datovém paketu USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 32

USB protokol používá tzv. pozitivní potvrzování. Pokud došla data bezchybně vyšle přijímací strana paket ACK. Pokud jsou data poškozená tak přijímač data zahodí a mlčí. Pokud odesílatel do určité doby neobdrží potvrzení doručení vyšle data znovu. Paket NAK slouží k informování hostitele, že zařízení není schopno akceptovat další data (většinou pouze dočasně). Pokud se jedná o přenos typu OUT a přijímací zařízení má plný vstupní buffer pošle paket NAK. Pokud je přenos typu IN je paket NAK poslán v případě, kdy zařízení nemá žádné data, které by chtělo poslat hostiteli. Paket NAK nesmí nikdy poslat hostitel jako odpověď zařízení. USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 33

USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 34

Obrázek 16 - Control transfer USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 35

Obrázek 17 - Bulk transfer USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 36

Obrázek 18 - Interrupt transfer USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 37

Obrázek 19 - Isochronous transfer USB - Univerzální Sériová Sběrnice, (revize 2.0 z 27.dubna 2000) Hynek Urbiš 38