Von gestern und doch hochaktuell - 1394 ist ein schnelles Interface, das alle anderen Peripherie- und Massenspeicher-Schnittstellen verdrängen soll. Dabei hat Apple mit der Entwicklung dieses seriellen Anschlusses schon 1986 begonnen. Die Ingenieure übernahmen den seriellen Bus IEEE 1394. Dieser war zu der Zeit noch nicht als endgültiger Standard verabschiedet und ursprünglich nur als Diagnosebus in parallelen Backplane-Bussen gedacht. 1993 demonstrierte Apple die Weiterentwicklung unter dem Namen Firewire, die später als IEEE 1394-1995 standardisiert wurde.
1394 ist bereits der Standard in der digitalen Videobearbeitung im Consumer-Bereich. Sowohl Hersteller von Videoschnittkarten wie Fast oder Pinnacle, als auch Großkonzerne wie Sony, JVC und Panasonic setzen bei ihrer Unterhaltungselektronik auf den seriellen Bus. Bei Apple ist Firewire seit Anfang 1999 in den Desktop-Computern serienmäßig, Sony ist im PC-Bereich der Vorreiter. Die Hersteller von Druckern, Festplatten und anderen Peripheriegeräten ziehen allmählich nach.
Ein Blick auf Bild 1 zeigt schnell, warum 1394 neben der einfachen Handhabung so interessant ist. IEEE 1394-1995 ermöglicht theoretisch eine Datentransferrate von bis zu 50 MByte/s, mit IEEE 1395b sind für die Zukunft sogar 400 MByte/s angedacht.
1394-Spezifikationen
Wer sich eingehend mit 1394 beschäftigt, hat die Wahl aus über 70 verschiedenen Spezifikationen. IEEE 1394-1995, IEEE P1394a, IEEE P1394b sind nur einige Beispiele, die gleichzeitig auch als Schnittstellenbezeichnung verwendet werden. Dazu kommen noch die Marketingbezeichnungen Firewire von Apple, i.Link von Sony und Lynx von Texas Instruments.
Prinzipiell sind Firewire, IEEE 1394-1995, i.Link und Lynx kompatibel zueinander oder nur andere Bezeichnungen für die selbe Sache. Allerdings unterscheidet sich i.Link schon äußerlich durch den kleineren vierpoligen Steckverbinder von den sechspoligen IEEE- und Firewire-Originalen. Der Unterschied: i.Link bietet keine Spannungsversorgung für externe Geräte über das 1394-Kabel.
Im weiteren Verlauf des Artikels verwenden wir "1394" als Oberbegriff für die Schnittstelle im Allgemeinen und die jeweilige korrekte Spezifikationsbezeichnung im Speziellen. Nachfolgend die wichtigsten Spezifikationen:
IEEE 1394-1995: Definiert die grundlegende Architektur für Hard- und Software.
IEEE P1394a: Beschreibt Erweiterungen und Verbesserungen zur IEEE 1394-1995. Das betrifft vor allem den Physical Layer, Power Management und Software-Details.
IEEE P1394.1: Erweitert 1394 für Netzwerkbetrieb (Bridging).
IEEE P1394b: Definition für höhere Transferraten (800, 1600, 3200 MBit/s) und längere Kabel. Geräte nach IEEE P1394b sollen abwärtskompatibel zu IEEE P1394a sein.
IEEE 1212 oder IEC 13213: Legt den Standard für die von 1394 genutzten Status- und Control-Register fest.
IEC 61883: Enthält Spezifikationen für den zeitkritischen Multimedia-Bereich.
1394 TA Power Specs: Dieses Spezifikationen beantworten Fragen zu Spannungsversorgung und Power Management.
Das "P" in der IEEE-Bezeichnung kennzeichnet ein Projekt, das noch nicht als Standard verabschiedet ist.
1394 im Überblick
IEEE 1394 ist ein internationaler Standard für eine kostengünstige digitale Schnittstelle. Sie wurde konzipiert für den Einsatz in Geräten der Unterhaltungselektronik, Kommunikation und Computertechnik und bietet folgende Eigenschaften:
Datentransferraten von 100, 200, oder 400 Mbit/s beziehungsweise 12,5, 25 oder 50 MByte/s
Gemischter Betrieb unterschiedlich schneller Geräte mit 100, 200 und 400 Mbit/s möglich
Dünne und preiswerte serielle Kabel
Einfache Konfiguration, da keine Abschlusswiderstände, Geräte-IDs oder Einstellungsverfahren notwendig sind
Der Anwender kann 1394-Geräte ohne Werkzeug während des Systembetriebs anschließen oder entfernen
Die Spannungsversorgung der Geräte ist über das Datenkabel möglich. Dafür sind zwischen 8 bis 40 Volt bei maximal 1,5 Ampere vorgesehen
Als Peer-to-Peer-Netzwerk benötigt 1394 keinen dedizierten Host. Bei USB fungiert der PC als Host.
Anschluss der Geräte
Prinzipiell ist 1394 eine simple Sache. Ein oder mehrere Geräte mit dem seriellen Kabel an den PC/Controller anschließen und fertig. Abgesehen von den Unwägbarkeiten eines Plug&Play-Betriebssystems, gibt es noch einige Einschränkungen. Die Geräte sind seriell hintereinander geschaltet wie in einer Kette. Bei Geräten mit zwei oder mehr 1394-Ports sind Verzweigungen möglich.
Grundsätzlich dürfen aber nur 16 Kabelstücke mit je maximal 4,5 Meter Länge in einer Kette sein, gleich von welchem Punkt des Netzwerks aus gezählt wird. Schleifen innerhalb und zwischen den verschiedenen Strängen sind streng verboten. Jedes Gerät muss für saubere Signale an seinen Ausgängen sorgen und sie entsprechend "auffrischen". Bild 3 demonstriert eine gültige Verschaltung. Unabhängig vom Startpunkt ergeben sich dabei maximal 17 Geräte hintereinander.
Automatische Konfiguration
Das 1394-Netzwerk konfiguriert sich komplett selbst. Es sind keine IDs an den Geräten einzustellen, keine Terminierwiderstände zu setzen und kein Master oder Slave zu bestimmen. Das 1394-Protokoll definiert einen Autokonfigurations-Prozess, der aus verschiedenen Stufen besteht, die nacheinander ablaufen:
Businitialisierung oder Busreset: Wird beim Ein-/Ausschalten, Entfernen und Anschließen eines Geräts oder per Softwarebefehl ausgelöst.
Baumidentifizierung: Im Anschluss an die Businitialisierung erfolgt die Tree Identification, bei der Root Node , Leaf Nodes und Branch Nodes bestimmt werden.
Selbstidentifizierung: Nach der Baumidentifizierung folgt die Self Identification. Der Root Node veranlasst den deterministischen Prozess der ID-Zuordnung für jedes Gerät im 1394-Netzwerk.
Wenn sich die physikalische Struktur des 1394-Systems ändert, also beispielsweise ein Gerät dazukommt oder abgeschaltet wird, erfolgt der komplette Autokonfigurations-Prozess erneut. Dabei können sich der Root Node und die IDs der Geräte ändern.
1394 verwendet ein flexibles Busmanagement, das in drei Servicegruppen unterteilt ist:
Der Cycle Master sendet Start Packets, die für isochrone Übertragungen benötigt werden.
Der Isochronous Resource Manager wird bestimmt, wenn ein Gerät isochrone Datentransfers unterstützt. Er verwaltet beispielsweise die für isochrone Transfers verfügbare Bandbreite und ordnet den Nodes ihre Channel-Nummern zu.
Der Bus Master ist optional.
Schichtenmodell
Das 1394-Protokoll ist in drei Schichten organisiert, die als Transaction, Link und Physical Layer bezeichnet werden:
Der Transaction Layer baut auf dem Control- und Statusregistersatz (CSR) nach IEEE 1212 auf und stellt die Verbindung zum parallelen Gerätebus her.
Der Link Layer ist die Schnittstelle zwischen Transaction und Physical Layer. Er ist verantwortlich für die Paketbildung, Fehlerprüfung und Generierung von Prüfsummen. Da isochrone Transfers den Transaction Layer nicht verwenden, ist der Link Layer auch direkt für die Übertragung in diesem Modus zuständig.
Der Physical Layer ist für die 1394-Businitialisierung und Arbitration verantwortlich. Er wandelt den seriellen Datenstrom für den Physical Layer um.
Transfermodi
1394 kennt zwei verschiedene Transfermodi, die für die Fähigkeiten und Eignung der Schnittstelle für bestimme Anwendungsgebiete entscheidend sind. Daten können bei 1394 entweder im asynchronen (asychronous) oder im isochronen (isochronous) Modus übertragen werden. Besonders der isochrone Modus ist für die Multimediaeignung von 1394 wichtig, denn er erlaubt Transfer in "Echtzeit".
Im asynchronen Modus werden die Daten in Paketen mit ECC übertragen. Jedes Paket wird vom empfangenden Gerät bestätigt und es sind Wiederholversuche möglich.
Für zeitkritische Anwendungen ist eine garantierte Übertragungsbandbreite notwendig, die der isochrone Modus ermöglicht. Für den isochronen Betrieb sind bis zu 80 Prozent der Busbandbreite verfügbar. Insgesamt können also von den 125 Mikrosekunden pro Zyklus für isochrone Transfer bis 100 Mikrosekunden verwendet werden. Bei isochronem Transfer gibt es allerdings keine ECC oder Wiederholversuche.
OHCI und SBP-2
Für den Käufer von 1394-Periherie und Controllern gilt es einen entscheidenden Punkt zu beachten. Wer Massenspeicher wie Festplatten oder Wechsellaufwerke anschließen möchte, sollte sich unbedingt einen OHCI-fähigen Controller zulegen.
OHCI ist aus der Überlegung heraus entstanden, dass man die Treiberprogrammierung für die unterschiedlichen Controllerbausteine vereinfachen wollte. Das trifft nicht nur auf 1394 zu, sondern auch auf andere Bereiche wie USB. OHCI stellt besondere Anforderungen an die 1394-Hardware:
Im Link Layer ist aus Gründen des Kopierschutzes der Snoop-Modus nicht mehr erlaubt, der ein ungeschütztes "mithören" von Videodaten seitens aller angeschlossenen 1394-Geräte erlauben würde. Das simple Kopieren von Video-DVDs und Audio-Datenträger ist somit theoretisch nicht mehr möglich. Weiterhin wurde am Protokoll gefeilt und es sind asynchrone Datenströme (nicht nur Datenpakete) möglich. Die Gaps bei der Übertragung werden anhand von statistisch durchgeführten Tests auf ein Minimum reduziert und an die vorhandene Konfiguration angepasst.
FIFOs sorgen für eine bessere Kopplung an den PCI-Bus.
Mittels sieben verschiedener DMA-Arten wird die Interruptlast im Computer/1394-Gerät reduziert und so auch der Prozessor im PC entlastet. Das ist ein Vorteil von 1394 gegenüber USB.
Serienmäßig ist OHCI-Unterstützung in Windows 98 SE und Windows 2000 integriert. Im Windows-Devicedriver-Modell ist dazu ein OHCI-Minidriver definiert. Auf diesen Classdriver setzt dann eine weitere Treiberschicht auf. Im Beispiel von Bild 7 ist dies der SBP-2 -Port-Treiber für Massenspeicher. Bei zeitkritischen DV-Anwendungen liegt beispielsweise ein Streaming-Class-Treiber über dem OHCI-Minitreiber. Ist eine 1394-Controllerkarte nicht OHCI-fähig, dann muss deren Hersteller selbst mit eigenen Treibern für die Integration in Windows sorgen.
Fazit
Im Prinzip bietet 1394 derzeit die gleiche Leistung wie die Massenspeicher-Schnittstellen UltraDMA/66 und Ultra SCSI. Zwar mögen es je nach Fall ein paar MByte/s mehr oder weniger sein, aber die meisten Festplatten nutzen das Potenzial selbst mit der besten Schnittstelle noch nicht voll aus. Für Wechselmedien und ihre geringeren Transferraten genügt 1394 sowieso. Und bei digitalem Videoequipment reicht die gebotene Leistung schon seit langem. Durch die Autokonfiguration ist die Inbetriebnahme eines 1394-Systems außerdem sehr einfach. Zwar gibt es auch hier Hürden wie Microsofts Plug and Play, aber die grundsätzliche Kombination verschiedener 1394-Geräte zu einem System dürfte jeder Laie begreifen, der auch eine HiFi-Anlage zusammenstecken kann.
Trotzdem wird es 1394 schwer haben. Für Verunsicherung sorgen die verschiedenen Marketing-Namen Firewire oder i.Link. Dazu kommen noch unterschiedliche Steckverbinder. Das Ärgernis mit den nicht OHCI-fähigen Kontrollerkarten dürfte viele Käufer weiter verunsichern. Diese Karten werden von Windows 98 und Windows 2000 nicht serienmäßig unterstützt und bieten damit keinen Massenspeicher-Support.
Schließlich konnten die externen Festplatten im tecChannel-Test nicht überzeugen. Die Datentransferrate ist auf 12,5 MByte/s beschränkt, weil das in der Apple-Welt einfacher zu handhaben ist. Folglich muss man in Zukunft beim Kauf von 1394-Peripherie fragen, ob Sie am PC auch die volle Leistung bringt.
Außerdem kritisch im PC-Bereich: Bei Intel ist im Gegensatz zu VIA in den Roadmaps nichts mehr von Chipsätzen mit integrierter 1394-Funktionalität zu sehen. 1394 kommt auch ohne PC aus, während USB selbst in der Version 2.0 immer einen Computer als Host benötigt. Das mag ein Grund für Intels Zurückhaltung in Sachen 1394 sein. (mec)