UNIVERSAL SERIAL BUS (USB)

 

Zašto USB ?

 

Najvažniji razlog je zadovoljavanje rastućih potreba glede brzine prijenosa podataka. Sustav kakav je Plug 'N Play ima s tom sabirnicom mogućnost daljnjeg razvoja u smislu lakšeg konfiguriranja, a time i mogućnost boljeg nadzora nad priključenim vanjskim jedinicama. Time će biti i odbačena i potreba za poznavanjem izraza IRQ, DMA … Istodobno ćemo se riješiti i problema koji nam stvara prava zbrka kabela oko računala. USB, naime, omogućuje znatno praktičnije povezivanje vanjskih jedinica s računalom koje su prije bile povezane svaka sa svojim kabelom neposredno do računala. Siguran uspjeh USB sabirnice zasigurno osigurava i podrška proizvođača strojne i programske opreme.

 

Način rada

            Veze USB su izvedene u obliku «povezanih zvijezda» što znači da je na svakom kraku po jedna naprava koje međusobno povezuju takozvani HUB-ovi. U svakom takvom sustavu potrebno je osobno računalo koje predstavlja središnju jedinicu za cjelokupan povezan sustav koji nadzire sve veze i regulira pristupe. Spomenuti HUB-ovi u spoju imaju razdjelnu funkciju, funkciju napajanja i zaključnog otpora pojedinih linija. Za svoje djelovanje HUB komunicira sa središnjom jedinicom i osigurava održavanje veze.

            Ukoliko HUB brine i za napajanje naziva se «aktivni HUB», a ako samo propušta signale naziva se «pasivni HUB». Prema specifikacijama protokola u seriju može biti povezano najviše 6 HUB-ova uz garantiranu brzinu prijenosa od 12Mbs. Dozvoljeno je također dinamičko priključivanje i isključivanje naprava sa sabirnice pri čemu je za automatsko prepoznavanje i konfiguriranje već pobrinuto. Odjednom je na sabirnicu moguće priključiti do 127 vanjskih jedinica (tipkovnica, miš, skener, …) razdijeljenih u tri nivoa. Topologija sabirnice prikazana je slikom 1.

 

slika 1. Topologija sabirnice

 

Kablovi

 

            Za povezivanje se upotrebljavaju posebni konektori koje određuje protokol. Za prijenos signala i napajanja po istom kabelu upotrebljavaju se 4-žični twisted pair kablovi koji su kao  i konektori posebno oklopljeni. Dužina kablova između središnje jedinice i HUB-a je ograničena na 5 m, isto vrijedi i za kablove od HUB-a do jedinice.

 

Pregled arhitekture

 

            Kao što smo već spomenuli, USB je kabelska sabirnica koja podržava izmjenu podataka između središnje jedinice i širokog spektra istovremeno dostižnih vanjskih jedinica. Priključeni uređaji međusobno dijele zajedničku pojasnu širinu vremenski podijeljenu prema rasporedu koji određuje središnja jedinica. USB dozvoljava i predviđa priključivanje, konfiguriranje, upotrebu i isključivanje vanjskih jedinica u tijeku samog djelovanja («vruće priključivanje / isključivanje»).

 

 

 

Opis sustava

 

USB sustav možemo podijeliti na tri funkcionalne kategorije:

-        USB-dio za povezivanje

-        USB-vanjske jedinice

-        USB-središnja jedinica

 

Dio za povezivanje obuhvaća sve detalje glede načina povezivanja i međusobnog komuniciranja s centralnom jedinicom te uključuje:

-        Topologiju sabirnice (način, oblik povezivanja),

-        Veze među nivoima

-        Model protoka podataka,

-        Vremensku podjelu prijenosa podataka preko USB sabirnice.

 

Topologija sabirnice

 

            Fizičke veze na sabirnici su izvedene u obliku zvijezda razvrstanih po nivoima pri čemu svaki segment voda čini točka-do-točke (point-to-point) veza između HUB-a i uređaja, drugog HUB-a ili središnje jedinice.

 

USB središnja jedinica

 

            U svakom USB sustavu je samo jedna središnja jedinica izvedena kao kombinacija strojne i programske opreme na računalu. U središnju jedinicu je ugrađen osnovni HUB odnosno HUB0 koji osigurava osnovne priključne točke.

 

 

 

USB vanjske jedinice

 

Tu ubrajamo:

-        HUB-ove koji unose dodatne priključne točke na sabirnici te

-        Funkcijske odnosno zaključne jedinice koje osiguravaju dodatne mogućnosti sustava (ISDN veze, joystick, zvučnici …)

Sve vrste USB uređaja za svoje priključenje moraju biti opremljene standardnim priključnim međusklopom što osigurava:

-        «razumijevanje» USB protokola (misli se na nivoe i komunikacije),

