Přenos dat
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í.
Pro veškerou komunikaci mezi počítačem a funkční jednotkou jsou k dispozici tři typy paketů:
- Každý přenos začne tím, že řídicí počítač vyšle tzv. token packet obsahující popis typu a směru výměny dat, adresou USB zařízení a číslem koncové jednotky (endpoint number)
- Poté zařízení, které má vysílat data, vyšle datový paket nebo indikuje, že žádná data nejsou k dispozici
- Přijímací strana nakonec vyšle tzv. handshake packet, kterým informuje, zda přenos proběhl úspešně
Režimy fungování
Existují zde dva typy přenosového modelu :
-
Tok dat (stream) využívající izochronní přenos dat v reálném čase. Nemá přesně definovanou strukturu
- Zpráva (message) využívající asynchronní přenos. Má přesnou strukturu :
- control mode - řídicí zpráva určená pro konfigurování poprvé aktivovaného zařízení
- bulk mode - zpráva obsahující vetší objem dat (např. pro tiskárnu nebo plotter), jež je vetšinou segmentována do více č ástí
- interrupt mode - zpráva s přerušením (obvykle několik bajtů), kterou spontálně vysílá zařízení, aby předalo zprávu o svém stavu (např. změna polohy myši)
- izochronní režim - pro zařízení která potřebují komunikovat v reálném čase ale dokáží tolerovat určité ztráty dat (audio a video zařízení)
Pro kódování je ve všech případech použit kód NRZI. Zabezpečení přenosu zajištuje CRC.
Izochronní režim a režim přerušení mají vyhrazeny určité časové sloty na sběrnici již při své inicializaci, takto může být přiděleno až 90% kapacity sběrnice. Když by se chtěla připojovat zařízení s dalšími požadavky, budou odmítnuta.V izochronním režimu jsou data přenášena pravidelně, např. každých 40 ms
V režimu přerušení jsou zařízení pravidelně dotazována (polling).
Zařízení pracující v dávkovém režimu dostávají veškerou kapacitu která momentálne zbývá, faktická rychlost přenosu je závislá na počtu momentálně aktivních zařízení