FireWire / IEEE 1394 / i.Link
FireWire ist ein Computer-Peripherie-Anschluss, der sich auch für die Peer-to-Peer-Vernetzung eignet und unter den Bezeichnungen IEEE 1394 und i.Link (Sony) bekannt ist. FireWire mit IEEE 1394 gleichzusetzen ist eigentlich nicht korrekt. Denn das von Apple geprägte FireWire ist nur eine mögliche Implementierung von IEEE 1394. Der Standard umfasst die Definition für eine Backplane- und eine Kabelverbindung.
FireWire entstand bereits 1987. Es wurde von Apple entwickelt und 1995 unter IEEE 1394 standardisiert. In den darauffolgenden Jahren geriet IEEE 1394 in Vergessenheit und wurde erst dann wieder zum Leben erweckt, als die Diskussion um serielle Bussysteme, wie zum Beispiel USB, aufkam.
FireWire ist ähnlich wie USB ein serielles Übertragungssystem mit speziellen Steckern und Kabeln. Der Vorteil von FireWire gegenüber USB ist von Anfang an die höhere Übertragungsrate. In nachfolgenden Erweiterungen von FireWire wurden Übertragungsraten von 800, 1600 und 3200 MBit/s erreicht.
FireWire sollte ursprünglich Digitalkameras und Video-Schnittrechner auf kurzen Strecken mit möglichst hoher Geschwindigkeit miteinander verbinden. Der Schwerpunkt lag bei Audio- und Video-Anwendungen. Deshalb fand man den FireWire-Anschluss zuerst in digitalen Videokameras. Für Digital-Video ist FireWire (IEEE 1394) seit Festlegung des DV-Standards die Schnittstelle in jedem DV-Camcorder. Später stellte man fest, dass man genauso gut auch Massenspeicher per FireWire an PCs und Notebooks anschließen kann.
Heute haben sehr viele Consumer-Camcorder eine USB-Schnittstelle. Vermutlich deshalb, weil die USB-Schnittstelle in einem PC viel häufiger anzutreffen ist als eine FireWire-Schnittstelle.
Topologie des FireWire-Netzes
FireWire ist eigentlich kein Peripherie-Anschluss, sondern eine Vernetzungstechnik auf Basis einer Peer-to-Peer-Architektur. Man darf bis zu 63 FireWire-Geräte nahezu beliebig zusammenschalten. Ausgenommen (bei IEEE 1394a/FireWire 400) sind Ringverbindungen und der Weg zwischen zwei Geräten darf nicht über mehr als 16 Verbindungen führen.
FireWire kennt keinen fest definierten zentralen Host, der die Übertragung und Adressierung steuert. Fast jedes Gerät hat zusätzlich zwei oder mehrere Ports und fungiert gleichzeitig als Hub und Repeater. Die eingehenden Signale werden an alle anderen Ports weitergereicht, auch im ausgeschalteten Zustand. Der FireWire-Controller bezieht seine Stromversorgung aus dem Bus.
Auf der physikalischen Ebene besteht FireWire aus unabhängigen Punkt-zu-Punkt-Verbindungen. Auf der logischen Ebene bestehen alle angeschlossenen Geräte aus einem Bus. Das bedeutet, alles was von einem Gerät gesendet wird, wird an alle Geräte gesendet. FireWire arbeitet also als "Shared Medium". Das bedeutet, alle angeschlossenen Geräte müssen sich die verfügbare Bandbreite teilen. Das bedeutet auch, dass das langsamste Gerät die maximal mögliche Datenrate innerhalb der Übertragungsstrecke bestimmt.
Aufgrund der Busstruktur kann immer nur eine Übertragung zur selben Zeit laufen. Damit es nicht zu Kollisionen kommt, darf immer nur ein Gerät senden. Um die Datenzugriffe auf den Bus steuern zu können, ist der Bus als Baumstruktur organisiert. An der Spitze bzw. Wurzel steht der Busmaster bzw. Host. Er ist der Taktgeber. Direkt am Busmaster hängen die Geräte, die wiederum weitere Unterknoten aufweisen können. Jedes Gerät, außer der Wurzel und den am Ende liegenden Geräten hat also einen "Vater-Port", der zur Wurzel hinzeigt und einen oder mehrere "Kinder-Ports", die zu den Kindern zeigen.
Nach einem Bus-Reset konfiguriert sich FireWire selber. Dabei wird jedem Gerät eine physikalische Adresse zugewiesen. Während des laufenden Betriebs können Geräte entfernt und hinzugefügt werden (Hot-Plugging). Eine Neuorganisation der Adresse ist dabei nicht notwendig. Doch sobald sich die Topologie verändert, wird in dieser Architektur ein neuer Busmaster ermittelt. Dieser wird anhand eines Protokolls demokratisch gewählt. Prinzipiell könnte jedes Gerät diese Aufgabe übernehmen. Welches Gerät das ist, ist teilweise von der Konfiguration und vom Zufall abhängig. Der Auserwählte hat die Aufgabe der Takterzeugung und das Bestätigen der Sende-Anforderungen der übrigen Geräte. Die letztgenannte Funktion ist einer der Nachteile von FireWire. Sie kostet viel Zeit und vergeudet einen Teil der Bandbreite.
IEEE 1394b
IEEE 1394b setzt auf IEEE 1394a und 1394-1995 auf und ist zu beiden abwärtskompatibel. Um die Übertragungsrate signifikant zu steigern verwendet IEEE 1394b einen schnelleren Modus und andere Protokolle.
- S800-Modus: 800 MBit/s
- S1600-Modus: 1600 MBit/s
Die Angabe zur Übertragungsgeschwindigkeit entspricht der Nutzdatenrate. Um das zu erreichen wurde die Übertragungsgeschwindigkeit um 25% angehoben. Bei FireWire 800 beträgt sie etwa 1 GBit/s.
Ringverbindungen sind nicht mehr verboten, werden automatisch erkannt und der dadurch entstehende Konflikt behoben, indem überflüssige Verbindungen einfach ungenutzt bleiben.
IEEE 1394c
IEEE 1394c ist eine Erweiterung zum FireWire-Standard (IEEE 1394a/b) und bietet FireWire-Funktionalitäten über Cat-5-Twisted-Pair. IEEE 1394c sieht Verbindungen vor, die mit 1,6 (S1600) respektive 3,2 GBit/s arbeiten (S3200). Die Kompatibilität mit den 400 und 800 MBit/s schnellen FireWire-Schnittstellen (IEEE 1394a und 1394b) bleibt weiterhin bestehen.
Übertragungsgeschwindigkeit
IEEE 1394a bietet drei verschiedene Übertragungsgeschwindigkeiten mit 100, 200 und 400 MBit/s. Die nachfolgende Version IEEE 1394b sieht die Übertragungsraten von 800, 1600 und 3200 MBit/s vor.
Die verschiedenen Geschwindigkeiten können auf ein und dem selben Bus verwendet werden. Jede Verbindung zwischen zwei Geräten wird mit der jeweils höchstmöglichen Geschwindigkeit betrieben. Dabei werden dazwischenliegende Knoten berücksichtigt und die Geschwindigkeit an das langsamste Gerät angepasst. Langsame Geräte sollten deshalb an einem Ende des FireWire-Netzes angeschlossen werden, sonst bremsen diese Geräte das gesamte FireWire-Netz aus.
Modus | S100 | S200 | S400 | S800 | S1600 | S3200 |
---|---|---|---|---|---|---|
Geschwindigkeit | 100 MBit/s (98.304 kBit/s) |
200 MBit/s (196.608 kBit/s) |
400 MBit/s (393.216 kBit/s) |
800 MBit/s | 1600 MBit/s | 3200 MBit/s |
Die Transferrate wird zwischen den beteiligten Geräten ausgehandelt und an die Qualität der Verbindung angepasst.
Stromversorgung
Externe FireWire-Geräte können über den Bus mit Strom versorgt werden. Die Stromversorgung über einen FireWire-Port setzt einen 6-poligen FireWire-Port voraus. Allerdings ist die Leistung nicht spezifiziert. Die Spannung darf zwischen 8 und 30 Volt betragen. Meist liegt sie bei 12 Volt. Die Strom beträgt 1,5 Ampere. Das ergibt 18 Watt. Bei Notebooks reduzieren viele Hersteller den Strom, sofern nicht ohnehin nur eine 4-polige Buchse ohne Stromversorgung vorhanden ist.
Übertragungstechnik
IEEE 1394a überträgt die Daten im Halbduplex-Verfahren, also immer nur in eine Richtung. Dazu werden beide Adernpaare benutzt. Die Daten werden differenziell übertragen. Das eine Adernpaar überträgt die Daten und das andere Adernpaar ein Strobe-Signal. Das Strobe-Signal wechselt immer dann den Pegel, wenn es das Daten-Signal nicht tut. Der Empfänger gewinnt den Takt dann aus einer Exklusiv-Oder-Verknüpfung von Daten-Signal und Strobe-Signal. Das Datensignal rekonstruiert der Empfänger aus der Differenz der beiden Pegel. Von außen eingestreute Störspannungen wirken auf beide Signalleitungen gleichzeitig. Sie fallen dann bei der Differenzbildung weg.
FireWire hat für die Datenübertragung einen asynchronen und isochronen Modus. Isochron bedeutet soviel wie, dass einer Datenübertragung eine gleichbleibende Zeitdauer eingeräumt und somit eine bestimmte Bandbreite garantiert wird. Für die Übertragung von Audio- und Video-Daten ist eine garantierte Bandbreite und ein kontinuierlicher Datenfluss Voraussetzung, um Echtzeit-Anwendungen betreiben zu können.
Beta-Mode (IEEE 1394b / FireWire 800)
FireWire-Geräte, die den Beta-Mode beherrschen arbeiten nach IEEE 1394b. Der Beta-Mode kommt bei der Übertragung in eine Richtung mit nur einem Adernpaar aus. Um eine Vollduplex-Verbindung herzustellen nutzt der Beta-Mode beide Adernpaare. Um auf die entsprechende Geschwindigkeit zu kommen, wird die 8B/10B-Kodierung verwendet, die auch bei Gigabit-Ethernet zur Anwendung kommt.
8B/10B-Kodierung bedeutet: 8 Bit Nutzdaten werden in einen 10-Bit-Code übertragen. Das hat den Vorteil, dass nach spätestens 5 gleichwertigen Bits in Folge ein Polaritätswechsel statt findet. Das genügt, damit der Empfänger daraus zuverlässig den Takt rekonstruieren kann. Zusätzlich ist der Code gleichspannungsfrei. Das bedeutet, die Anzahl der Einsen und Nullen ist im Mittel gleich groß.
Bereits beim Einstecken der Geräte wird zwischen zwei Beta-Ports die Übertragungsrate ausgehandelt, die in beide Richtungen dauerhaft bestehen bleibt.
Stecker und Kabel bei IEEE 1394a/FireWire 400
Mini-FireWire-Buchse und -Stecker | Normaler und Mini-Firewire-Stecker | 2 FireWire-Buchsen |
---|
FireWire kennt zwei verschiedene Steckertypen. Den DV-Anschluss, bei dem es sich um den sechspoligen FireWire-Anschluss handelt und den Mini-DV-Anschluss, bei dem es sich um einen vierpoligen FireWire-Anschluss handelt. An Notebooks und DV-Kameras findet man meistens den kleinen vierpoligen Mini-DV-Anschluss.
Bei den üblichen Kabeln mit sechspoligen Stecker kommt ein dünnes 6-poliges Kabel zum Einsatz. Zwei geschirmte Adernpaare dienen der Datenübertragung, während das dritte Adernpaar den Bus mit Strom versorgt. Das Kabel für den vierpoligen Stecker verzichtet auf das Adernpaar für die Stromversorgung.
Die maximale Kabellänge beträgt 4,5 m. Die Gesamt-Distanz einer FireWire-Kabelstrecke überbrückt bis zu 72 m.
Stecker und Kabel bei IEEE 1394b/FireWire 800
2 mal FireWire 800 1 mal FireWire 400 |
FireWire-800-Stecker (links) FireWire-400-Stecker (rechts) |
---|
IEEE 1394b unterscheidet zwischen einem Beta-Anschluss und einem bilingualen Anschluss. Am Beta-Anschluss können nur neunpolige Beta-Stecker angeschlossen werden, die für reine FireWire-800-Verbindungen vorgesehen sind. Alte FireWire-Kabel passen nur in den bilingualen Anschluss.
Der Bilingual-Anschluss sichert die Abwärtskompatibilität zu IEEE 1394a. Hier können Bilingual-Stecker und Beta-Stecker angeschlossen werden.
Damit der Anwender nichts zusammensteckt, was nicht funktioniert, gibt es zwei neue Stecker. Beide sind 9-polig und so groß, wie die bisherigen FireWire-Stecker. Zwei der neuen Pins führen Masseleitungen, die mit der Abschirmung eines Adernpaars verbunden sind. Der dritte Pin ist für zukünftige Anwendungen vorgesehen.
Die Kabellänge ist nicht auf die üblichen 4,5 m begrenzt. Es sind auch Kabellängen über 4,5 m möglich. Aber nur mit heruntergeregelter Übertragungsrate. Neben der Kurzstreckenverbindung von 4,5 m erlaubt IEEE 1394b auch CAT-5-UTP-Kabel mit bis zu 100 m Länge, wenn auch auf 100 MBit/s begrenzt. Ebenso können Lichtwellenleiter verwendet werden.
Anwendungen
FireWire eignet sich hervorragend für die Adhoc-Vernetzung auf kurzen Distanzen. Praktisch alle Betriebssysteme bringen Treiber mit oder lassen sich problemlos nachträglich installieren. Meist wird ein IP-Netzwerk emuliert (IP-over-FireWire).
FireWire und USB 2.0 im Vergleich
IEEE 1394a (FireWire) | USB (2.0) | |
---|---|---|
Brutto-Übertragungsrate | 100 / 200 / 400 MBit/s | 1,5 / 12 / 480 MBit/s |
Architektur | Peer-to-Peer | Host-zentriert |
max. Anzahl der Geräte | 63 | 127 |
max. Kabellänge pro Gerät | 4,5 m | 5 m |
Gesamt-Kabellänge | 72 m | 30 m |
Stromversorgung | 8 - 30 V / 1,5 A | 5 V / 500 mA |
Vergleich: USB, FireWire, Gigabit-Ethernet, eSATA
Schnittstelle/Anschluss | USB 2.0 | USB 3.0 | FireWire 400 | FireWire 800 | Gigabit Ethernet | eSATA |
---|---|---|---|---|---|---|
Transferrate (theoretisch) | bis 60 MByte/s | bis 600 MByte/s | bis 50 MByte/s | bis 100 MByte/s | bis 125 MByte/s | bis 300 MByte/s |
Geräteanzahl (maximal) | 127 | 127 | 63 | 63 | 1 (Punkt-zu-Punkt) | 1 (Punkt-zu-Punkt) |
Kabellänge pro Gerät | 5 m | 3 m | 4,5 m | 4,5 m | 100 m | 1 m |
Wireless FireWire
Die Wireless Working Group der 1394 Trade Association hat einen Protocol Adaptation Layer (PAL) für FireWire (IEEE 1394) über IEEE 802.15.3 verabschiedet. Das ist ein Standard für Wireless Personal Area Networks (WPAN), der auch bei Bluetooth Anwendung findet.
Der Layer für Wireless FireWire klinkt sich zwischen die Media-Access-Control-Schicht (MAC) von IEEE 802.15.3 und den Applikationen ein. Der Layer baut auf der FireWire-Infrastruktur auf. Datenformate und Verbindungsmanagement von FireWire werden weiterverwendet. Künftig ist es möglich, beispielsweise DVD-Player und Soundsysteme kabellos und mit einem kabelgebundenen Netzwerk miteinander zu verbinden. Bestehende FireWire-Geräte können Dank einer Bridge-Funktion mit drahtlosen Geräten verbunden werden.
USB 3.0 vs. FireWire - Thunderbolt, der lachende Dritte
Größter Konkurrent beim Anschluss von Peripherie-Geräten an einen Computer war lange Zeit der USB Version 3.0. Weil sich der USB als Universal-Schnittstelle im PC-Bereich durchgesetzt hatte, fristete FireWire ein Nischendasein. Letztlich hat sich USB 3.0 durchsetzen und damit FireWire und eSATA ersetzt. Während FireWire so langsam von der Bildfläche verschwindet, spielt Thunderbolt eine immer größere Rolle. Thunderbolt kombiniert eine Hochgeschwindigkeitsschnittstelle für Massenspeicher und dem DisplayPort für Bildschirme.