... oder USB?

Donnerstag, 30. April 2009
 / von huha
 

Die moderne USB-Schnittstelle ist auf dem Weg, sich als wahre Universalschnittstelle für fast alle PC-Geräte durchzusetzen. Konzipiert wurde sie aber auch als Schnittstelle für Eingabegeräte. Der Vorteil von USB besteht hauptsächlich darin, daß Tastaturen während des Betriebs getauscht werden können. Außerdem können sie an irgendeinen freien USB-Port angeschlossen werden, anstatt an einen spezifischen PS/2-Anschluß.

6 Tasten braucht der Mensch

Bei einer Standard-USB-Tastatur funktioniert die Übermittlung der gedrückten Tasten anders als bei PS/2. Neben den Modifikatortasten Alt, Shift und Ctrl wird in jedem Datenpaket, das die Tastatur an den Rechner sendet, der Zustand von 6 gedrückten Tasten übertragen. Der Computer muß sich also darum kümmern, wann eine Taste losgelassen wurde. Dazu stellt er fest, ob sich einer der übertragenen Zustände geändert hat. Außerdem sorgt er für die Tastenwiederholung.

Ferner ergibt sich das Problem, daß lediglich 6 Tasten gleichzeitig erfaßt werden können, N-Key Rollover also prinzipbedingt nicht möglich ist. Wird vom Hersteller eine andere Implementierung als die Standardimplementierung gewählt (abweichendes Verhalten und Datenpakete), ist theoretisch auch richtiges N-Key Rollover möglich. Dies erfordert aber aufwendige und kostspielige Entwicklungen inklusive eigenem Treiber. Außerdem funktioniert die Tastatur nicht, bevor dieser Treiber geladen wurde.

Jederzeit nur 7 Byte

Die Übertragung der Tastendrücke über USB soll ebenfalls kurz an einem Beispiel illustriert werden. Mit jeder Abfrage werden von der Tastatur 7 Byte übertragen. Das erste Byte überträgt bitweise die Zustände der Modifikatortasten und soll daher in diesem Beispiel ausgeschrieben werden. Die folgenden 6 Byte enthalten die gedrückten Tasten und werden in Hexadezimalnotation geschrieben. Die USB HID Usage Tables spezifizieren das Datenpaket für die Modifikatortasten wie folgt:

Bit 1: linke Strg-Taste. Bit 2: linke Shift-Taste. Bit 3: linke Alt-Taste. Bit 4: linke GUI-Taste. Bit 5: rechte Strg-Taste. Bit 6: rechte Shift-Taste. Bit 7: rechte Alt-Taste. Bit 8: rechte GUI-Taste.

Wie bereits bei den PS/2-Beispielen beginnt jedes Beispiel ohne gedrückte Tasten und endet auch damit. Die Taste "a" wird gedrückt:

Ein großes "A":

Das Wort "Hallo":

Entscheidungsfreiheit

Moderne Tastaturen sind fast nur noch mit einem USB-Anschluß ausgestattet. Um PS/2 zu nutzen, ist ein Adapter beigelegt oder kann günstig gekauft werden. Damit dieser Adapter funktioniert, muß der Tastaturcontroller USB und PS/2 beherrschen. Da PS/2 genau wie USB nur zwei Datenleitungen und zwei zur Stromversorgung besitzt, vertauscht der Adapter lediglich die beiden Leitungen der Stromversorgung: Beim Controller kommt dann eine "negative" Spannung an, wodurch er im PS/2-Modus initialisiert wird.

Manche Tastaturen besitzen einen PS/2-Anschluß und einen Adapter, der einen USB-Anschluß bereitstellt, dieser funktioniert im Prinzip genauso. Soll die alte Tastatur vom Dachboden per USB an einen modernen Rechner angeschlossen werden, wird ein aktiver Adapter benötigt, da deren Tastaturcontroller noch kein USB beherrscht.