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