-        odzivanje na standardne USB operacije kao što su konfiguriranje i resetiranje

-        osiguravanje standardiziranih informacija o kapacitetima.

Fizički međusklop

 

Električni dio

 

slika 2. USB kabel

 

USB prenosi podatkovne signale i napajanje preko 4-žičnog kabela prikazanog na slici 2. Prijenos signala se vrši preko dvije žice kabelskog segmenta. Signali su u svakom segmentu upravljani diferencijalno s 90-ohmskom impedancijom pri čemu svaki diferencijalni prijemnik mora osigurati minimalno 200 mV ulazne osjetljivosti kao i zadovoljavajući CMR. Pri jenos signala može se vršiti na dva načina: kao 12 Mbs veza s maksimalnom brzinom prijenosa podataka ili kao 1.5 Mbs veza s ograničenom brzinom i slabijom zaštitom od elektromagnetskih smetnji (EMI). Oba načina prijenosa mogu biti istovremeno podržani na istom USB sustavu određivanjem načina pojedinih prijenosa što je za priključenu vanjsku jedinicu izvedeno potpuno nevidljivo. Niža brzina prijenosa je definirana samo za ograničeni broj vanjskih jedinica koje zahtijevaju užu širinu pojasa jer bi se inače pokvarile ukupne značajke sabirnice. Takt prijenosa se generira kombinirano s podatkovnim signalima prema NRZI shemi, prije svakog prijenosa, pa se prijamniku pošalje SYNC-polje koje mu osigurava vrijeme potrebno za sinhronizaciju vremenskog sklopa (za obnavljanje bitova). Kabelom za povezivanje se u svakom segmentu uz podatkovne signale dovodi i napajanje priključenim uređajima i to vodovima Vbus i GND. Prema specifikaciji Vbus mora biti kod izvora napajanja (obično je to HUB) nominalno +5V. Dozvoljene su različite dužine kabela (do nekoliko metara) što postižemo pravilnim izborom vodova. Vodovi moraju odgovarati određenim zahtjevima kao što su pad napona na segmentu, potrebe uređaja glede napajanja i mehanička svojstva. Kabeli su obostrano zaključeni terminatorskim impedancijama koje ujedno služe za dinamičko prepoznavanje priključenja i isključenja uređaja kao i za međusobno razlikovanje uređaja koji rade s punom odnosno smanjenom brzinom prijenosa podataka.

 

 

 

Mehanički dio

 

USB definira dvije vrste konektora (upstream/downstream) koji međusobno nisu zamjenjivi. Konektor je 4-polni s oklopljenim kućištem i dovoljno robusan za uporabu pa osigurava jednostavno spajanje i odspajanje. Izgled konektora prikazan je na slici 3.

 

slika 3. Izgled konektora tipa «A» i «B»

 

 

Napajanje

 

            Svaki USB segment preko kabela osigurava svojem podređenom uređaju određenu količinu energije koju dovodi već i središnja jedinica (za napajanje tipkovnice, miša, …). Osim toga svaki uređaj može imati  i vlastiti izvor napajanja pri čemu je potrebno osigurati zaštitno odvajanje napajanja iz vlastito izvora  i USB sabirnice. Osim dovođenja energije važni su i načini njezinog upravljanja kod pojedinih uređaja što je kod USB-a potpuno neovisno o samoj sabirnici. Specifikacija svakom priključenom uređaju osigurava neovisno upravljanje potrošnje  što je povezano s odgovarajućom aplikacijom ili driverom u sustavu središnje jedinice. Priključene vanjske jedinice mogu se odazivati na poruke koje definira USB specifikacija i preklapati između različitih načina rada s obzirom na stanje sabirnice koja se upravlja pomoću sistemske programske opreme središnje jedinice.

 

Protokol sabirnice

 

            Svi prijenosi podataka preko sabirnice obuhvaćaju do tri podatkovna paketa. Prijenos počinje kada središnja jedinica s obzirom na raspored pošalje USB paket koji opisuje  načini i smjer prijenosa, adresu USB uređaja i broj krajnje točke. Iz ovog paketa, koji se još naziva i startni paket. adresirani USB uređaj dekodira određena adresna polja. Kod svakog paketa se izvodi komunikacija u smjeru od središnje jedinice do uređaja ili obratno što je ujedno i podataka startnog paketa. Izvor koji je startnim paketom otpočeo prijenos preda podatkovni paket ili označi da nema ništa za prijenos. Odredište koje je izvor adresirao odazove se arbitražnim paketom kojim se definira uspješnost prijenosa. Model prijenosa podataka između izvora i odredišta označava se kao cjevovod (podatkovni). Specifikacija poznaje dvije vrste cjevovoda: strujni i kontrolni. Prvi nema definirane USB strukture dok drugi ima. Cjevovodom se također određuje i širina pojasa, ti prijenosa i svojstva krajnje točka kao što su usmjerenost i veličina međumemorije. Cjevovodi se pojave tek onda kada je uređaj već konfiguriran. Jedino se kontrolni cjevovod (Control pipe 0) uspostavlja odmah čim je vanjska jedinica vezana na napajanje. Ovaj osnovni cjevovod služi za pristup informacijama koje su potrebne za konfiguraciju, nadzor i određivanje stanja vanjske jedinice. Određivanje vremena prijenosa omogućuje nadzor protoka nad izabranim strujnim cjevovodima čime se već na nivou strojne opreme izbjegava da ne dođe do zasićenja ili zastoja u međuspremniku. Pomoću sustava za nadzor protoka podataka može se izvesti fleksibilni raspored s vremenima određenim za istovremene prijenose među različitim strujnim cjevovodima. Na taj način mogu se vršiti prijenosi podataka preko više strujnih cjevovoda u različitim intervalima i s različitim dužinama paketa.

 

