Der IEEE-1394-Bus (FireWire)

von
Hans-Gerd Wefels

Lehrgebiet Technische Informatik I
der Fernuniversität Hagen
(Januar 2000)

Abstract

Der IEEE-1394-Bus ist ein Industriestandard, der ein serielles Datentransferprotokoll und ein Netzwerksystem beschreibt, dass die gleiche Bandbreite wie moderne parallele Bussysteme zur Verfügung stellt, allerdings bei wesentlich geringeren Kosten. In dieser Arbeit sollen zunächst die Entwicklungs- bzw. Designziele des IEEE-1394-Bus beschrieben werden. Nach einigen Begriffsdefinitionen wird die Architektur des IEEE-1394-Bus, sowie das zugehörige Speichermodell beschrieben. Anhand des Schichtenmodells des IEEE-1394-Bus werden dann das Übertragungsprotokoll und die isochronen und asynchronen Transfers auf dem Bus charakterisiert. Hier soll insbesondere auf die Bitübertragungsschicht mit der Bus-Konfiguration, -Arbitration und der eigentlichen Datenübertragung bzw. auf die Struktur der Datenpakete eingegangen werden. Abschliessend wird eine kurze Zusammenstellung der Kabel- und Konnektoreigenschaften gegeben.

 

 

Inhalt

1 Einleitung

2 Designziele

3 Überblick über die IEEE 1394 Architektur

3.1 Organisation der Geräte auf dem Bus

3.2 Topologie

3.3 Das Speichermodell

3.4 Übertragungen und Transaktionen

3.5 Kontroll und Statusregister

4 Das Kommunikationsmodell des IEEE-1394-Bus

4.1 Transfertypen

4.1.1 Asynchrone Übertragung

4.1.2 Isochrone Übertragung

4.2 Das Schichtenmodell des IEEE-1394-Bus

4.2.1 Managementschicht

4.2.2 Transaktionsschicht

4.2.3 Verbindungsschicht

4.2.3.1 Aufgeteilte Transaktionen (‚Split‘ Transactions)

4.2.3.2 Verkettete Transaktionen

4.2.3.3 Vereinigte Transaktionen

4.2.4 Bitübertragungsschicht

4.2.4.1 Bus Konfiguration

4.2.4.2 Bus-Arbitration

4.2.4.3 Datenübertragung

5 Kabel- und Steckverbinder

5.1 Kabel und Konnektortypen

5.2 Kabelanforderungen

6 Zusammenfassung

7 Glossar

8 Literaturverzeichnis

 

Verzeichnis der Abbildungen

Abbildung 1: Architektur eines IEEE-1394-Moduls

Abbildung 2: Typische Bustopologie

Abbildung 3: IEEE-1394-Bus Adressraum

Abbildung 4: Isochrone und Asynchrone Transaktionen teilen sich die zur Verfügung stehende Bandbreite

Abbildung 5: Kommunikation auf der Transaktionsschicht

Abbildung 6: Aktionen der Verbindungsschicht während einer aufgeteilten Schreibtransaktion

Abbildung 7: Konzept der verketteten Transaktion

Abbildung 8: Zusammengefasste Transaktion

Abbildung 9: Knoten koordinieren den Buszugriff während verschiedener Operationen (‚Split-Transaction‘)

Abbildung 10: Data Strobe Encoding

Abbildung 11: Allgemeines Format Asynchroner Datenpakete

Abbildung 12: Struktur der Isochronen Datenpakete

Abbildung 13: IEEE-1394 Kabel- und Steckverbinder

 

 

Verzeichnis der Tabellen

Tabelle 1: Designziele des IEEE-1394-Bus

Tabelle 2: Erläuterung zur allgemeinen Struktur der asynchronen Datenpakete

Tabelle 3: Erläuterung der Struktur der isochronen Datenpakete

 

1 Einleitung

In dieser Arbeit soll der Serielle-Hochleistungsbus, der im Standard IEEE-1394-1995: ‚High Performance Serial Bus‘ genormt und im IEEE-P1394a (Juni 1999) Draft-Standard erweitert wurde, beschrieben werden. Dabei sollen die Funktionen, also die physische Übertragung und das Protokoll im Vordergrund stehen.

IEEE-1394-1995 ist eine IEEE Bezeichnung für einen Seriellen-Hochleistungsbus. Der Standard definiert sowohl eine Backplane als physisches Medium als auch einen virtuellen Bus mit einer Punkt-zu-Punkt Kabel-Verbindung. Die Backplaneversion arbeitet bei Geschwindigkeiten von 12.5, 25 oder 50 Mbit/s, während die Kabelversion 100, 200 und 400 Mbit/s unterstützt. Beide Versionen sind von Verbindungsschicht (Bezeichnung nach dem OSI-Schichtenmodell) aufwärts voll kompatibel, sie unterscheiden sich also nur auf der Bitübertragungsschicht (Physical Layer). Der Schnittstellen Standard beschreibt Übertragungs-Methode, -Medium und –Protokoll. Die Hauptanwendung der Kabelvariante ist die Integration von flexiblen I/O Verbindungsmöglichkeiten in Personalcomputer mit Hilfe einer einzigen seriellen Schnittstelle. Der IEEE-1394-Standard stellt auch neue Dienste, wie Echtzeit I/O und das Verbinden und Trennen von Buskomponenten während des Betriebes (live connect/disconnect, hotplugging), z.B. für Plattenlaufwerke, Drucker, Scanner, und Video-Kameras zur Verfügung [Texa99]. In diesem Beitrag wird die Betrachtung der Kabelvariante im Vordergrund stehen.

Andere Bezeichnungen für den IEEE-1394-Bus sind ‚FireWire‘ (ein Handelsname der Fa. Apple) oder ‚i.Link‘ (Sony). Eine ähnliche und den FireWire-Bus nach ‚unten‘ ergänzende Entwicklung ist der USB (Universal Serial Bus). USB ist für Geräte mit geringerem Bandbreitenbedarf wie Keyboards, Mäuse, Joysticks und Floppylaufwerke gedacht. Der USB stellt eine maximale Bandbreite von 12 Mbit/s zu Verfügung [Appl99]. Der IEEE-1394 Standard bzw. der in ihm beschriebene Serielle Bus geht auf eine Entwicklung von Apple aus den 80er Jahren zurück [Adap99]. In der Entwicklungsgeschichte des IEEE-1394 Bus gab es - ohne Anspruch auf Vollständigkeit - folgende Meilensteine [1394TA, Adap99]:

