Logo

1.Úvod

1.1 Cíle USB

  • Jednoduché připojování periférií
  • Levné řešení podporující přenos do 480Mbps(rev.2.0)
  • Plná podpora pro datové přenosy vreálném čase (hlas,zvuk,komprimované video)
  • Podpora isochroních i asynchronních přenosů
  • Poskytnout standardní rozhranní, které bude schopné se rychle rozšířovat do ostatních zařízení
  • Rozšířit možnosti PC a umožnit vznik nových zařízení

1.2 Rychlost přenosu dat

USB je moderní sběrnice, která byla standardizována v roce 1995 a v revizi 2.0 v roce 2000 firmami Compaq, Hewlett-packard, Intel, Lunect, Microsoft, Nec, Philips. Podle této specifikace můžeme sběrnici provozovat v několika režimech. Režimy se rozdělují podle maximálně dosažitelné rychlosti na
  • Low speed
  • Full speed
  • High speed
V tabulce vidíme jaké jsou možné rychlosti a pro jaké zařízení se používají.

režim rychlost aplikace
Low speed 1.5Mbps klávesnice, myši, herní zařízení,
Full speed 12Mbps mikrofony, reproduktory, komprimované video
High speed 480Mbps hardisky, video

2. Vlastnosti USB

USB systém je popsán třemi oblastmi
  • USB propojení
  • USB hostitel
  • USB zařízení
USB propojení definuje jakým způsobem jsou zařízení připojovány k hostiteli a jak spolu komunikují. Je zde zahrnuto následující
  • Topologie sběrnice

    Topologie USB

  • Vztahy mezi vrstvami
  • Model datového toku

    Model datového toku

  • Řízení přístupu k vedení

USB hostitel může být na celé sběrnici pouze jeden. V počítači je realizován tzv. řadičem na kterém je několik přípojných bodů. Tento řadič je kombinací hardwaru (rozhranní mezi USB a sběrnicí počítače), firmwaru (funkce řadiče) a softwaru (ovladač pro konkrétní operační systém).

USB zařízení jsou dvojího typu.
  • Huby - Rozšiřují počet přípojných bodů
  • Zařízení s funkcemi, které rozšiřují schopnosti systému, jako ISDN připojení, digitální joysticky, reproduktory atd.

3. Fyzická vrstva

3.1 Mechanické vlastnosti

V této kapitole se dozvíme jaké kabely a konektory se používají na propojení zařízení s hostitelským systémem. Pokud se podíváme blíže na používané konektory, zjistíme, že se používají dva typy konektorů a to konektory typu A a konektory typu B. Vzhled vidíme v tabulce.

Konektory typu A Konektory typu B
Používá se na straně hostitelského systému Najdeme ji převážně na straně zařízení
Zasuvka typu AZásuvka typu A - Výstup z USB hostitele nebo hubu Zasuvka typu BZásuvka typu B - Vstup do USB zařízení nebo hubu
Zástrčka typu AZástrčka typu A - do USB hostitele nebo hubu Zástrčka typu BZástrčka typu B - do USB zařízení

Kabel používaný na propojení USB zařízení s USB hostitelem se skládá ze čtyř vodičů z toho jsou dva napájecí a dva datové. U High a Full speed je třeba aby byly datové vodiče kroucené. Tento kabel lze použít i pro low speed.
Propojovací kabel

3.2 Elektrické vlastnosti

Tyto vlastnosti jsou odlišné pro Full/Low speed(rev 1.1) a pro High speed specifikované v revizi 2.0. V této sekci popíšu jak vypadají signály pro Full/Low speed specifikované v revizi 1.1. Na sběrnici můžeme dosáhnout dvou stavů stav J a stav K. Po připojení zařízení jeden signál je na nule a druhý má hodnotu blížící se +Vcc tento stav se nazývá J. Stav K nastane po překřížení signálů D+ a D- ze stavu J. Na sběrnici je použito NRZI kódování (Non Return to Zero Inverted). Pokud je na začátku bitového intervalu přechod 0->1 nebo 1->0 znamená to datovou 0. Vše je vidět v následujícím obrázku.

Průběhy signálů

Pokud se v datech vyskytuje 6 jedniček po sobě, následuje vložená nula, která se po přijmutí musí opět odstranit. Bity se do datového proudu vkládají z důvodu synchronizace. Pokud se podíváme přímo na datové signály D+ a D- mohlo by to vypadat následovně.

Vkládané bity

4. Přenosy dat na USB

USB podporuje čtyři typy přenosů
  • Interupt přenos
  • Bulk přenos
  • Isochronní přenos
  • Řídící přenos
Interupt přenos
Tyto přenosy jsou typické pro zařízení, které vyžaduje řízení pomocí přerušení. Například klávesnice generuje přerušení při každém stisku klávesy a to je následně zpracováno.

Bulk přenos
Tento přenos se používá pro přenos velkých bloků dat. Například pro tiskárnu.

Isochronní přenos
Používá se pro zařízení, které vyžaduje stálý přísun dat. Zde se nevyžaduje potvrzení došlých dat. Například mikrofon, reproduktory.

Řídící přenos
Je používán pro konfiguraci USB zařízení. Každé USB zařízení má v sobě zabudován popis kterým sděluje hostitelskému systému jakým způsobem budou spolu komunikovat. Popis se načte právě při tomto řídícím přenosu.

4.1 Protokol USB

Každý přenos se skládá s kombinace paketů, které bývají v definovaném pořadí viz.obrázek.

Paket je základní prvek USB přenosu. Než začneme probírat blíže jednotlivé pakety. Podíváme se blíže na základní sekvence obsažené v paketech.

Sekvence Sync
Tato sekvence se nachází před každým packetem a je zde aby synchronizoval hodiny na sběrnice s hodinami v zařízení.


Sekvence PID
Tato sekvence popisuje typ packetu.

pid sekvence


Sekvence CRC
Data jsou zabezpečeny CRC kódem. Datové pakety jsou zabezpečeny 16 bitovým CRC kódem a ostatní pakety jsou zabezpečeny 5 bitovým CRC kódem.

4.2 Základní pakety

Nyní se podíváme blíže na základní pakety .

Token paket
token paket definuje typ transakce na USB. Známe čtyři základní typy token paketů.
  • SOF (start of frame) - indikuje začátek 1ms rámce
  • IN - přenos dat od cílového USB zařízení do systému
  • OUT - přenos dat ze systému do zařízení USB
  • SETUP - signalizuje start řídícího přenosu
Datový paket
V datovém paketu jsou obsaženy vlastní data. Máme dva typy datových paketů.
  • data0
  • data1

Handshake paket
Potvrzovací paket máme též v několika verzích.
  • ACK - Kladné potvrzení. Používá se pro oznámení správnosti doručení dat.
  • NAK - Záporné potvrzení většinou signalizují, že data nemůžou být přijata.
  • STALL - Používá se pokud není přenos kompletní
Preamble paket
Tento paket slouží pro přepínání sběrnice FULL-speed/LOW-speed.

Poslední úpravy této stránky byly provedeny: 16.01.2002
Tuto stránku napsal: Kamil Eckhardt.
Kontrola zdrojoveho textu validatorem.

Valid HTML 4.01!