Firewire Källor Det mesta av presentationen kommer från Don Anderson: FireWire System Architecture, 2:nd ed MindShare, Inc. Addison-Wesley ISBN 0-201-48535-4 1
Bussystem Pear-to-pear Grundstruktur Vi har inte en vanlig buss utan kommunikationen sker från enhet till enhet En enhet som har bara en port måste vara en ändpunkt på bussen Grundstruktur Alla noder är likvärdiga Vid uppstart sker en arbitrering då noderna förhandlar fram sina olika roller Hot swap Noder kan anslutas eller tas bort under drift Då en nod ansluts eller tas bort sker en ny arbitrering Noder kan kommunicera utan inblandning av datorsystemet eller någon master 2
Standard Bussprotokollet kommer från Apple som har rättigheterna till namnet FireWire Standard under namnet IEEE1394 Vissa oklarheter gjorde att den ersattes av IEEE1394a Standarden d har utvidgats t via IEEE1394b och senare IEEE1394c Egenskaper Skalbar 100, 200 eller 400 Mbit/s I 1394b även 800 Mbit/s, 1,6 och 3,2 Gbit/s där bara 800 Mbit/s har implementerats Hot intersection and removal Plug & play Systemet konfigureras om automatiskt då noder ansluts eller tas bort Noder kan kommunicera utan inblandning av värdsystem eller masternod Maximal kabellängd mellan enheter 4,5 m Noder kan spänningsmatas via bussen 3
Egenskaper, forts Bussprotokollet bygger på ISO/IEC 13213 (ANSI/IEEE 1212) Information technology Microprocessor systems - Control and status registers (CSR) architecture for microcomputer busses Bussen har 64 olika adresser (0-63) Adress 63 är en broadcast adress för kommunikation med alla noder Varje nod kan ha en adressrymd på 64 TB Ett komplett system kan bestå av upp till 1024 bussar Stödjer asynkron och isosynkron överföring Vid asynkron överföring används CRC för felhantering och återsändning kan ske Asynkron överföring Dataöverföring som inte behöver ske med någon bestämd hastighet, till exempel överföring till masslagringsenheter Vi har i dessa fall dock ofta höga krav på att överföringen är korrekt Överföringen behöver ingen speciell bandbredd men bör ha rättvis tillgång till bussen Överföringen använder sig av CRC för felhantering Mottagande enhet svarar för att bekräfta mottagandet av överföringen och status hos mottaget meddelande Felaktigt överförda meddelanden kan återsändas 4
Isosynkron överföring Då vi kräver att data överförs med viss hastighet (periodicitet), till exempel ljud och bild i realtid Överföringen i sig sker inte med någon samlingshastighet men vi ser till att tillräcklig mängd data överförs så att mottagaren hela tiden är försörjd med data som då lagras lokalt i en buffer, överföring kan ske i bursts, skurar av data Kräver garanterad bandbredd Här kan vi tåla vissa fel i överföringen och mottagaren bekräftar inte mottagningen och dess status Överföringskanal All överföring sker i cykler om 125 mikrosekunder Under en cykel kan flera asynkrona och isosynkrona överföringar ske Då överförd data innehåller hastighetsinformation h t i så kan olika hastigheter förekomma i samma cykel Isosynkrona överföringar, som kräver fast bandbredd, tilldelas upp till 80 % av bandbredden (cykeltiden) Asynkrona överföringar får slåss om resten av bandbredden, dvs minst 20 % För att alla asynkrona överföringar skall få chans att överföra information så införs ett så kallat rättviseintervall (fairness interval), under detta tidsavsnitt får varje asynkron kanal chans till en och endast en överföring. Då alla kanaler har fått sin chans startas ett nytt rättviseintervall 5
Överföringskanal, forts Asynkron överföring riktar sig till en specifik 64 bitars adress Maximal paketstorlek, asynkron överföring Överföringskanal, forts Isosynkron överföring riktar sig till en kanal via en 6 bitars adress. Samtidig överföring kan alltså ske till flera enheter via en kanal Maximal paketstorlek, isosynkron överföring 6
Fysisk kanal Överföring sker via en 4- eller 6-ledare innehållande två tvinnande par (TPA och TPB) och eventuellt två enkelledare, dessutom kan det finnas en skärm för respektive ledningspar (Firewire 800) De tvinnade paren används för balanserad översändning av data (TPB) och strobsignal (TPA) I kabeln är paren korsade så sändning på TPA i en enhet tas emot på TPB i den andra enheten och tvärt om Då båda paren används för överföringen kan vi bara sända i en riktning i taget, halv duplex Eftersom kommunikation sker pear-to-pear så kan samtidigt annan kommunikation ske mellan andra enheter i systemet Fysisk kanal, forts Enkelledarna används som jord och för spänningsmatning av enheter 8 40 Vdc Max 1,5 A Då 4-ledare används finns ingen spänningsmatning och enheterna måste ha egen strömförsörjning via batteri eller nätdel Laptops har ofta 4-ledare för att inte externa enheter skall dra ström från datorns batteri och dra ner nyttjandetiden 7
Fysisk kanal, forts Kontakter Den 6-poliga kontakten i 1394a härstammar från Nintendo GameBoy 4-polig kontakt används där den 6-poliga blir för klumpig som på kameror 1394b har två typer av kontakter 1394b Beta 9 polig Kan bara anslutas till 800 Mb nät 1394b Bilingual Kan även anslutas till 400 MB-nät Bilingual passar i beta, inte tvärt om Fysisk kanal, forts Vi använder både common mode och differential mode signalering Common mode signalering ger samma signal på båda ledarna i det tvinnade paret och används bland annat för att avkänna då enheter kopplas till bussen eller avlägsnas från den och för hastighetssignalering Differential mode signalering ger en skillnadssignal mellan de två ledarna i det tvinnande paret och används bland annat för arbitrering och paketöverföring 8
Fysisk kanal, forts Överföringshastigheter 1394a stödjer tre överföringshastigheter 98,304 Mb/s (100Mbits/s, S100) 196,608 Mb/s (200 Mbits/s, S200) 393,216 Mb/s (400 Mbits/s, S400) Alla enheter måste stödja 100 Mbits/s Nätuppbyggnaden kan dra ner hastigheten Fysisk kanal, forts Överföringshastigheter, forts Exempel Vi vill sända från Nod F till Nod C Försöker vi sända med 400 Mbits/s så fastnar data i Nod D då efterföljande nod (nod A) inte stödjer mer än 200 Mbits/s 9
Fysisk kanal, forts Överföringshastigheter, forts Exempel Vi vill sända från Nod F till Nod C Försöker vi sända med 200 Mbits/s så fastnar data i Nod A då efterföljande nod (nod B) inte stödjer mer än 100 Mbits/s Fysisk kanal, forts Överföringshastigheter, forts Exempel Vi vill sända från Nod F till Nod C Vi får sända med 100 Mbits/s 10
Fysisk kanal, forts Data- och strobsignaler Data överförs som NRZ-signal NRZ non-return to zero, signalen återgår inte till noll varje symboltid Strobsignalen kompletterar datasignalen så att då vi bildar XOR mellan de två signalerna så får vi ut en klocksignal Firewire eller USB Firewire har varit ledande vad gäller snabb överföring av stora mängder data USB high-speed gjorde skillnaden mindre Med USB 3.0 har USB tagit ledningen Firewire saknar control och interrupt transfer som är lämpliga för att ansluta enheter som möss och tangentbord Firewire kan ge direktuppkoppling mellan enheter utan att blanda in någon värddator Detta ger dyrare interface i enheterna Båda protokollen har sitt berättigande 11
IEEE1394c IEEE1394c är ett tillägg av ett fysiskt lager till IEEE1394b Samma ledningsnät skall kunna användas för både Firewire och Ethernet Överföringshastighet 800 Mb/s Upp till 100 meter CAT5 kabel Samma kontakter som för Ethernet, dvs RJ-45 IEEE1394c forts. Enheterna kan förhandla sig fram till om Firewireeller Ethernetprotokoll skall användas Man kan använda 10BASE-T Ethernet (10 Mb/s) 100BASE-TX Ethernet (100 Mb/s) S100 1394b (100Mb/s) 1000BASE-T Ethernet (1Gb/s) S800 1394c 12
Firewire i framtiden The Institute of Electrical and Electronics Engineers (IEEE) 1394 working group har formelt godkänt nästa generation av Firewire men få detaljer är än så länge tillgängliga S1600 skall ge överföringshastigheten 1,6 MBits/s S3200 skall ge överföringshastigheten 3,2 MBits/s Kablar och kontaktdon skall vara bakåtkompatibla Målsättningen är sedan att nästa generation skall ge minst 6,4 GBits/s Detta kommer troligen aldrig att realiseras utan ersättas av Thunderbolt 13