Die Entwicklung des IEEE-1394-Bus wurde und wird motiviert von dem schnell wachsenden Verlangen nach Übertragungskapazität in verteilten Umgebungen bei flexibler Topologie. Typische LAN und erst recht WAN Technologien können weder kostengünstige, schnelle Verbindungsmöglichkeiten bereitstellen, noch ist eine garantierte Bandbreite (QoS, ‚Quality of Service‘) für einzelne Teilnehmer einfach zu realisieren. Hinzu kommt, dass andere - auch parallel arbeitende - Übertragungsnormen wie z.B. SCSI, keine grösseren Distanzen im 10er-Meter-Bereich überbrücken können und auch das ‚hotplugging‘ nicht unterstützen. Weitere Entwicklungsziele von IEEE-1394 sind Zuverlässigkeit, Haltbarkeit und universelle Verbindungsmöglichkeiten [Texa99]. Im folgenden Beitrag soll gezeigt werden, wie diese Ziele - die im nachfolgenden Kapitel noch einmal in tabellarischer Form zusammengefasst und erweitert werden - erreicht wurden. Dabei kann schon wegen der Begrenzung des Umfanges dieser Arbeit nur ein Überblick über die entscheidenden Eigenschaften des IEEE-1394-Bus gegeben werden, für die Details insbesondere der CSR-Register und des Bus-Timings sei auf das Buch von Don Anderson [Ande99] verwiesen, dem auch die meisten der hier wiedergegebenen Informationen entnommen sind. Quellenhinweise werden deshalb im folgenden nur dann gegeben, wenn sie nicht [Ande99] entstammen.

 

2 Designziele

Nach Anderson hat das FireWire Projekt folgende Entwicklungsziele:

Tabelle 1: Designziele des IEEE-1394-Bus

Entwicklungsziel Erläuterung
  • Skalierbarkeit
Betrieb mit 100, 200, 400 Mbit/s.
  • Verbindung und Trennen von Geräten mit dem Bus während des Betriebs (‚hotplugging‘)
Geräte können mit dem Bus verbunden oder von ihm getrennt werden, ohne den Bus stromlos zu machen.
  • Plug & Play
Jedesmal wenn ein Gerät an den Bus angeschlossen oder von ihm getrennt wird, durchläuft das Bussystem eine automatische Neukonfiguration. Die einzelnen Knoten erledigen dies selbstständig, ohne Hilfe eines Hostsystems.
  • Unterstützung für zwei Transaktionsmodi
Isochrone und asynchrone Übertragung werden unterstützt.
  • Drei Schichtenmodell für das Hardware- und Software-modell
Kommunikation basiert auf einer Transaktionsschicht, Verbindungsschicht und physischer Schicht (Bitübertragungsschicht).
  • Unterstützung für 64 Knoten
Unterstützung von 64 Knotenadressen auf einem einzigen Bus; davon 63 Nutzadressen, da die Adresse Nr. 64 die Broadcastadresse ist.
  • Adressraum für 16 Petabytes (Peta = 1015) Speicher pro Bus.
Jeder der 64 Knoten eines Bussegments kann 256 Terabyte Adressraum adressieren, so dass der Adressraum pro Bussegment insgesamt 16 Petabytes beträgt.
  • Unterstützung für 1024 Busse
Die CSR Architektur unterstützt bis zu 1024 Busse mit insgesamt 16 Exabyte (Exa = 1018) Adressraum.
  • Peer-to-peer Übertragungen auf dem Bus
Geräte können Übertragungen untereinander durchführen, ohne auf die Dienste einer Host-CPU zurückgreifen zu müssen.
  • ‚Faire‘ Bus Arbitration
Dient dazu, isochronen Anwendungen eine konstante Bandbreite zu garantieren, während asynchronen Prozessen der Zugriff auf den Bus mit Hilfe eines ‚Fairness Algorithmus‘ gestattet wird.
  • Fehlererkennung und Beseiti-gung
CRC dient dazu, Übertragungsfehler zu erkennen und zu korrigieren.
  • Zwei verdrillte Aderpaare reichen zur Übertragung
Ein Paar dient dabei der Datenübertragung, das andere Paar dient der Synchronisation.
  • Versorgung der Geräte auf dem Bus mit elektrischer Energie kann vom Bus übernommen werden
Jedes Gerät kann als Energiespender oder -verbraucher auftreten.
  • Der Bus ist erweiterbar
Der serielle Bus kann durch neue Geräte erweitert werden, die in Ports eingesteckt werden, die von anderen Knoten zur Verfügung gestellt werden.

3 Überblick über die IEEE 1394 Architektur

3.1 Organisation der Geräte auf dem Bus

Die physische und die logische Organisation von Geräten, die mit dem Bus verbunden werden, wird mit der folgenden speziellen Terminologie beschrieben:

Mit Hilfe folgender Abbildung soll diese Architektur verdeutlicht werden:

Abbildung 1: Architektur eines IEEE-1394-Moduls

3.2 Topologie

Der IEEE-1394 Standard ist eine transaktionsbasierende, paketorientierte Übertragungstechnik für Kabel- und Backplane basierende Umgebungen. Der IEEE-1394-Bus ist so organisiert, als gäbe es einen gemeinsamen Adressraum zwischen den einzelnen Geräten oder als wenn die Geräte in Slots einer gemeinsamen Backplane stecken würden. Die Adressierung erfolgt mit 64 Bit breiten Kennungen, aufgeteilt auf 10 Bit für die Netzwerk (oder Bus) ID, 6 Bit für die Knoten ID und 48 Bit für die Speicher Adresse. Als Resultat ergibt sich die Adressierbarkeit von 1023 Netzwerken (Bussen) mit je 63 Knoten, wobei in jedem Knoten 256 TeraBytes Speicher (2.81 1014 Byte) adressiert werden können. Die Speicher-Adressierung betrachtet – anders als die Kanal Adressierung – Ressourcen als Register oder als Speicheradresse, auf die mit Prozessor-zu-Speicher Transaktionen zugegriffen werden kann. Jedes Gerät auf dem Bus wird ‚Knoten‘ (engl. ‚node‘) genannt und kann individuell identifiziert, adressiert und zurückgesetzt werden. Dabei können mehrere Knoten in einem Gehäuse untergebracht sein. Die wichtigsten Eigenschaften der IEEE-1394 Technik in diesem Zusammenhang sind:

Jeder Knoten wirkt als Repeater, so dass die Knoten zu einer baumförmigen Topologie verknüpft werden können. Wegen der hohen Übertragungsgeschwindigkeiten, ist die Distanz zwischen den einzelnen Knoten auf 4.5m beschränkt. In jedem Bussegment dürfen maximal 16 ‚hops‘ zwischen den am weitesten voneinander entfernten Knoten liegen, so dass die maximale Distanz zwischen zwei Knoten innerhalb eines Bussegments 72m (4.5m * 16) beträgt. M.a.W.: Die Summe der Anzahl der Kind-Knoten von je zwei Teilbäumen eines Knotens darf nicht grösser sein als 16. Die Kabellängen sind hauptsächlich durch die Signaldämpfung beschränkt. Zusammengefasst gibt es folgende Beschränkungen der Kabeltopologie:

Eine weitere Besonderheit des IEEE-1394-Bus ist das Vorhandensein von Stromversorgungsleitungen auf dem Bus (8-40V DC mit bis zu 1.5 A). Damit kann erreicht werden, dass ein Knoten (und damit sein Repeater) selbst dann noch mit Strom versorgt werden kann, wenn der Knoten abgeschaltet ist [Adap99].

Abbildung 2: Typische Bustopologie

3.3 Das Speichermodell

Die ISO/IEC 13213 (Information Technology – Microprocessor Systems – Control and Status Registers (CSR) Architecture for Microcomputer Buses) Spezifikation definiert sowohl ein 32 Bit als auch ein 64 Bit breites Adressmodell. Die IEEE-1394 Spezifikation, die auf ISO/IEC 13213 aufsetzt, unterstützt nur den Modus mit festen 64 Bit Breite. In diesem Adressierungsschema wird der Adressraum in gleichgrosse Teile für 64K Knoten geteilt. Jeweils 64 Knoten werden zu insgesamt 1024 Gruppen zusammengefasst, wobei jede Gruppe jeweils zu einem Bus gehört. Insgesamt resultiert aus dieser CSR Architektur eine Adressraumgrösse von 16 ExaByte (Exa = 1018). Die oberen 0-9 Byte definieren die Busnummer zwischen 0 und 1023. Die Bits 10 bis 15 identifizieren den Zielknoten auf dem selektierten Bus. Die unteren 48 Bits (16 bis 63) definieren jeweils 256 TeraBytes (Tera = 1012) Adressraum für jeden Knoten.

Diese 256 TB sind in Blöcke, die bestimmten Funktionalitäten zugeordnet sind, unterteilt:

 

Abbildung 3: IEEE-1394-Bus Adressraum

3.4 Übertragungen und Transaktionen

Die Art eines bestimmten Busknotens bzw. einer bestimmten Anwendung diktiert, welche Art von Datentransfer dieser Knoten bzw. diese Anwendung benötigt. Einige Anwendungen benötigen einen periodischen Datentransfer mit einem zuverlässigen (empfangsbestätigten) Übertragungsprotokoll (asynchron), während bei anderen Anwendungen die Konstanz der Datenrate das wichtigste Kriterium ist (isochron). Der IEEE-1394-Bus unterstützt beide Modi.

Der Bus muss die zur Verfügung stehende Bandbreite auf die Knoten auf dem Bus verteilen. Um dies zu erreichen, wird ein gegebener Transfer als eine Serie von kleineren Transaktionen hintereinander ausgeführt. Isochrone Transfers benötigen dabei eine konstante Transaktionsrate, während asynchrone Transaktionen periodisch ausgeführt werden können.

Die CSR Architektur definiert drei grundlegende Transaktionstypen die vom IEEE 1394 Bus zur Durchführung von asynchronen Transfers verwendet werden:

Eine asynchrone Bus Transaktion wird von einem Anfrage-Knoten initiiert und von einem Antwort-Knoten beantwortet. Deshalb besteht jede Transaktion aus zwei Subaktionen:

Die Sperrtransaktion ist ein besonderer Mechanismus, der es erlaubt, Lese-Änderungs-Zurückschreib-Operationen durchzuführen ohne das ein spezielles Bussperrsignal notwendig wäre. Statt dessen teilt der Anfrageknoten dem Antwortknoten mit Hilfe der Sperrtransaktion mit, dass er eine atomare Operation auszuführen wünscht.

3.5 Kontroll und Statusregister

Wie schon im Abschnitt Speichermodell beschrieben, stützt sich die IEEE 1394 Architektur auf das ISO/IEC 13213 CSR Architekturmodell. Alle FireWire Knoten müssen deshalb die Kern-Gruppe der Kontroll und Statusregister implementieren, die in der CSR Architektur definiert sind. Zusätzlich zu den Kern-Registern definiert die CSR Architektur busabhängig Speicherplatz für Register, die in der FireWire Spezifikation beschrieben sind. Diese Register stellen eine Standard Schnittstelle zur Verfügung, die es erlaubt, eine einfachere Implementation von Software und eine einfachere Zusammenarbeit von FireWire Implementationen auf verschiedenen Plattformen, sowie das Bridging zwischen verschiedenen Bus Typen, die auf der CSR Architektur fussen, zu unterstützen. Alle CSRs sind 32 Bit breit (‚Quadlets‘ nach der IEEE Spezifikation) und sind auf geraden Quadlet-Adressen ausgerichtet.

Die CSR Architektur beschreibt auch einen Standard-Set an ROM Einträgen, die während der Knoteninitialisierung Konfigurationsinformationen zur Verfügung stellen. Dabei sind zwei ROM Formate definiert:

Die ROM Datenstrukturen werden benötigt, um I/O-Software-Treiber und Diagnose Programme mit den nötigen Informationen über ein bestimmtes Modul, einen Knoten oder eine Unit zu versorgen.

 

4 Das Kommunikationsmodell des IEEE-1394-Bus

Da der IEEE-1394-Bus peer-to-peer Transaktionen unterstützt, wird eine Busarbitration benötigt um zu entscheiden, welcher der Knoten auf dem Bus zu einem gegebenen Zeitpunkt den Bus benutzen darf. Der Arbitrations Mechanismus unterstützt einen ‚Fairness‘-Algorithmus (siehe 4.1.1) der sicherstellt, dass alle Transfers eine faire Chance auf den Buszugang erhalten.

4.1 Transfertypen

Wie im Kapitel 3.3 beschrieben, unterstützt der IEEE-1394-Bus zwei Transfertypen: Asynchrone und Isochrone Transfers. Hier sollen nun die Besonderheiten dieser Transfertypen beschrieben werden. Um die beiden Transaktionsarten auf dem Bus zu ‚mischen‘, wird die zur Verfügung stehende Bandbreite aufgeteilt. Die Bandbreitenverteilung basiert auf einem 125µs langen Zeitintervall, das Zyklus genannt wird. Wie die einzelnen Datenpakete innnerhalb der Zyklen angeordnet werden, gibt folgende Grafik wieder:

Abbildung 4: Isochrone und Asynchrone Transaktionen teilen sich die zur Verfügung stehende Bandbreite

