Vestavné mikropočítačové systémy 9. Týden – Datové komunikace III (USB)
USB – Universal Serial Bus Zatraceně povedený standnard – komplexní, promyšlený, rozšířený, jednoduchý, elegantní, použitelný, výkonný, … Jednoduché připojování periferií – nativní hot-plug Levné řešení podporující přenos do 480 Mbps Různé typy přenosů přizpůsobené reálným potřebám Sběrnice, ne port – až 127 zařízení Deterministická komunikace (bez kolizí) Počítá s napájením komunikačním kabelem Standardizované konektory, robustní i miniaturní Abyste mohli USB použít ve vlastních konstrukcích, nemusíte nutně vědět, jak funguje… ale pomůže to u zkoušky
USB – rychlosti a typy přenosů Rychlostní režimy low-speed (1,5Mbps) – klávesnice, myši, herní ovladače full-speed (12Mbps) – audio, komprimované video high-speed (480Mbps) – pevné disky, video Typy přenosů řídící – enumerace a konfigurace sběrnice interrupt – řídce se vyskytující, krátké přenosy (myš, klávesnice), řadič se periodicky dotazuje zařízeních, zda nechtějí provést přenos, zaručená perioda dotazování, zabezpečený přenos bulk – jednorázový zabezpečený přenos velkého množství dat (tiskárna, scanner) isochronní – nezabezpečený ale kontinuální přenos dat s danou periodou (real-time audio a video)
USB – vlastnosti sběrnice Role řadič (host) – jeden pro celou sběrnic, řídí sběrnici, provádí enumeraci a konfiguraci zařízení, alokuje logické kanály rozbočovač (hub) – větví sběrnici a umožňuje připojení více zařízení k řadiči nebo k jinému rozbočovači, lze kaskádovat až na 7 úrovní zařízení (device) – poskytuje službu (myš, klávesnice, klíčenka, tiskárna, scanner, pevný disk, mobil, fotoaparát apod.), k jednomu řadiči může být připojeno až 127 zařízení řadič kořenový rozbočovač zařízení hub řadič logické zařízení Logická topologie sběrnice Fyzická topologie sběrnice
USB – fyzická vrstva Mechanické vlastnosti typ A: zásuvka – výstup z řadiče nebo rozbočovače zástrčka – do řadiče nebo rozbočovače typ B: zásuvka – vstup do zařízení nebo rozbočovače zástrčka – do zařízení nebo rozbočovače Mini a mikro – použití v přenosných zařízeních, menší rozměry ale i robustnost 1 +5V 2 D+ 3 D- 4 GND 1 2 3 4 1 2 3 4
USB – fyzická vrstva Elektrické vlastnosti kabel má 4 vodiče, pro full a high speed musí být datový pár kroucený, charakteristická impedance 90 zařízení je možné napájet datovým kabelem, ale musí mít spotřebu < 500 mA a schopnost přejít do úsporného režimu klidový stav datového páru (kabel odpojen) je na straně řadiče definován dvěma pull-down rezistory a na straně zařízení jedním pull-up rezistorem zařízení se identifikuje jako low nebo full speed podle toho, jestli má pull-up rezistor připojen na D+ nebo D-, to také určuje počáteční podmínku pro výpočet NRZI, viz dále pull-up D+ pull-up D- low-speed – 1,5k full-speed
USB – linková vrstva Data se přenáší v paketech Kódování NRZI (Non-Return to Zero Invert) logické 1 odpovídá setrvání v předchozím stavu logické 0 odpovídá změna stavu Bit-stuffing – za každou 6. jedničku je vložena 0 kvůli udržení synchronizace Přítomnost stejného potenciálu na obou datových vodičích po dobu dvou bitů (tzv. SE0) signalizuje konec paketu 1
USB – protokol sync – synchronizační sekvence 00000001 transakce token paket data paket handshake paket sync PID adresa zařízení číslo endpointu CRC data sync – synchronizační sekvence 00000001 PID – typ paketu CRC – data jsou zabezpečena 16-ti ostatní 5-ti bitovým PID0 PID1 PID2 PID3
USB – povinné vlastnosti Odeslat device a configuration descriptor Přijmout příkaz SetAddress Přijmout příkaz SetConfiguration Provést vlastní reset když SE0 trvá déle než 10 ms Přijmout data pomocí posloupnosti OUT a DATA
USB – typy paketů Token pakety Data Handshake řídí provoz na sběrnici – hlavně směr SOF (Start Of Frame) – indikuje začátek 1 ms rámce IN – přenos dat od zařízení do řadiče OUT – přenos dat od řadiče do zařízení SETUP – signalizuje start řídícího procesu Data aplikační vrstva vnímá USB sběrnici jako „trubku“ dat od jednoho endpointu ke druhému datové pakety nejsou sběrnicí interpretovány, pouze se přenáší Handshake zabezpečení přenosu a řízení toku (brždění) ACK – kladné potvrzení, oznámení o správném doručení dat NAK – záporné potvrzení, většinou signalizuje, že data nemohou být přijata
USB – implementace USB hub – dostupné jednoúčelové integrované obvody USB zařízení – dostupné převodníky (např. od fy FTDI) Převodník USBUART (FT232R) Převodník USBFIFO (FT245R) USB řadič embedded procesory, který mají integrovaný USB řadič nemusí se řešit celé řízení sběrnice řadič hlásí nově zjištěná zařízení mechanismus virtuálních kanálů (pipes), pro příjem a odeslání dat
USB – příklad zapojení FT232R
USB – příklad zapojení FT245R
USB 3.0 Vydána v roce 2008, reálně v prodeji kolem roku 2010 Přínosy přenosová rychlost až 5Gbis/s dual-simplex (=duplex) nově zaveden asynchronní přenosový režim paketový tok je směrován vylepšené řízení spotřeby Co za to? propojovací kabel má 8 vodičů – 2 pro napájení, 2 pro USB 2.0 a 2x2 pro super-speed nové konektory, složitější, ale zpětně kompatibilní
USB 3.0 – propojovací kabel
USB 3.0 – konektory zařízení USB 2.0 bude v řadiči USB 3.0 fungovat, obráceně nikoliv Nové konektory obsahují původní piny + nové Standard-A Standard-B