Robusnost sabirnice

 

            Osiguravanje pouzdanog i pravilnog djelovanja sabirnice postignuto je na sljedeće načine:

-        velika ispravnost prijenosa signala je osigurana oklopljenim prijenosnim segmentima i upotrebom diferencijalnog upravljanja i primanja,

-        CRC zaštitom kontrolnih i podatkovnih polja,

-        automatskim prepoznavanjem priključenja  i isključenja te sistemskim vođenim konfiguracijama uređaja,

-        automatskim ispravljanjem pogrešaka prijenosa kontrolom vremena kod izgubljenih i oštećenih paketa,

-        nadzorom protoka podataka koji osigurava sinhronost i nadzor međumemorija

-        uvođenjem podatkovnih i kontrolnih cjevovoda osigurava nezavisnost među uređajima kod štetnih utjecaja.

 

Otkrivanje pogrešaka

 

            Pri prijenosu podataka preko USB sabirnice mogu se pojaviti pogreške s prijelaznim karakterom. Za zaštitu pred ovakvim pogreškama svaki prenošeni paket sadrži zaštitna polja. Protokol u svakom paketu sadrži odvojene CRC-ove za kontrolna i podatkovna polja pri čemu  neodgovarajući CRC znači da je paket oštećen. CRC metodom osigurana je sto postotna zaštita od 1- i 2-bitnih pogrešaka.

 

Obrada pogrešaka

 

            Protokol također uključuje i mogućnost obrade pogrešaka kako na nivou strojne tako i na nivou programske opreme. Obrada na nivou strojne opreme obuhvaća javljanje pogrešaka i ponavljanje neuspjelih prijenosa. Središnja jedinica pokušava postupak koji je prouzročio pogrešku ponoviti tri puta nakon čega o tome obavještava programsku opremu na prijemnoj strani koja tada može preuzeti daljnju obradu paketa prema svom postupku.

 

Konfiguracija sustava

 

Spomenuli smo veća da USB dozvoljava priključivanje i isključivanje uređaja u svakom trenutku što svakako pokrene i određene radnje na sabirnici. Glavna radnja u tom smjeru je stalno enumeriranje sabirnice koja mora o stanju USB sustava neprekidno osiguravati ispravne podatke. Za lakše razumijevanje pogledat ćemo sljedeća primjere:

 

Priključivanje USB uređaja

 

Svi USB uređaji se na sabirnicu priključuju preko utičnog mjesta na specijalnoj napravi poznatoj kao HUB. Ova naprava prepoznaje i prosljeđuje podatak o dadanom ili oduzetom USB uređaju i podatak o stanju svojih utičnih mjesta. Središnja jedinica zatim pogleda HUB s ciljem da utvrdi razlog za primljenu obavijest. HUB se odazove s indentificiranim utičnim mjestom na kojem je došlo do promjene. Nakon toga središnja jedinica to mjesto omogući i adekvatno adresira preko kontrolnog cjevovoda na osnovnoj (preuzetoj) adresi koju poznaje svaki uređaj odmah nakon priključenja ili reseta. Tim postupkom središnja jedinica najprije zaključi da li se radi o napravi HUB ili o funkcijskom međusklopu, dodijeli mu jedinstvenu adresu i preko nje kontrolni cjevovod i na kraju broj nula. Ako je bila priključena naprava HUB, koja ima na svojim priključcima druge USB uređaje tada će se opisani postupak ponoviti za svaki uređaj posebno. Zadnje je što slijedi u tom procesu, u slučaju da je bio priključen uređaj koji obavlja neku funkciju, dojava odgovarajućoj programskoj opremi u središnjoj  jedinici.

 

Isključivanje USB uređaja

 