Die Zeitangabe zur Dauer eines Buszyklus ist nur über mehrere Zyklen gemittelt richtig. Es wird zwar vom Zyklus-Master-Knoten (vergl. 4.2.4.1) alle 125µs ein sogenanntes cycle-sync Signal generiert, das heisst aber nicht, dass dann auch der nächste Zyklus beginnt. Falls nämlich ein Knoten erst kurz vor Ende des Zyklus mit der Übertragung eines asynchronen Datenpakets beginnt, führt dies zu einem sogenannten ‚Cycle Skew‘, also einer Verschiebung des Beginns des nächsten Zyklus durch spät initierte asynchrone Transaktionen. Diese Verschiebung wird allen Knoten im nächsten Startpaket bekanntgegeben. Damit isochrone Anwendungen trotz dieser Verzögerungen einwandfrei arbeiten können, müssen solche Applikationen über entsprechend grosse Pufferspeicher verfügen. Die verlorene Zeit wird in den folgenden Zyklen durch das Einsparen der asynchronen Pakete wieder aufgeholt.

4.1.1 Asynchrone Übertragung

Asynchrone Transfers benötigen keine Übertragung mit einer konstanten Datenrate. Ein asynchroner Transfer zielt auf einen bestimmten Knoten auf dem Bus mit Hilfe einer eindeutigen 64 Bit langen Knotenadresse. Diese Transfers benötigen keine konstante Bandbreite und deshalb auch keinen regelmässigen Buszugriff, doch müssen sie über die Zeit betrachtet fairen Zugang zum Bus erhalten. Zusammengenommen werden allen asynchronen Transfers 20% der Busbandbreite zu einem gegebenen Zeitpunkt garantiert. Daher hängt die Menge der übertragenen Daten direkt von der Übertragungsgeschwindigkeit ab. Einem bestimmten Knoten wird keine Bandbreitengarantie gegeben, ihm wird nur fairer Zugang zum Bus zugesichert. Der IEEE-1394-Bus benutzt dazu ein Fairness-Intervall, innerhalb dessen jedem Knoten der eine asynchrone Transaktion durchführen will, genau einmal die Erlaubnis erteilt wird ein Datenpaket zu senden. Daraus folgt sofort, dass die Länge des Fairnessintervalls variabel ist. Falls keine isochronen Transaktionswünsche vorliegen oder die derzeitige Busarchitektur keine isochronen Transfers zulässt (vergl. 4.2.1), kann die asynchrone Transaktionsrate natürlich erheblich höher liegen als die oben erwähnten 20% der zur Verfügung stehenden Bandbreite (bis zu 100%).

Die maximale Paketgrösse für asynchrone Transfers beträgt bei 400Mbit/s 2048 Bytes. Es werden zwar durch die IEEE 1394b Spezifikation höhere Übertragungsraten angegeben, aber die maximale unterstützte Übertragungsgeschwindigkeit und die maximale Paketgrösse bleiben zunächst bei 400Mbit/s bzw. 2048 Bytes (entsprechend 41µs bei 400Mbit/s).

Asynchrone Transfers sind zuverlässige Verbindungen, die den ordnungsgemässen Empfang eines Datenpaketes sicherstellen. Dazu werden CRC und Antwort-Codes eingesetzt und im Falle einer fehlerhaften Übermittlung wird die Übertragung unter Software-Kontrolle wiederholt.

4.1.2 Isochrone Übertragung

Isochrone Transfers verlangen konstante Datentransfers in konstanten Zeitabständen. Diese Transfers definieren eine 6-Bit Kanalnummer, statt einer eindeutigen Adresse wie beim asynchronen Transfer. Dies erlaubt es dem isochronen Datenstrom, zu einem oder mehreren Zieladressen (‚Multicast‘ Transaktionen) gesendet zu werden, je nachdem welche Knoten auf die Kanalnummer reagieren. Isochrone Transfers benötigen deshalb regelmässigen Zugang zum Bus und haben deshalb eine höhere Priorität bei der Busarbitration als asynchrone Transfers. Die Kanalnummern werden von den Empfängern dazu benutzt auf einen Pufferspeicher innerhalb der Anwendungsschicht zuzugreifen.

Jede Anwendung die isochrone Transaktionen benutzten möchte, muss zunächst die nötige Busbandbreite für ihre Übertragungen sicherstellen. Dazu wird die benötigte Busbandbreite von einem ausgezeichneten Knoten dem ‚Isochronen Ressourcen Manager‘ angefordert. Bandbreite wird dabei auf einer per-Zyklus-Basis vergeben.

Wenn die angeforderte Bandbreite für einen isochronen Transfer zur Verfügung gestellt wurde, erhält der betreffende Kanal eine garantierte Zeitscheibe in jedem 125µs langen Buszyklus. Bis zu 80% (100µs) jedes Buszyklus kann für isochrone Transfers zur Verfügung gestellt werden. Die maximale Paketgrösse für einen isochronen Transfer wird wiederum von der zur Verfügung stehenden Busbandbreite begrenzt und darf beispielsweise bei 400 Mbit/s Kabelgeschwindigkeit 4096 Byte (entsprechend 82µs bei 400Mbit/s) nicht überschreiten. Die zu Verfügung stehende isochrone Busbandbreite wird vom Isochronen Ressourcen Manager verwaltet.

4.2 Das Schichtenmodell des IEEE-1394-Bus

Vier Protokoll Schichten sind im Kommunikationsmodell des IEEE-1394-Bus definiert. Diese Definitionen sollen die Implementation von Hard- und Software erleichtern. Jede Schicht hat einen zugehörigen Set an Diensten, die die jeweils niedrigere Schicht der jeweils höheren zur Verfügung stellt.

4.2.1 Managementschicht

Die Managementschicht stellt Funktionen zur Buskonfiguration und für das Management jedes einzelnen Knotens zur Verfügung. Die Knoten verfügen über eine Bus-Managementschicht, um eine Vielzahl an Funktionen im Bereich der Konfiguration und dem Management der Stromversorgung zur Verfügung zu stellen.Was davon jeweils tatsächlich zur Verfügung steht, hängt von den Fähigkeiten der beteiligten Knoten ab. Alle Knoten müssen mindestens aber Funktionen zur automatischen Konfiguration anbieten.

Einige Knoten die am globalen Busmanagement teilnehmen, sorgen dafür, dass die Busteilnehmer ordnungsgemäss zusammenarbeiten und ihre Aufgaben effizient erledigen können. Diese globalen Aufgaben bestehen aus:

Nach Anderson [Ande99] identifiziert IEEE-1394 drei globale Bus Management Rollen, die die Unterstützung für einen komplett gemanageten Bus sicherstellen:

Diese Rollen können von drei verschiedenen Knoten oder auch von einem einzigen wahrgenommen werden. In Abhängigkeit von den Fähigkeiten der Knoten auf dem Bus können die Rollen bis auf den Zyklus-Master aber auch ‚unbesetzt‘ bleiben, d.h. die Fähigkeiten des Bus-Managements auf einem bestimmten Bus können durchaus begrenzt sein oder sogar gänzlich fehlen. Mit anderen Worten: In einem gegebenen System mit hinreichend ‚dummen‘ Busknoten gibt es keinen IRM und damit auch überhaupt keine isochronen Transaktionen und auch kein Busmanagement.

