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



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

Metody připojování periferií

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

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).

Metody připojování periferií

USB. Universal Serial Bus. revize 2.0 z 27.dubna 200

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

Universal Serial Bus (USB)

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

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

UNIVERZITA PARDUBICE FAKULTA ELEKTROTECHNIKY A INFORMATIKY BAKALÁŘSKÁ PRÁCE

Charakteristika rozhraní USB

FRAMEWORK PRO VÝVOJ APLIKACÍ NA PLATFORMĚ ARM APPLICATION DEVELOPMENT FRAMEWORK FOR THE ARM PLATFORM

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ NÁVRH ZAŘÍZENÍ S ROZHRANÍM USB DIPLOMOVÁ PRÁCE FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ

PARALELNÍ ROZHRANÍ ŘÍZENÉ SBĚRNICÍ USB

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

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

Local Interconnect Network - LIN

Převodník USB na RS232. Milan Horkel

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

Metody připojování periferií

USB 3.0. Mechanická specifikace a fyzické rozhranní

ESKÉ VYSOKÉ U ENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická BAKALÁ SKÁ PRÁCE

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

Zpracování informací

Základní normalizované datové přenosy

8xDCOUT-CAN. (modul osmi výstupů s rozhraním CAN) rev. 1.0

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

CAL (CAN Application Layer) a CANopen

Komunikace v síti M-Bus

Sběrnice PCI, PCI-X, PCI Express

3. Linková vrstva. Linková (spojová) vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl

Propojení FPGA s USB portem

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

Vysoké učení technické v Brně. Fakulta informačních technologií DIPLOMOVÁ PRÁCE Hynek Urbiš

DataLab IO. DataLab PC/IO

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

Metody připojování periferií

Bezdrátový přenos dat

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Komunikace mikroprocesoru s okolím Josef Horálek

VINCULUM VNC1L-A. Semestrální práce z 31SCS Josef Kubiš

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

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

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

ACASYS-KS Komunikace v systému ACASYS

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ

XD Routing a vstupní I/O systém. Digitální broadcast technologie

Podstanice DESIGO PX Modulární řada s rozšiřujícím modulem

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

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

12. Bezpečnost počítačových sítí

zení Koncepce připojení V/V zařízení POT POT ... V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče Připojení periferních zařízení

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

AS-Interface. AS-Interface = Jednoduché systémové řešení. Představení technologie AS-Interface

Programové konstrukce

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

Uživatelská příručka

Čtečka pomocí webové kamery

Standard USB. Standard USB. (Universal Serial Bus) Jan Malinský ČVUT Praha, FEL, Katedra měření

Pokud je to možné, instalujte každou jednotku zvlášť - komunikace na jednom kanálu probíhá "na střídačku"

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

Telekomunikační sítě Protokolové modely

PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/ PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/ stran 1

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

AS-Interface. AS-Interface. = Jednoduché systémové řešení

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

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

Sběrnice používané pro sběr dat

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

Měřicí přístroje pro testování metalických vedení

Optika v počítačovém vidění MPOV

DELTA PANEL pro Windows

Převodník Ethernet RS232 s Modbus RTU / TCP routerem

Návod na použití Konfigurační softvér DJ LCD config v1.3

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

Interface CAR2FMS v2 firmware CAN data generátor

Paměti Flash. Paměti Flash. Základní charakteristiky

DUS - digitální účastnické sady ISDN 2B+D

Metody připojování periferií BI-MPP Přednáška 2

AS-Interface. AS-Interface. = Jednoduché systémové řešení

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

1. ÚVODNÍ USTANOVENÍ 2. NAHRÁNÍ VLOŽENÉHO PROGRAMU

Yealink VC110 videokonferenční endpoint

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

Novinky u zařízení pro sériovou komunikaci. Michal Kahánek

Počítačem podporovaná měření. Jaromír Světlík

Informační a komunikační technologie

SNÍMAČOVÁ JEDNOTKA TB2.310-USB2.0/1.2-ASCII

Elektronická kapacitní dekáda - BASIC

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

Průvodce rychlým spuštěním 4/8/16 - kan. DVR

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.

Metody připojování periferií

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

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

