USB protokol USB protokol USB Universal Serial Bus

  • Slides: 35
Download presentation
USB protokol

USB protokol

USB protokol USB (Universal Serial Bus) predstavlja tradicionalni standard namenjen da se koristi kao

USB protokol USB (Universal Serial Bus) predstavlja tradicionalni standard namenjen da se koristi kao jedan od dominantnih komunikacionih protokola za serijsku razmenu podataka izmedju uređaja. Od trenutka uvođenja ovaj standard je bio zamišljen da bude efikasna zamena za prenos podataka po klasičnim komunikacionim portovima kod PC mašina kakvi su RS-232 i paralelni port. Danas USB je postao toliko popularan da kada uđete u prodavnicu računarske opreme primećeujete da najveći broj uređaja (skoro svaki treći) ima ugrađen upavo USB port. USB specifikacijom se definišu skoro svi detalji počev od mehaničkih konektora i kablova, principa rada interfejsa, prenosa podataka na mrežnom nivou, kao i upravljanje potrošnjom energije (power management) uređaja koji se povezuju na USB interfejs.

Kratak istorijski pregled • USB standard oficijelno je uveden 1995 godine od strane konzorcijuma

Kratak istorijski pregled • USB standard oficijelno je uveden 1995 godine od strane konzorcijuma koga su činile sedam vodećih računarskih i telekomunikacionih kompanija kakve su Compaq, DEC, IBM, Intel, Microsoft, NEC i Northem Telecom. • Godine 1996 predstavljen je USB 1. 0 standard koji je specificirao glavne aspekte USB standarda uključujući: 12 Mbps brzu-magistralu (High Speed Bus), 1. 5 Mbps sporu-magistralu (Low Speed Bus), definiciju mehaničkih konektora, i specifikaciju softverskog magacina. • 1999 godine je doneta verzija USB 1. 1. • Godine 1999 kompanije Microsoft i Apple inkorporirale su korišćenje USB-a u njihove operativne sisteme. • 2000 godine izvršena je revizija standarda. Nova verzija USB 2. 0 specificira implementaciju magistrale za prenos podataka brzinom od 480 Mbps, i obezbeđuje potpunu kompatibilnost u radu sa verzijom 1. 1. • Sredinom 2001 godine izvršeno je proširenje USB-a na USB OTG (On-The. Go). • Maja meseca 2006 godine donet je bežični USB (WUSB) stadard.

Hardverske topologije USB standardom specificira se mrežna topologija tipa zvezda. Na vrhu hijerarhije se

Hardverske topologije USB standardom specificira se mrežna topologija tipa zvezda. Na vrhu hijerarhije se nalazi host, a svaki hub predstavlja centralni-čvor grananja (segmenta). Mreža poseduje samo jedan host u okviru sistema, obično je to PC mašina, no naglasimo da se uvođenjem USB OTG standarda bilo koji uređaj može biti host.

Hardverske topologije – nast. Mreža može maksimalno da ima 7 nivoa (segmenata). Na prvom

Hardverske topologije – nast. Mreža može maksimalno da ima 7 nivoa (segmenata). Na prvom nivou se nalazi host koji je hub-tipa-koren (root hub). Na zadnjem nivou nalaze se samo uređaji, što znači da međusobno može biti povezano maksimalno do 5 hub-ova koji nisu tipa koren (non-root-hubs). Svaki segment u svom centru ima hub, a dužina kabla svakog segmenta može biti do 5 m.

Hardverske topologije – nast. Hub obezbeđuje portove preko kojih se povezuju uređaji kao i

Hardverske topologije – nast. Hub obezbeđuje portove preko kojih se povezuju uređaji kao i napajanje za magistralu. On je takođe zadužen za detekciju grešaka u prenosu podataka i preuzimanje akcija koje se odnose na korekciju tih grešaka. Brzina prenosa podataka je određena od strane sporijeg uređaja na konekciji hub-uređaj.

Topološka organizacioja USB-a

Topološka organizacioja USB-a