4.2.2 Transaktionsschicht

Die Transaktionsschicht unterstützt nur asynchrone Transfers und ist nicht an isochronen Transfers beteiligt. Wie im Abschnitt 3.4 schon dargestellt, werden drei asynchrone Transaktionstypen unterstützt: Lese, Schreib und Sperrtransaktionen. Wegen der starken Kapselung der einzelnen Schichten des Kommunikationsmodells, benötigt eine IEEE-1394 Applikation nur geringe Kenntnisse über die weiter unten liegenden Schichten. Die Anwendungen schicken lediglich Anfragen für Datentransfers an die Transaktionsschicht. Die Transaktionsschicht zerlegt dann diese Anfragen in eine oder mehrere Transaktionsanfragen, die benötigt werden, um den Transfer zu komplettieren. Die resultierenden Transaktionsanfragen legen auch fest, ob es sich um eine Lese, Schreib oder Sperrtransaktion handelt. Die Transaktionsschicht stellt im Zusammenhang mit dem Transaktions-Datenfluss Dienst-Primitive zur Verfügung wie folgt:

Nachfolgende Grafik soll nochmals das Zusammenspiel der Dienste der Transaktionsschicht illustrieren:

Abbildung 5: Kommunikation auf der Transaktionsschicht

Die IEEE-1394 Spezifikation sieht auch eine Verifikation der ordnungsgemässen Zustellung von Datenpaketen auf Transaktionsebene vor. Dazu werden für (fast) alle Datenpakete 1-Byte lange Bestätigungspakete versandt. Falls die Bestätigung (Acknowledge) ausbleibt, kann die Übertragung wiederholt werden. ‚Fast‘ deshalb, weil zwei Sorten von Paketen keine Bestätigung verlangen: Broadcast-Pakete und Isochrone Pakete (falls ein Paket verloren geht, kann es nicht in Echtzeit rekonstruiert werden).

4.2.3 Verbindungsschicht

Für asynchrone Transaktionen stellt die Verbindungsschicht die Schnittstelle zwischen Transaktionsschicht und Bitübertragungsschicht zur Verfügung. Die Verbindungsschicht benutzt ein ähnliches Anfrage/Antwort-Protokoll wie die Transaktionsschicht. Die Verbindungsschicht des Anfragers übersetzt die Transaktionsanfragen aus der Transaktionsschicht in FireWire Datenpakete, die dann über das Bus-Kabel gesendet werden können. Die Verbindungsschicht des Beantworters setzt die Pakete wieder zu Transaktionsanfragen zusammen und übergibt diese an seine Transaktionsschicht. Ähnlich wie beim OSI Schichtenmodell kommunizieren auch beim IEEE-1394-Bus jeweils zwei Schichten der Tiefe n miteinander (siehe Abbildung 5).

Für isochrone Transaktionen stellt die Verbindungsschicht die Schnittstelle zwischen isochronem Software Treiber und der Bitübertragungsschicht zur Verfügung. Während einer Übertragung erstellt die Verbindungsschicht die isochronen Datenpakete, die dann von der Bitübertragungsschicht übernommen und über das Medium verschickt werden. Ebenso werden empfangene isochrone Pakete von der Bitübertragungsschicht übernommen, die Kanalnummer wird gelesen und falls das Paket für diesen Knoten gedacht war, wird es an den entsprechenden Software-Treiber übergeben.

Da die beteiligten Knoten nicht zwangsläufig über die gleiche Verarbeitungsgeschwindigkeit verfügen und der Zeitbedarf für die Abwicklung einer Transaktion variabel sein kann, gibt es folgende Transaktionsarten:

4.2.3.1 Aufgeteilte Transaktionen (‚Split‘ Transactions)

Geteilte Transaktionen treten auf, wenn die Antwort Subaktion so langsam ist, dass zwischen der Anfrage und der Antwort noch andere Knoten Subaktionen und/oder Transaktionen durchführen könnten. Dies führt zu einer Art Transaktions-‚Pipelining‘ auf dem Bus. Anderson [Ande99] bezeichnet diese Eigenschaft als ‚multithreaded‘, da einem Anfrager erlaubt wird, eine neue Transaktion zu beginnen, bevor die vorhergehende beendet ist. Die folgende Darstellung aus Anderson verdeutlicht dies:

Abbildung 6: Aktionen der Verbindungsschicht während einer aufgeteilten Schreibtransaktion

4.2.3.2 Verkettete Transaktionen

Diese Transaktionsvariante tritt auf, wenn der Antwort-Knoten schnell ist. Er ist dann in der Lage, die Antwort auf eine Anfrage direkt an das Anfrage-Bestätigungspaket anzuhängen ohne vorher nochmals eine Arbitration zu durchlaufen; dies spart Zeit. Denn wie in Abbildung 9 gezeigt, wird vor der Sendung eines Bestätigungspaketes nicht noch einmal eine Bus-Arbitration durchgeführt. Dieser Mechanismus soll wieder duch eine Grafik verdeutlicht werden:

Abbildung 7: Konzept der verketteten Transaktion

4.2.3.3 Vereinigte Transaktionen

Die vorhergehenden Beispiele mit aufgeteilten oder verketteten Transaktionen zeigten Transaktionen die explizite Anfrage und Antwortsubaktionen benötigten. Manchmal kann eine Schreib-Transaktion dadurch beschleunigt werden, indem das Bestätigungs- und das Antwortpaket auf eine Anfrage kombiniert werden. Bei Schreibanfragen handelt es sich hier um die Bestätigung der Transaktionsschicht des Antwortknotens, der die Antwort der schreibenden Anwendung an die Verbindungsschicht übergibt, wo die Antwort in das Bestätigungspaket integriert wird. Dies funktioniert natürlich nicht bei Lese- und Sperr-Transaktionen da hier nur 1-Byte lange Bestätigungspakete gesendet werden. D.h. Lese- und Sperr-Transaktionen können nur als aufgeteilte oder als verkettete Transaktionen ausgeführt werden. Zusammengefasst treten vereinigte Transaktionen dann auf, wenn die Anfrage Subaktion und die zugehörige Antwort Subaktion als unteilbare Einheit auftreten, d.h die Antwort wird sofort als Teil der Bestätigung auf die Anfrage zurückgegeben.

Abbildung 8: Zusammengefasste Transaktion

4.2.4 Bitübertragungsschicht

