Universal Serial Bus (USB)
konektor USB
USB (Universal Serial Bus) je univerzální sériová sběrnice, moderní způsob připojeníperiferií k počítači. Nahrazuje dříve používané způsoby připojení (sériový a paralelní port, PS/2, Gameport apod.) pro běžné druhy periférií – tiskárny, myši, klávesnice,joysticky, fotoaparáty, modemy atd., ale i pro přenos dat z videokamer, čtečekpaměťových karet, MP3 přehrávačů, externích pevných disků a externích optických mechanik.
Plug and Play
Výhodou je možnost připojování Plug & Play bez nutnosti restartování počítače nebo ručního instalování ovladačů. Zařízení lze připojit za chodu k počítači a během několika sekund je přístupné. Při připojení nového zařízeni nejprve hub podle zdvižené datové linky pozná, že se objevilo nové zařízení. Pak proběhnou následující kroky:
1. Hub informuje hostitelský počítač o tom, že bylo připojeno nové zařízení.
2. Hostitelský počítač se dotáže hubu, na který port bylo zařízení připojeno.
3. Po doručení odpovědi vydá počítač příkaz tento port zapnout a provést vynulování (reset) sběrnice.
4. Hub vyrobí nulovací signál (reset) o délce 10 ms. Uvolní pro zařízení napájecí proud 100 mA. Zařízení je nyní připraveno a odpovídá na implicitní (default) adrese.
5. Než zařízení USB obdrží svou vlastní adresu sběrnice, je možno se na ně obracet přes implicitní adresu 0. Hostitel si přečte první bajty popisovači zařízení, aby stanovil, jakou délku mohou mít datové pakety.
6. Hostitel přiřadí zařízení jeho adresu na sběrnici.
7. Hostitel si ze zařízení pod novou sběrnicovou adresou načte všechny konfigurační informace.
8. Hostitel přiřadí zařízení jednu z možných konfigurací. Zařízení nyní může odebírat tolik proudu, kolik je uvedeno v jeho popisovači. Tím je připraveno k použití. Hostitel přiřadí zařízení jeho adresu na sběrnici.
Napájení
Různé typy USB konektorů
Různé typy konektorů USB, zleva:
* nestandardní USB fotoaparátů Lumix
* mini USB
* typ B
* samice typ A
* typ A
pro srovnání s jedním rublem (velikost české jednokorunové mince)
Rozlišuje se mezi zařízeními s vlastním napájecím zdrojem a zařízeními, která jsou napájena přes sběrnici USB. V mnoha případech je možno volit oba způsoby. Zařízení pak má například konektor pro napájecí zdroj, který je možno volitelně propojit s externím napájecím zdrojem. Podle specifikace USB je proudový odběr ze sběrnice automaticky omezen. Je-li tudíž odebírán větší proud než přípustný, napájení by mělo být odpojeno. Připojeným zařízením USB poskytuje i stejnosměrné napájecí napětí5 V. Připojené zařízení tak může po sběrnici odebírat proud až 100 mA, v případě potřeby může zařízení požádat o větší proud, maximálně však o 500 mA. U osobních počítačů občas bývají napájecí vodiče sběrnice vyvedeny přímo ze zdroje počítače a USB zařízení připojené k počítači tak může odebírat i mnohem vyšší proud. Tohoto triku zneužívají například některé externí USB pevné disky, jejichž odběr je vyšší než požadovaných 500 mA a které po připojení k některému počítači nemusí fungovat.
Zapojení
Dvojice datových vodičů (DATA+ a DATA−) je kroucená, vodiče VCC (+5 V) a GND nikoli. Celý kabel je potom stíněný hliníkovou fólií.
Historie
USB vzniklo za spolupráce firem Compaq, Hewlett-Packard, Intel, Lucent, NEC,Microsoft a Philips. Nahrazuje rozsáhle používaný sériový port RS-232. Univerzální sériová sběrnice ulehčuje obecně práci uživateli a má větší šířku pásma než sériový port RS-232. První specifikace USB byla navržena v roce 1995, jako levné univerzální rozhraní pro externí zařízení, která vystačí s nižší průchodností dat. Jeho účelem bylo sjednotit způsob připojování těchto periférií. Skutečného rozšíření se dočkalo až v roce 1998 díky revolučnímu počítači iMac firmy Apple. Tento barevný poloprůhledný počítač byl jako první na světě vybaven pouze (!) porty USB a podnítil výrobce k většímu zájmu o výrobu USB periférií a příslušenství. Počítačů iMac se prodalo několik miliónů kusů a mimo rozšíření USB znamenal také návrat firmy Apple na stoly běžných spotřebitelů.
USB 1.1
Ve verzi USB 1.1 existují pomalá (Low-Speed) zařízení s přenosovou rychlostí 1,5 Mbit/s a rychlá zařízení (Full-Speed) s rychlostí 12 Mbit/s. USB 1.1 však nebylo schopno konkurovat vysokorychlostním rozhraním, např. FireWire (IEEE 1394) od firmy Apple (400 Mbit/s; až 63 zařízení).
USB 2.0
V roce 1999 se začalo uvažovat o druhé generaci USB, která by byla použitelná i pro náročnější zařízení (např. digitální kamery). Tato nová verze, označovaná jako USB 2.0, přišla v roce 2000 a nabídla maximální rychlost 480 Mbit/s v režimu Hi-Speed, avšak zachovala zpětnou kompatibilitu s USB 1.1 (režimy Low-Speed a Full-Speed).
USB 3.0
Třetí verze (označovaná také jako Superspeed USB) byla hotová již 17. listopadu 2008, ale pravděpodobně kvůli finanční krizi[1] se její masové rozšíření opozdilo a rozvíjet se začíná až roku 2010. USB 3.0 disponuje více než 10× větší rychlostí, přenosová rychlost je 5 Gbit/s. Nová technologie má 9 vodičů namísto původních 4 (datové vodiče jsou již 4), přesto zpětně podporuje USB 2.0 a slibuje možnou nižší spotřebu energie (díky Power managment). Díky tomu je možné používat libovolnou kombinaci zařízení a portů USB 2.0 a USB 3.0.
Princip
USB je sběrnice jen s jedním zařízením typu Master, tj. všechny aktivity vycházejí z PC. Data se vysílají v krátkých paketech o 8 bajtech a delších paketech o délce až 256 bajtů. PC může požadovat data od zařízení, naopak žádné zařízení nemůže vysílat data samo od sebe.
Veškerý přenos dat se uskutečňuje v tzv. rámcích, které trvají přesně 1 milisekundu. Uvnitř jednoho rámce mohou být postupně zpracovávány pakety pro několik zařízení. Přitom se mohou spolu vyskytovat pomalé (low-speed) i rychlé (full-speed) pakety. Obrací-li se PC na více zařízení, zajišťuje jejich rozdělení jako rozdělovač sběrnice (hub). Zabraňuje také, aby signály s plnou rychlostí (full-speed) byly vedeny na pomalá zařízení. Časový průběh přenosu informace je předepisován výhradně masterem. Zařízení typu slave se musí synchronizovat s datovým tokem.
Jednotlivé bity jsou kódovány metodou Non Return to Zero Inverted (NRZI). Nuly v datech vedou ke změně úrovně, jedničky nechávají úroveň beze změny. Kódování a dekódování signálů je čistě hardwarovou záležitostí. Přijímač musí být schopen získat signál, přijmout a dekódovat data. Speciální prostředky zajišťují, aby nedocházelo ke ztrátě synchronizace.
Obsahuje-li původní datový tok šest po sobě jdoucích jedniček, přidá vysílač automaticky jednu nulu (vkládání bitů – bit-stuffing), aby se tím vynutila změna úrovně. Přijímač tuto nulu z datového toku opět odstraní. Každý datový paket má za účelem synchronizace speciální zaváděcí bajt (00000001b). Přijímač v důsledku kódování NRZI a vsouvání bitů vidí osm střídajících se bitových stavů, na které se může synchronizovat. Během následujícího přenosu musí synchronizace zůstat zachována. Všechny tyto procesy se odehrávají pouze v odpovídajících hardwarových součástkách. Přijímač a vysílač jsou realizovány vždy společně v jedné součástce.
Zařízení USB obsahuje jednotku zvanou Serial Interface Engine (SIE), která přebírá vlastní práci. K výměně dat mezi SIE a zbytkem zařízení slouží buffery FIFO. FIFO jsou paměti, které mohou postupně přijímat a vydávat data podobně jako posuvné registry. Připojený mikrořadič tedy potřebuje jen přečíst data z FIFO a jiná data do FIFO zapsat. Ve většině případů je SIE součástí mikrořadiče USB. Zařízení USB má obecně několik pamětí FIFO, jejichž prostřednictvím je možno přenášet data.
Například myš, která je připojena přes USB, má vždy koncovou endpoint 0 a endpoint 1. Endpoint 0 se používá při inicializaci. Vlastní užitková data se z mikrořadiče v určitých časových odstupech zapisují do endpointu 1 a odtud si je vybírá PC. USB software tvoří tzv. trubice (pipes) k jednotlivým endpointům (koncovým adresám). Jedna pipe je logický kanál k jednomu endpointu v jednom zařízení. Pipe si můžeme představit jako datový kanál tvořený jediným vodičem. Ve skutečnosti však jsou data v pipe přenášena jako datové pakety v milisekundových rámcích a hardwarem rozdělována na reálné paměti podle jejich koncové (endpoint) adresy. Jedno zařízení může současně používat několik trubic (pipes), takže přenosová rychlost celkově vzroste.
Budoucnost
Zapojení vývodů konektorů A a B na panelu
V roce 2009 byla představena technologie Wireless USB. Má velmi dobré vyhlídky do budoucna – výrobci by rádi navázali na úspěch USB, které je dnes standardem prakticky v každém osobním počítači. Zatím předpokládané rychlosti jsou od 110 Mbit/s na vzdálenost 10 metrů až po 480 Mbit/s na vzdálenost 3 metrů. Připojit půjde až 127 zařízení sdílející tuto sběrnici – nový standard by také měl přinést zjednodušenou správu a sdílení zařízení mezi více PC.
Očekávána je také rozšířená verze USB nazývána také jako "PowerUSB", nebo "SuperPower USB", která má univerzálnost konektoru a sběrnice ještě rozšířit. V současné době stále standard USB zaručuje napětí 5V a protékající proud pouze 500 mA (celkem tedy 2,5 W), což stačí pouze pro napájení jednoduchých zařízení. Již se však objevují zejména stolní počítače s maximálním proudem i 1,5A. Nová rozšířenáspecifikace by však měla jít mnohem dále. Zaručovat bude jak různá napětí (zřejmě 5, 9, 12, 18 a 24V), tak daleko větší možnou proudovou propustnost. Celkové výkony by se údajně měly pohybovat až ke 100 W. Konektor by tak sloužil i například pro napájení notebooků.
Alternativa
Alternativou USB je použití standardu IEEE 1394 neboli FireWire.
V současné době jsou k dispozici dvě verze FireWire - původní označovaná dnes jako FireWire 400 neboli IEEE 1394a s rychlostí 400 Mbit/s a FireWire 800 neboli IEEE 1394b s rychlostí až 800 Mbit/s. FireWire na rozdíl od USB není tolik rozšířen. Ačkoli nominální rychlost FireWire 400 (400 Mbit/s) se zdá být nižší než u USB 2.0 (480 Mbit/s), v reálu FireWire dosahuje vyšších rychlostí přenosu dat než USB 2.0, zejména díky nižší režii přenosového protokolu. Dnes se FireWire používá tam kde rychlost USB 2.0 nedostačuje – zejména na připojení digitálních videokamer, externích disků, v ojedinělých případech i na síťové spojení počítačů peer-to-peer (několikrát vyšší rychlost než 100Mbit Ethernet).
Základní vlastnosti
• Maximální délka kabelu mezi sousedními zařízeními je 5 m, jedná se o délku, která je garantovaná. Delší kabel může být, ale nemusí už správně fungovat přenos dat. Kabel obsahuje 4 vodiče. Dva jsou pro napájení (5 V a zemnění). Druhý pár je kroucený a slouží pro přenos dat.
• I ta nejnižší přenosová rychlost mnohonásobně překračuje možnosti sériového portu. (Při porovnání obou portů je však třeba brát v úvahu i to, že jedno zařízení si nikdy nemůže nárokovat celou šířku pásma.)
• Sběrnice USB přináší tu výhodu, že při připojení přídavného rozdělovače sběrnice (hub) jsou k dispozici tři nové porty.
• Celkem je možno na USB připojit až 127 zařízení.
• Nevýhodou pro amatérského vývojáře je velká složitost USB. Na straně přístroje je třeba použít buďto převodník na USB nebo softwarovou knihovnu. Knihovna komunikuje obvykle jako HID zařízení, která zabere část výpočetního výkonu a řádově kB programové paměti; dále komunikace vyžaduje poměrně rychlé taktování mikrokontroleru. Na straně PC je nutný ovladač. Pro zprovoznění byť jednoduché komunikace je tedy třeba využívat USB knihovny na obou stranách.
• Kdo se chce vážně zabývat vývojem, stojí ještě před další překážkou: každé zařízení USB má interní číslo dodavatele (vendorlD), které je oficiálně udělováno organizací USB. Zařízení je možno dodávat na trh jen s platným VID.