TECHNICKÝ MANUÁL. Obj. č.:

Vodafone ADSL/ /VDSL modem. Návod na jednoduchou a rychlou instalaci

JUMO mtron T Měřicí, regulační a automatizační systém

Transkript:

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

Obecné charakteristiky distribuovaná datová pro připojení počítačových periferií klávesnice, myš, Flash disk, tiskárna, modem, DAQ modul deterministická technologie (Master/Slave) až 127 zařízení v rámci jedné USB sítě optimalizace pro různé typy přenosů malé i větší bloky dat spolehlivá i nespolehlivá komunikace podpora isochronních přenosů přenosové rychlosti fyzické vrstvy od Mbit/s do jednotek Gbit/s podle varianty (low-/full-/high-/super-speed) podpora plug&play a hot swap detekce připojení/odpojení, automatická konfigurace podpora napájení periferií z USB rozhraní včetně režimů šetření energie

Topologie systému 3 typy uzlů hostitel (host) řízení Master/Slave rozbočovače (hub), od verze 2.0 se chovají spíše jako přepínače zařízení (function)

Topologie systému max. 5 úrovní omezení zpoždění

Hostitel (Host) v systému jediný ale!!! USB On the Go!!! výběr role při spojení typicky PC nebo nějaký embedded systém mobilní zařízení, průmyslový kontroler, TV přijímač řídí datové přenosy v celém systémů má roli Master řídí proces enumerace rozpoznání zařízení a hubů, konfigurace a spuštění power management detekce konfigurace napájení režimy snížené spotřeby obvykle integruje řadič hostitele a tzv. kořenový rozbočovač (root hub) ten obvykle nabízí 2 USB porty

Rozbočovač (Hub) tvoří komunikační infrastrukturu USB detekuje připojení/odpojení dalšího zařízení na down-stream portech distribuuje/koncentruje datové toky dolů/vzhůru vzhledem k hierarchii v topologii systému povoluje/zakazuje přenosy z a na jednotlivé down-stream porty důležité pro enumeraci management napájení na down-stream portech detekce low/full speed překlad high low/full speed napájen ze sběrnice nebo z vlastního zdroje

Zařízení (Function) koncové periferní zařízení s požadovanou funkcionalitou připojuje se vždy do down-stream portu rozbočovače komunikuje low/full/high/super speed rychlostí může být napájeno ze sběrnice či mít vlastní zdroj bus X self powered max. odběr z USB portu 500 ma power management podpora P&P standardní třídy zařízení zařízení s obdobnou funkcionalitou kompletně definovaná komunikace a funkčnost podpora celé třídy jediným ovladačem v OS např. Mass Storage, HID, Printer

Princip komunikace

Princip komunikace

Princip komunikace

Typy rour (pipes) stream pipes přenáší nestrukturovaná data jednosměrné (IN, OUT) využívají protokoly pro přenosy typu Interrupt /přerušovací) Bulk (blokový) Isochronous (isochronní) message pipes typicky strukturovaná data obousměrná komunikace sekvence žádost data potvrzení využívá protokol pro přenos typu Control (řídicí)

Typy rour (pipes) stream pipes přenáší nestrukturovaná data jednosměrné (IN, OUT) využívají protokoly pro přenosy typu Interrupt /přerušovací) Bulk (blokový) Isochronous (isochronní) message pipes typicky strukturovaná data obousměrná komunikace sekvence žádost data potvrzení využívá protokol pro přenos typu Control (řídicí)

Typy přenosů (transfer types) mají definovány základní vlastnosti formát dat směr přenosu omezení velikosti paketu omezení přístupu ke sběrnici omezení dle rychlostní varianty časové latence předepsaná sekvence paketů a transakcí způsob zpracování chyb každé rouře je při jejím vytvoření přiřazen jeden ze čtyř typů přenosu řídicí (control) izochronní (isochronous) přerušovací (interrupt) blokový (bulk)

Přenos Transakce Paket komunikace probíhá cyklicky v (mikro)framech (1 ms / 125μs)

