Rozhraní USB
Transkript
PZ Rozhraní USB Rozhraní USB 1 PZ Rozhraní USB Specifikace USB • USB 1.0 – Původní specifikace. • USB 1.1 – Doplnění (upřesnění) 1.0. – Rychlosti Low Speed (1.5 Mb/sec) a Full Speed (12 Mb/sec). • USB 2.0 – Doplněno o High Speed (480 Mb/sec.) a další rozšíření (ping, ...). • USB OTG (On-The-Go) – Doplněk k USB 2.0. – Rozšíření o komunikaci mezi dvěma zařízeními (bez počítače Host). 2 PZ Rozhraní USB Architektura USB (1) • Propojení pomocí USB má stromovou strukturu. • Počítač je obvykle Host. • Na dalších úrovních je buď zařízení nebo rozbočovač (Hub). – USB 1.1 – max. 5 vrstev. – USB 2.0 max. 7 vrstev. Host (Kořenový rozbočovač) Zařízení Rozbočovač 1. vrstva Rozbočovač Rozbočovač + Zařízení Rozbočovač + Zařízení 2. vrstva Rozbočovač + Zařízení Rozbočovač + Zařízení Zařízení 3. vrstva Rozbočovač Zařízení 4. vrstva 3 PZ Rozhraní USB Architektura USB (2) Komunikace na logické úrovni Aplikační SW Funkce zařízení Komunikace na logické úrovni Drivery USB Logické zařízení Komunikace na fyzické úrovni Řadič USB Řadič USB 4 PZ Rozhraní USB Architektura USB (3) • Zařízení může mít několik různých rozhraní (Interface). – Např CD může mít rozhraní Audio CD a CD-ROM. • Každé rozhraní má několik bran (Endpoint). – Například může mít bránu pro řízení a bránu pro data. Kanály In Out Brána In Out Brána Rozhraní In Out Brána In Out Brána Rozhraní Rozhraní Zařízení 5 PZ Rozhraní USB Konektory a kabely • Maximální délka kabelu LS = 3 m (zpoždění 18 ns). • Maximální délka kabelu FS a HS = 5 m (zpoždění 26 ns). • Z0 = 90Ω. 6 PZ Rozhraní USB Fyzická vrstva LS/FS • Používá se diferenciální signál. • Jeden pár vodičů slouží pro oba směry. • Elektrické úrovně na vodičích definují několik stavů (odlišné pro LS, FS, HS), viz dále. Vcc D+ DGND Stínění 7 PZ Rozhraní USB Úrovně napětí na lince LS/FS Host 3.3 V 1k5 3.3 V 1k5 D+ Budiče a detektory LS/FS Budiče a detektory LS/FS D- 15k 15k Zařízení Low Speed Full Speed GND 8 PZ Rozhraní USB Fyzická vrstva HS • Rozšířená proti LS/FS. • Budiče linky HS fungují jako zdroj proudu 0 mA nebo 17 mA. • Napětí na lince (400 mV / 800 mV) závisí na zakončovacích odporech (2 × 45 Ω). • Detekce připojení HS – napřed jako FS, potom „HS chirp“. • Detekce odpojení – zvýšení linkového napětí na 800 mV. 9 PZ Rozhraní USB Úrovně napětí na lince HS Host 3.3 V 1k5 Budiče HS Detektory HS D+ 17 mA 17 mA D45R Budiče a detektory LS/FS GND Zařízení 15k 45R 15k Full Speed 45R 45R LS/FS GND 10 PZ Rozhraní USB Budiče linky LS/FS/HS 11 PZ Rozhraní USB Úrovně signálů Low Speed Význam D+ D- Full Speed D+ D- High Speed D+ D- Stav J D+ < D- D+ > D- D+ > D- Stav K D+ > D- D+ < D- D+ < D- SE0 < VIL < VIL < VIL < VIL Idle < VIL > VIH > VIH < VIL < VIL < VIL SOP Idle → K Idle → K Idle → K EOP 2 × SE0 + J 2 × SE0 + J 40 × J (K) Připojení < VIL > VIH > VIH < VIL FS + Chirp 12 PZ Rozhraní USB Stavy J, K a SE0 na lince LS/FS Idle = J K J ... K data SE0 Idle = J LS = D - FS = D+ LS = D+ LS = D - 13 PZ Rozhraní USB Kódování dat • Kód NRZI. • Po souvislém sledu 6 × 1 se vkládá 0 (bit stuffing) pro synchronizaci. Data 0 1 0 0 Vložená 0 1 1 1 1 1 1 0 1 1 0 0 1 1 0 J K 14 PZ Rozhraní USB Formát paketu USB 1.1 (1) • Začátek paketu (SOP) = přechod z klidového stavu (Idle) do K. • Konec paketu (EOP) = 2 × SE0 a přechod do klidového stavu (J). Klidový SOP stav Data EOP Klidový stav LS = D - FS = D+ LS = D+ LS = D 15 PZ Rozhraní USB Formát paketu USB 1.1 (2) • • • • Na začátku paketu je synchronizační pole 0000 0001. Za synchr. polem je 1 byte s typem paketu. Další obsah paketu závisí na jeho typu. Na konci paketu je CRC 5 nebo 16 bitů (5, 2, 0 resp. 16, 15, 2, 0). 00000001 SOP Sync. Typ Typ Specifická informace CRC EOP 0000000110010110 Sync. IN Token Idle Adresa Adresa CRC EOP zařízení endpoint 16 PZ Rozhraní USB Typy paketů • Základní typy paketů: 1. 2. 3. 4. Pověřovací (Token Packet). Datové (Data Packet). Potvrzovací (Handshake Packet). Speciální (Special Packet). 17 PZ Rozhraní USB Typy paketů (USB 1.1) Skupina Paket Kód Význam Token SOF 0101 Začátek rámce Token SETUP 1101 Nastavení/zjištění parametrů zařízení Token IN 1001 Přenos dat IN Token OUT 0001 Přenos dat OUT Data DATA0 0011 Datový paket Data DATA1 1001 Datový paket Handshake ACK 0010 Potvrzení přijetí dat Handshake NAK 1010 Odmítnutí dat (OUT) / Data nejsou k dispozici (IN) Handshake STALL 1110 Odmítnutí požadavku (chybový stav zařízení) Special PRE 1100 Přepnutí na LS 18 PZ Rozhraní USB Další typy paketů (USB 2.0) Skupina Paket Kód Význam Data DATA2 0111 Datový paket Data MDATA 1111 Datový paket v isochronním přenosu OUT Handshake NYET 0110 Potvrzení přijetí, další požadavek bude odmítnut Special ERR 1100 Chyba při SPLIT transakci Special SPLIT 1000 Začátek komunikace se zařízením USB 1.1 Special PING 0100 Dotaz na připravenost k přenosu OUT 19 PZ Rozhraní USB Transakce Host → Endpoint • Transakce obsahuje pakety Token – Data – Potvrzení. • Některé transakce nemají datový nebo potvrzovací paket. OUT Token Host → Endpoint IN Token Host → Endpoint IN Token Host → Endpoint Data0/1 OUT Transakce (bez chyb) Endpoint → Host Data0/1 IN Transakce (bez chyb) Endpoint → Host ACK Host → Endpoint ACK Endpoint → Host Data0/1 timeout pro ACK IN Transakce (s chybou dat) 20 PZ Rozhraní USB Transakce s odmítnutím • NAK indikuje nedostupnost dat (IN) nebo odmítnutí dat (OUT). Host → Endpoint Endpoint → Host IN Token NAK IN Transakce endpoint nemá data pro přenos Host → Endpoint OUT Token Host → Endpoint Endpoint → Host Data0/1 OUT Transakce - odmítnutí dat NAK 21 PZ Rozhraní USB Transakce přenosu dat IN OUT Data 0/1 Data 0/1 Data 0/1 STALL ACK NAK OUT Data 0/1 STALL Chyba NAK Chyba ACK IN Bulk In Host → zařízení Bulk Out Isochronous Isochronous IN OUT Zařízení → host 22 PZ Rozhraní USB Rámce • Na USB 1.1 je přenosová kapacita rozdělena do rámců dlouhých 1 ms. – Při FS: 1 rámec = 12 000 bitových intervalů, tj. 1500 bytů. • Na začátky rámce se vysílá SOF pro případnou synchronizaci zařízení. FS rámec 1 ms 12000 bitů = 1500 bytů SOF 1. 2. transakce transakce n. transakce SOF 23 PZ Rozhraní USB Mikrorámce • Na USB 2.0 (HS) je přenosová kapacita rozdělena do mikrorámců (125 µs). – Při HS (480 MHz): 125 µs = 60 000 bitových intervalů, tj. 7500 bytů. FS rámec 1 ms HS μrámce 125 μs 60 000 bitů = 7 500 bytů SOF 1. 2. transakce transakce n. transakce SOF 24 PZ Rozhraní USB Typy přenosů • Podle požadavků na přenos se používají různé typy přenosu: – Setup - nastavení / zjištění konfigurace zařízení. – Isochronous – přenos dat s dodržením požadované rychlosti přenosu. – Bulk – přenos dat bez dodržení požadavků na rychlost přenosu. – Interrupt – požadavek na přenos (Token IN/OUT) se vysílá s nastavenou periodou. 25 PZ Rozhraní USB Přenosy Setup • Přenos Setup má obecně fáze Setup – Data – Status. Fáze Setup Fáze Status Setup Transakce IN Transakce Setup Token Data (8Bytů) ACK Fáze Setup Setup Transakce ACK Datová fáze OUT Transakce Fáze Setup Setup Transakce IN Token OUT Transakce Datová fáze IN Transakce IN Transakce Fáze Status IN Transakce Fáze Status OUT Transakce 26 PZ Rozhraní USB Přenosy Isochronous • Při konfiguraci zařízení žádá o přenos Isochronous s určitou kapacitou – Host žádost akceptuje nebo zamítne. • Maximálně 1023 bytů v paketu (HS: 1024 bytů). • V rámci je max. 1 Isochronous paket pro kažou bránu (endpoint) (HS: 3 pakety). • Nepotvrzuje se ACK/NAK. • Maximální přenosová rychlost: – FS: 1 paket ā 1023 B × 1000 rámců/s = ≈ 1 MB/s (využije cca 69% přenosové kapacity). – HS: 3 pakety ā 1024 B × 8000 µrámců/s = ≈ 24 MB/s (cca 41% kapacity). 27 PZ Rozhraní USB Synchronizace při Isochronním přenosu • Příjemce dat se synchronizuje pomocí SOF. Snímání dat SOF Isochronní p. SOF Zdroj dat Rámec Přenos paketu Isochronní p. Příjemce dat SOF Použití dat 28 PZ Rozhraní USB Přenosy Bulk • Nemají zaručenou přenosovou rychlost. • V paketu 8, 16, 32 nebo 64 bytů (HS: max. 512 bytů). • V jednom rámci může být libovolný počet transakcí na jednu bránu (endpoint). • Maximální přenosová rychlost*: – FS: 19 paketů ā 64 B × 1000 rámců = ≈1.2 MB/s. – HS: 13 paketů ā 512 B × 8000 µrámců = ≈52 MB/s. * neprobíhají-li jiné přenosy. 29 PZ Rozhraní USB Přidělování kapacity rámce (1) • Plánování provádí Host podle požadavků jednotlivých zařízení. • 90% kapacity rámce se přednostně přiděluje přenosům Isochronous a Interrupt (u USB 2.0 – 80%). • 10% je vyhraženo pro řídicí přenosy (Setup). • Případný zbytek (pokud není využita kapacita pro Isochronous a Interrupt) se přiděluje pro přenosy Bulk. 30 PZ Rozhraní USB Přidělování kapacity rámce (2) Požadavek na 1 zařízení Požadavek na 2. zařízení USB driver 1. transakce 2. transakce 3. transakce 1. 2. 3. 4. 5. trans. trans. trans. trans. trans. Host Controller driver 1. 1. transakce trans. 2. 2. trans. transakce 3. 3. trans. transakce Rámec Rámec Rámec 31 PZ Rozhraní USB Kombinace LS/FS zařízení na USB 1.1 (1) • Při komunikaci s FS jsou porty s LS zařízením odpojeny. Host (Kořenový rozbočovač) Zařízení Rozbočovač Zařízení Zařízení Zařízení Rozbočovač Zařízení Low Speed Odpojený port Full Speed Full Speed přenos Komunikace s Full Speed zařízením na USB 1.1 Zařízení 32 PZ Rozhraní USB Kombinace LS/FS zařízení na USB 1.1 (2) • Při komunikaci s LS se porty LS připojí paketem PRE. • LS přenos je detekován i ve FS zařízeních. Host (Kořenový rozbočovač) Zařízení PRE IN Token Zap. Vyp. PRE DATA 0/1 Zap. PRE Vyp. ACK Zap. Rozbočovač Zařízení Vyp. Rozbočovač Zařízení Zařízení Zařízení Low Speed Zařízení Low Speed přenos Full Speed Komunikace s Low Speed zařízením na USB 1.1 Host → HUB Host → Endpoint Endpoint → Host Full Speed Low Speed 33 PZ Rozhraní USB Kombinace zařízení LS/FS/HS na USB 2.0 1. Host/Hub je USB 1.1 (LS/FS), zařízení je USB 2.0 (HS). – Zařízení se přizpůsobí a komunikuje podle USB 1.1 (FS). 2. Host/Hub je USB 2.0 (HS), zařízení je USB 1.1 (LS/FS). – Port se zařízením se nastaví do režimu USB 1.1. Hub převede pakety z HS do LS/FS a naopak – „Split“ transakce. Host (Kořenový rozbočovač 2.0) Zařízení Rozbočovač Zařízení Zařízení Zařízení Rozbočovač Zařízení Zařízení Low Speed "Split" transakce Full Speed Low/Full Speed přenos High Speed 2.0 High Speed přenos Komunikace s Low/Full Speed zařízením na USB 2.0 34 PZ Rozhraní USB Split transakce • Je zahájena paketem SSPLIT resp. CSPLIT. • Hub převede pakety HS na LS/FS a naopak. čas Host High Speed 2.0 SSPLIT IN Token CSPLIT IN Token Data Rozbočovač High Speed 2.0 IN Token Data ACK Zařízení Low/Full Speed 1.1 Low/Full Speed přenos High Speed přenos 35 PZ Rozhraní USB Připojení zařízení (1) • Po připojení musí mít zařízení funkční bránu 0 (Endpoint 0). • Host přečte z brány 0 deskriptor konfigurace zařízení. • Host přidělí zařízení unikátní adresu na USB. • Host přečte sadu deskriptorů pro jednotlivá zařízení, konfigurace, rozhraní (Interface) a brány (Endpoint). • Host nastaví vhodnou kofiguraci zařízení. 36 PZ Rozhraní USB Připojení zařízení (2) 37 PZ Rozhraní USB Připojení zařízení (3) 38 PZ Rozhraní USB Deskriptory • Každé zařízení má hierarchickou sadu deskriptorů, které popisují zařízení, konfigurace, rozhraní a brány. • Deskriptory se čtou ze zařízení po jeho připojení v procesu „enumerace“. Deskriptor zařízení Deskriptor konfigurace 2 Deskriptor konfigurace 1 Deskriptor rozhraní Deskriptor brány (IN) PZ Deskriptor brány (OUT) Deskriptor rozhraní Deskriptor brány (IN) Deskriptor brány (OUT) 39 Rozhraní USB Třídy zařízení • Každé zařízení má jedno nebo více rozhraní pro zařízení různé třídy a podtřídy (Device Class, Device Subclass) - zjistí se z deskriptoru. • Pro každou třídu existují specifické drivery. – – – – – Audio Class. Communication Device Class. Content Security Class. Human Interface Device Class. Image Device Class. – – – – – – IrDA Class. Mass Storage Device Class. Monitor Class. Physical Device Interface Class. Power Device Class. Printer Device Class. 40 PZ Rozhraní USB Napájení zařízení (1) • • • Po připojení může zařízení odebírat z USB maximálně 100 mA. Při konfiguraci může požadovat větší odběr, maximálně 500 mA. Podle způsobu napájení lze zařízení rozdělit do 3 skupin: 1. Zařízení napájená jen z USB. 2. Zařízení napájená jen z vnějšího zdroje. 3. Zařízení napájená z USB a vnějšího zdroje. 41 PZ Rozhraní USB Napájení zařízení (2) D+ D - Řadič USB + zařízení Odběr max. 100 mA USB VCC GND D+ D USB VCC GND Stabilizátor Řadič USB Zap./Vyp. Zap./Vyp. Zařízení Odběr max. 100 mA Stabilizátor Odběr max. 500 mA Napájení z USB - max. 500 mA Napájení jen z USB D+ D - Řadič USB Zařízení USB D+ D - Řadič USB Zap./Vyp. Zařízení USB VCC GND Přídavný zdroj Napájení z vnějšího zdroje VCC GND Stabilizátor Kombinované napájení Přídavný zdroj 42 PZ Rozhraní USB USB On-The-Go • Pro propojení dvou zařízení („Device“). • Zařízení jsou vybavena zásuvkami Mini AB. • Strana A je implicitní Host. Zařízení A Mini AB Mini A zásuvka zástrčka Zařízení B Mini B Mini AB zástrčka zásuvka Vcc D+ DID GND Vcc D+ DID GND PZ Zásuvka Mini B Implicitní zařízení Implicitní Host Zásuvka Mini AB Zásuvka Mini A Zástrčky Mini A a mini B Zásuvka Mini AB 43 Rozhraní USB USB On-The-Go • Doplněny nové protokoly: – Protokolem HNP (Host Negotiation Protocol) lze převádět zařízení Host ↔ Device (průběžně). – Protokolem SRP (Session Request Protocol) může odpojené zařízení žádat o zahájení komunikace. 44 PZ Rozhraní USB Řadiče USB • Aplikace Hardwarový řadič USB (Host Controller) má nad sebou několik vrstev ovladačů. Class Driver • • • OHCI (Open Host Controller Interface) definuje komunikaci mezi HC a HCD (Host Controller Driver). Pro USB 1.1. UHCI (Universal Host Controller Interface) používá jiný typ HC s menší schopností plánování (plánování přenosů provádí HCD). Pro USB 1.1. EHCI (Enhanced Host Controller Interface) - pro USB 2.0. USB Driver Host Controller Driver OHCI Host Controller USB 45 PZ Rozhraní USB OHCI • V OHCI se používají dva způsoby komunikace mezi HCD a HC: – Registry v HC. – Sdílená paměť (je součástí hlavní paměti). • Při práci se sdílenou pamětí se HC chová jako Bus Master. Host Controller Driver Systémová paměť Sdílená paměť Registy HC Host Controller HC pracuje jako Bus Master 46 PZ Rozhraní USB Sdílená paměť v OHCI • HCD vytváří a udržuje ve sdílené paměti seznamy deskriptorů: – ED – Endpoint Descriptor. • Popisuje komunikaci s jednotlivými bránami (Endpoint). – TD – Transfer Descriptor. • Popisuje jednotlivé přenosy. • Ukazatele na seznamy deskriptorů jsou v registrech HC nebo v komunikační oblasti sdílené paměti (HCCA). 47 PZ Rozhraní USB Seznamy deskriptorů Sdílená paměť Interrupt Transfer HCCA Int 16 32 ms 16 ms ED ED ED Host Controller Int 8 ED HcHCCA Int 24 ED Control Int 4 ED Bulk . .. Int 0 Int 31 8 ms 4 ms 2 ms 1 ms Isochronous Transfer ED ED ED ED ED ED ED ED TD TD TD ED ED TD TD Done ED TD TD TD TD TD Dokončené přenosy ED ED ED ED TD TD TD TD TD TD TD TD Bulk Transfer ED ED ED TD TD TD TD TD TD Control Transfer 48 PZ Rozhraní USB Endpoint Descriptor • • • • Maximální délka paketu. Řízení a status (směr přenosu, ... ). Odkaz na seznam TD. Odkaz na další ED. ED Max. Packet Size Contr/Stat TD Queue Tail TD Queue Head Next Endpoint Descriptor 49 PZ Rozhraní USB Transfer Descriptor • Pro každý ED se použije jen první TD v seznamu. • Po dokončení přenosu se TD zařadí do seznamu dokončených přenosů. Control / Status Buffer PTR Next TD Buffer End 1. přenos Datový buffer • Řízení a status. • Adresa na začátku a konce datového bufferu. • Odkaz na další TD. TD 2. přenos Control / Status Buffer PTR n. přenos Next TD Buffer End 50 PZ Rozhraní USB Plánování přenosu (1) • V první části rámce se přenáší Control a Bulk. – Control a bulk mají přiděleno min. 10% kapacity. • Po vyčerpání kapacity Control a Bulk se přenáší periodické přenosy (Interrupt a Isochronous). • Je-li volná kapacita na konci rámce, použije se na Control a Bulk. Pevně nastavená hranice (”Periodic Start”) SOF NP 1 Periodické NP 2 Po dokončení periodických přenosů 1 ms 51 PZ Rozhraní USB Plánování přenosu (2) • Poměr mezi přenosy Control a Bulk se nastavuje v registrech HC. Control ED ED ED Bulk ED ED Nastaveno Control : Bulk = 4 : 1 52 PZ Rozhraní USB Blokové schéma časování 14 bitů 0x2EDF 16 bitů 12 MHz Frame Remaining Komparátor Periodic Start Frame Number Vysílání SOF Int. n Neperiodické / periodické přenosy 53 PZ Rozhraní USB Reference http://www.usb.org/home Anderson, D., Dzatko, D.: Universal Serial Bus System Architecture. Second Edition, Addison Wesley 2001. ISBN 0-201-30975-0. 54
Podobné dokumenty
Začínáme s Aspen Plus® 12 - FMMI
tedy kvantitativní zpracování charakteristických rovnic chemických procesů s využitím
počítačového programu. Základními nástroji jsou materiálové a energetické bilance, rovnováhy a
korelace rychlos...
B. Souhrnná technická zpráva
Elektrifikace půdní vestavby je provedena přímo ze základní vývodové rozvodnice 5Rp-1,
umístěné na podestě nového přístupového schodiště mezi 4.NP a 5NP, (rozvodnice bude opatřena
provedením s požá...
PCMCIA karta USB 2.0, 2 porty, CardBus 1. Úvod 2
8. Při zobrazení „Průvodce přidáním nového hardwaru“ a ohlášení „NEC PCI to USB Enhanced
Host Controller“, vyberte „Vybrat nejlepší ovladač pro moje zařízení (doporučeno)“ stiskněte
„Další“ a „Doko...
CATIGA CS-103
Příklad: Zadáním následujícího v režimu SD
zabere 40 bytů:
30 SHIFT ; 2 DT 27 SHIFT ; 1 DT 32 SHIFT ; 5 DT
- Paměťová oblast označená na obrázku jako (a)
je pouze pro statistická data. Obsahuje 256...
802.11n
Standard není volně dostupný
následující informace pochází z různých zdrojů na Internetu
a nemusí být přesné
genesis - Alarm Absolon
Systém GENESIS umožňuje zobrazit až 100 textových zpráv na LCD
displeji klávesnice. Zprávy mohou obsahovat například informace o
průchodu dveřmi, o kartách uživatele, o stavech automatizace budovy ...
8. PCI a USB, funkce a způsob implementace, ovladače PCI a USB
o šířka sběrnice 32 bitů, frekvence hodin 0 - 33 MHz, přenosová rychlost 132 MB/s
o šířka sběrnice 32/64 bitů, frekvence hodin 66/33 MHz, přenosová rychlost 264 MB/s
o šířka sběrnice 64 bitů, frekv...