share: true
aliases:
- 18 Digitální, Analogové IO
complete: true
author: Petr
- Univerzální sériová sběrnice (USB)
- Architektura
- Adresace a enumerace zařízení
- End pointy -
- Typy přenosů.
- Deskriptory, jejich typy a vyčítání.
- Vývoj USB zařízení
- Hardwarová podpora v mikropočítačích
- Zpracování USB požadavků,
- Realizace datových přenosů.
Univerzální sériová sběrnice (USB)
- Universal Serial Bus
- Vyvinuta jako náhrada za sériový a paralelní port
- Architektura
- Fyzické propojení má stromovou strukturu
- Teoreticky až 127 zařízení
- Maximální vzdálenost 5m, záleží na rychlosti
- PnP - Plug and Play
- Automaticky rozpozná nové zařízení
- Provede nahrání ovladače
- Bez konfigurace
- Umožňuje odpojovat a připojovat za běhu
- On the go
- Dovoluje fungovat jako hostitel i jako koncové zařízení
- Mobilní telefony
- Endpointy
- Endpointy jsou konkrétní body, se kterými se komunikuje
- Každé zařízení má po konfiguraci přes endpoint 0 přidělenou adresu
- Konkrétní endpoint má 8b adresu, kde nejvyšší bit určuje směr přenosu, zbytek je číslo endpointu
- Typy přenosů
- Transakční přenos dat
- Řídící přenos
- Konfigurace zařízení
- Vyčtení PnP
- Zaručuje doručení
- Blokový přenosy
- Přenos bez požadavku na rychlost
- Garantuje doručení, při chybě opakuje
- Nízká priorita
- Isochronní přenosy
- Nejvyšší priorita
- Přenos dat v reálném čase (video, audio)
- Negarantuje doručení
- Interupt přenosy
- Minimální zpoždění
- Vznikají asynchroně na straně periferie
- Data se přesouvají na žádost hostitele
Deskriptory, jejich typy a vyčítání.
- Identifikují a popisují zařízení
- Popisují:
- Konfiguraci
- Rozhraní
- Endpointy
- Čtou se přes endpoint 0 pomocí řídících přenosů
- Typy
- Device deskriptor
- Popisuje obecné vlastnosti zařízení
- USB verze
- Max velikost datového packetu
- Počet konfigurací
- PID, VID
- Sériové číslo
- Max proud
- Třída a podtřída zařízení
- VID, PID
- Unikátní identifikátor výrobce a zařízení
- Podle nich se volí driver
- Config deskriptor
- Popisuje konfiguraci zařízení
- Různá nastavení, spotřeba, velikost bufferů, rychlost
- Může jich být víc a přepínat mezi nimi
- Aktivní je ale vždy jen jedna konfigurace
- Může změnit chování zařízení
- Interface deskriptor
- Popisuje rozhraní zařízení vykonávající nějakou funkci
- Tiskárna a skenner, two in one
- Endpoint deskriptor
- Popisuje endpointy příslušící nějakému rozhraní
- typ, směr přenosu, velikost bufferů...
- String deskriptor
- Umožňuje popisovat a číst textové řetězce
Vývoj USB zařízení, hardwarová podpora v mikropočítačích, zpracování USB požadavků, realizace datových přenosů.
- USB řadiče a zařízení podporují
- USB zařízení
- USB on the go
- Rozhraní a obsluha záleží na výrobci
- USB v STM32H7
- HW zajiěťuje serializaci a deserializaci dat, detekci a obsluhu linky
- Data jsou ukládaná do bufferů
- IN sdílí všechny endpointy
- OUT každý endpoint má svůj
- Dokončení přenosu dat, nebo speciální packety vyvolají přerušení
- Konfigurace se provádí přes registry řadiče
- Stavy zařízení

- další stavy zařízení
- Addressed
- přechází ze stavu default
- zařízení obdrží žádost o nastavení adresy a nastaví přijatou adresu jako svojí adresu zařízení
- Configured
- přechází ze stavu Addressed
- po přijetí žádosti o nastavení konfigurace