IEEE 1394 is de naam voor een reeks normen. De standaarden specificeren een seriële bus die kan worden gebruikt om informatie over te dragen. Andere namen voor de standaarden zijn Firewire, i.Link en Lynx. De standaard wordt vaak gebruikt om een computer aan te sluiten op een extern apparaat, zoals een harde schijf of een digitale camcorder. De standaard wordt ook gebruikt voor de overdracht van gegevens in auto's en vliegtuigen. Hij is vergelijkbaar met het hedendaagse USB. Firewire heeft voor veel toepassingen het vroegere SCSI vervangen: Een apparaat Firewire laten begrijpen is gemakkelijker dan het SCSI te laten begrijpen; het hanteren van Firewire-kabels is ook veel gemakkelijker dan SCSI-bekabeling.
De 6-pins en 4-pins Firewire aansluitingen
FireWire is populair in industriële systemen voor machine vision en professionele audiosystemen. Het verdient de voorkeur boven het meer gebruikelijke USB vanwege de grotere effectieve snelheid en de mogelijkheden voor stroomverdeling, en omdat het geen computer host nodig heeft. Wellicht nog belangrijker is dat FireWire volledig gebruik maakt van alle SCSI-mogelijkheden (oudere aansluitmogelijkheid). Vergeleken met USB 2.0 heeft het gewoonlijk hogere gegevensoverdrachtsnelheden. Deze eigenschap is belangrijk voor audio- en video-editors. Ook veel computers die bedoeld zijn voor thuisgebruik of professioneel audio/video-gebruik hebben een ingebouwde FireWire-poort, waaronder alle laptopcomputers van Apple Inc. en Sony en de meeste modellen van Dell en Hewlett-Packard die momenteel worden geproduceerd. Het is beschikbaar voor het grote publiek op moederborden voor doe-het-zelf PC's, naast USB. FireWire wordt geproduceerd in draadloze, optische vezel- en coaxiale kabelversies. De auteursrechten die van gebruikers van FireWire worden verlangd en de duurdere hardware die nodig is om het te implementeren, hebben echter verhinderd dat FireWire USB verdringt in de massamarkt, waar de kostprijs van het product van cruciaal belang is.
FireWire is de naam van Apple Inc. voor de IEEE 1394 High Speed Serial Bus. Apple wilde met FireWire de parallelle SCSI-bus (Small Computer System Interface) serieel vervangen en tevens aansluitmogelijkheden bieden voor digitale audio- en videoapparatuur. De ontwikkeling door Apple van de oorspronkelijke IEEE 1394 werd voltooid in 1995 en werd gevolgd door verschillende wijzigingen: De IEEE Std. 1394a-2000, de IEEE Std. 1394b-2002, en de IEEE Std. 1394c-2006 wijziging. Het doel van de huidige werkzaamheden is alle vier deze documenten in een nieuwe herziening van de 1394-norm op te nemen. Sony's versie van het systeem staat bekend als i.LINK, en gebruikt alleen de vier signaalpennen, en laat de twee pennen weg die het apparaat van stroom voorzien, omdat Sony's i.LINK-producten een afzonderlijke voedingsconnector hebben
FireWire 400 kan gegevens overdragen tussen apparaten met een snelheid van 100, 200 of 400 Mbit/s. De 6-pins connector wordt vaak aangetroffen op desktop computers, en kan het aangesloten apparaat van stroom voorzien. Gewoonlijk kan een apparaat ongeveer 7 tot 8 watt aan de poort onttrekken; het voltage varieert echter aanzienlijk van verschillende apparaten.
Verbeteringen (IEEE 1394a)
Wijziging IEEE 1394a werd uitgebracht in 2000. Het standaardiseerde de 4 pins connector die al op grote schaal in gebruik was. De 4-pins versie wordt gebruikt op veel consumentenapparatuur zoals camcorders, sommige laptops en andere kleine FireWire-apparaten. Het is volledig data compatibel met 6-pins interfaces.
9-pins FireWire 800 werd in 2003 door Apple Inc. op de markt gebracht. Deze nieuwere specificatie (1394b) en de overeenkomstige producten maken een overdrachtssnelheid van 786,432 Mbit/s mogelijk. Het is een achterwaartse compatibiliteit met de tragere snelheden en 6-pins connectoren van FireWire 400. Hoewel de IEEE 1394a- en IEEE 1394b-normen compatibel zijn, zijn de connectoren verschillend, waardoor de kabels die door vorige versies werden gebruikt, niet compatibel zijn.
In december 2007 kondigde de 1394 Trade Association aan dat de producten binnenkort beschikbaar zullen zijn in de S3200-modus. Deze zal gebruik maken van dezelfde 9-pins connectoren als de bestaande FireWire 800 en zal volledig compatibel zijn met bestaande S400 en S800 apparaten. De toekomstige producten zijn bedoeld om te concurreren met de USB 3.0.
De getallen achter de FireWire, of de S geven bij benadering de snelheid in MBit/s aan, afgerond naar boven op de volgende 100. De eerste versie kan 98.304.000 Bits/s overbrengen, of 12.288.000 Bytes/s. De versies die daarna kwamen kunnen deze snelheid aan, en veelvouden daarvan. Met het SI-voorvoegsel is dit precies 98.304 kBit/s, met het binaire voorvoegsel is het 96.000 kiBit/s. Om verwarring te voorkomen, wordt afgerond naar de dichtstbijzijnde 100. Op die manier draagt de S3200 geen 3,200 MBit/s over, noch 3,200 MiBit/s, maar 3,145,728 Mbit/s, of 3,000 MiBit/s. Dit is ongeveer 2,93 Gibit/s.
Adressering en busbeheer
Anders dan bij USB, is er niet één apparaat dat de bus de hele tijd beheert. Elk apparaat is in staat om de bus te beheren. Wanneer een nieuw apparaat wordt aangesloten, zal er tussen de apparaten worden onderhandeld wie van hen het beheer doet.
Adressen hebben een lengte van 64 Bits. Hiervan worden er 10 gebruikt om segmenten te identificeren (als onderdeel van het netwerk), 6 worden gebruikt voor knooppunten, en 48 zijn vrij beschikbaar. De norm die wordt gebruikt om verschillende segmenten met elkaar te verbinden, is nog niet geratificeerd. Om deze reden gebruiken alle Firewire-netwerken momenteel slechts één segment.
Apparaten op een FireWire-bus kunnen communiceren via directe geheugentoegang. Met directe geheugentoegang (DMA) kan een apparaat hardware gebruiken om intern geheugen toe te wijzen aan FireWire's "fysieke geheugenruimte". SBP-2 (Serial Bus Protocol 2), dat door FireWire-schijfstations wordt gebruikt, maakt gebruik van deze mogelijkheid om interrupts en bufferkopieën tot een minimum te beperken. Bij SBP-2 stuurt de initiator (het besturende apparaat) een verzoek door op afstand een opdracht te schrijven naar een gespecificeerd gebied van de FireWire-adresruimte van het doel. Deze opdracht bevat gewoonlijk bufferadressen in de FireWire "Physical Address Space" van de initiator. Het doel wordt geacht deze ruimte te gebruiken om I/O-gegevens van en naar de initiator te verplaatsen.
Veel implementaties maken gebruik van hardware om de mapping tussen de FireWire "fysieke geheugenruimte" en het fysieke geheugen van het apparaat uit te voeren. Hiertoe behoren die welke door PC's en Macs worden gebruikt, met name die welke OHCI gebruiken. In dit geval is het besturingssysteem niet betrokken bij de overdracht. Dit maakt snelle overdrachten met een lage latentie mogelijk en voorkomt dat de gegevens onnodig worden gekopieerd. Het kan echter een veiligheidsrisico inhouden als apparaten die niet vertrouwd worden op de bus worden aangesloten. Installaties waar veiligheid een punt van zorg is zullen daarom ofwel nieuwere hardware gebruiken, die virtueel geheugen gebruiken om de Firewire-fysieke geheugenruimte in kaart te brengen, of de mapping die de OHCI doet uitschakelen. Ze kunnen ook het hele Firewire-subsysteem uitschakelen, of Firewire helemaal niet aanbieden.
Deze functie kan ook nuttig zijn, bijvoorbeeld om een machine te debuggen waarvan het besturingssysteem is gecrasht. Sommige systemen kunnen het gebruiken om een console op afstand aan te bieden. Op FreeBSD biedt het stuurprogramma dcons beide, met gdb als debugger. Onder Linux bestaan firescope en fireproxy.