U slučaju odstranjivanja bilo kojeg uređaja iz utičnog mjesta HUB se pobrine da ga automatski onemogući i o tome obavijesti središnju jedinicu. Odmah zatim središnja jedinica odstrani podatke o tom uređaju iz svojih podatkovnih struktura i obavijesti odgovarajući programsku opremu. Ako je isključena naprava bio HUB, potrebno je odstraniti podatke i za sve uređaje koji su na njega bili priključeni.

 

Enumeriranje sabirnice

 

            To je postupak u kojem se prepoznaju i adresiraju svi uređaji koji su trenutno priključeni na sabirnicu. Kod većine sabirnica se ovaj postupak izvodi samo kod podizanja zbog čega su ti podaci statični što kod USB-a ne dolazi u obzir jer dozvoljava neograničeni broj dodavanja i odstranjivanja uređaja. Enumeriranje kod USB-a obuhvaća i prepoznavanje i odazivanje na odstranjivanje uređaja (za razliku od ostalih sabirnica).

 

Prijenos Podataka

 

            Protokol omogućava razmjenu funkcionalnih i kontrolnih podataka između središnje jedinice i uređaja. Ova komunikacija između programske opreme i središnje jedinice i završnog elementa USB uređaja može biti jednosmjerna i dvosmjerna. USB uređaj može imati više završnih elemenata pri čemu ih središnja jedinica obrađuje međusobno odvojeno. Svaki takav komunikacijski put između programske opreme središnje jedinice i završetka USB uređaja naziva se cjevovod (pipe). Mogućnost upotrebe većeg broja cjevovoda omogućava lakše struktuiranje i izvedbu prijenosa jer može imati na primjer jedan cjevovod za prijem podataka od središnje jedinice, a drugi za slanje svojih podataka programskoj opremi na središnjoj jedinici. Stvarna fizička komunikacija odvija se po jednom paru vodova pri čemu spomenute prividne podatkovne putove omogućuje sustavna programska potpora središnje jedinice.

 

Vrste prijenosa:       

-        kontrolni podatkovni prijenos (control transfers)

Upotrebljava se za konfiguraciju i enumeriranje uređaja pri njegovom priključenju, a može se upotrijebiti i za druge namjene. Izvedba tih prijenosa (osim u slučaju osnovnog konfiguriranja) ovisi o driveru i potrebama uređaja.

-        masovni podatkovni prijenos (bulk dana transfers)

Upotrebljava se kod uređaja koji prenose velike količine podataka uglavnom serijskim načinom prijenosa. Tipični primjeri su printeri i optički čitači dokumenata (scanneri). Ova vrsta prijenosa može obuhvatiti cijelu pojasnu širinu sabirnice koja nije upotrijebljena za druge komunikacije. Pouzdanost prijenosa podataka je osigurana kontrolom pogrešaka na strojnom nivou i ukoliko je potrebno već spomenutim brojem ponavljanja.

-        prekidni prijenosi (interrupt dana transfers)

U ovu skupinu spadaju kraći prijenosi podataka od strane USB uređaja prema središnjoj jedinici za koje se USB protokolo pobrine da na cilj stigne najvećom brzinom. Prekidni prijenosi najčešće predstavljaju obavijesti o događajima, znakovima i koordinatama pokazne jedinice (miš).

-        tokovno podatkovni prijenos (isochronous/streaming dana transfers)

Uređaji koji komuniciraju na ovaj način obično prenose vremenski konstantnu količinu podataka koji nastaju u realnom vremenu pri čemu ovi podaci moraju biti preneseni i upotrijebljeni. Da se ne poruši vremenska usklađenost, podaci moraju biti preneseni jednakom brzinom kakvom su bili i uzimani pri čemu su važna i vremenska kašnjenja podataka. Pojasna širina tokovnih cjevovoda obično je povezana s brzinom uzorkovanja koju priključeni uređaj može postići, dok je potrebna propusnost sabirnice ovisna o međumemorijama završnih elemenata. Tipičan primjer takvog prijenosa je transport govornog signala u realnom vremenu gdje se poznaje svako kašnjenje i svaka rupa u podatkovnom toku. Osiguravanje potrebnih sposobnosti sabirnice ide kod ovog načina prijenosa na štetu mogućnosti otklanjanja prije spomenutih pogrešaka. To znači da se pogreške koje mogu nastati kod samog električnog prijenosa ne otklanjaju mehanizmima kao što su na primjer ponavljanja na nivou strojne opreme.

 

Svaki način prijenosa podataka cjevovodom upotrijebi dio ukupne pojasne širine USB sabirnice pri čemu je kod nekih načina prijenosa taj dio potrebno rezervirati unaprijed, već kod nastanka cjevovoda. Od svih USB uređaja također se očekuje i upotreba određene količine međumemeorije (više kod uređaja koji zahtijevaju veće pojasne širine) pri čemu je sama arhitektura sabirnice zasnovana tako da kašnjenja koja su na taj način nastala ne prelaze nekoliko milisekundi.