Die Bitübertragungsschicht oder physische Schicht stellt die eigentliche Schnittstelle zwischen der Verbindungsschicht und dem Bus zur Verfügung. Die Bitübertragungschicht stellt mindestens einen Port zum Bus zur Verfügung. Jeder Port treibt zwei verdrillte Kupferdrähte die jeweils mit TPA/TPA* und TPB/TPB* bezeichnet werden. Diese beiden Leiterpaare werden benutzt, um alle Bussignale zu übertragen. Dies sind:

Die IEEE-1394 Verbindungskabel sind jeweils so beschaffen, dass TPA/TPA* mit TPB/TPB* und umgekehrt verbunden sind (‚crosswired‘). Nach dem Einschalten ist die erste Aufgabe des Bussegments seine eigene Konfiguration. Wenn dies abgeschlossen ist, können alle Knoten mit ihren Datentransfers über den Bus beginnen. Da zu einem bestimmten Zeitpunkt jeweils mehr als eine Transaktion anstehen kann, ist Bus-Arbitration vor dem Beginn der Transaktion erforderlich. Auf diese Weise teilen sich alle Knoten die Leitungspaare TPA und TPB während der Arbitrationsphase jeder Transaktion, um zu bestimmen, wer als nächster den Bus benutzen darf. Nach dem Ende einer Busarbitrationsphase, darf bis zum Beginn einer neuen Arbitration nur noch der Gewinner den Bus benutzen, um Daten zu übertragen. Folgende Grafik verdeutlicht den Ablauf:

Abbildung 9: Knoten koordinieren den Buszugriff während verschiedener Operationen (‚Split-Transaction‘)

4.2.4.1 Bus Konfiguration

Eine der Hauptaufgaben der Bitübertragungsschicht ist die Teilnahme am Konfigurationsprozess. Die Konfiguration beginnt jeweils, wenn der Bus eingeschaltet wird oder wenn ein neues Gerät an den Bus angeschlossen oder vom Bus entfernt wird. Die Konfiguration beginnt jeweils mit einem Reset, und wird dann mit den Stufen ‚Tree-ID‘ und ‚Self-ID‘ fortgesetzt. Alle Knoten nehmen an diesem Prozess teil. Wenn die letzte Phase abgeschlossen ist beginnt die erste Arbitration um den Buszugang und danach beginnen die ‚normalen‘ Bus Transfers. Der Tree-ID Prozess dient dazu, den Root-Knoten und die Topologie der angeschlossenen Knoten zu ermitteln. Als Resultat wird jeder Port auf dem Bus entweder ein Kind- oder ein Eltern-Port. Dabei ist ein Kind-Port immer mit einem Knoten verbunden der weiter vom Root-Knoten entfernt ist als der jeweilige Eltern-Port. Blatt-Knoten haben nur einen Eltern-Port. Während der Phase ‚Self-ID‘ werden die folgenden Aufgaben erledigt:

Während der Self-ID Phase sendet der Root-Knoten jedem angeschlossenen Knoten ein sogenanntes Self-ID-Grant Signal. Dieser Prozess stützt sich auf physische, firmwarebasierte Portnummern in jedem IEEE-1394-Knoten. Der Root-Knoten sendet zunächst ein Self-ID-Grant an das Bussegment das an dem Port mit der niedrigsten Portnummer hängt. Der nächste Knoten verfährt ebenso und so weiter bis ein Blattknoten erreicht ist. Dieses erhält die physische ID ‚0‘ und sendet ein Self-ID-Datenpaket. Alle anderen Knoten hören dieses Paket mit und merken sich die zuletzt vergebene physische ID. Der nächste Self-ID-Grant steigt ebenso entlang der niedrigsten Portnummern im Baum ab, bis ein Knoten erreicht ist, an dessen Kind-Ports bereits identifizierte Knoten hängen. Nun kann dieser Knoten sich eine physische ID zuweisen und sein Self-ID Paket schicken. Dieser Algorithmus führt im Ergebnis dazu, dass der Root-Knoten die höchste Adresse bekommt (in-order-Durchlauf eines Baumes). Alle Übertragungen bis zu diesem Zeitpunkt verlaufen mit der langsamsten Übertragungsrate von 100Mbit/s, weil ja bis dahin die Fähigkeiten der Knoten noch nicht bekannt sind.

Nach dem Ende der drei Buskonfigurationsphasen sind Root-Knoten, Zyklus Master und IRM bekannt. IRM kann nur ein Knoten werden, der dazu in der Lage ist; er signalisiert dies in seinem Self-ID-Paket. Ist mehr als ein Bewerber vorhanden, gewinnt derjenige mit der höchsten physischen ID. Daraus folgt sofort: Falls der Root-Knoten IRM-fähig ist, wird er auf jeden Fall Isochroner Ressourcen Manager. Der Zyklus Master muss immer der Root-Knoten sein. Falls dieser nicht Zyklus-Master-fähig ist, wird die Aufgabe vom IRM übernommen. Dieser wird dann auch zum Root-Knoten.

4.2.4.2 Bus-Arbitration

Knoten die eine Anfrage über den Bus intiieren wollen, oder Knoten die eine Antwort auf eine Anfrage senden wollen, müssen zunächst den Bus zugeteilt bekommen. Dies wird ebenfalls mit den beiden Signal-Paaren TPA und TPB bewerkstelligt. Wie in Abbildung 9 dargestellt, erfordert beispielsweise eine Split-Transaktion, dass Anfrager und Beantworter jeweils erfolgreich die Arbitration durchlaufen müssen, um mit der Datenübertragung beginnen zu können. Das Senden von Bestätigungspaketen ist hiervon ausgenommen und wird als atomare Operation ausgeführt, das heißt andere Knoten beginnen erst dann wieder mit einer Bus-Arbitration, wenn die Bestätigung empfangen wurde.

Der Beginn einer Arbtrationsphase wird durch eine Zeitspanne gekennzeichnet, in der der Bus frei ist; dadurch wird das Ende der letzten Transaktion angezeigt. Dieses Zeitintervall, ‚gap-time‘ genannt, variiert zwischen isochronen und asynchronen Transaktionen. Im Falle isochroner Transaktionen (‚isochronous gap‘) beträgt es 0.04-0.05µs, im Falle asynchroner Transaktionen (‚subaction gap‘) sind es 10µs. Letzerer Wert ist allerdings nur der Startwert, er kann im Verlaufe des Busbetriebes verkürzt werden, um den Durchsatz zu verbessern.

In Abhängigkeit von der geplanten Transferart werden folgende Arbitrationstypen benutzt:

Die eigentliche Arbitrationsregel ist einfach: Sind zwei Knoten gleichzeitig sendebereit, so gewinnt der, der die höhere physische ID hat, oder anders ausgedrückt derjenige, der einen geringeren Abstand zum Root-Knoten besitzt. Anderson benutzt hierfür den Ausdruck ‚natural priority‘. Im Draft Standard IEEE-1394a ist die Prioritäts Arbitration auch für Knoten vorgesehen die nicht Root-Knoten sind, denn der Root-Knoten gewinnt immer die Arbitration, weil er die höchste physische ID hat. Die Anzahl der Prioritäts Arbitrationen wird allerdings für ein gegebenes Fairness-Intervall beschränkt und im Übrigen vom Bus-Management überwacht.

4.2.4.3 Datenübertragung

Die Übertragung der Datenpakete erfolgt bidirektional auf den Leitungspaaren TPA und TPB, wobei eine Kombination aus NRZ (Non Return To Zero) und Data-Strobe-Encoding eingesetzt wird. Dabei werden die Daten über TPB gesendet, während der Strobe über TPA geschickt wird. Da die Datenrate variabel ist, werden vorher Informationen über die Übertragungs-Geschwindigkeit während der Paketübermittlung gesendet. NRZ ist ein Übertragungsverfahren das dazu dient, den Hochfrequenzanteil (d.h. die Anzahl der Pegelwechsel) eines bipolaren Datenstroms aus Nullen und Einsen zu reduzieren. Der Signalpegel wechselt nur, wenn auch ein Wechsel von 1 nach 0 oder umgekehrt im Datenstrom vorkommt. Das Strobe Signal wird durch eine XOR Verknüpfung des Datensignals mit einem Takt-Signal erhalten. Dies bedeutet, dass beim Empfänger durch eine neuerliche XOR Verknüpfung des Strobe-Signals mit dem Datensignal das Taktsignal rekonstruiert werden kann, was wiederum zur Synchronisation des empfangenen Datenstroms genutzt werden kann. Gleichzeitig erspart man sich auch die hochfrequente Übertragung eines Taktsignals. Folgende Abbildung verdeutlicht dies:

Abbildung 10: Data Strobe Encoding

Die Struktur der Datenpakete wird schematisch in der folgenden Abbildung wiedergegeben:

Abbildung 11: Allgemeines Format Asynchroner Datenpakete

 

Tabelle 2: Erläuterung zur allgemeinen Struktur der asynchronen Datenpakete

Feldname Abkürzung Beschreibung
Zieladresse Destination_ID Kombination der Busadresse und der physischen Bezeichnung des Knotens.
Transaktionsbezeichner Tl Ein Bezeichner, festgelegt vom Urheber, der diese Transaktion identifiziert. Falls benutzt wird tl in der Antwort zurückgegeben.
Wiederholungscode Rt Dieser Wert kennzeichnet, ob es sich bei diesem Paket um den ersten oder um einen wiederholten Übertragungsversuch handelt.
Transaktionscode tcode Legt fest, um welche Art von Transaktion es sich handelt (z.B. Schreib-Anfrage (0), -Antwort(2), Zykusstartpaket (8), Schreib-Anfrage (4), -Antwort (6), Sperranfrage (9) etc.)
Priorität Pri Wird in der IEEE-1394 Kabelvariante nicht benutzt.
Quelladresse Source_ID Absender dieses Pakets (in der gleichen Struktur wie die Zieladresse).
Ziel Offset Destination_offset Gibt die Adresse im Adressraum des Zielknotens an.
Datenblock Quadlet_data Daten die zum Zielknoten transportiert werden.
Header CRC Header_crc CRC Wert für die Kopfdaten des Pakets.

Für jeden speziellen Einsatzzweck wie z.B. Sperranfragen, Zyklusstart, Bestätigungspakete, etc. gibt es Abwandlungen bzw. Erweiterungen dieses Formates auf deren Struktur aus Platzgründen nicht näher eingegangen werden kann; näheres in [Ande99].

Die allgemeine Struktur der Isochronen Datenpakete ist einfacher:

Abbildung 12: Struktur der Isochronen Datenpakete

Tabelle 3: Erläuterung der Struktur der isochronen Datenpakete

Feldname Abkürzung Beschreibung
Datenlänge Data_length Länge kann irgendein Wert zwischen 0 und FFFFh sein. Falls die Länge kein Vielfaches von vier ist, muss der Sender das Feld entsprechend mit Nullen auffüllen (padding).
Isochrones Datenformat Tag tag Der Wert von 00b zeigt an, dass die isochronen Daten nicht formatiert sind (alle anderen Werte sind reserviert).
Transaktions Code tcode Der Transaktionscode für eine isochrone Transaktion ist immer Ah.
Synchronisations Code sy Anwendungsspezifisches Feld
Header CRC Header_crc CRC Wert der Kopfdaten
Daten Block Nutzlast Data_field Eigentliche Nutz-Daten die transportiert werden sollen. Das letzte Feld ist eventuell mit Nullen aufgefüllt.
Daten Block CRC Data_crc CRC Wert für die Nutzdaten.

 

5 Kabel- und Steckverbinder

5.1 Kabel und Konnektortypen

Zwei Kabeltypen werden vom IEEE-1394 Standard unterstützt. Die original IEEE-1394-1995 Spezifikation definiert einen einzigen 6-poligen Verbindungsstecker/Buchse und ein entsprechendes Kabel. Die Stecker sind an beiden Enden eines Verbindungskabels gleich und können in jede Richtung gesteckt werden. Das IEEE-1394a Ergänzungsdokument definiert ein alternatives 4-poliges Kabel mit 4-poligem Stecker. Auch Kabel mit je einem 6- und einem 4-poligen Stecker sind definiert. Die Einsparung von zwei Pins ergibt sich durch Weglassung der Stromversorgungsleiter z.B. für batteriebetriebene Geräte. Die Abmessungen der Steckverbinder sind mit 11.3x6.2mm relativ klein. Die 6-pin Steckdose besitzt längere Stromversorgungspins, so dass sichergestellt ist, das die Stromversorgungspins vor den Datenpins Kontakt haben (und umgekehrt, wenn der Kontakt gelöst wird).

Abbildung 13: IEEE-1394 Kabel- und Steckverbinder

5.2 Kabelanforderungen

Die elektrischen Anforderungen an die 4 und 6 Leitervarianten sind die gleichen. Für das 6 adrige Kabel wird ein doppelt-abgeschirmtes - beide verdrillten Signalkabelpaare und das ganze Kabel sind jeweils mit einer Abschirmung versehen - Kabel verwendet. Die Verbindung der beiden Stecker geschieht so, dass TPA (Pin 5+6) mit TPB (Pin 3+4) und TPB mit TPA verbunden wird (‚crosswired‘). Beim 4-adrigen Kabel, das ebenfalls doppelgeschirmt ist, wird ebenfalls TPA (Pin 3+4) mit TPB (Pin 1+2) verbunden. Die Kabellänge soll 4.5m nicht übersteigen (dies gilt für die Signalhöchstgeschwindigkeit von 5.05 ns/m).

