Das Elektronik-Logbuch

Notizen und Tipps von Burkhard Kainka

8.4.2009: USB 1.1 oder USB2.0?

Bei Tests mit dem USB/Seriell-Wandler FT232R ist aufgefallen, dass er sich je nach PC als USB1.1  Lowspeed-Gerät oder als schnelles USB2.0 Gerät anmeldet. Dabei kommen dann unterschiedliche Übertragungsgeschwindigkeiten heraus. Besonders wenn die Software mit den Handshake-Leitungen DTR und RTS klappert macht das einen großen Unterschied. Bei einem Lowspeed-Gerät dauert jeder Pegelwechsel 3 ms. Das Thema USB-Geschwindigkeit wurde schon einmal hier im Logbuch behandelt:  Jetzt habe ich das Programm so vereinfacht, dass es sich selbst erklärt. Die Zeitangabe bedeutet nun die durchschnittliche Zeit für einen Pegelwechsel.



Download: Terminal2.zip

Das Bild zeigt, dass jeder Pegelwechsel 250 µs dauert. Der FT232R hat sich also in diesem Fall als Fullspeed-Gerät angemeldet. Eine Messung an den USB-Leitungen D+ und D- mit dem Oszilloskop bestätigt dies: Der Bus arbeitet mit 12 MHz. Das Datenblatt sagt: USB 2.0 Full Speed compatible. Offensichtlich meldet sich der Chip an USB 2.0 als Fullspeed-Gerät an, an USB1.1-Schnittstellen dagegen als Lowspeed-Gerät. In diesem Fall benötigt ein Pegelwechsel 3 ms.

In einem Fall wurde an einem Laptop beobachtet, dass der FT232R sich als Lowspeed-Gerät anmeldete, obwohl definitiv USB2.0 eingebaut war. Zum Test wurde dann ein USB-Hub zwischengesteckt. Damit wurde doch noch die höhere Geschwindigkeit erreicht. Es gibt auch noch einen bisher unbestätigten Verdacht, dass ein USB-Kabel den langsamen Modus erzwingen kann. Bei der Anmeldung würde dann verhandelt: Fullspeed geht nur mit Mühe, dann nehmen wir mal Lowspeed. Das Gemeine ist, dass Windows sich darüber vornehm ausschweigt.