Upravlljanje potrošnjom energije USB magistrala može da obezbedi napajanje uređajima koji se povezuju na

Upravlljanje potrošnjom energije USB magistrala može da obezbedi napajanje uređajima koji se povezuju na nju. USB, pri +5 V, inicijalno obezbeđuje strujni kapacitet od 100 m. A. Energija koju obezbeđuje USB se može koristiti od strane uređaja u fazi konfiguracije. Nakon što je uređaj konfigurisan, magistrala može da poveća strujnu sposobnost na 500 m. A. Distribucija energija je veoma dobra osobina koju USB interfejs obezbeđuje. Postoji veliki broj uređaja koji dobijaju napajanje (energiju) preko USB-a. Obično njihova potrošnja je ograničena na manje od 100 m. A, tj. 5 V * 0. 1 A = 0. 5 W.

Klasifikacija USB uređaja Najveći broj USB uređaja, sa tačke gledišta načina na koji se

Klasifikacija USB uređaja Najveći broj USB uređaja, sa tačke gledišta načina na koji se napajaju, a koji komuniciraju sa hostom, se mogu, klasifikovati u sledeće tri grupe: 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 m. A, ili veliki potrošači (high power) ako troše više od 500 m. A. 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 m. A, 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.

Mehanički konektori Formom, tipom kablova i konektora koji se koriste kod USB-a definisani su

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. Dužina je ograničena na 5 m.

Funkcija i opis veze kod USB konektora

Funkcija i opis veze kod USB konektora

Tipovi konektora kod USB-a

Tipovi konektora kod USB-a

Detekcija uređaja Nakon povezivanja USB uređaja na USB host, vrši se provera brzina prenosa

Detekcija uređaja 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 m. A, š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. 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).

Povezivanje host kontrolera i kontrolera uređaja

Povezivanje host kontrolera i kontrolera uređaja

Povezivanje host kontrolera i kontrolera uređaja – prod. Procedura kojom se utvrđuje da li

Povezivanje host kontrolera i kontrolera uređaja – prod. Procedura kojom se utvrđuje da li je uređaj tipa HS (high speed) definisana je protokolom-potvrđivanja, a realizuje se u toku faze Bus Reset. HS uređaj inicijalno se detektuje kao FS uređaj. Nakon detekcije uređaja, host generiše reset signal na taj način što postavlja linije D+ i D- na nisko. Ovim resetom uređaj se postavlja na USB adresi 0. Nakon detekcije reset signala HS uređaj signalizira host-u da je prisutan na taj način što mu predaje paket (chirp) bitskom brzinom od 480 Mbps u trajanju od 1 do 7 ms. HS host ili hub prepoznaju ovaj signal kao zahtev za prenos od HS uređaja i odaziva se slanjem niza paketa (chirps). Nakon što je HS uređaj detektovao ove pakete on će povećati svoju brzinu prenosa i promeniti je sa FS na HS.

Signalizacija na fizičkom nivou USB standardom nije predviđen prenos taktnog signala, tako da je

Signalizacija na fizičkom nivou USB standardom nije predviđen prenos taktnog signala, tako da je komunikacija asinhrona. Podaci koji se prenose magistralom kodirani su korišćenjem NRZI (nonreturn-to-zero-inverted) koda uz dodatno korišćenje tehnike za umetanje bitova (bit stuffing). Ovakvim načinom kodiranja obezbeđuje se da prijemnik ostane u sinhornizmu u odnosu na predajnik bez potrebe da predajnik šalje taktni signal ili start i stop bitove na nivou svakog bajta (kakav je slučaj kod asinhronog prenosa). Umesto da se logičke nule i jedinice definišu kao naponski nivoi, kod NRZI koda logička nula ukazuje na naponsku promenu, a za logičku jedinicu naponski nivo ostaje nepromenjen. To znači da svaka logička jedinica ne rezultira promeni naponskog nivoa na liniji. Prenos se ostvaruje tako što se prvo prenosi LS bit poruke.

Signalizacija na fizičkom nivou – nast. Tehnika umetanja bitova se koristi iz razloga što

