Wer kennt das Problem nicht: man kauft
eine neue Erweiterung für den PC,
sucht die passenden Kabel, verstrickt
sich im Gewirr hinter dem Computer-
gehäuse und sucht abschließend die
passenden Treiber. Dann müssen natür-
lich noch diverse Interrupts und DMA-
Kanäle zugewiesen werden. Die für
jede einzelne Kiste nötige Netzspan-
nungsleitung sorgt dann für vollstän-
dige Chaos auf der Verdrahtungsseite.
Selbst die PC-Hersteller finden das nicht
gerade angenehm. Der Universal Serial
Bus (universeller serieller Bus) zeigt, daß
es auch noch bessere und vor allen
Dingen anwenderfreundlichere Lösun-
gen gibt. Der USB bietet vollständig
integriertes “Plug & Play” für alle
Geräte. Für den Anwender heißt das,
daß er ein Gerät zu einem beliebigen
Zeitpunkt mit dem USB-Anschluß des
Computers verbinden kann, selbst das
obligatorisch Ein- und Ausschalten ist
nicht mehr erforderlich. Das Betriebssy-
stem tastet im Abstand von einigen
Sekunden das USB-System nach den
vorhandenen Komponenten ab, und
reagiert adäquat, wenn ein neues
Gerät entdeckt wird. Automatisch wird
Speicher zugewiesen und ein passen-
der Interrupt freigegeben. Maximal 127
Geräte können an den Bus ange-
schlossen werden, wobei der Bus für
Komponenten mit geringer Stromauf-
nahme gleich noch die Stromversor-
gung stellt.
Mittlerweile hat Microsoft in diesem
Zusammenhang angekündigt, daß Win-
dows 98 das USB-Protokoll vollständig
unterstützen wird. Es gibt außerdem
Gerüchte, denen zufolge eine neue
OEM-Version von Windows 95 mit voller
USB-Unterstützung erscheinen soll.
Innerhalb des USB-Systems sind zwei ver-
schiedene Anschlußkategorien vorgese-
hen: eine mit einer Geschwindigkeit von
maximal 1,5 MBit/s und eine mit maximal
12 MBit/s. Unter die erste Kategorie fallen
relativ träge Eingabegeräte wie Mäuse,
Barcode-Leser, Kartenleser und Tastatu-
ren. Die schnellere Interface-Variante ist
für die Datenkommunikation mit Video-
rekordern und Audiosystemen vorgese-
hen und für schnelle Peripherie wie etwa
Festplatten.
Verkabelung
Das USB-Interface arbeitet nach dem
sogenannten Daisy-chain-Prinzip. Das
heißt, alle Geräte werden hintereinan-
der an den Bus angeschlossen. In der
X-2 - 2/98 Elektor
EXTRA
———————————————————— PC-P
LUS
Nach der Vorstellung des USB (Universal Serial Bus) und in
der Folge des FireWire (IEEE 1394) scharten sich fast alle
Anbieter von Hard- und Software in der Computerwelt um
dieses Konzept. Damit ist der USB zum neuen Standard für
den Anschluß von Peripheriegeräten an den PC gewor-
den. Dank dieser Entwicklung gibt es endlich einen Stan-
dard in der Interface-Welt, mit dem sämtliche Peripherie-
komponenten verbunden werden können. Mittlerweile
haben auch die Hersteller von Consumer-Elektronik den
neuen FireWire-Standard umarmt.
USB und FireWire
Alle digitalen Geräte an einem Kabel
Theorie braucht man am Computer
also nur einen Bus, um maximal 127
Geräte anschließen zu können.
Der universelle serielle Bus hat aber
natürlich auch seine Grenzen. Der
maximale Abstand, der ohne weiteres
überbrückt werden kann, liegt bei 5
Metern. Größere Abstände sind mög-
lich, setzen aber die Verwendung von
sogenannten Hubs voraus, das sind
kombinierte Puffer und Verteiler. Ein Hub
kann Bestandteil eines Geräts sein oder
als separate Einheit in die Gerätekette
am USB eingeschleift sein. Wenn ein
Gerät über einen integrierten Hub ver-
fügt, kann man auch mehrere Funktio-
nen in einem Gehäuse unterbringen.
Das kann beispielsweise eine Tastatur
mit eingebautem Kartenleser, einge-
bauter Maus oder integriertem Touch
Pad sein.
Die aktive Verlängerung der USB-Ver-
bindung via Hub ist höchstens sieben-
mal zulässig, damit ergibt sich als maxi-
malem Abstand zwischen PC und letz-
tem Gerät eine Strecke von etwa 40
Metern.
Der USB ist mit einem vieradrigen
Kabel realisiert, wie es in
Bild 1 zu
sehen ist. Zwei dünnere Adern genü-
gen für die Datenkommunikation, die
beiden dickeren Adern übertragen
die nötigen Ströme zur Versorgung
von Geräten. Speziell für kritische
Anwendungen ist noch eine abge-
schirmte Variante des Kabels spezifi-
ziert. Über die beiden Speiseleitungen
können angeschlossene Geräte mit
einer Spannung von 5 V und einem
Strom von maximal 500 mA versorgt
werden. Kleinere Peripheriegeräte wie
etwa ein Modem oder ein Kartenleser
brauchen dann nicht mehr unbe-
dingt ein separates Netzteil.
Der Geräteanschluß wird mit einem
kompakten Stecker mit vier Polen vor-
genommen, dessen Stirnseite gerade
12 · 4,5 mm
2
groß ist.
FireWire, ein Schritt weiter
Der Einsatz des USB beschränkt sich auf
Datenströme von maximal 12 MBit/s. Für
viele Anwendungen rund um den PC ist
das mehr als ausreichend, es sind aber
Anwendungen denkbar, für die wesent-
lich höhere Geschwindigkeiten erfor-
derlich sind. Man braucht nur an die
verlustlose Verteilung von TV-Signalen zu
denken. Hierfür ist gleich ein neuer
Kommunikationsstandard definiert wor-
den: IEEE 1394, besser bekannt als
FireWire. FireWire ist Plattform-unab-
hängig und läßt bestehende Stan-
dards, selbst so ausgereifte wie die
SCSI-Varianten weit hinter sich.
Niedrige Kosten, einfache Handha-
bung dank des kompakten Steckers,
vollständige Plug & Play-Kompatibilität
und besonders hohe Leistung zeichnen
dieses Interfacesystem aus. Es übertrifft
die heutzutage üblichen I/O-Interface-
systeme Centronics, Ethernet, SCSI,
RS232 etc. und vereinfacht gleichzeitig
die Kommunikation zwischen und mit
den Peripheriegeräten ganz erheblich.
Die Datenraten liegen zwischen USB
(maximal 12 MBit/s) und Glasfaser (etwa
1 GBit/s) in. FireWire soll gemäß der Lei-
stungsdaten auch Standards wie Ether-
net (10BaseT) verdrängen können, ist im
Moment aber noch zu teuer.
Außerdem stammt das Ethernet aus der
Computerwelt, während der FireWire
die führende Rolle im Bereich digitaler
Konsumelektronik spielen soll. In Bild 2
ist deutlich zu sehen, daß USB und
FireWire einander ergänzen. Beide
haben ihre spezifischen Einsatzberei-
che: USB wird in dieser Zeichnung rund
um den PC genutzt, während der
FireWire den digitalen Schalter zwi-
schen einem D-VHS-Rekorder, einer Set
Top-Box und einem digitalen Fernseher
bildet.
Die Übertragungsleistung des FireWire
liegt im Moment bei etwa 100 MBit/s,
Geschwindigkeiten von 200 MBit/s bis
400 MBit/s liegen in Reichweite. Anders
als beim USB verwendet man einen ein-
fachen Steckverbinder, der im Hand-
umdrehen angeschlossen werden
kann.
Das Protokoll
Ein wesentlicher Unterschied zu beste-
henden Interfacetypen besteht darin,
daß die in der IEEE 1394 festgelegte
isochrone Datenübertragung transpa-
rent auf bestehende asynchrone
Datenübertragung angepaßt ist. Was
das genau heißt, wird noch näher
erläutert. Die Interface-Definition
erlaubt außerdem die Verwendung
sowohl von Kabel als auch von Back-
planes (das ist die interne Verbindung
unterschiedlicher Computerbestand-
teile). Damit kann das Protokoll sowohl
PC-P
LUS
———————————————————
Elektor
EXTRA
X-3 - 2/98
Power
conductors
Power
conductors
Drain
Braid
PVC jacket
982002 - 11
PVC jacket
Signal
pair
Signal pair
Foil shield
Foil shield
Bild 1. Es gibt zwei Kabel für den USB. Die Version für unkritische Signale besteht aus Sig-
nalleitungspaar und zwei Drähten für die Stromversorgung, die Version für höherfrequen-
te Signale ist zusätzlich abgeschirmt.
Digital TV
Digital Video Recorder
Digital
Camcorder
Digital Camera
PC
Printer
982002 - 12
HDD
Set Top Box
USB
USB
USB
FireWire
FireWire
FireWire
USB
Bild 2. Ein mögliches Anwendungsszenario für USB und FireWire.
im Inneren als auch um den PC herum
genutzt werden.
Je nach verwendeter Logik ist auf der
Backplane eine Geschwindigkeit von
25 bis 50 MBit/s erreichbar, über das
Kabel ist die theoretische Grenze bei
400 MBit/s erreicht.
In das Kabel können maximal 16 Hubs
aufgenommen werden, die höchstens
4,5 m Abstand haben dürfen. Dadurch
ist die maximal überbrückbare Entfer-
nung auf 72 Meter festgelegt.
Bild 3 zeigt eine Konfiguration, in der
zwei Computer und eine Reihe von I/O-
Geräten via IEEE-1394-Bus Daten tau-
schen. Bemerkenswert ist die Verwen-
dung des seriellen Bus in der Back-
plane.
Da der FireWire für höhere Geschwin-
digkeiten ausgelegt ist, sind die Anfor-
derungen an das Kabel natürlich
ebenfalls höher. Während der USB mit
vier Adern auskommt, braucht der
FireWire gleich sechs Adern, Bild 4 zeigt
den Aufbau. Zwei Adern sind für die
Verteilung elektrischer Energie reser-
viert. Zulässig ist eine Gleichspannung
zwischen 8 und 40 V bei einem maxi-
malen Strom von 1,5 A. Die Signaladern
sind miteinander verdrillt (twisted pair),
jedes Paar ist separat abgeschirmt.
Das Modell
Die Definition des FireWire-Protokolls
basiert auf drei sogenannten Layern
(Schichten). Die Grafik in Bild 5
benennt sie: Transaction layer, Link
layer und Physical layer.
Transaction layer
Der Transaction layer regelt die Über-
tragung zwischen zwei Geräten über
den seriellen Bus. Das System kennt drei
verschiedene Aktionen: Read (Daten
vom Gerät zum Hauptsystem), Write
(Daten vom Hauptsystem zum Gerät
und Lock (Daten vom Gerät zum Haupt-
system, welches die bearbeiteten
Daten zurück zum Gerät liefert).
Der Bus unterstützt den IEEE-1212-Stan-
dard, der eine 64-Bit-Adressierung ver-
wendet. Die höchsten 16 Bit der
Adresse werden als Identifikation inner-
halb des Peripheriegeräts genutzt
(Node-ID). Die 16 Bit der Node-ID wer-
den nochmals aufgeteilt in eine
Adresse mit 10 Bit als Bus-ID und eine
Adresse mit 6 Bit Länge als Offset-ID. Da
in allen Fällen die höchste Adresse für
besondere Anwendungen reserviert ist,
bleibt der Maximalausbau auf 1023
Busse mit 63 unabhängig adressierba-
ren Geräten beschränkt. Aber was heißt
da schon beschränkt?
Link layer
Der sogenannte Link Layer beschreibt
das Versenden von Datenpaketen im
Halbduplex-Betrieb. Das Abschicken
eines einzelnen Datenpakets wird als
Subaction bezeichnet, davon gibt es
zwei verschiedene Versionen:
- asynchronous subaction, hierbei wird
eine willkürliche Menge von Daten aus
dem Transaction layer zu einer spezifi-
schen Adresse (Gerät) geschickt und
auf eine Bestätigung (acknowledge)
gewartet.
- isochronous subaction, hierbei wird
eine variable Menge von Daten mit
festgelegten Intervallen geschickt,
ohne auf eine Bestätigung zu warten.
X-4 - 2/98 Elektor
EXTRA
———————————————————— PC-P
LUS
parallel bus
memory
I /O
I /O
I /O
I /O
CPU
bridge
CPU
serial bus (backplane environment)
serial bus (cable environment)
982002 - 13
parallel bus
memory
I /O
CPU
bridge
CPU
serial bus (backplane environment)
Bild 3. Zwei Computer übertragen
Daten via FireWire zur Peripherie
und untereinander. FireWire kann
für die leitungsgebundene Übertra-
gung und als Backplanesystem
eingesetzt werden.
Outher jacket
Signal twisted-pair wires
Power wires
Signal pair shield braided
copper wire
Outher shield braided
copper wire
AL/PET
signal pair #1:
red and green
signal pair #2:
blue and orange
power wire #1:
white
power wire #2:
black
982002 - 14
Bild 4. So ist das FireWire-Kabel aufgebaut.
Für den eigentlichen Versand (Subac-
tion) sind drei Techniken möglich:
- Arbitration Sequence: ein Gerät, das
Daten verschicken will, fordert über den
Physical layer Zugang zum Bus an.
Wenn das Gerät bereits Buszugang
hatte, kann das Senden sofort erfolgen
- Data Packet Transmission: Das Gerät
sendet ein Datenpaket mit Geschwin-
digkeitsinformationen, einen Informati-
onsteil, die Adresse der Quelle und des
Zielgeräts, anschließend die eigentli-
chen Daten. Isochrone Datenpakete
enthalten nur eine Identifikation (Id) und
keinerlei Verweis auf Sender oder Emp-
fänger.
- Acknowledgement: Ein Gerät mit ein-
deutiger Adresse sendet eine Bestäti-
gung aus, deren Sinn die Bestätigung
des Empfangs eines unverfälschten
Datenpakets eines Senders ist. Pakete
die isochron oder asynchron verschickt
wurden, werden nicht quittiert.
Alle asynchronen Übertragungen wer-
den üblicherweise durch kurze Pausen
getrennt, in denen der Bus in Ruhe ist,
die sogenannten “Subaction gaps”.
Bild 6 zeigt eine andere Version. Die
Pausen stecken in dem kurzen Moment
nach der Datenausgabe und vor der
Quittierung durch den Empfänger. Die
Länge der Pause ist von der Systemkon-
figuration abhängig. Ähnliche Pausen
treten auch bei der isochronen Über-
tragung auf, sie werden hier “isoch
gap” genannt (Bild 6b).
Physical layer
Der Physical Layer hat drei Aufgaben:
er setzt die logischen Pegel des Link
Layer in die elektrischen Signale für das
Kabel um, in der Gegenrichtung wan-
delt er Kabelsignale in Logikpegel um.
Er bestimmt die mechanischen und
elektrischen Eigenschaften der Verbin-
dung und fungiert außerdem als eine
Art Schiedsrichter, der über die Vertei-
lung der Buszugänge an die verschie-
denen Geräte wacht.
Die Zukunft
ist entscheidend
USB und FireWire bieten viele Möglich-
keiten. Da die ersten Geräte (Compu-
ter und Peripherie) mit entsprechenden
Schnittstellen gerade erst auf dem
Markt sind, ist über den Erfolg des
Systems beim Konsumenten noch nicht
viel zu sagen. Die nächsten Jahre wer-
den entscheidend sein. Leser, die die
Entwicklung auf diesem Gebiet verfol-
gen wollen, können das über das Inter-
net tun. Informationen über den USB fin-
den sich in: http://www.usb.org, derweil
FireWire eine eigene Site unter dem
Namen http://www.firewire.org. hat.
(982002)
PC-P
LUS
———————————————————
Elektor
EXTRA
X-5 - 2/98
Microprocessor or PCI bus
Transaction layer
(read, write, lock)
Link layer
Packet
receiver
Packet
transmitter
Cycle
control
Connectors
and media
Arbitration
Bus
initialization
Data
resynchronization
Signal
levels
Encode
and
decode
Bus
manager
Node
controller
Serial bus
management
Connectors
1
2
0
Isochronous
resource
manager
Physical layer
982002 - 15
Bild 5. Das FireWire-Protokoll basiert auf drei verschiedenen Schichten (Layer), die mitein-
ander kommunizieren.
subaction
gap
subaction
gap
ack
gap
arb
packet
ack
arb
packet
ack
subaction
gap
ack
gap
subaction 1: request
subaction 2: response
isoch
gap
isoch
gap
arb
packet
arb
packet
first channel
second channel
isoch
gap
isoch
gap
arb
packet
third channel
982002 - 16a
982002 - 16b
Bild 6. Das Zeitdiagramm verdeutlicht die Unterschiede zwischen der asynchronen (a) und der isochronen Kommunikation (b).