USB-Verbindungen mit einer 32-bit-MCU umsetzen #####

16. September 2009, 11:22 Uhr |
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

USB-Verbindungen mit einer 32-bit-MCU umsetzen

Geschichte und Entwicklung von USB

Der universelle serielle Bus (USB 1.0) wurde von Intel entwickelt und 1996 im Markt eingeführt. Er war zum Anschluss von Peripheriegeräten an den PC konzipiert und sollte die Nachfolge einer ganzen Reihe damals verwendeter PC-Schnittstellen antreten und diese vereinheitlichen. Deshalb war die USB-Spezifikation nicht auf Tastatur und Maus begrenzt, sondern schloss auch andere Peripheriegeräte wie Drucker und Scanner mit ein. Massenspeicher – wie etwa Festplatten – wurden zwar von USB 1.0 unterstützt, wegen der maximalen Datenrate von 12 Mbit/s waren sie dafür aber nur sehr eingeschränkt zu gebrauchen.

Als einer der ersten Chipsätze unterstützte 1996 der ursprünglich für den Pentium Pro entwickelte und später für den Pentium II verwendete 440FX das USB-Protokoll, was vor Einführung der ATX-Mainboards jedoch kaum bis gar nicht beworben wurde. Die Hauptursache hierfür dürfte zum einen in der mangelhaften bzw. fehlenden Unterstützung von USB durch die damals verbreiteten Betriebssysteme Windows 95 und Windows NT 4.0 gelegen haben, zum anderen waren in der Anfangszeit auch kaum USB-Geräte verfügbar. Dieser zähe Start brachte ihm den Spitznamen Useless Serial Bus ein. 1998 wurde die Schnittstelle mit der Entwicklung des iMac bei Apple eingeführt. Bei diesem Computer ersetzte Apple den hauseigenen Apple Desktop Bus (ADB).

Ende 1998 folgte die überarbeitete Spezifikation USB 1.1, die in erster Linie Fehler und Unklarheiten in der 1.0-Spezifikation behob und den Interrupt-Out-Transfer hinzufügte. Die Geschwindigkeit erhöhte sich nicht. USB 1.x war deshalb keine Konkurrenz zu Apples FireWire-Standard (IEEE 1394), der von Anfang an (1995) eine Datenrate bis zu 400 Mbit/s hatte und im April 2003 auf bis zu 800 Mbit/s beschleunigt wurde.

Im Jahr 2000 wurde USB 2.0 spezifiziert, was vor allem eine weitere Datenrate von 480 Mbit/s hinzufügte und so den Anschluss von Festplatten oder Videogeräten ermöglichte. Produkte dafür erschienen jedoch erst ab 2002 am Markt. Zu beachten ist, dass pro Anschluss nur max. 500 mA (High Power) oder 100 mA (Low Power) als Stromversorgung zugesichert werden müssen. Das reicht für externe Festplatten meist nicht aus, weswegen oft ein externes Netzteil benötigt wird. Aktuelle 2,5-Zoll-Festplatten benötigen z.B. einen Startstrom von mehr als 1 A, der auch bei Anschluss der Festplatte über zwei USB-Ports außerhalb der Spezifikation liegt – wobei bereits die Zwei-Stecker-Lösung an sich gegen den Standard verstößt, da sich auf dem zweiten Stecker kein Gerät anmeldet und damit nicht sichergestellt ist, ob und wie viel Strom auf diesem Port entnommen werden kann.

Im November 2008 stellte das USB-Implementers-Forum, dem unter anderem die Unternehmen HP, Microsoft und Intel angehören, die Spezifikation für USB 3.0 vor. Es sollen Datenraten von 5 Gbit/s erreicht werden (Super-Speed-Modus). Die höheren Datenraten werden durch eine Übertragungstechnik ähnlich PCI-Express bzw. Serial ATA ermöglicht, die allerdings zusätzlich zum bisherigen Datenleitungspaar (D+/D-) im Kabel noch zwei weitere Adernpaare erfordert (plus einem weiteren Masseanschluss). Da in den Steckern somit fünf weitere Kontakte erforderlich sind, werden mit USB 3.0 neue Steckverbinder und Kabel eingeführt.

Die neuen Verbinder von Typ A sind mit den bisherigen abwärtskompatibel. Bisherige USB-Geräte lassen sich auch weiterhin mit USB 3.0, neue 3.0-Geräte auch an alten 2.0- bzw. 1.0/1.1-Hosts betreiben. Eine Ausnahme stellen B-, Mini-B-, Micro-B- und Mini-A-Verbinder dar. Durch die hier notwendigen Anbauten lassen sich zwar alte Stecker in neuen Buchsen, nicht jedoch neue Stecker in alten Buchsen verwenden. Dafür wären dann Adapter erforderlich. Mit der Linux-Kernel-Version 2.6.31. wird Linux das erste Betriebssystem sein, welches USB 3.0 unterstützt.

Die bei den bisherigen USB-Standards übliche Reihum-Abfrage der Geräte (Polling) entfällt. Durch solche Abfragen können Geräte in verschiedene Stromsparmodi (U0 bis U3) geschaltet werden. Möglich wird das durch zusätzliche Befehle. Statt 100 stehen nun 150 mA Stromstärke pro Gerät zur Verfügung. Auf Anforderung können statt bisher 500 nun 900 mA bereitgestellt werden. Ältere Treiber sollen weiter verwendbar bleiben. Allerdings werden sich Treiber-Updates unter Umständen lohnen, etwa um die neuen Stromsparmodi zu nutzen. Für einen späteren Zeitpunkt ist auch eine Erweiterung des Standards mit Lichtwellenleitern geplant. Anders als noch bei USB 2.0 dürfen sich Geräte nur „USB-3.0-kompatibel“ nennen, wenn sie tatsächlich die schnellstmögliche Geschwindigkeit (hier SuperSpeed-Modus) anbieten. fr


  1. USB-Verbindungen mit einer 32-bit-MCU umsetzen #####
  2. USB-Verbindungen mit einer 32-bit-MCU umsetzen
  3. USB-Verbindungen mit einer 32-bit-MCU umsetzen
  4. USB-Verbindungen mit einer 32-bit-MCU umsetzen

Jetzt kostenfreie Newsletter bestellen!