Stranica napravljena 0 9.01.2001 |
|
|
|
|
||||
Brzina kabla |
Maksimalna veličina podataka |
|||
100Mbps | 512 bytes | |||
200Mbps | 1024 bytes | |||
400Mbps | 2048 bytes | |||
Tablica 1 Asychronous prijenos je prijenos sa potvrdom. To omogućuje provjeru greška i ponovljeni prijenos ako je došlo do pogreške. U koliko prenosimo vremenski kritične podatke tolerantne na pogreške u prijenosu (slika i zvuk) koristi se isochronous prijenos. Za podatke koji nisu tolerantni na pogrešku koristimo asychronous način prijenosa (disk drive). Physical layer 1394 specifikacija definira četiri sloja (layers) protokola., poznatih kao physical layer, link layer, transaction layer i serial bus management layer. Slojevi su prikazani slikom 2.
Physical layer 1394 protokola uključuje električnu signalizaciju, mehaničko spajanje i kabele, mehanizme arbitraže i serijsko kodiranje i dekodiranje podataka koji se primaju i šalju. Kabelski medij je definiran kao tro-parni oklopljeni kabel. Primjer takovog kabela prikazan je na slici 3.
Dva para vodiča se koriste za prijenos dok treći par omogućava napajanje na sabirnici. Konektori su mali 6-pinski uređaji, 1394a definira i 4-pinski konektor za uređaje sa vlastitim napajanjem. Maksimalna duljina običnog kabela je 4.5m. Specijalni kabeli omogućuju veće udaljenosti. Dva para upletenih parica korištenih za signalizaciju nazivaju se TPA i TPB, oni su bidirekcionalni i omogučuju tri stanja. TPA se koristi za slanje strobe signala i primanje podataka, dok se TPB koristi za primanje strobe signala i slanje podataka. Mehanizam signalizacije koristi data strobe kodiranje, prilično mudru tehniku koja omogućuje izvlačenje signala takta uz znatno bolju toleranciju jitter-a nego kod standardnog clock/data mehanizma. Sa data strobe kodiranjem ili data ili strobe mijenja stanje (ali ne istovremeno). Data strobe kodiranje prikazano je na slici 4.
KonfiguracijaPhysical layer igra glavnu ulogu u konfiguraciji sabirnice. Konfiguracija se sastoji od uzimanja relativno ravne fizičke topologije i njezine transformacije u logical tree strukturu sa root node-om kao fukusnim dijelom. Sabirnica se resetira i rekonfigurira bilo kada se spoji ili odspoji uređaj. Reset se može uzrokovati i softverski. Konfiguracija se sastoji od resetiranja sabirnice, indentifikacije topologije, vlastite identifikacije. Reset. Reset je signaliziran uređajem koji dovodi signale TPA i TPB u stanje logičke jedinice. Kada uređaj detektira reset signal, on taj signal prenosi na sve svoje portove i odlazi u nezaposleno stanje koje je vremenski tako određeno da svi uređaji na sabirnici mogu dobiti reset signal. Nakon reseta brišu se sve informacije o topologiji mreže međutim isochronous resursi nastoje zadržati stanje tokom reseta. Identifikacija topologije (Tree identification). Proces definira topologiju sabirnice. Nakon reseta ali prije identifikacije topologije, sabirnica ima ravnu logičku topologiju koja mapira fizičku topologiju. Nakon identifikacije topologije jedan uređaj dobiva status root uređaja. Identifikaciju topologije objasniti ću na primjeru danom slikom 1. Nakon reseta svi leaf uređaji predstavljaju na svojim data i strobe parovima Parent_Notify signalno stanje. Ovo je samo signalno stanje, a ne neki odaslani paket. Cijeli proces identifikacije topologije događa se u nekoliko milisekunda. U primjeru na slici 1 digitalna kamera će signalizirati set-top-box-u (uređaju za grananje), printer će signalizirati digitalnom VCR-u, a DVD-RAM će signalizirati PC-u. Kada uređaj sa grananjem primi Parent_Notify signal na jednom od svojih portova on ga označi kao port koji sadrži dijete (child) i stavlja Child_Notify signalno stanje na data i strobe par tog porta. Nakon detektiranja Child_Notify signala leaf uređaj označuje svoj port kao roditeljski (parent) i miče signalni signal sa svog porta potvrđujući time da je prihvatilo child odredište. Stanje na sabirnici do ove točke prikazano je slikom 5.
Portovi označeni kao "P" označuju da je uređaj koji je bliži root portu priključen na njih dok "C" označuje da je uređaj koji je udaljeniji od root uređaja priključen na taj port. Brojevi potova se arbitražno dodjeljuju prilikom dizajniranja uređaja i igraju važnu ulogu prilikom procesa vlastitog prepoznavanja. Nakon što su se leaf uređaji identificirali, digitalni VCR ima još dva porta koja nisu primila Parent_Notify signal, dok PC i Set-top-box imaju po jedan port koji nije primio Parent_Notify signal. Zbog toga i PC i Set-top-box počinju signalizirati Parent_Notify signal na portovima koji taj signal još nisu primili. U ovom slučaju digitalni VCR dobiva Paren_Notify na oba preostala porta i odgovara na njih sa Child_Notify stanjem. Pošto je digitalni VCR označio sve svoje portove kao djecu on postaje root. Konačna konfiguracija prikazana je slikom 6.
Primijetite da mogu doći u natjecanje za root status na kraju procesa identifikacije. To se rješava slučajnim timer-om koji onda određuje root status. Uređaj može također postati root ako zakasni svoje sudjelovanje u identifikaciji. Samoidentificiranje (Self identification). Jednom kada se definira topologija počinje faza samo identifikacije. Ona se sastoji od dodjeljivanja fizičkih oznaka IDs svakom uređaju pri čemu susjedni uređaji izmjenjuju mogućnosti brzine prijenosa i svi uređaji postaju svjesni postojeće topologije. Faza samoidentifikacije počinje tako da root uređaj odobri signal za arbitražu svojem portu sa najmanjim brojem. U našem primjeru digitalni VCR je root uređaj i on signalizira set-top-box. Pošto je set-top-box uređaj za grananje on će propagirati signal dozvole za arbitražu svojem portu sa najmanjim brojem koji ima priključen child uređaj. U našem slučaju na njemu je digitalna kamera. Pošto je digitalna kamera leaf uređaj ona ne može propagirati signal arbitraže dalje pa dodjeljuje sebi fizičku oznaku ID 0 i odašilje vlastiti ID paket nazad. Uređaj za grananje (set-top-box) ponavlja vlastiti ID paket na svim portovima na kojima su priključeni neki uređaji. Naposljetku vlastiti ID paket pronađe svoj put nazad do root uređaja koji nastavlja slati vlasti ID paket na sve uređaje na portovima sa većim brojevima. Tako svi uređaji primaju vlastiti ID paket koji je odaslala digitalna kamera. Nakon primanja ovog paketa svi uređaji povećavaju svoj ID broj. Digitalna kamera tada signalizira self ID done indikaciju prema set-top-box-u koja označava da su svi uređaji na ovom portu prošli kroz proces samoidentifikacije. Set-top-boxi ne prosljeđuje ovaj signal dalje jer još nije završila proces vlastite samoidentifikacije. Root uređaj će nastaviti slati signal dozvole arbitraže na svojem portu sa najmanjim brojem koji je u ovom slučaju i dalje set-top-box. Pošto set-top-box nema više priključenih uređaja dodjeljuje si ID 1 i odašilje vlastiti ID paket nazad. Ovaj se proces ponavlja dok svi portovi na root uređaju ne prime self ID done stanje. Root uređaj si tada dodjeljuje sljedeći ID koji je ujedno i najveći na sabirnici. U našem slučaju ID brojevi uređaja će biti: digitalna kamera=0; set-top-box=1; printer=2; DVD-RAM=3; PC=4; i digitalni VCR koji je root u uređaj =5. Primijetite da tokom procesa samoidentifikacije i "roditelji" i "djeca" izmjenjuju svoje maksimalne brzine prijenosa. Ovaj proces ukazuje na slabu točku 1394 protokola. Brzina prijenosa određena je brzinom najsporijeg uređaja u lancu. Jedini način zaobilaska ovog problema da krajnji korisnik sam posloži mrežu tako da se između dva brza uređaja ne nalazi sporiji. Također tokom procesa samoidentifikacije uređaj koji želi postati isochronous resource manager će to indicirati u svom samoidentifikacijskom paketu. Uređaj sa najvećim ID-om koji želi postati menadžer resursa će dobiti tu čast. Normalna arbitracijaJednom kada je proces konfiguracije završen normalne operacije na sabirnici mogu početi. Da bi u potpunosti razumjeli proces arbitracije potrebno je poznavanja strukture ciklusa 1394 protokola 1394 ciklus je dio vremena sa nominalnim periodom od 125ms. 8kHz signal takta daje upravljač takta koji je također i root. Za početak ciklusa upravljač takta odašilje startni paket, koji svi uređaji na sabirnici koriste za sinkronizaciju svojih vremenskih baza. Odmah nakon startnog paketa uređaji koji žele odašiljati svoje isochronous podatke mogu se arbitrirati za sabirnicu. Arbitraža se sastoji od signaliziranja roditeljskom (parent) uređaju da se želi dobiti pristup sabirnici. Roditeljski uređaju u sljedećem koraku prosljeđuje zahtjev svom roditelju sve dok ne obavijesti root uređaj. Evidentno je da uređaj koji je bliži root-u pobjeđuje u arbitraciji. Pošto se isochronous kanali mogu koristiti samo jednom u ciklusu, kada se dogodi isochronous praznina uređaj koji je prethodno dobio arbitraciju neće sudjelovati u sljedećoj arbitraciji. Kada je posljednji isochronous kanal odaslao svoje podatke, sabirnica postaje nezaposlena očekujući sljedeći isochronous kanal da započne arbitraciju. Pošto više nema isochronous uređaja koji čekaju za slanje podataka vrijeme besposlenog stanja sabirnice se povećava na vrijeme koje je veće od isochronous praznine dok ne dosegne vrijeme definirano kao asynchronous praznina. U ovom trenutku asinkroni uređaji mogu početi arbitraciju za sabirnicu. Arbitacija se događa po istom načelu kao kod isochronous prijenosa. Pošto asinkroni uređaji mogu slati više
od jednog paketa unutar ciklusa da ne bi jedan te isti uređaj (najbliži root-u)
stalno pobjeđivao u arbitraciji koriste se takozvani intervali pravednosti i
arbitracijskom "odmornom" prazninom. Koncept je jednostava- jednom
kada uređaj pobjedi u asinkronoj arbitraciji i dostavi svoj paket, izbriše
svoj arbitration enable bit. Kada je bit izbrisan fizički sloj više
ne sudjeluje u arbitracijskom procesu, dajući uređajima dalje od root-a
poštenu šansu za dobivanjem pristupa sabirnici. Nakon što su svi uređaji
"očistili" svoj bit i više nema zahtjeva za asinkronim prijenosom
i kada vrijeme asinkrone praznine dosegne 20m
s (asinkrona reset praznina) svi uređaji mogu resetirati svoj bit za
arbitraciju i ona može nastupiti ponovo. Link layerLink layer je interface između fizičkog i
transakcijskog sloja. Link layer je odgovoran za slanje i primanje isochronous
podataka. Link layer također pregledava zaglavlje paketa i utvrđuje tip
transakcije koja je u tijeku. Ova se informacija onda prosljeđuje
transakcijskom sloju. Transaction layerTransakcijski sloj se koristi za asinhrone prijenose. 1394 protokol koristi zahtjevno-odgovorni mehanizam sa potvrdom tipično generiranom sa svakom fazom. Dozvoljeno je nekoliko tipova transakcija navedenih ispod: - jednostavno quadlet (4-byte) čitanje - jednostavno quadlet pisanje - čitanje varijabilne dužine - pisanje varijabilne dužine - zaključana transakcija (lock transactions) Zaključane transakcije omogućuju "atomsku" izmjenu i usporedbu. Asinkroni paketi imaju standardni format zaglavlja, pokraj opcijskog podatkovnog bloka. Slika 7 pokazuje tipični format asinkronog paketa.
Transakcije mogu biti razdvojene, sabijene ili ujedinjene. Slika 8 prikazuje razdvojenu transakciju.
Razdvojena transakcija se događa kada uređaj ne može dovoljno brzo odgovoriti na zahtjev transakcije. Kada je zahtjev primljen uređaj odgovara sa paketom potvrde. Potvrdni paket se šalje iza svakog asinkronog paketa. Uređaj koji šalje potvrdni paket ne mora se natjecati za kontrolu sabirnice; dobiva ju automatski. Ako uređaj koji odgovara na transakciju može pripremiti podatke dovoljno brzo, čitava transakcija se može ubrzati. To otklanja potrebu uređaja da se natječe za sabirnicu nakon slanja paketa potvrde. Za pisanje podataka, potvrda također može biti odgovor na pisanje čime se transakcija ujedinjuje. Ako odgovarač može primiti podatke dovoljno brzo njegov paket potvrde može imati oznaku završeno umjesto u toku. Slika 9 prikazuje različite tipove transakcija podržanih 1394 protokolom.
Upravljanje sabirnicomUpravljanje 1394 sabirnicom nekoliko stupnjeva odgovornosti koje mogu biti raspoređene između različitih uređaja. Uređaji na sabirnici moraju preuzeti uloge upravljača ciklusa, upravljača isochronous resursima i upravljača sabirnice. Upravljač ciklusa. Upravljač ciklusa započinje 125ms cikluse. Root Uređaj mora bit upravljač ciklusa; ako uređaj koji je postao root nije u mogućnosti biti upravljač ciklusa, sabirnica se resetira i uređaj sa tom mogućnosti je prisiljen postati root. Upravljač ciklusa odašilje startni paket svakih 125ms.Startni ciklus može biti zakašnjen dok se šalje ili potvrđuje asinkroni paket. Upravljač ciklusa rješava ovo kašnjenje uključivanjem određenog iznosa vremena za kojeg je ciklus bio zakasnio u ciklusni startni paket. Upravljač isochronous resursima. Upravljač isochronous resursima mora biti u stanju obavljati isochronous transakcije. Također mora implementirati nekoliko dodatnih registara. Ti registri uključuju ID registar upravljača sabirnice, sabirnićki bandwidth alokacijski registar i registar alokacije kanala. Alokaciju isochronous kanala izvodi uređaj koji želi slati isochronous pakete. Ti uređaji moraju alocirati kanal iz registra za alociranje kanala čitajući bitove u 64-bitnom registru. Svaki kanal ima dodijeljen mu bit. Kanal je dostupan ako mu je njegov bit postavljen u logičku jedinicu. Uređaj koji zahtjeva kanal postavlja prvi dostupni bit kanala u nulu i uzima broj tog bita kao ID kanala. Zahtijevajući uređaj mora dodatno ispitati registar koji pokazuje dostupni bandwidth da bi utvrdio koliko je bandwidth-a preostalo. Ukupna količina dostupnog bandwidth-a je 6144 alokacijskih jedinica. Jedna alokacijska jedinica predstavlja vrijeme potrebno za prijenos jednog quadlet (4-byte) pri 1600Mbps. Ukupno 4915 alokacijskih jedinica je dostupno za isochronous prijenos ako se koristi bilo koji asinkroni prijenos. Uređaji koji žele obavljati isochronous prijenos moraju oduzimati potrebnu količinu banwidth-a od registra dostupnog bandwidth-a. Upravljač sabirnice. Upravljač sabirnice ima nekoliko funkcija koje uključuju publiciranje topologije i mapa brzina, upravljanje napajanjem i optimizacija prometa sabirnicom. Upravljač sabirnice je također odgovoran za ustanovljavanje
da li je uređaj koji je postao root sposoban generirati takt, u slučaju
da nije upravljač sabirnice traži uređaj koji je to sposoban
i prisilnim resetom sabirnice postavlja taj uređaj root uređajem.
Upravljač sabirnice ne mora uvijek pronaći sposoban uređaj; u tom slučaju
se barem neke funkcije upravljanja sabirnicom izvode uz pomoć upravljača isochronous
resursa. ZaključakIEEE 1394 protokol predstavlja brz i
lak način za međusobno približavanje računala, potrošačke opreme
(TV, DVD, digitalne kamere ...) i komunikacijske opreme. Omogućuje
vrlo velike brzine prijenosa, podršku isochronous načinu prijenosa
(jeftini interface za multimedijalne aplikacije), uključenje i isključenje
uređaja za vrijeme rada, dinamičku rekonfiguraciju te peer-to-peer
podršku. Za razliku od USB-a koji zahtjeva PC za rad, IEEE 1394 može
raditi i bez njega. Sve ove prednosti čine dodavanje uređaja na 1394
sabirnicu jednostavnim poput uključenja bilo kojeg kućanskog aparata. Jedan
od nedostataka FireWire-a je relativno kratki kabeli (4.5m) međutim poboljšanja
protokola (1394b) omogućiti će duljine kabela do 100 metara. Predložena poboljšanja i dodatne mogućnosti protokola
uključuju povećanje brzine prijenosa, kućne mreže, optički prijenos i bežični
IR prijenos. Literatura1. IEEE MultiMedia IEEE 1394 Standard 2. The 1394 Trade Association home page. 3. FireWire World 4. FireWire uređaji
|
||||
Izradio Alen Radošević |