Typy přenosů řídicí každé USB zařízení implementuje řídicí přenos na rouře 0 tzv. default pipe slouží pro enumeraci zařízení jako jediný je obousměrný maximální velikost paketu závisí na rychlosti sběrnice 8 bajtů pro LS 8, 16, 32 nebo 64 bajtů pro FS 64 bajtů pro HS v případě chyby se přenos paketu opakuje pro řídicí přenosy je rezervováno 10% (LS, FS) nebo 20% (HS) přenosové kapacity skládá se ze dvou, tří nebo více formálně odlišných transakcí závěrečná transakce (status) slouží k potvrzení provedení požadované akce

Typy přenosů izochronní v USB zařízeních volitelný slouží pro přenosy streamů (audio, video) v reálném čase jednosměrný maximální velikost paketu závisí na rychlosti sběrnice nelze pro LS 1023 bajtů pro FS 1024 bajtů pro HS možnost tzv. high-bandwidth endpointů pro izochronní (spolu s interrupt) přenosy je rezervováno až 90% (FS) nebo 80% (HS) přenosové kapacity standardně maximálně jedna transakce za (mikro)frame garantovaná latence odeslání dat v případě chyby se transakce neopakuje skládá se ze sekvence formálně totožných transakcí

Typy přenosů přerušovací v USB zařízeních volitelný slouží především pro emulaci přerušení jednosměrný maximální velikost paketu závisí na rychlosti sběrnice 8 bajtů pro LS 64 bajtů pro FS 1024 bajtů pro HS možnost tzv. high-bandwidth endpointů pro přerušovací (spolu s izochronními) přenosy je rezervováno až 90% (FS) nebo 80% (HS) přenosové kapacity standardně maximálně jedna transakce za (mikro)frame pro LS max. 1 transakce za 10 frame v případě chyby se transakce opakuje skládá se ze sekvence formálně totožných transakcí

Typy přenosů blokový v USB zařízeních volitelný slouží především pro spolehlivý přenos bloků dat jednosměrný maximální velikost paketu závisí na rychlosti sběrnice nelze pro LS 64 bajtů pro FS 512 bajtů pro HS není rezervována žádná přenosová kapacita využívá tu zbývající žádná garance latence odeslání dat v případě chyby se transakce opakuje skládá se ze sekvence formálně totožných transakcí

Transakce skládá se typicky ze tří paketů Token (výzva) Data Handshake (potvrzení) transakci vždy iniciuje hostitel (Master) posílá Token podle směru jde o transakci typu vstupní nebo výstupní vždy z pohledu hostitele vstupní transakce přenáší datový paket do hostitele, výstupní od něj potvrzení generuje příjemce datového paketu ze samotné transakce nelze jednoznačně určit, jaký typ přenosu realizuje to je dáno způsobem provádění transakcí

Pakety pole PID definuje typ paketu SOF (Start of Frame) indikuje počátek (mikro)rámce Token (výzva) výzva od hostitele pro zařízení (či hub) ADDR adresa zařízení, až 127 různých (0 je rezervovaná) ENDP identifikace roury (koncového bodu), 0 15, 0 je vždy řídicí

Pakety pole PID definuje typ paketu datový paket slouží k přenosu dat odesílá buď hostitel nebo zařízení dle směru přenosu Handshake (potvrzení) odesílá příjemce datového paketu potvrzuje správný příjem dat

Transakce přerušovacích (Interrupt) přenosů

Transakce blokových (Bulk) přenosů Token Data Handshake

Transakce izochronních (Isochronous) přenosů

Transakce řídicích (Control) přenosů datová fáze se řídí pravidly transakcí blokového přenosu

Transakce řídicích (Control) přenosů řídicí přenos se skládá ze 2 a více transakcí 1. transakce Setup data posílá vždy hostitel definují, co hostitel chce 2. transakce Data může být vynechána může být vícenásobná buď IN nebo OUT 3. transakce Status prázdný datový paket vše OK nebo info o chybě OUT nebo IN

Transakce řídicích (Control) přenosů řídicí přenos se skládá ze 2 a více transakcí 1. transakce Setup data posílá vždy hostitel definují, co hostitel chce 2. transakce Data může být vynechána může být vícenásobná buď IN nebo OUT 3. transakce Status prázdný datový paket vše OK nebo info o chybě OUT nebo IN