6 Zusammenfassung

Der FireWire Bus ist ein Hochgeschwindigkeitsbussystem das hinsichtlich seiner Reichweite und seiner Übertragungskapazität von bis zu 50 Mbytes/s zwischen Standard-LAN-Technologien und Parallelen Hochgeschwindigkeits-Rechnerbussystemen wie z.B. dem PCI-Bus mit 132 Mbyte/s steht. Immerhin ist der FireWire viermal so schnell wie 100BaseT-Ethernet bzw. 40 mal schneller als das Standard Ethernet 10BaseT.

Sein größter Vorteil gegenüber diesen anderen Systemen, ist offensichtlich die ‚Plug and Play‘ Fähigkeit, das ‚Hot-Plugging‘ und die Möglichkeit einen FireWire-Bus auch ohne Host-Computer zu betreiben. Letztere Möglichkeit ist hauptsächlich in Umgebungen im Unterhaltungs- und Haustechnikbereich (Video-, Audio und ‚Facilitymanagement‘) von Wichtigkeit. Aber auch als Netzwerkverbindung zwischen einzelnen Host-Systemen in Büros und Labors, wo es nicht auf die Überbrückung grösserer Entfernungen ankommt, läßt sich FireWire einsetzten, da es sich um einen Peer-To-Peer Bus handelt, der auch mehrere unterschiedliche Hosts (z.B. Apple MacIntosh und PC-Systeme) auf einem Bus verbinden kann [Appl99]. Der Hauptvorteil hierbei ist seine Flexibilität und die Einfachheit mit der Geräte und Rechner mit seiner Hilfe zu einem Kommunikationssystem integriert werden können.

 

7 Glossar

Arbitration   Der Prozess, der bestimmt, welcher Knoten als nächster den Bus zugeteilt bekommt und das nächste Datenpaket senden darf.
Asynchrone Transaktion   Anwendungen die keine garantierte Busbandbreite benötigen und längere Latenzzeiten zwischen Daten-Transfers tolerieren können, benutzen diese Art der Transaktion. Der Buszugang für asynchrone Transaktionen wird über ein Fairness-Intervall geregelt. Für diese Art der Datenübermittlung stehen mindestens 20% des Buszyklus zur Verfügung.
CRC   Cyclic Redundancy Check. Eine Fehlererkennungstechnik, bei der eine Folge von Steuerbits am sendenden Ende berechnet, dem zu übertragenden Block angehängt und erneut am empfangenden Ende berechnet wird. Stimmen die empfangenen und gesendeten Steuerbits überein, ist höchstwahrscheinlich keine Störung aufgetreten. Der Wert der Steuerbits wird mit Hilfe des Restes einer (binären) Polynomdivision erhalten.
CSR Architektur   In der ISO/IEC 13213 (ANSI/IEEE 1212) (Information Technology – Microprocessor Systems – Control and Status Registers (CSR) Architecture for Microcomputer Buses) Spezifikation definiertes Adressmodell für Bussysteme in Microcomputern.
Fairness Intervall   Eine vorab unbestimmte Spanne der Bus-Zeit, die von allen angeschlossenen Knoten benötigt wird, um genau je eine asynchrone Subaktion inklusive Arbitration auszuführen. Wenn ein Knoten eine Subaktion abgeschlossen hat, wird er innerhalb dieses Fairness Intervalls nicht noch einmal versuchen exklusiven Zugriff auf den Bus zu erhalten. Das Ende des Fairness Intervalls wird an der sogenannten Arbitrations-Reset-Lücke erkannt, einem Bus-frei-Zustand der allen Knoten signalisiert, dass ein neues Fairness Intervall beginnt.
IEEE   Institute of Electrical and Electronical Engineers.
ISO   International Standardisation Organisation. Internationale Standardisierungs Organisation.
Isochrone Transaktion   Unter einer Isochrone versteht man eine Verbindungslinie zwischen Orten an denen ein Phänomen gleichzeitig eintrifft. Übertragen auf den IEEE-1394-Bus bedeutet dies, dass ein einmal zugewiesener isochroner Kanal solange die gleichen Zeitanteile (allocation units) eines Buszyklus erhält, bis der Transfer abgeschlossen ist. Für isochrone Transaktionen stehen höchstens 80% des Buszyklus zur Verfügung.
Isochroner Ressourcen Manager (IRM)   Ein bestimmer Knoten auf dem IEEE-1394-Bus, der allen Knoten die zur isochronen Datenübertragung fähig sind, Dienste wie z.B. Kanal- und Bandbreitenzuweisung anbietet.
LAN   Local Area Network. Damit werden im Allgemeinen Netzwerke umschrieben die keine öffentlichen Netze benutzen bzw. keine WAN-Verbindungen besitzen.
NRZ   Non Return to Zero. Diese Technik konvertiert bipolare Signale in eine digitale Form wobei positive und negative Übergänge ‚High‘ oder ‚Low‘ bleiben und nicht auf ‚0‘ zurückkehren bis ein Flankenwechsel in die andere Richtung auftritt.
OSI-Modell   Open Systems Interconnection Referenzmodell. Bezeichnet ein 1984 mit dem Dokument ISO 7498 veröffentlichtes Architekturmodell für Rechnerkommunikation.
SCSI   Small Computers System Interface. Ein parallel arbeitender Bus, der in seiner Originalimplementation 8 Geräte unterstützt (7 + Hostcontroller).
Transaktion (im Sinne des IEEE-1394)   Ein vollständiger Transfer von Information von einer Anwendung zu einer anderen über den seriellen Bus. Transaktionen bestehen aus einzelnen Paketen für isochrone Transaktionen und zwei oder vier Paketen für asyncrone Transaktionen.
WAN   Ein Fernnetz (Wide Area Network, WAN) erstreckt sich über eine grösseren geographischen Bereich, meist ein Land oder einen Kontinent. Die meisten Fernnetze sind aus Übertragungsleitungen und Vermittlungselementen aufgebaut.

8 Literaturverzeichnis

[1394TA] 1394 Trade Association: 1394 Technology, http://www.1394ta.org/technology/index.htm

[Adap99] Adaptec: Fire on the Wire: The IEEE 1394 High Performance Serial Bus, http://www.adaptec.com/technology/standards/1394/bus1.html, 1999

[Ande99] Anderson, Don: FireWire Systems Architecture: IEEE 1394a, 2nd Edition Mindshare, Reading Massachusetts 1999

[Appl99] Apple Computer FireWire Technology Fact Sheet, http://www.apple.com/firewire, 1999

[Texa99] Texas Instruments: 1394 High Performance Serial Bus, http://www.ti.com/sc/docs/products/msp/intrface/1394/tech.htm, 1999