Die Standards USB und IEEE 1394 von Marc Dietzschkau Ausarbeitung zum Proseminar IBM-PC (SS 2000) Technische Universität Chemnitz, Fakultät für Informatik, Prof. Dr.-Ing. W.Rehm Schlüsselwörter USB 1.0,2.0, IEEE 1394, FireWire Abstrakt Die folgenden Seiten befassen sich mit USB und IEEE 1394 und ihrer Implementierung in moderen PCs Dabei werden Standards, Einsatzgebiete und zukünftige Möglichkeiten betrachtet. Inhalt 1 Einführung 2 Die USB Schnittstelle 2.1 Entwicklung bis jetzt 2.2 USB 1.0 bzw. 1.1 2.2 USB 2.0 3 Die IEEE 1394 Schnittstelle 4 USB und IEEE 1394 im Vergleich 5 Das vernetzte Haus 6 Glossar 7 Literaturverzeichnis, Links 8 Folien zum Vortrag 1 Einführung In jedem modernen PC findet man heute, neben den herkömmlichen seriellen, parallelen und PS/2 Anschlüssen, USB (Universal Serial Bus) oder gar IEEE 1394 Schnittstellen. Diese wurden entwickelt, um einen leichter zu konfigurierenden, universell erweiterbaren und relativ schnellen Datentransfer von und zu Peripheriegeräten zu ermöglichen. Aufgrund der breiten Herstellerunterstützung (z.B. Apple, Microsoft, HP, Compaq, Intel, NEC, Phillips) konnte sich mittlerweile USB stark durchsetzen und es ist anzunehmen, dass dieser die herkömmlichen Schnittstellen ganz verdrängt. Die Vorteile dazu liegen auf der Hand, denn man kann bis zu 127 Geräte (von Keyboard über Maus bis hin zum Scanner oder Drucker) anschließen unter der Verwendung eines einzigen Kabeltyps. Auch in Bereiche wo hohe Datendurchsätze wichtig sind und welche bisher durch SCSI dominiert wurden dringt die IEEE 1394 Schnittstelle immer weiter vor. Inwieweit diese Implementierungen in Standard PCs umgesetzt wurde und werden soll durch diese Ausarbeitung gezeigt werden. 2 Die USB Schnittstelle Hinweis: eine Übersicht über den USB 1.0 Standard ist auf dieser Seite zu finden. 2.1 Entwicklung bis jetzt Seit 1997 sind auf allen ATX Mainboards mindestens zwei USB Schnittstellen vorhanden. Dies konnte vor allem dadurch erreicht werden, da Intel die Mainboardhersteller "zwang" diese zu implementieren. Da es zu Beginn so gut wie keine Geräte dafür gab, und wenn dann waren diese relativ teuer, sah es fast schon so aus dass dieser Bus keine Chance hat. Als aber Apple seinen I-Mac vorstellte, welcher ganz und gar auf herkömmliche Schnittstellen verzichtete, waren die Peripheriehersteller in Zugzwang und mussten USB konforme Geräte auf den Markt bringen. Hier zeigt sich gleich ein großer Vorteil, da diese Geräte meistens für PC und Mac geeignet sind. Mittlerweile kann man selbst im PC-Bereich schon auf die parallel und serielle Schnittstelle verzichten, da es alle möglichen Geräte in USB Ausführung gibt. So kann man Tastatur, Maus, Joystick, ISDN-Adapter, Drucker, Scanner, Digitalkamera, CDBrenner, Diskettenlaufwerke (z.B. ZIP-Disk) und sogar Lautsprecher anschließen. Die Preise dieser Geräte liegen mittlerweile unwesentlich über denen herkömmlicher und manche Drucker oder Scanner gibt es schon gar nicht mehr mit parallelem Anschluss. Mittlerweile hat sich gezeigt, dass dieser USB 1.0/1.1 für große Datenmengen eher ungeeignet ist, da sich die maximal 127 Geräte maximal 12 MBit/s Bandbreite teilen müssen. Deshalb und wegen der wachsenden Konkurrenz im IEEE 1394 Sektor wurde eine neue Norm USB 2.0 verabschiedet, die dann bis zu 480 Mbit/s schafft, und zu USB 1.0/1.1 kompatibel ist (selbe Kabel/Stecker, USB 1.1 als Subsystem vom USB 2.0). 2.2 USB 1.0 bzw. 1.1 2.2.1 Leistungsfähigkeit/Spezifikation Max. 127 Geräte "hot-pluggable", plug&play Verteilung durch HUBs maximal 12 MBit/s (full-speed peripherals, z.B. Drucker, Scanner) oder 1,5 MBit/s (low-speed peripherals, z.B. Mäuse, Tastaturen) bidirektionale Kommunikation automatische Anmeldung am System Stromversorgung der Geräte durch den Bus automatische Steuerung von Stromsparfunktionen maximale Kabellänge 5m In einem USB System gibt es einen USB Host Controller, welcher alle Geräte im System anspricht und steuert. Als primäre Anschlussmöglichkeit an diesen Controller dient das RootHUB, mit meistens zwei Anschlüssen. Um mehr als zwei Geräte anschließen zu können benötigt man ein HUB. Dieses gilt ebenso als Gerät und verfügt z.B. über vier weitere Anschlüsse. An dieses kann nun jedes beliebige Gerät angeschlossen (also auch wieder HUBs - maximal 5 Ebenen). Die Inbetriebnahme der Geräte kann zu jeder Zeit geschehen, also auch im laufenden Betrieb. Wenn ein Gerät angesteckt wird, erkennt dies der Host Controller, empfängt von dem Gerät Informationen zum Treiber, welcher nun vom Betriebssystem bereitgestellt wird. Dabei wird dem Gerät eine eindeutige Adresse zugewiesen und beim entfernen des Gerätes aus dem System wird diese wieder freigegeben und der Treiber vom Betriebssystem wieder aus dem Speicher entfernt. Des Weiteren kann auch eine begrenzte Stromversorgung der Geräte gewährleistet werden (bis zu 2.5 Watt) - die HUBs benötigen dann allerdings eine externe Stromversorgung. Modems oder andere Geräte, die nur einen vergleichsweise geringen Stromverbrauch haben, kommen durchaus ohne zusätzliches Netzteil aus. Auch Stromsparfunktionen können über den USB realisiert werden, so ist es zum Beispiel möglich, dass im Zusammenhang mit dem Energiemanagement des PC auch eine Abschaltung der Peripherie zu verwirklichen. Dieses Feature ist vor allem für Notebooks interessant. Struktur für ein USB-Netzwerk Beispielkonfiguration für USB 1.1 Der USB unterstützt in der Version 1.1 zwei verschiedene Geschwindigkeiten, mit denen Geräte am Bus operieren können. Mäuse beispielsweise arbeiten mit einer Geschwindigkeit von 1,5 MBit/s, Drucker mit der Höchstgeschwindigkeit von 12 MBit/s. Ein Drucker muss wesentlich mehr Daten pro Sekunde übertragen als zum Beispiel eine Maus, damit aber die Maus nicht unnötig Bandbreite belegt gibt es diese beiden Geschwindigkeiten. Ein Mischbetrieb ist ohne weiteres möglich. Dies wird auch durch alle HUBs unterstützt. Für die zwei verschiedenen Geschwindigkeiten im USB sind zwei verschiedene Kabel möglich. Für die normale Geschwindigkeit sind abgeschirmte Kabel vorgesehen, für die geringere Geschwindigkeit erlaubt die USB-Spezifikation ungeschirmte Kabel. Darüber hinaus gibt es 2 Arten von Steckern: Typ A und Typ B. Mit den Steckern des Typs A stellt man die Verbindung mit dem HUB her, die Stecker des Typs B sind zur Verbindung mit der Buchse am Gerät vorgesehen. Es ist nicht möglich zwei Kabel direkt miteinander zu verbinden. Die maximale Kabellänge beträgt 5m. große Version 2.2.2 Unterstützung durch Betriebssysteme, Probleme bei der Installation Von Microsoft wird USB seit Windows 98 vollständig unterstütz. Eine eingeschränkte Nutzung ist auch unter Windows 95 B/C möglich. Die meisten Geräte lassen sich problemlos installieren (reinstecken, CD einlegen, funktioniert). Bei manchen Geräten ist aber eine äußerst umständliche Setup-Prozedur einzuhalten (z.B. ist die Installation eines USB Druckers der ersten Generation nicht ganz so einfach). Die meisten Probleme sind mittlerweile durch bessere und ausgereiftere Treiber beseitigt. Vorbildlich wird USB unter Windows 2000 unterstützt, da die meisten Treiber mitgeliefert werden. Man kann dabei wirklich schon von Plug&Play sprechen, ohne dabei sofort and "Plug&Pray" zu denken. Ebenso vorbildlich ist die Unterstützung durch Mac OS, was wenig verwundert, da Apple eine Vorreiterrolle bei der Markteinführung von USB übernommen hatte. Seit der Kernel Version v2.2.7. wird der USB auch vollständig im Linux unterstützt. Ganz nebenbei besitzt selbst die Playstation 2 USB Ports (und auch eine i.Link Schnittstelle). 2.2.3 Verfügbare Geräte Es werden für fast alle Hardwarebereiche USB Geräte angeboten: Mäuse, Tastaturen, Joysticks Drucker, Scanner, Digitalkameras, Webcams Laufwerke (ZIP, CD-ROM), CD-Brenner (bis 4x) ISDN-Adapter, Modems, Netzwerkadapter, Direktverbindungskabel TV-Tuner, Radio-Adapter Aktivboxen, Mikrofone Monitore mit eingebauten HUBs (auch zur Steuerung der Monitorfunktionen) Telefone 2.3 USB 2.0 Da USB 1.0/1.1 mit nur 12 MBit/s ungeeignet für Anwendungen ist, die hohe Dateraten erfordern (wie z.B. Festplatten, Live Video Profi Scanner, DVD Laufwerke, etc.) wurde der Standard USB 2.0 von Herstellern wie Compaq, HP, Intel, Microsoft, NEC und Phillips entwickelt. Es basiert auf USB und nutzt die gleichen Kabel und Stecker, es sind allerdings andere HUBs notwendig. An diese kann man dann auch USB 1.1 Geräte und Hubs anschließen. Damit ist eine maximale Datenrate von 480 MBit/s möglich. Zuerst war nur eine Datenrate von 120 MBit/s geplant, man stockte dies aber auf um mit IEEE 1394 Schritthalten zu können. 2.3.1 Leistungsfähigkeit/Spezifikationen max. 480 MBit/s max. 127 Geräte abwärtskompatibel zu USB 1.0/1.1 Der Grundaufbau von USB 2.0 ist der Selbe wie von USB 1.1. Natürlich wird ein USB 2.0 Hostcontroller und Root HUB benötigt. Die HUBs stellen aber im Gegensatz zu USB 1.1 zwei verschiedene Signalraten bereit. Für USB 2.0 Geräte wird eine um den Faktor 40 erhöhte Geschwindigkeit bereitgestellt und für normale USB Geräte die ursprüngliche USB Geschwindigkeiten (12 MBit/s und 1,5 MBit/s). Bereits vorhandene USB 1.1 HUBs müssen jetzt natürlich hinter die USB 2.0 HUBs geschaltet werden und USB 2.0 Geräte können nur direkt an die USB 2.0 HUBs angeschlossen werden. Aber sonst ändert sich nichts. Beispielkonfiguration für USB 2.0 2.3.2 Unterstützung durch Betriebssysteme Bis jetzt ist USB 2.0 noch nicht in Betriebssysteme implementiert. In der zweiten Jahreshälfte 2000 werden die ersten USB 2.0 Systeme in den Handel kommen und damit dann wahrscheinlich auch die entsprechenden Treiber für die Betriebssysteme. Ob Apple USB 2.0 unterstützen wird ist noch nicht klar, da dort die Firewireschnittstelle (IEEE 1394) zum Einsatz kommt, welche noch höhere Datenraten ermöglicht. 2.3.3 Verfügbare Geräte Zur Zeit sind noch keine Geräte verfügbar, es ist aber davon auszugehen dass Hochauflösende Scanner und Drucker, Massenspeicher, wie Festplatten, DVD-R(W)-Laufwerke oder CDWechsler oder Videokonferenzsysteme diese Technologie unterstützen. 3 Die IEEE 1394 Schnittstelle 3.1 Entwicklung IEEE 1394 oder auch FireWire (Apple) oder i.Link (SONY) wurde entwickelt um einen schnellen und unkomplizierten Datenaustausch zu verwirklichen. Es soll dabei eine ähnliche Rolle einnehmen wie heute der SCSI-Port, nur besser. Es ist sowohl als Schnittstelle für hochleistungsfähige Peripherie als auch zum Datenaustausch im Unterhaltungsbereich geeignet. 3.2 Der Standard 3.2.1 Leistungsfähigkeit/Spezifikationen maximal 400 MBit/s (geplant bis zu 3200 MBit/s) bis zu 63 Geräte "hot pluggable" Ethernet-ähnlicher Aufbau Zur Zeit sind mit IEEE bis zu 400 MBit/s möglich, aber der derzeitige Standard erlaubt bis zu 1,2 GBit/s. Das Fernziel liegt bei 3.2 GBit/s. IEEE 1394 Kabel bestehen aus zwei verdrillten und abgeschirmten Leitungen (je eines für Daten und Takt), zwei Adern für die Stromversorgung, und das Ganze ist außen nochmals abgeschirmt, was Übertragungsfehler verhindert. Ebenso wie für PC-Peripherie ist IEEE 1394 auch zur Verbindung von Multimediageräten untereinander geeignet und dafür wird nicht einmal ein PC benötigt.Ebenso wie bei USB ist es bei IEEE 1394 möglich, die Geräte während der Laufzeit mit dem Controller zu verbinden und zu konfigurieren (hot pluggable). Topologie von IEEE 1394 Im allgemeinen konfiguriert man IEEE 1394 Netzwerke als Peer-to-Peer Verbindungen, man kann also an ein Gerät immer noch ein weiteres anschließen. Um komplexere Netzwerke zu verwirklichen gibt es noch Repeater, Splitter und Bridges. Der Repeater verstärkt das Signal und es ist abhängig von der Kabelqualität wann ein Repeater fällig ist. Nach mind. 4,5m muss aber ein Repeater das Signal verstärken. Verzweigungen im Netz werden mit Splittern verwirklicht. Wenn man viele Geräte anschließen will, empfiehlt es sich verschiedene Bussegmente voneinander zu isolieren. Dazu dient eine Bridge. In einem solchen Bussegment können maximal 63 Geräte betrieben werden und es ist eine Maximalanzahl von 1024 Segmenten möglich, welche dann über Bridges verbunden sind. Beispiel eines Peer-to-Peer IEEE 1394 Netzwerkes Beispiel eines komplexeren IEEE 1394 Netzwerkes Datentransfer Man unterscheidet grundsätzlich asynchronen und isochronen Datentransfer. Beim asynchronen Datentransfer werden zuerst Pakete gesendet, die die Adresse des Senders und Empfängers enthalten. Der Empfänger sendet, wenn er das Paket empfängt ein Bestätigungspaket an den Sender zurück und der Datentransfer kann beginnen. Um größere Durchsatzraten zu erreichen, kann der Sender weiter Pakete senden, ohne dass er die Quittung bekommen hat, aber nur bis höchstens 64 offene Bestätigungen anliegen. Beim isochronen Transfer wird ein isochroner Kanal zwischen Sender und Empfänger in einer bestimmten Bandbreite angefordert. Dazu wird dann diesem Kanal eine eindeutige Kanal-ID zugewiesen. Der Sender übermittelt jetzt nur noch die ID gefolgt von den Daten und der Empfänger nimmt nur noch die Daten mit dieser ID an. Es sind maximal 64 isochrone Kanäle gleichzeitig möglich. Der Rest der Bandbreite, die nicht durch den isochronen Transfer belegt wird, steht zur asynchronen Übertragung zur Verfügung. 3.2.2 Unterstützung durch Betriebssysteme und Hardware IEEE 1394 wird derzeit durch Windows 98 und 2000, sowie durch Mac OS 9 unterstützt. In den Apple Macintosh der neuen Generation sind standardmäßig zwei (i-MAc) oder drei (G4) FireWire Schnittstellen integriert. Bei IBM kompatiblen PC gibt es bereits die ersten Motherboards mit IEEE 1394 Anschluss, aber auch schon eine Vielzahl von zusätzlichen Controllern. Somit lässt sich eine Implementierung in bereits vorhandene Geräte ermöglichen. 3.2.3 Vorzüge von IEEE 1394 IEEE 1394 ist in Zukunft als Ersatz für SCSI gedacht. SCSI ist wesentlich langsamer (siehe Tabelle), benötigt Hardware-Einstellungen (IDs), Abschlusswiderstände und teure, inflexible Kabel. IEEE 1394 dagegen nutz nur ein sechspoliges Kabel, lässt sich damit viel platzsparender verlegen. Ein weiterer wesentlicher Vorteil von IEEE 1394 ist die Möglichkeit, Abzweigungen zu bilden. Inzwischen gibt es schon Raid-Systeme auf IEEE 1394 Basis. Selbst einer Vernetzung von Computern mit Firewire steht nichts im Wege: dann mit 40facher Ethernet-Geschwindigkeit. Außerdem ist es möglich, wie schon jetzt bei USB, IEEE 1394 in den Motherboard-Controller einzubinden und damit eine kostengünstige Verbreitung zu gewährleisten. Bussystem Maximale Transferrate in MBit/s Ethernet 10BaseT 10 USB 12 SCSI 40 Fast SCSI 80 Fast Ethernet 100 Ultra SCSI 160 FireWire 1999 400 USB Zukunft 480 FireWire 2000 800 SCSI Zukunft 1200 FireWire Zukunft 3200 3.2.4 Verfügbare Geräte Mittlerweile gibt es schon viele Komponenten, vor allem im professionellen Bereich, die auf IEEE 1394 basieren: externe Festplatten, DVD Laufwerke, CD-Brenner, CD-Wechsler Tintenstrahldrucker, Laserdrucker, Scanner DV-Kameras, Videoschnittsysteme, Digitalkameras Fernseher, Spielkonsolen 4 USB und IEEE 1394 im Vergleich Da diesen beiden Standards die Zukunft im PC Bereich, stellt sich nun die Frage in welchem Gebiet welcher Standard eingesetzt wird. Beide Standards haben Ihre Vor- und Nachteile, können aber koexistieren. 4.1 Welcher Standard für "langsame" Komponenten Langsame Komponenten sind z.B. Mäuse, Tastaturen, Modems, ISDN-Adapter, HeimTintenstrahldrucker, Heim-Scanner oder Joysticks. Man kann diese schon jetzt ausschließlich über den USB anschließen und so wird es meiner Meinung nach auch bleiben. Es sind sehr viele Geräte verfügbar und die Unterstützung durch die Betriebssysteme funktioniert mittlerweile reibungslos. Es werden auch keine höheren Übertragungsraten benötigt. Allerdings werden, wie schon erwähnt, die seriellen, parallelen und PS/2 Schnittstellen bald ganz verschwinden (wie schon beim Mac jetzt der Fall). IEEE 1394 könnte in diesem Gebiet eventuell der Standard-Anschluss für Drucker, Scanner oder Digitalkameras werden, da es ja auch Modelle gibt die höhere Datenraten erfordern (wie z.B. Laserdrucker oder hochauflösende Scanner bzw. Kameras). Damit könnte vermieden werden, dass diese Geräte nach verschiedenen Standards arbeiten, wenn z.B. einfache Tintenstrahldrucker und professionelle Laserdrucker in einer Arbeitsgruppe gemeinsam verwendet werden sollen. 4.2 Welcher Standard für "schnelle" Komponenten Für schnelle Komponenten, also Festplatten, DVD-Laufwerke, Brenner, Streamer, Scanner, Videokameras oder Drucker, aber auch zur Vernetzung, ist nach meiner Meinung IEEE 1394 die bessere Wahl. Als Alternative kommt höchstens USB 2.0 in betracht, aber schon allein der Fakt, dass im IEEE 1394 viel höhere Datenraten möglich sind, lässt USB ausscheiden. Außerdem ist es bereits verfügbar, ausgereift, besser für komplizierte Netze geeignet und Geräte sind auch schon in vielen Bereichen verfügbar. So ist es ja schon bei den Apple Modellen implementiert und es wäre auch der IBM-kompatiblen Sparte anzuraten es genau so zu machen. Ein weiterer Bonuspunkt für IEEE 1394 ist auch die mögliche Vernetzung von Fernsehern, Videospeichern, HiFi-Geräten u.ä. (siehe Kapitel 5). 5 "Das vernetzte Haus" Es wird in Zukunft eine immer größere Rolle spielen, Computer nicht mehr isoliert von anderen Geräten (z.B. im Haushalt) zu betrachten, sondern im Prinzip alles mit allem zu vernetzen. Dies ist bis jetzt nur daran gescheitert, viele Geräte analoge Daten verarbeiten (Fernseher, Videorecorder) und mögliche digitale Schnittstellen zu langsam oder zu unflexibel waren. Wie bereits erwähnt, lassen sich mit IEEE 1394 komplexe Netzwerke mit hohen Geschwindigkeiten realisieren. Es sind sogar Echtzeitvideoübertragungen möglich. So lässt sich z.B. in einem Wohnzimmer der Fernseher (oder vielleicht besser: Monitor) mit einem digitalen Videospeicher (z.B. mit Festplatten), einer Spielkonsole (z.B. der Playstation II, die schon einen i.Link Anschluss hat), der HiFi-Anlage, einem Digitaltuner und eventuell noch den Lautsprechern verbinden. Das ganze natürlich in einem einfachen Peer-to-Peer Netzwerk, mit nur einem Kabeltyp, Stromversorgung bis zu einer bestimmten Leistung (z.B. für Lautsprecher oder den Tuner) und variabler und einfacher Konfiguration. Es ist dann ein Leichtes festzulegen, von welcher Quelle eine Sendung geschaut werden soll, von welcher Quelle aufgezeichnet werden soll und aus welchen Lautsprechern man beschallt wird. Dieses Szenario ist gar nicht mal unrealistisch und wird von Herstellern wie SONY bereits propagiert. Man kann das Ganze noch fortführen, indem man jetzt noch in der Küche Monitor und Radio miteinander verbindet, eventuell auch noch Herd, Kühlschrank etc., im Kinderzimmer ähnlich wie im Wohnzimmer verfährt, die PCs im Arbeitszimmer noch mit dranhängt, im Keller einen Server aufstellt und das ganze gleich noch mit den Licht-, Alarm- und Klimasteuerungssystem (wird auch durch ein Bussystem gesteuert EIB) verbindet. So erhält man dann ein vollständig vernetztes Haus, wo alles zentral, oder auch dezentral gesteuert werden kann. Dieser Schritt zum vernetzten Haus wird erst durch Technologien wie IEEE 1394 möglich und eröffnet viele Möglichkeiten, um das Leben in Zukunft komfortabler und angenehmer zu gestalten. 6 Glossar Bridge Verbindet zwei IEEE 1394 Bussegmente FireWire Apples Bezeichnung für die Implementierung der IEEE 1394 Schnittstelle hot-pluggable Gerät kann bei laufendem Betrieb mit System verbunden und wieder getrennt werden USB-Hubs Gerät um mehrere USB-Anschlüsse zur Verfügung zu stellen i.Link Sony's Bezeichnung für IEEE 1394 (allerdings ohne Stromversorgung durch das Kabel, daher nur vierpolig) IEEE 1394 Norm 1394 des Institute of Electrical and Electronics Engineers, definiert einen seriellen Bus mit sehr hohen Datenraten MBit/s MegaBit pro Sekunde, übliche Einheit für die Datentransferrate peer-to-peer Art einer Netzwerkverbindung, dabei werden die Geräte in Serie hintereinander geschaltet Repeater verstärkt das Datensignal im IEEE 1394 Bus um größere Entfernungen zu überwinden SCSI Small Computer Systems Interface, zur Zeit Standard für schnelle Datenübertragungen, vor allem im Serverbereich oder bei Scannern Splitter Gerät zum Verzweigen von IEEE 1394 Verbindungen USB Universal Serial Bus, Standard zum einfachen Anschluss von Computerperipherie