Professional Documents
Culture Documents
Pogl-23-USB Protokol
Pogl-23-USB Protokol
a) uređaji koji se napajaju preko magistrale (Bus Powered – BP) dobijaju napajanje preko
USB magistrale. BP tipovi uređaja mogu biti mali potrošači (low power) ako troše manje
od 100 mA, ili veliki potrošači (high power) ako troše više od 500 mA.
USB uređaji tipa BP u fazi numerisanja (enumeration) treba da obaveste host o
tome da zahtevaju veći iznos struje na Vbus vezi USB-a. Inkrementi struje koje host
generiše su od po 100 mA, a specificiraju se u deskriptoru. Deskriptor predstavlja
strukturu podataka koju uređaj predaje host-u u fazi numerisanja.
b) uređaji koji se napajaju samostalno (Self Powered – SP) dobijaju energiju od strane
sopstvenog napajanja koje je ugrađeno u uređaj.
c) uređaji sa hibridnim napajanjem (Hybrid Powered – HP) dobijaju energiju kako preko
magistrale tako i od sopstvenog napajanja koje je ugrađeno u uređaj. Kao i kod BP tipa
uređaja tako i u ovom slučaju uređaj mora da saopšti host-u koliko energije od njega
zahteva.
USB hub-ovi mogu biti uređaji tipa BP ili SP. Ako je hub tipa BP maksimalna
struja koju on može da obezbedi svakom od uređaja je 100 mA. To znači da samo mali
potrošači tipa SP mogu da rade korektno. Za slučaj da se na hub povezuje veliki potrošač
host-u će se raportirati greška.
Uređaj koji se povezuje na USB magistralu može da radi u režimu-rada-
suspenzija (suspend mode). U ovom režimu uređaj troši veoma malo energije i nije u
stanju da inicira novi proces konfiguracije. Suspenzija se izvodi tako što host šalje tri
uzastopna SOF (Start Of Frame) paketa uređaja. Nakon ovoga uređaj prelazi u režim rada
suspenzija i ne troši više od 500 μA. U specijalnom slučaju ako uređaj treba da se probudi
struja hosta biće ograničena na 2.5 mA. Ova specifikacija je naznačena u deskriptoru
uređaja.
Grupe istraživača intenzivno rade danas na kreiranju novog standarda za
napajanje nazvan USB PlusPower. USB PlusPower dizajn treba da obezbedi napone
napajanja do 24 V DC i strujni kapacitet do 64 A. Ovo se može ostvariti ugradnjom
dodatna dva para žica u okviru kabla i modifikovanog konektora koji mora biti
kompatibilan sa standardnim USB konektorom.
1.4 Mehanički konektori
Formom, tipom kablova i konektora koji se koriste kod USB-a definisani su detalji
koji se odnose na: mehaničke osobine, električno-mehaničke osobine na stresove, tip
materijala, i njegove električne karakteristike.
Kabl čine četri provodnika tipa 28 AWG, od kojih se dva koriste za prenos
podataka, a dva za napajanje. Prenos podataka, zbog veće imunosti na šum, se vrši po
upredenom paru provodnika. Konstrukcija USB kabla zavisi od brzine sa kojom se
prenose podaci. Kod kablova koji se koriste za male brzine prenosa (low speed cables) ne
zahteva se oklopljavanje, ali kod onih namenjenih za veće i velike brzine (full and high
speed cables) oklopljavanje je obavezno izvedeno. Kao što smo već napomenuli dužina
je ograničena na 5 m. Opis i funkcija veza na kablu/konektoru su prikazani na slici 2.
Nakon povezivanja USB uređaja na USB host, vrši se provera brzina prenosa
podataka sa kojom je uređaj u stanju da komunicira sa host-om/hub-om.
Inicijalno, strujni limiter ugrađen u host-u ograničava potrošnju struje na 100 mA, što
je sasvim dovoljno za napajanje BP uređaja u fazi njihove identifikacije.
Nakon konektiranja uređaja jedna od linija D+ ili D- može biti postavljena na visoku
(vidi sliku 4). Ovo ukazuje host-u da je neki uređaj povezan na njemu. Ako je linija D+
na visoko to znači da je uređaj tipa FS (full speed), a kada je D- na visoko uređaj je tipa
LS (low speed).
Sa aspekta strukture (kompozicija polja) paketa kod USB-a delimo na sledće 4 grupe
(vidi sliku 6)
1. SOF (start of frame) – Start okvira (slika 6a) ukazuje na početak okvira (frame) ili
mikrookvira (microframe). Prva 4 bita PID-a imaju vrednost 0101 i jednoznačno
identifikuju SOF, dok su ostala 4 komplement te vrednosti. Polje FRAME
NUMBER je obima 11 bitova ukazuje na redni broj okvira, dok je CRC5 peto-
bitno polje za proveru grešaka u prenosu podataka.
2. IN, OUT i SETUP – su token paketi, a koriste se za uspostavljanje prenosa
(transfera) podataka između host-a i uređaja. (vidi sliku 6b)
IN – uspostavlja prenos u smeru od uređaja ka host-u
OUT – uspostavlja prenos u smeru od host-a ka uređaju
SETUP – je paket tipa OUT visokog prioriteta koji ukazuje uređaju da ga mora
pribaviti.
Okvir sa slike 6b sadrži 8-bitno PID polje, 7-bitno polje ADD koje ukazuje na
adresu uređaja, 4-bitna adresa krajnje tačke (end point address), i 5-bitno CRC
polje.
3. Data paketi – Koriste se za prenos podataka. Ovi paketi pored PID-a imaju polje
za prenos informacije (PAYLOAD DATA), koje po svom obimu varira od 0 do
1024 bajta. Za detekciju greške se koristi CRC16. U toku prenosa softverski se
definiše da se naizmenično prenosi sekvenca DATA0 DATA1 DATA0
DATA1.... čime se na osnovu izostanaka jednog tipa paketa može detektovati
njegov gubitak (vidi sliku 6c).
4. ACK, NAK, STALL, NYET – su handshake paketi i koriste se da ukažu na
kvalitet prijema (vidi sliku 6d)
ACK – ukazuje da je podatak primljen bez greške
NAK – koristi se od strane uređaja da ukaže da je zauzet (busy)
STALL – se koristi kada zahtev za upravljanjem (control request) nije prihvaćen
NYET – ukazuje da uređaj nije u stanju da prihvata (prima) više podataka.
Slika 6 – Struktura paketa kod USB-a
1.8 Okviri
USB komunikacija se dele na okvire. Svaki okvir (frame) se predaje svake 1 ms. Kod HS
host-a sa ciljem da se smanje veličine bafera šalju microframe-ovi na svakih 125 μs. Prvi
paket svakog okvira je soft paket.
1.9 Prenosi
Svi paketi se šalju i primaju od strane uređaja preko krajnjih tačaka (endpoints). Krajnje
tačke predstavljaju baferi u kojima uređaji smešta podatke koje predaje i prihvata podatke
koje prima. Do 16 krajnjih tačaka mogu biti instalirane u okviru jednog uređaja. Svaka
krajnja tačka se karakteriše smerom i adresom. Sa perspektive host-a smer može biti
oblika: OUT ako ulazi u uređaj, a IN ako izlazi iz uređaja. Krajnja tačka Endpoint0 je
upravljačka tačka i sadrži kako ulaznu tako i izlaznu krajnju tačku.
Nako što je krajnja tačka identifikovana i definisana između host-a i krajnje tačke
se uspostavlja kanal (pipe). Kanal se izbacuje nakon što uređaj diskonektuje sa USB
magistrale. Kanali se uspostavljaju za ineterrupt i isochronous krajnje tačke sa ciljem da
obezbede dovoljan iznos propusnosti kod prenosa podataka.
1.11 Numerisanje
Nakon što se urđaj konektuje na USB, startuje numerisanje. U toku numerisanja host
zahteva od uređaja da mu preda veći broj stuktura podataka koje nazivamo deskriptori.
Deskriptori sadrže informaciju o broju i tipu komunikacionih kanala, ili krajnjih tačaka,
koje USB uređaj želi da koristi, kao informaciju o tome koja je to klasa uređaja.
Numerisanje se obavlja preko default-ne krajnje tačke, u ovom slučaju Endpoint 0,
takođe nazvana upravljačka krajnja tačka. Host takođe dodeljuje jedinstvenu sedmobitnu
adrsu uređaju usmeravajući na taj način komunikacije ka pojedinom uređaju.
1.12 Deskriptori
1.13 Klase
1.16 Kompatibilnost