Signalizacija na fizičkom nivou – nast. Tehnika umetanja bitova se koristi iz razloga što se sinhronizacija prijemnika ostvaruje na nivou tranzicija. Za slučaj da je poruka tipa sve 0 tada postoji mnogo tranzicija, ali ako je poruka tipa sve 1 (ili dugi niz 1) tada se tranzicije ne javljaju što dovodi di toga da prijemnik ispadne iz sinhronizacije. Kod USB-a ako podatak čine 6 uzastopnih 1 tada predajnik nakon šeste jedinice umeće 0. To znači da na svakih 7 bitova postoji najmanje jedna tranzicija. U proseku, tehnika umetanja bitova za poruku slučajnog oblika ima overhead od 0. 8% što ukazuje da se na svakih 125 bitova ubacuje po 1 bit.

Delovi paketa Sa tačke gledišta strukture poruke koja se prenosi, osnovna komunikaciona jedinica koja

Delovi paketa Sa tačke gledišta strukture poruke koja se prenosi, osnovna komunikaciona jedinica koja se prenosi kod USB-a je paket. Paket čine sledeća tri dela: Start – predstavlja prelaz iz stanja pasivno (idle - j) u stanje aktivno (k). U pasivno stanje kod LS uređaja linija D+ je na nisko, a D- na visoko, dok kod FS uređaja D+ je na visoko a D- na nisko. Aktivno stanje se definiše promenom polariteta. Kod HS uređaja j i k stanja su definisana kao i kod FS specifikacija magistrale ali pasivno stanje imamo kada su obe linije D+ i D- na nisko. Na početku paketa sekvenca tranzicija se naziva SYNC. Ovu sekvencu čini 32 -bitni paket koji je oblika kjkj. . . kjkj. Ovi bitovi se koriste za taktnu sinhronizaciju host-a, hub-ova, i uređaja. Informacija paketa – dužine je od 1 B do 1024 B. Ovu sekciju čine PID (Paceket Identifier) i korisna informacija (payload). PID predstavlja prvi bajt paketa, kod koga prva 4 bita identifikuju tip paketa dok su zadnja 4 komplement prva 4. Ovakav način kodiranja se koristi radi provere grešaka u prenosu. Identifikator kraja paketa (end of packet identifier – EOP) u toku ovog perioda obe linije se postavljaju na nisko u trajanju od dva bitska intervala. Kod HS magistrale EOP traje 40 bitskih intervala bez tranzicija.

Struktura porike kod USB-a

Struktura porike kod USB-a

Tipovi paketa Paket predstavlja osnovnu komponentu komunikacionog standarda. Paket čini samo informacioni deo strukture

Tipovi paketa Paket predstavlja osnovnu komponentu komunikacionog standarda. Paket čini samo informacioni deo strukture poruke. USB-ovog U odnosu na funkciju koju obavljaju kod USB-a postoje sledaćea 4 tipa paketa: Token paket – koristi se da uspostavi komunikacionu vezu i odredi smer i kori-šćenje narednih paketa. Data paket – namenjen je za prenos podataka Handshake paket – služi za upravljanje i očuvanje pouzdanosti prenosa i integriteta veze (linka) Special paket – koristi se od strane HS uređaja

Struktura informacionog dela paketa Sa aspekta strukture (kompozicija polja) paketa kod USB-a delimo na

Struktura informacionog dela paketa Sa aspekta strukture (kompozicija polja) paketa kod USB-a delimo na sledće 4 grupe: 1. SOF (start of frame) – Start okvira 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 CRC 5 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. 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. 3.

Struktura informacionog dela paketa 3. Data paketi – Koriste se za prenos podataka. Ovi

Struktura informacionog dela paketa 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 CRC 16. U toku prenosa softverski se definiše da se naizmenično prenosi sekvenca DATA 0 DATA 1. . čime se na osnovu izostanaka jednog tipa paketa može detektovati njegov gubitak. 4. ACK, NAK, STALL, NYET – su handshake paketi i koriste se da ukažu na kvalitet prijema 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.