Transakce řídicích (Control) přenosů řídicí přenos se skládá ze 2 a více transakcí 1. transakce Setup data posílá vždy hostitel definují, co hostitel chce 2. transakce Data může být vynechána může být vícenásobná buď IN nebo OUT 3. transakce Status prázdný datový paket vše OK nebo info o chybě OUT nebo IN

Přehled PIDů typů paketů

Přehled PIDů typů paketů

Fyzická vrstva standardní kabel

Fyzická vrstva bit stuffing po 6 bitech log. 1 je vložen bit log.0 neprovádí se pro sekvenci logických nul kanálové kódování NRZI

Fyzická vrstva LS/FS signalizace

Fyzická vrstva detekce připojení/odpojení současně detekce rychlosti full speed

Fyzická vrstva detekce připojení/odpojení současně detekce rychlosti low speed pro high speed specielní mechanismus během resetu nabídka (od USB2.0 hubu) a potvrzení (od high speed zařízení)

Fyzická vrstva napájení ze sběrnice hub max. odběr 500 ma, napájení max. 100 ma na 4 portech zařízení max. 500 ma (high power) max. 100 ma (low power) max. 500 A v režimu spánku před konfigurací vždy max. 100 ma vlastní zdroj odběr ze sběrnice omezen na 100 ma nominální hodnota napětí 5 V úbytek na kabelech interně v zařízeních 3,3 V regulátor

Proces enumerace reset vyčtení deskriptoru zařízení reset vyčtení deskriptoru zařízení přiřazení adresy vyčtení dalších deskriptorů nastavení konfigurace zde je dokončena enumerace a práci se zařízením přebírá specifický ovladač

Deskriptor zařízení Device Descriptor 14 položek jediný obsahuje základní informace o zařízení a použité specifikaci USB, podle které se zařízení chová identifikuje výrobce a produkt na základě těchto informací vybírá operační systém vhodný ovladač definuje velikost bufferu endpointu 0 (default pipe, min 8B a max 64B) hostitel se musí přizpůsobit definuje počet různých konfigurací zařízení definuje případnou standardní třídu zařízení obsahuje indexy na popisy položek v textovém deskriptoru

Deskriptor zařízení (Device Descriptor) Pozice Pole Velikost Hodnota Popis 0 blength 1 18 délka deskriptoru v bajtech 1 bdescriptortype 1 kód typu deskriptoru 2 bcdusb 2 BCD podporovaná verze USB 4 bdeviceclass 1 kód třídy 5 bdevicesubclass 1 kód podtřídy 6 bdeviceprotocol 1 podporovaný protokol třídy 7 bmaxpacketsize 1 velikost bufferu (a paketu) 8 idvendor 2 ID výrobce 10 idproduct 2 ID výrobku 12 bcddevice 2 BCD verze zařízení 14 imanufacturer 1 index do textového deskriptoru 15 iproduct 1 index do textového deskriptoru 16 iserialnumber 1 index do textového deskriptoru 17 bnumconfigurations 1 počet konfigurací

Deskriptor konfigurace Configuration Descriptor pro každou konfiguraci jeden definuje počet možných rozhraní v dané konfiguraci identifikuje vlastnosti zařízení v dané konfiguraci vlastní či sběrnicové napájení podpora pro remote-wakeup definuje spotřebu zařízení v dané konfiuraci obsahuje indexy na popisy položek v textovém deskriptoru

Deskriptor konfigurace (Configuration Descriptor) i pro konfigurační deskriptor alternativní rychlosti Pozice Pole Velikost Hodnota Popis 0 blength 1 9 délka deskriptoru v bajtech 1 bdescriptortype 1 kód typu deskriptoru 2 wtotallength 2 celková délka všech deskriptorů této konfigurace (včetně interface a endpoint deskriptorů) 4 bnuminterfaces 1 počet rozhraní (interface) 5 bconfigurationvalue 1 hodnota pro výběr 6 iconfiguration 1 index do textového deskriptoru 7 bmattributes 1 bity 0..4 rezervovány bit5 remote wakeup bit6 self powered bit7 rezervován 8 bmaxpower 1 spotřeba (rozlišení 2 ma)

