#>[!cite] BI-PI.21-9

  • 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ů
    • GetDescriptor()
  • 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í
    • Pasted image 20260612173848.png
    • 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