Struktura paketa kod USB-a

Struktura paketa kod USB-a

Okviri USB komunikacija se deli na okvire. Svaki okvir (frame) se predaje svake 1

Okviri USB komunikacija se deli 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.

Prenosi Unapred definisana sekvenca paketa se naziva prenos (transfer). USB standardom specificiraju se 4

Prenosi Unapred definisana sekvenca paketa se naziva prenos (transfer). USB standardom specificiraju se 4 različita tipa prenosa koji su namenjeni za kopiranje različitih tipova podataka, a to su: a) Control transfer type – to su neperiodični prenosi a uglavnom se koriste za prenos komandnih (control) i statusnih informacija. Svi uređaji podržavaju control transfer-e preko krajnje tačke Endpoint 0, tj. preko default endpoint-a. Control transfer-i zahtevaju uspostavljanje IN i OUT kanala koje nazivamo pipe-ove. b) Isochronous transfer – Imaju fiksni broj bajtova po okviru, čime se garantuje definisana propusnost. Maksimalni broj bajtova po okviru za FS je 1024, a po microframe-u kod HS-a je takođe 1024 bajta. Ovaj tip prenosa se koristi za streaming data kao što je video. Ovaj tip prenosa je tolerantan na greške (error tolerant) i podržava se samo od strane HS uređaja.

Prenosi – prod. c) Interrupt tip – periodični tip transfera sa zagarantovanom latencijom između

Prenosi – prod. c) Interrupt tip – periodični tip transfera sa zagarantovanom latencijom između transkacija. Maksimalni obim paketa je 8 bajtova za LS, 64 za FS, a 1024 za HS magistrale. d) Bulk transfer – nije periodičan transfer a uglavnom se koristi za prenos velikog iznosa podataka. Host kontroleri garantuju da se bulk prenosi mogu uglavnom kompletirati ali ne garantuju njegovu propusnost. Ovaj tip prenosa podržava se od strane FS i HS uređaja.

Krajnje tačke Svi paketi se šalju i primaju od strane uređaja preko krajnjih tačaka

Krajnje tačke 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 Endpoint 0 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.

Numerisanje Nakon što se urđaj konektuje na USB, startuje numerisanje. U toku numerisanja host

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.

Deskriptori su strukture podataka koje se u fazi numerisanja predju od strane uređaja host-u.

Deskriptori su strukture podataka koje se u fazi numerisanja predju od strane uređaja host-u. Deskriptor opisuje atribute USB uređaja. On se obično čuva u EEPROM-u uređaja. Postoje sledeća dva tipa deskriptora: standardni deskriptor koga poseduju svi USB uređaji i deksriptor tipa kalase koji je pridružen savkoj pojedinoj klasi uređaja. Sastavni deo standardnog deskriptora je Device deskriptor koji sadrži generalne informacije o USB uređaju kakvi su: Product ID (identifikacija proizvoda), Vendor ID (identifikacija proizvođača), itd. Configuration deskriptor poseduje informaciju koja se odnsoi na specifičnosti konfiguracije uređaja. Interface dekskriptor ukazuje host-u koliko krajnjih tačaka uređaj može da koristi i čuva informaciju o identitetu klase uređaja. Zadnji tip deskriptora je Endpoint deskriptor koji opisuje osbine krajnje tačke. Ove osbine ukazuju da li je krajna tačka tipa IN ili OUT, itd. Svaka krajnja tačka poseduje sopstveni deskriptor.

Klase Povećani intres za aplikaciju USB magistrale motivisao je USB organizaciju da specificira standard

Klase Povećani intres za aplikaciju USB magistrale motivisao je USB organizaciju da specificira standard koji se odnosi na prozvode sa sličnim karakteristikama. Ove grupe se nazivaju klase. Kreiranje ovih specifikacija omogućava projektantu da kreira generičke drajvere uređaja koji se mogu koristiti od strane različitih uređaja u okviru iste klase. Jedan uređaj može da pripada većem broju klasa. Jedan listing najčešće korišćenih klasa je sledeći:

USB On-The-Go predstavlja dodatak specifikacija USB 2. 0. Zbog toga ideja da koncept USB

USB On-The-Go predstavlja dodatak specifikacija USB 2. 0. Zbog toga ideja da koncept USB bude host-centric sistem je ostala nepromenjena. Ono što predstavlja novinu je to da uređaj može da ima dvojnu ulogu tj. da bude kako host tako i uređaj a da pri tome bude povezan na istom USB konektoru. Ipak, u datom trenutku on se može koristiti bilo kao host bilo kao uređaj ali ne konkurentno. Skup malih konektora je definisan da se može izvršiti povezivanje i malih uređaja. Minimalna potrošnja u tom slučaju je ograničena na 8 m. A a veći broj od tih uređaja se napaja i ima ograničene resurse. On-The-Go specifkacija takđe definiše protokol koji upravlja dinamičkim prelazom između uređaja i hosta, i defiše Session Request Protokole (SRP) koji omogućavaju da host ukluči ili isključi uređaj tipa BP.

Bežični USB Bežična USB specifikacija je definisana 2005 godine sa ciljem da ispuni zahteve

Bežični USB Bežična USB specifikacija je definisana 2005 godine sa ciljem da ispuni zahteve u pogledu povezivanja bežičnih uređaja. Ova specifikacija koristi Ultra Wide Band (UWB) kao fizičku platformu za komuniciranje. UWB specificira brzinu protoka do 480 Mbps (na 2 metra) a opseg pokrivanja je do 10 metara. Protokol omogućava da se komunicira sa do 127 uređaja. On ima ugrađenu mogućnost kojom se grantuje tajnovitost u prenosu podataka kao i upravljanje potrošnjom (power management) radio predajnika. Kao i sa prethodnim standardima i bežični USB mora da bude kompatibilan sa prethodnim USB standardima i da predstavlja most između bežičnih i žičanih domena. Uređaji koji ispunjavaju ovaj standard su još ranijoj fazi razvoja ali postoje kompanije kakve su NEC, Wisair koje nude svoje proizvode a rade na principu bežičnog USB-a.

Kompatibilnost USB organizacija je napisala program o kompatibilnosti o radu uređaja koji definiše neke

Kompatibilnost USB organizacija je napisala program o kompatibilnosti o radu uređaja koji definiše neke norme koji uređaji mora da ispune. U suštini ne postoje obavezni zakoni kojim se regulišu testovi koje uređaji mora da ispune ali iskustva korisnika pokazuju da oni uređaji koji zadovoljavaju testove ne prave problema u toku eksploatacije. Program kompatibilnosti čine dva kriterijuma a to su: čeklist testiranje i testiranje o kompatibilnosti. Čekliste sadrže pitanja koje se odnose na tip proizvoda i njegovo ponašanje. Posebne čekliste postoje za prozvođače periferija, hub-ova, sistema sa USB host-ovima, i kablova. Čeklista sadrži detalje koji se odnose na mehanički dizajn, stanje uređaja i signala, radni naponi i potrošnja. Kao materijal čekliste su dostupne na web sajtu USB-IF konzorcijuma.

Kompatibilnost – nast. Svi detaljno testirani uređaji pod različitim ambijenatlanim uslovima prijavljuju se USB-IF

Kompatibilnost – nast. Svi detaljno testirani uređaji pod različitim ambijenatlanim uslovima prijavljuju se USB-IF forumu sa ciljem da budu reklamirani od strane njih. USB-IF ih tada pridružuje svojoj listi i na neki način ih preporučuje korisnicima. Korišćenje USB logoa zahteva od proizvoda da su prošli sve testove od strane USB-IF Compilance Testing Program. Postoje registovani USB logo-znakovi čiji se oblik ne može menjati. Nakon dobijanja licence, proizvođač od strane USB-IF konzorcijuma, dobija pravo da koristi logo.

Verzije USB konektora

Verzije USB konektora