Deskriptor rozhraní Interface Descriptor jeden pro každé rozhraní definuje počet endpointů, tvořících rozhraní definuje třídu zařízení, pokud není definována deskriptorem zařízení obsahuje indexy na popisy položek v textovém deskriptoru

Deskriptor rozhraní (Interface Descriptor) Pozice Pole Velikost Hodnota Popis 0 blength 1 9 délka deskriptoru v bajtech 1 bdescriptortype 1 kód typu deskriptoru 2 binterfacenumber 1 pořadové číslo rozhraní (od 0) 3 balternatesetting 1 hodnota pro výběr 4 bnumendpoints 1 počet endpointů (mimo nultý) 5 binterfaceclass 1 0xff pro uživatelské 6 binterfacesubclass 1 0xff pro uživatelské 7 binterfaceprotocol 1 0xff pro uživatelské 8 iinterface 1 index do textového deskriptoru

Deskriptor koncového bodu Endpoint Descriptor jeden pro každý endpoint definuje směr roury, končící v endpointu definuje podporovaný typ přenosu definuje číslo endpointu (roury) definuje velikost datového bufferu a tedy max. velikost datového paketu pro přerušovací roury definuje periodu dotazování pro isochronní roury periodu zasílání dat obsahuje indexy na popisy položek v textovém deskriptoru

Deskriptor koncového bodu (Endpoint Descriptor) Pozice Pole Velikost Hodnota Popis 0 blength 1 7 délka deskriptoru v bajtech 1 bdescriptortype 1 kód typu deskriptoru 2 bendpointaddress 1 3 battributes 1 bity 0..3 číslo endpointu bity 4..6 rezervováno (0) bit 7 směr (0 OUT, 1 IN) 4 wmaxpacketsize 2 velikost bufferu 6 binterval 1 bity 0..1 typ přenosu bity 2..3 synchronizace (isochr.) bity 4..5 použití (data, feedback..) časování pro interrupt a isochr. NAK četnost pro bulk

Textový deskriptor (String Descriptor) jeden pro zařízení obsahuje člověkem čitelné textové popisy řetězce v Unicode nejsou zakončeny nulou na počátku délka a typ deskriptoru na indexu 0 tabulka s podporovanými jazykovými verzemi

Textový deskriptor (String Descriptor) index 0 Pozice Pole Velikost Hodnota Popis 0 blength 1 2N + 2 délka deskriptoru v bajtech 1 bdescriptortype 1 kód typu deskriptoru 2 wlangid[0] 2 kód 1. podporovaného jazyka 4 wlangid[1] 2 kód 2. podporovaného jazyka 2N wlangid[n-1] 2 kód N. podporovaného jazyka Textový deskriptor (String Descriptor) index > 0 Pozice Pole Velikost Hodnota Popis 0 blength 1 N + 2 délka deskriptoru v bajtech 1 bdescriptortype 1 kód typu deskriptoru 2 bstring N textový řetězec v Unicode

Formát standardní žádosti datový paket v Setup transakci řídicího přenosu Pozice Pole Velikost Hodnota Popis 0 bmrequesttype 1 bity 0..4 příjemce 0 device 1 interface 2 endpoint 3 jiný 4 až 31 rezervováno bity 5.. 6 typ 0 standardní 1 specifický třídy 2 specifický výrobce 3 rezervováno bit 7 směr 0 host to device 1 device to host 1 brequest 1 kód typu žádosti

Formát standardní žádosti datový paket v Setup transakci řídicího přenosu Pozice Pole Velikost Hodnota Popis 2 wvalue 2 význam dle typu žádosti 4 windex 2 význam dle typu žádosti, typicky index nebo offset 6 wlength 2 velikost dat pro datovou fázi Např. Get Device Descriptor bmrequesttype = 0x80 : datová fáze device to host brequest = 0x06 : GetDescriptor wvalue = 0x0001 : Device Descriptor windex = 0x0000 : je pouze jediný, nevyužito wlength = 0x0012 : standardní délka, požadavek může být i nižší