Peripherie Busse

Transcrição

Peripherie Busse
Uwe Stanitzek
Werner-von-Siemensschule
FTET3 Datentechnik
Peripherie Busse
• Enhanced Integrated Disk Electronic
• Universal Serial Bus
• Firewire , I-link
Seite 1 von 20
Enhanced Integrated Disk Electronic
Wer kennt schon genau die Unterschiede zwischen ATA, ATA-3, Atapi, UDMA-2 und
UDMA-4? Keine Angst, so schwierig, wie das Ganze auf den ersten Blick erscheint, ist
es gar nicht. Im Grunde basieren alle diese Standards auf der 1981 vorgestellten IDESchnittstelle. IDE steht für "Integrated Drive Electronic" und wird seit nunmehr 18 Jahren
als 40polige Schnittstelle zum Anschluss von Massenspeichern umgesetzt. Was sich
allerdings innerhalb dieser Jahre änderte, waren die elektronischen Protokolle, über die
die Massenspeicher von der IDE-Schnittstelle angesprochen wurden.
Über 13 Jahre zogen ins Land, bis der ATA-1-Standard von ATA-2 abgelöst wurde.
Eines der Hauptmerkmale von ATA-2 war eine Funktion, die als "Synchronous
Transfers" bezeichnet wurde: Daten- und Steuersignale konnten damit synchron
übertragen werden, die Leistungsfähigkeit der Schnittstelle kletterte durch die
Einführung von neuen Übertragungsmodi wie PIO Mode 4 und DMA Mode 2 auf bis zu
16,6 MByte/s. Bei PIO und DMA handelt es sich übrigens um sogenannte BusmasterModi, die speziell vom Betriebssystem (und Bios) unterstützt werden müssen. Bereits
zwei Jahre (1996) nach der Einführung von ATA-2 wurde der ATA-3-Standard
vorgestellt, der um die Sicherheitsfunktionen S.M.A.R.T. und den sogenannten "Secure
Mode" um zwei Funktionen zur Vorbeugung und Sicherung gegen Plattenausfälle
erweitert wurde - die Performance und Übertragungsmodi von ATA-3 entsprechen
denen von ATA-2.
Die Einführung von ATA-4 1997 liegt gerade mal zwei Jahre zurück. Neben einem
deutlich verbesserten Handling für Steuersignale erkennt ATA-4 auch Nicht-Festplatten
wie CD-ROM-Laufwerke oder -Brenner bereits beim Booten ohne speziellen Treiber. Mit
der Einführung eines neuen Busmaster-Modus namens UDMA 2 erhöht sich die
maximale Datentransferrate von 16,6 MByte/s auf 33,3 MByte/s. ATA-4 unterstützt
abwärtskompatibel auch die alten Modi PIO und DMA. Brandneu ist der ATA-5-Modus,
der 1999 eingeführt wurde. Das Protokoll wurde um den UDMA-4-Modus erweitert, der
eine maximale Übertragungsgeschwindigkeit von 66,6 MByte/s erlaubt - damit steht
ATA-5 deutlich über Ultra- und sogar Ultra-Wide-SCSI, die maximale Übertragungsraten
von 20 respektive 40 MByte/s bieten.
Eine wichtige Neuerung ist mit Einführung der UltraDMA-Modi 0 bis 5 hinzugekommen.
Am Ende eines jeden UltraDMA-Bursts wird eine Fehlererkennung des übertragenen
Datenstroms durchgeführt. Durch diese CRC-Prüfsumme erhöht sich die Sicherheit der
Datenübertragung enorm. Der Host sowie das Gerät berechnen nach einem im ATA-4
festgelegten Algorithmus (G(X)=X16+X12+X5+1) die CRC-Prüfsumme. Dieser
Algorithmus ist in der Elektronik implementiert. Am Ende eines jeden Datenbursts
sendet der Host die Prüfsumme an das Gerät. Das Gerät überprüft die beiden
Prüfsummen. Ist ein Fehler aufgetreten, wird der fehlerhafte Datenburst nochmals
übertragen. Treten jedoch massive Fehlerhäufungen auf, schaltet der Host auf einen
langsameren UltraDMA-Modus um. Dieser Vorgang läuft unabhängig vom Prozessor.
Diese Art von Fehlererkennung durch eine Polynomberechnung ist gegenüber einer
einfachen Parity-Bit-Prüfung, wie sie bei der SCSI-Schnittstelle zur Verwendung kommt,
wesentlich sicherer.
Seite 2 von 20
• Übertragungsmodi bzw. Übertragungsarten
Die ATA-Spezifikation legt drei grundlegende Übertragungsprotokolle für die IDESchnittstellen fest. Es sind der PIO-Mode 0 bis 4, der Multiwort-DMA 0 bis 2, und der
UltraDMA 0 bis 5, wobei 3 für UltraDMA/33, 4 für UltraDMA/66 und 5 für UltraDMA/100
steht. Die PIO-Modi benötigt die CPU, um Daten von der Festplatte in den
Arbeitsspeicher zu übertragen. Beim DMA- und UltraDMA-Transfer erfolgt der
Datenaustausch über das PCI-Busmastering ohne zutun der CPU. So ergibt sich
zwangsläufig der Vorteil einer geringeren CPU-Belastung im DMA-Modus. Ein Vorläufer
des Multiwort-DMA-Modus ist Einzelwort-DMA-Mode. Er funktioniert ähnlich, kann
jedoch pro Transfer nur ein statt mehrerer Datenworte hintereinander übertragen.
Multiwort-DMA hat Einzelwort-DMA abgelöst und spielt heute keine Rolle mehr.
Begriffserklärung :
•
PIO
Abkürzung für Programmed Input/Output (oder seltener Prozessor Input/Output).
Eines von zwei Übertragungsverfahren für Daten zwischen einem
Festplattenlaufwerk und dem Arbeitsspeicher. Bei PIO überträgt der
Festplattencontroller einen Datenblock in die Prozessorregister. Die CPU
überträgt die Daten anschließend an den Zielort. PIO ist charakteristisch für IDELaufwerke. Das alternative Daten Übertragungsverfahren, DMS (Direct Memory
Access), umgeht die CPU und überträgt die Daten direkt zwischen Festplatte und
Speicher.
•
Multiwort-DMA
Im Gegensatz zum Einzelwort-DMA bringt erst der Multiwort-DMA die Vorteile der
niedrigeren CPU-Belastung durch den direkten Speicherzugriff. Bei EinzelwortDMA muss der Prozessor den Transfer jedes Datenwortes einzeln initialisieren.
Das kostet Systemleistung. Der Datentransfer über Multiwort-DMA benötigt nur
eine Initialisierungsroutine der CPU für die Übertragung mehrerer Datenworte.
Der Kontroller übernimmt dann den Datenaustausch in den Systemspeicher.
•
DMA direkter Speicherzugriff, der; Subst. (direct memory access)
Abgekürzt DMA. Ein Speicherzugriff, der ohne Mitwirkung des Mikroprozessors
abläuft. Diese Methode wird häufiger für die direkte Datenübertragung zwischen
Hauptspeicher und einem »intelligenten« Peripheriegerät, z. B. einem
Diskettenlaufwerk, eingesetzt
•
Ultra DMA
Ein neu entwickeltes Datentransfer Protokoll, das auf direktem Speicherzugriff
(DMA) basiert. Ultra DMA führt zu einer verbesserten Leistung von ATA/IDESystemen, erhöht die Transferrate bei Burstzugriffen und steigert die
Zuverlässigkeit des Datentransfers.
Seite 3 von 20
• Standards
Der Vorteil bei Weiterentwicklung des ATA-Standards von der Version 1 bis zur
aktuellen Version 6 ist die jeweils gegebene Abwärtskompatibilität der Schnittstelle. Alte
Festplatten für die IDE-Schnittstelle nach dem ATA-1 Standard laufen problemlos an
einem modernen UltraDMA/66-Kontroller. Zwar lassen sich prinzipiell auch aktuelle IDEFestplatten an ein altes ATA-1-Interface anschließen, aber nur mit großen
Einschränkungen. Damalige BIOS-Versionen konnten nur 1024 Zylinder und
Kapazitäten bis 528 MByte adressieren. Festplatten, die mehr Zylinder melden,
verursachen häufig einen sofortigen Systemabsturz. Vorsicht ist auch beim Mischen von
Laufwerken angebracht, die unterschiedliche Protokolle sprechen, wie beispielsweise
eine nach ATA-3 mit DMA 2 (16 MByte/s) arbeitende Festplatte mit einem brandneuen
ATA-5-UDMA-4-Modell (66 MByte/s). In einem solchen Fall würde sich der IDE-Kanal
dem langsamsten Laufwerk anpassen, das heißt, die Leistungsfähigkeit der neuen
Festplatte käme gar nicht erst zum Tragen. Steht kein freier Kanal zur Verfügung,
empfiehlt sich der Einsatz von zusätzlichen Controllern, wie beispielsweise dem Promise
UDMA 66, der ATA-5-Geräte unterstützt.
Seite 4 von 20
• Übersicht Datenübertragungsraten
PIO-Modus
Mode
PIO-Zykluszeit [ns]
Datenrate [MByte/s]
0
600
3,3
1
383
5,2
2
240
8,3
Einzelwort-DMA-Modus
Mode
Einzelwort-DMA-Zyklus [ns]
Datenrate [MByte/s]
0
960
2,1
1
480
4,2
2
240
8,3
Multiwort-DMA-Modus
Mode
Multiwort-DMA-Zyklus [ns]
Datenrate [MByte/s]
0
480
4,2
1
150
13,3
2
120
16,6
Ultra-DMA-Modus
Mode
Ultra-DMA-Zyklus [ns]
Datenrate [MByte/s]
0
240
16,6
1
160
25
2
120
33,3
3
180
11,1
4
120
16,6
3
4
5
90
44,4
60
66,6
40
100
• Primary , secondary Channel
Das ursprüngliche ATA-Interface besitzt nur einen Kanal, an dem sich maximal zwei
Geräte anschließen lassen. EIDE erweitert diese Einschränkung des Controllers und
fügt einen zweiten unabhängigen Kanal hinzu. Der sekundäre Kanal ist ein exaktes
Pendant zum primären Kanal und erhält einen eigenen Interrupt (15) zur Adressierung.
Die Implementierung eines zweiten Kanals benötigt die Unterstützung des Host-BIOS.
Bild 1 zeigt den Schritt von IDE nach EIDE mit bis zu vier Geräten.
Unterstützung anderer Laufwerke.
Bild 1 : An zwei unabhängigen
IDE-Kanälen lassen sich
insgesamt vier Laufwerke
anschließen
Seite 5 von 20
• Master- Slave Einstellung
Beim Betrieb von zwei Geräten pro Kanal wird zwischen einem Master-Laufwerk und
einem Slave- Laufwerk unterschieden. Die Bezeichnung Master/Slave ist dabei
irreführend, weil sich die beiden Laufwerke weder gegenseitig beeinflussen noch eines
von dem anderen kontrolliert wird. In den ATA-Spezifikationen finden sich deshalb die
Bezeichnungen Device 0 (Master) und Device 1 (Slave).
Befindet sich nur eine Festplatte am IDE-Kanal, muss es immer als Device 0 (Master)
konfiguriert sein. Ältere Festplatten haben für diese Betriebsart manchmal noch eine
zusätzliche Single-Einstellung. Das Booten ist, besonders bei älteren BIOS-Versionen,
nur vom primären Master möglich. Ein modernes BIOS bietet dagegen oft die Wahl, von
welchem Device gestartet werden soll.
Fast alle IDE-Festplatten besitzen zusätzlich eine Cable-Select-Einstellung (CSEL). Mit
dieser Konfiguration soll das Laufwerk selbst erkennen, ob es Device 0 oder 1 ist. In den
ATA-Spezifikationen ist ein eigenes CSEL-Signal an Pin 28 vorhanden. Um Festplatten
im CSEL- Modus zu betreiben, ist ein spezielles Kabel erforderlich. Es führt das Signal
von Pin 28 nur bis zum ersten Stecker, am zweiten Stecker ist Pin 28 offen. Die
angeschlossenen Laufwerke stellen sich abhängig vom Signal am Pin 28 selbstständig
als Master und Slave ein. Der Cable-Select-Modus war Bestandteil der Microsoft-PC97Spezifikation und sollte ein Plug&Play bei IDE-Festplatten ermöglichen. Wegen den
kaum verfügbaren Spezialkabeln hat sich der Cable-Select-Modus aber bis heute nicht
etabliert.
Bild 2 : Vorbildliche Kennzeichnung
für die korrekte Jumper-Belegung.
Zwei zusätzliche
Konfigurationsmöglichkeiten sollen
Kompatibilitätsproblemen vorbeugen
Seite 6 von 20
• Anschluss von CD-ROMs u. Brennern
Mit dem Begriff EIDE verbinden viele die Möglichkeit, nicht nur Festplatten an der ATASchnittstelle anschließen zu können. Der ATA-Packet-Interface-Standard spezifiziert die
Schnittstelle zum Betrieb von CD-ROM-Laufwerken und Brennern.
Vor dem Einbau müssen Sie die Steckbrücke auf der Geräterückseite überprüfen und
eventuell umsetzen: Falls Sie außer dem CD-ROM-Laufwerk nur noch ein EIDE- Gerät
(die Festplatte) im Rechner haben, sollten Sie das Laufwerk an den zweiten EIDE- Port
hängen. Setzen Sie den Jumper in diesem Fall in die Stellung "Master". Falls Sie aber
noch einen CD-Brenner angeschlossen haben (üblicherweise als Master am zweiten
EIDE- Port) dann jumpern Sie das CD-ROM-Laufwerk auf Slave, weil Sie es dann
zusammen mit der Festplatte am ersten EIDE- Kanal betreiben
Sind an einem (E)IDE Kanal zwei Geräte angeschlossen, so gilt für beide eine
gemeinsame PIO Mode. Da CD-ROMs oft nur den PIO Mode 0 unterstützen, Ist das
eine erhebliche Bremse. Aus diesem Grund sollte man CD-ROMs generell am zweiten
Kanal anschließen und die Festplatten am ersten Kanal
Rückseite eines CD-Rom
Laufwerks mit vorbildlicher
Kennzeichnung für die korrekte
Jumper-Belegung.
Seite 7 von 20
• Kabeltypen
Kabel für die IDE-Schnittstelle besitzen zwei Laufwerksanschlüsse. Die Signale sind an
jedem Stecker gleich und unterscheiden sich in ihrer Signallogik nicht. Ein Gerät lässt
sich somit beliebig am Ende des Kabels oder am mittleren Stecker anschließen. Die
Signalqualität ist allerdings höher, wenn die Festplatte mit dem Strang ende verbunden
ist. Das IDE-Kabel ist durch das Gerät sauber abgeschlossen und terminiert. Hängt das
Gerät nicht am äußeren Anschluss, finden am Kabelende Reflexionen statt. Zusätzlich
wirken die einzelnen Signaladern wie Antennen und fangen Störungen ein. Die
Datenintegrität der ATA-Signale sinkt. Vor allem bei den schnellen Ultra DMA
Betriebsarten mit kurzen Zykluszeiten empfiehlt die ATA-Spezifikation dringend den
Anschluss am Kabelende. Beim Anschluss der Kabel gibt es auch einiges zu beachten:
So muss die rot markierte Leitung im Regelfall immer in Richtung des Steckers für die
Stromversorgung der Festplatte zeigen
Die IDE-Schnittstelle verwendet seit Einführung des ATA -Standards 1989 zwischen
dem IDE-Kontroller und den zwei möglichen Laufwerken ein 40-poliges Flachbandkabel
als Verbindung. Dies hat sich mit ATA-5 und UltraDMA/66 erstmals geändert. Auf
Grund der nun höheren Datentransferraten, sind die elektrischen Anforderungen an die
Signalqualität enorm gestiegen. Jetzt erfolgt der Datenaustausch über ein Kabel mit 80
Adern. Der Stecker und die Buchsen sind unverändert 40-polig. Die zusätzlichen 40
Leitungen sind Masse-Zuführungen und vermindern ein Übersprechen der Signale auf
die Nachbarleitungen durch elektromagnetische Wellen. Diese entstehen besonders bei
sehr hohen Frequenzen (Datentransfer). Die Abmessungen der Kabel sind im Bild 4 und
Tabelle 1 zu sehen:
Bild 3:zeigt links ein 40pol. Kabel
und rechts ein 80pol Kabel
Bild 4 / Tabelle1: Die ATA-Spezifikationen legen die Kabellängen detailliert fest
Seite 8 von 20
Länge
Millimeter
L1
L2
L3
457,20 max.
127,00 min.
152,40 max.
Universal Serial Bus
• Funktionsprinzip
Die Abkürzung USB steht für "Universal Serial Bus" und bezeichnet einen seriellen Bus,
welcher momentan vor allem im Bereich PC-Peripherie enorm an Bedeutung gewinnt.
Grund hierfür ist u.a. die Tatsache, dass USB eine ebenso einfache wie universelle
Schnittstelle für nahezu alle Arten von Geräten - von Tastatur und Maus, über Scanner,
Modem, bis hin zu digitalen Kameras und Telefonen - zur Verfügung stellt. Es gilt als
wahrscheinlich, dass USB in absehbarer Zeit, den Standard-Parallel-Port, sowie die
"konventionelle" serielle Schnittstelle, ersetzen wird
Damit der Bus nach einem Reset oder dem Einschalten des Systems korrekt initialisiert
werden kann, besitzen alle Geräte zum einen eine festverdrahtete Hardwarekennung bestehend u.a. aus Hersteller-Angaben, Seriennummer und Produktkennung. Zum
anderen sind in den Mikrochips Konfigurations-Informationen gespeichert, welche neben
der Geräteklasse auch die Stromversorgung (bus- oder self-powered, maximaler
Verbrauch), sowie die (Default-)Transfer-Modi (isochron, interrupt, bulk) definieren. Bei
der Initialisierung spricht der Host ebenenweise alle Knoten an und weist jedem Gerät
eine eindeutige ID zu - vorher hat jedes Gerät die ID 0. (Diese ID muss also nicht, wie
z.B. bei SCSI manuell eingestellt werden.) Dabei liest er die jeweiligen Informationen
über benötigte Bandbreiten und Datentransfer-Modi und speichert sie, um später
entsprechende Ressourcen bereitstellen zu können.
USB ist ein sogenannter "Polling-Bus", d.h. alle Aktivitäten gehen zunächst vom Host
aus. Dieser "fragt" in regelmäßigen Abständen alle Geräte, ob aktuell Daten zu senden
sind, und prüft dann - entsprechend der bei der Initialisierung erhaltenen Informationen , ob ausreichend Bandbreite zur Verfügung steht. Ist dies gewährleistet, so wird eine
Pipe etabliert, die Daten werden übertragen und anschließend die Bandbreite wieder
freigegeben. Wenn dies nicht der Fall ist, dann muss der Transfer-"Wunsch" des
Gerätes abgelehnt werden. Existierende Pipes werden nicht unterbrochen. Die Daten
bleiben im Gerätepuffer - bzw. im Puffer des Hosts, falls die Übertragung in Richtung
Peripherie erfolgen sollte. Die Geräte-Puffer erfüllen zudem noch eine weitere Funktion.
Während einige Geräte ihre Daten übertragen, können andere die ihren im Puffer
sammeln, bis ein versandfertiges Paket bereit liegt, das im nächsten Service-Intervall
abgeholt werden kann.
Bei der Zuteilung von Bandbreiten ist es wichtig, anzumerken, dass auch sehr
"anspruchsvolle" isochron arbeitende Geräte grundsätzlich nicht die volle Bandbreite
belegen dürfen. Um zu verhindern, dass der Bus von solchen Geräten blockiert wird, so
dass beispielsweise keine Tastatur- oder Maus-Eingaben mehr möglich sind, reserviert
der Host in jedem Fall 20% der freien Bandbreite für asynchrone Geräte und ProtokollAufgaben. Dadurch ergibt sich im Isochron-Modus (high-speed) eine maximale
Übertragungsrate von 9-10 Mbps. Mit Sync-Impulsen in jedem Datenpaket und
sonstigem Protokoll-Overhead sind also momentan ca. 8 Mbps realistisch.
Der Datentransfer erfolgt in Paketen von maximal 1500 Bytes. Dabei unterliegen
lediglich Header und Datenende bestimmten Protokoll-Bestimmungen. Daten
dazwischen werden unabhängig vom Inhalt übertragen.
Seite 9 von 20
• USB-Hubs
USB unterstützt wie Firewire Hot-Plug&Play. Die physikalischen und elektrischen
Eigenschaften aller USB-Varianten sind standardisiert. Dies soll einen reibungslosen
Betrieb von Geräten unterschiedlicher Hersteller und USB-Versionen untereinander
garantieren.
USB-basierte Systeme sind jedoch hierarchisch aufgebaut, so dass immer ein Host-PC
erforderlich ist, um den Datentransfer zu steuern. Es ist also nicht möglich,
Peripheriegeräte wie auch Host-Controller direkt miteinander zu verbinden, damit sie
ihre Daten untereinander austauschen. Zudem belastet der USB-Datenverkehr durch
die Steuerungs via Interrupts die Leistung des Gesamtsystems.
Pyramide: Der PC als Root-Hub
steuert den Datenfluss
Ein USB-1.1-Hub verfügt nicht über eigene logische Funktionen - im Bussystem spielt er
daher die Rolle des passiven Zwischenverteilers. Full-Speed- und Low-SpeedDatenströme leitet er, ohne sie zu konvertieren, weiter. Im Gegensatz zu ihren USB-1.xPendants agieren USB-2.0-Hubs beziehungsweise -Host-Controller als aktive
Teilnehmer innerhalb des Bussystems.
Der Datenaustausch zwischen USB-2.0-Devices erfolgt immer mit High Speed, also den
theoretisch möglichen 480 MBit/s. Um die Kommunikation mit einem Full-Speed- oder
Low-Speed-Gerät zu ermöglichen, wandelt der USB-2.0-Hub/Host-Controller den HighSpeed-Datenstrom
prozessorgesteuert
in
eine
zu
USB
1.x
konforme
Geschwindigkeitsstufe. Ein USB-2.0-Hub ist daher intern komplexer aufgebaut als
entsprechende Geräte der 1.x-Klasse. Die Fähigkeit von USB-2.0-Hubs, Datenströme
zu konvertieren, trägt deshalb wesentlich zur Kompatibilität mit USB-1.x-Hardware bei.
Seite 10 von 20
Untertourig: USB-2.0-Geräte
erreichen an USB-1.x-Hubs maximal
12 MBit/s oder Full Speed. Erst USB2.0-Hubs sorgen mit theoretisch
möglichen 480 MBit/s für einen HighSpeed-Datentransfer.
Gemäß der Spezifikation erfolgt die Kommunikation einzelner Geräte untereinander mit
der höchst möglichen Geschwindigkeit .Devices unterschiedlicher Geschwindigkeitsklassen bedienen sich in punkto Datentransfer der maximalen Übertragungsrate des
langsameren Geräts.
USB-2.0-Geräte entfalten ihr Geschwindigkeitspotenzial daher nur an USB-2.0-Hubs.
USB-1.x-Hubs fungieren in Kombination mit High-Speed-Hardware weniger als
Zwischenverteiler, sondern vielmehr als Bremsklotz. Um die hohen Transferraten von
USB-2.0-Geräten auch nutzen zu können, ist daher ein Austausch alter USB-1.x-Hubs
beziehungsweise Host-Controllern unumgänglich
Da USB eine 7-Bit-Adressierung verwendet, ist die Anzahl der Geräte pro Host mit 127
begrenzt, was jedoch keine große Einschränkung darstellt - bedenkt man, dass der
bisherige Rekord, aufgestellt auf der Comdex '98 in Las Vegas gerade bei 111 Geräten
liegt. Die Vernetzung verschiedener PCs kann über eine Bridge realisiert werden.
Seite 11 von 20
• Datenübertragungsraten
Im laufenden Betrieb neu angeschlossene oder abgezogene Peripheriegeräte erkennt
das Bussystem selbsttätig. Die Erfassung der Connect- und Disconnect-Ereignisse
geschieht dabei auf Signalebene.
Datenübertragungsraten der USB-Standards
Eckdaten
USB 1.1 Low Speed USB 1.1 Full Speed USB 2.0 High Speed
Übertragungsrate
Max. Endpunkte
Max. Bulk-Paketgröße
Max. Bulk-Übertragungsrate
Max. Isochrone Paketgröße
Max. Isochrone Übertragungsrate
1.5 MBit/s
2
8 Byte
16 KByte/s
nicht möglich
nicht möglich
12 MBit/s
31
64 Byte
1,1 MByte/s
1023 Byte
1 MByte/s
480 MBit/s
31
512 Byte
56 MByte/s
1024 Byte
24 MByte/s
Die gesamte Datenübertragung innerhalb eines USB-Systems erfolgt paketorientiert.
Der Host (normalerweise der PC) beziehungsweise der Hub übernimmt aktiv die
Verwaltung und Steuerung der Datenpakete. Sämtliche Datentransfers sowie
Statusabfragen oder Interrupts werden erst auf Anfrage übermittelt (Polling).
Für die Übertragung großer Datenmengen kommt wahlweise eine Bulk- oder eine
Isochrone-Übertragung zum Einsatz. Im Bulk-Modus werden die korrekt empfangenen
Daten durch ein ACK-Signal (Acknowledge) bestätigt und im Fehlerfall bis zu dreimal
neu initiiert. Beim isochronen Datentransfer können Datenpakete unter Umständen auch
verloren gehen, dafür ist aber eine konstante Datenrate garantiert. Die isochrone
Übertragung wird beispielsweise bei Modems und USB-Lautsprechern verwendet.
Seite 12 von 20
• Steckertypen und Kabel
USB-Kabel sind stromführend und können angeschlossene Geräte mit 5 Volt Spannung
bei bis zu 500 mA versorgen. Um dies zu gewährleisten, enthalten sie neben zwei
Datenleitungen zusätzlich je ein Kabel für Spannung und Erdung. Eine separate
Taktleitung existiert nicht. Der Bustakt wird durch aus dem Datenstrom mittel SyncSignal generiert
Als Maßeinheit für die Stromstärke nutzt
USB sogenannte Loads, wobei 1 Load
genau 100 mA entspricht. Gemäß ihrer
Stromverbrauch lassen sich so alle Geräte
wie folgt in drei Klassen einteilen: Die
ersten beiden beziehen ihren Strom über
den Bus (bus-powered) und konsumieren
entweder eine (low-power) oder bis zu 5
Loads (high-power). Die dritte Klasse
enthält
alle
Geräte
mit
eigener
Stromversorgung
(self-powered).
Sie
brauchen grundsätzlich ein Load, also 100
mA. Zu Klasse 1 gehören beispielsweise
Maus, Keyboard und Joystick, währends
z.B. digitale Photocameras üblicherweise
der zweiten Klasse angehören.
Lautsprecher oder Scanner sind typische Vertreter der dritten Klasse.
Die Kabellänge ist laut USB-Spezifikation auf 3-5 m begrenzt. Dabei gilt die 5 m-Grenze
für high-speed- (12 Mbps), das Limit von 3 m für low-speed-Geräte (1.5 Mbps), da
letztere in der Regel unverdrillte und ungeschirmte Kabel verwenden.
Von
USB-Verlängerungskabeln
ist
abzuraten,
weil
es
andernfalls
zu
Installationsproblemen oder Signalverlust kommen kann.
USB-Stecker gibt es in zwei Versionen Typ A und Typ B. Dabei werden Typ-AConnectoren für Downstream-Ports am
Host oder an Hubs verwendet, während
Typ-B- Connectoren an Upstream-GerätePorts
passen.
Beide
Typen
sind
mechanisch nicht verwechselbar, so daß
keine illegalen Loops entstehen können
Seite 13 von 20
Firewire , I-link
• Funktionsprinzip
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 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.
Bild 5: Die einzelnen Geräte
werden hintereinander
angeschlossen. Durch
mögliche Verzweigungen
ergibt sich eine Baumstruktur.
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 5 demonstriert eine gültige Verschaltung. Unabhängig vom Startpunkt
ergeben sich dabei maximal 17 Geräte hintereinander.
Seite 14 von 20
• Automatische Konfiguration
Das 1394-Netzwerk konfiguriert sich komplett selbst. Es sind keine ID’s 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 AutokonfigurationsProzess erneut. Dabei können sich der Root Node und die IDs der Geräte ändern
Topologie eines PC-basierten
1394-Systems für
Videoanwendungen. Gut ist zu
erkennen, dass die IDs nicht
hierarchisch vergeben werden
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.
Seite 15 von 20
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 VideoDVDs 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/1394Gerät reduziert und so auch der Prozessor im PC entlastet. Das ist ein Vorteil von
1394 gegenüber USB.
Seite 16 von 20
• Steckertypen und Kabel
Der vierpolige i.Link-Stecker (rechts)
ist kleiner als die sechspolige 1394Version und bietet keine
Spannungsversorgung über den
Bus.
Das IEEE 1394 Verbindungskabel ist etwas kleiner als das vom Ethernet her bekannte
Koaxialkabel und wesentlich flexibler. Die Steckerbindungen und das leicht
Verdrehbarbekabel der Firma Nintendo (Gamboy) sollen da für Pate gestanden haben.
Die Firewire Steckverbindung
Die Voraussetzung für das dünnere Kabel und die höhere Datenrate beruht auf dem
besonderen Design und der Abschirmung des P1394 Kabels. Dieses Kabel besteht aus
zwei verdrillten Twisted Pair Verbindungen, wobei in jedem Leitungspaar ein Kabel für
den Takt und ein Kabel für die Daten vorhanden ist. Diese beiden Kabelpaare sind
jeweils abgeschirmt um eine geringere Störanfälligkeit zu realisieren. Die Beiden
Leitungen für die Spannungsversorgung, die von 8 bis 40 V bei Maximal 1,5 A betragen
können, sind in das Kabel ebenfalls eingebettet und mit einer Zweiten Abschirmung
versehen. Die Spannungsversorgung, kann muss aber nicht, von einem Firewire Gerät
verwendet werden. Es kommt ganz darauf an ob es sich um ein stationäres Gerät
handelt indem eine eigene Spannungsversorgung bereits vorhanden ist (Bsp. anderer
Rechner).
Der spezielle Aufbau des IEEE 1394
Kabels ermöglicht höhere
Datenübertragungsraten bei kleinerem
Durchmesser
Seite 17 von 20
• Datenübertragungsraten
Seite 18 von 20
Quellenangaben:
•
COMPUTER FACHLEXIKON von Microsoft® PRESS Ausgabe
1999 ISBN Nr. 3-86063-812-2
•
PC-HARDWARE von Messmer aus dem Addison Verlag Auflage 5
ISBN Nr. 3-8273-1302-3
•
PC-DATEN von Dembrowski aus dem Franzis Verlag
•
http://www.tecchannel.de/hardware/458/index.html
•
http://www.zdnet.de/tut/artikel/199912/ide_00-wc.html
•
http://www.inf.hszigr.de/~moerbe01/study/projects/firewire.html#Informationen
•
http://graphics.cs.uni-sb.de/Courses/ws9900/cgseminar/Ausarbeitung/Johanna.Voelker/fire.htm
•
http://www.tecchannel.de/hardware/558/
•
http://www.zdnet.de/tut/artikel/199912/ide_01-wc.html
Seite 19 von 20
Begriffserklärung :
IDE
Integrated Disc Electronic. Standard für die Anbindung von Laufwerken mit
integrierter Kontrollerelektronik an den ISA-Bus. Die IDE-Schnittstelle wird oft
gleichgesetzt mit der Bezeichnung AT- oder ATA-Schnittstelle
ATA
Advanced Technology Attachment. Eine Spezifikation zum Anschluss von
Festplatten an den AT-Bus.
UltraDMA
Schnelle Übertragungsmodi der IDE-Schnittstelle. UltraATA/33 oder UltraDMA/33
(korrekte Bezeichnung) ermöglichen eine maximale Transferrate von 33 MByte/s
über die Schnittstelle. UltraATA/66 und UltraDMA/66 erhöhen den Datentransfer
auf maximal 66 MByte/s. UltraATA/100 liegt bei 100 MByte/s
Host
Stellt die Verbindung zwischen IDE-Laufwerken und dem Systembus des
Rechners her
PIO
Abkürzung für programmierten Input/Output. Daten zwischen Laufwerk und
Hauptspeicher werden mit Hilfe von IN/OUT-Befehlen über die CPU
ausgetauscht. Der schnellste PIO-Mode 4 erreicht 16,6 MByte/s.
Isochron
Zeitrichtig. Daten werden mit einer vorher bekannten Laufzeit übertragen.
Isochrone Transfers sind vor allem bei digitalen Audio- und Videoübertragungen
wichtig und stellen das Gegenteil von asynchronen Transfers da
HUB
Alle Daten (in Form von Stromsignalen) werden an alle (per Patch-Kabel
angeschlossenen) Geräte weiterverteilt. Ein Switch hingegen leitet die Daten nur
in das Segment weiter, in dem sich der angesprochene Computer befindet.
IEEE
Institute of Electrical and Electronic Engineers. Eine in den USA ansässige
Ingenieurvereinigung zur Erstellung von Standards und Normen
Root Node
Begriff für ein 1394-Gerät, das die Aufgabe als Bus Manager und Isochronous
Resource Manager übernommen hat
Leaf Nodes
Begriff für ein 1394-Gerät, das am Ende eines 1394-Stranges sitzt
Branch Nodes Begriff für ein 1394-Gerät, an dem sich ein 1394-Strang aufteilt
OHCI
Open Host Controller Interface. OHCI ist eine einheitliche Schnittstelle zwischen
Hard- und Software, die eine universelle Treibersoftware für unterschiedliche
Produkte erlaubt. Für Windows 98 SE und Windows 2000 ist bereits ein einziger
OHCI-Treiber für alle entsprechend ausgelegte 1394-Controller unterschiedlicher
Hersteller integriert. Der OHCI-Standard wurde von Intel, Microsoft, National
Semiconductors, Texas Instruments und Sun ins Leben gerufe
FIFO
First In First Out. Ein Pufferelement, das der Reihe nach Informationen in eine
Speicherkette übernimmt. Mit jeder neuen Information werden die bereits
gespeicherten Bits um eine Stufe in der Kette weitergeschoben. Die erste
abgelegte Information gelangt somit auch als erstes an den Ausgang der Kette.
FIFOs werden im Fall von Chipsets auch als Pipelines bezeichnet. Mit einem
FIFO kann man Daten zwischenspeichern, um beispielsweise Bussysteme (mit
unterschiedlicher Geschwindigkeit) voneinander zu entkoppeln
Seite 20 von 20