PS/2-Schnittstelle
Die PS/2-Schnittstelle (PS/2-Anschluss, PS/2-Port, ursprünglich Auxiliary Port, benannt nach Personal System/2) ist eine serielle Schnittstelle für Eingabegeräte, wie etwa Tastatur und Maus, seltener auch Trackball oder Grafiktablett. PS/2 definiert einen Stecker (Mini-DIN 6), einen elektrischen Standard, ein paketorientiertes[1][2] Übertragungsprotokoll sowie Codes für die Kommunikation zwischen der Tastatur und dem Controller im PC. PS/2 war einst bei Personal Computern weit verbreitet. Auch wenn sie nahezu vollständig durch USB verdrängt worden ist, wird diese Schnittstelle immer noch in Hauptplatinen eingebaut, da sie sich einer gewissen Beliebtheit erfreut aufgrund bestimmter technischer Unterschiede. Diese sind im Einzelnen: direkter Zugriff über Interrupts statt über USB-Polling; keine Einschränkung, wie viele Tasten gleichzeitig gedrückt werden können dank n-key rollover, PS/2 ermöglicht rechnerweit gesperrte USB-Anschlüsse zum Schutz vor Datenabfluss, Verwendung eines Universaltreibers, relativ zu USB geringere Komplexität. Auch PCI-Erweiterungskarten zur Nachrüstung von PS/2-Anschlüssen sind erhältlich. Eingebaute Tastaturen mancher moderner Laptops sind auch heutzutage noch intern über PS/2 angeschlossen, da dies einen stromsparenderen Betrieb ermöglicht und das gegenüber USB fehlende Hot Swapping in diesem Fall ohnehin irrelevant ist.
Geschichte
BearbeitenZunächst war die PS/2-Schnittstelle nur an Computern der RS/6000- und PS/2-Reihe (daher der Name) von IBM zu finden und erlangte nur wenig Bedeutung. Nach dem Ende der Personal-System/2-Reihe führte die Firma jedoch die IBM-PC-Reihe wieder fort und verwendete dort nun ebenfalls PS/2-Anschlüsse für die Eingabegeräte. Damit konnte sich der PS/2-Anschluss auch auf dem Markt der PC-Nachbauten etablieren und tauchte in den späten 1990er Jahren mit Einführung des ATX-Standards für Hauptplatinen vermehrt auf. Spätere Versionen des ATX-Standard definierten die Farbe der Anschlüsse. Sogar Hewlett-Packard verwendete ihn für den HP 9000, ebenso die Digital Equipment Corporation für einige Terminals.
Adapter
BearbeitenDie bei vielen Mäusen und einigen Tastaturen beigelegten Adapter von oder auf USB sind rein passive Adapter zur Anpassung der Steckernorm bzw. -form; angeschlossene Geräte müssen anhand der Signalpegel unterscheiden, ob sie an eine USB- oder PS/2-Schnittstelle angeschlossen sind, und sich dementsprechend verhalten. Ein nicht auf USB ausgelegtes PS/2-Gerät funktioniert mit diesen Adaptern genauso wenig wie ein nicht auf PS/2 ausgelegtes USB-Gerät.
Typisches Kennzeichen für einen aktiven PS/2-USB-Adapter, an den auch reine PS/2-Tastaturen angeschlossen werden können, welche den USB-Standard nicht beherrschen, ist eine in einem Gehäuse zusätzlich vorhandene Elektronik, welche eine aktive Umsetzung der Protokolle von PS/2 auf USB vornimmt. Die meisten aktiven Adapter bieten auch zwei PS/2-Anschlüsse, je einen für Maus und Tastatur. Derartige Adapter können etwas teurer sein als sehr billige Tastaturen und Mäuse, sind aber eine immer noch lohnende Möglichkeit, hochwertige PS/2-Tastaturen an Rechnern zu betreiben, die USB-, aber keine PS/2-Anschlüsse mehr haben.
Daneben existieren auch in umgekehrter Richtung aktive USB-PS/2-Adapter, ebenfalls mit einer zusätzlichen Elektronik, an die eine USB-Tastatur und eine USB-Maus angesteckt werden können, welche den PS/2-Standard nicht beherrschen. Damit ist es möglich, neuere USB-Tastaturen oder USB-Mäuse an älteren Rechnern mit PS/2-Schnittstelle zu betreiben.
Anschluss
BearbeitenDie PS/2-Schnittstelle verwendet einen sechspoligen Mini-DIN-Stecker, während die Tastaturschnittstelle beim vorhergehenden AT-Format mit dem größeren fünfpoligen DIN-Stecker ausgestattet war. Beide Anschlüsse sind von den elektrischen Eigenschaften her identisch, so dass sich Tastaturen mit DIN-Stecker über ein einfaches Adapterkabel oder verdrahteten Adapter an die PS/2-Schnittstelle anschließen lassen und umgekehrt. Eine Ausnahme bildet lediglich die noch ältere XT-Tastatur (aus der Zeit des IBM PC XT), die zwar die gleiche Steckerform wie beim AT verwendet, aber elektrisch weder mit der PS/2- noch mit der AT-Schnittstelle kompatibel ist. Einige ältere Tastaturen haben deshalb Umschalter eingebaut. Mäuse wurden beim AT-Format normalerweise über die RS-232-Schnittstelle angeschlossen.
Bei Desktop-PCs sind üblicherweise zwei PS/2-Buchsen vorhanden, je eine für Maus (oder ein anderes Zeigegerät) und Tastatur. Obwohl sie die gleichen Steckverbinder und sogar die gleiche Pinbelegung haben, kommen für Maus und Tastatur unterschiedliche Protokolle zum Einsatz, so dass die Stecker für eine korrekte Funktion des jeweiligen Eingabegeräts nicht vertauscht werden dürfen. Durch die elektrisch identischen Anschlusseigenschaften besteht aber in der Regel keine Gefahr einer Hardwarebeschädigung beim versehentlichen Vertauschen. Die Anschlüsse sind ab Ende der 90er in der Regel farbkodiert; die Tastatur hat violette und die Maus grüne Stecker beziehungsweise Buchsen. Die Farbtöne sind im PC 99 System Design Guide von Intel und Microsoft festgelegt. In ihrem PC 2001 System Design Guide findet sich das bereits nicht mehr. Diese und andere führende Hersteller empfahlen bereits ab den späten 1990er Jahren die Alternative USB.[3]
An Notebooks und einigen kompakten Industrie-PC-Hauptplatinen war dagegen nur eine PS/2-Buchse vorhanden, die fast immer für Maus und Tastatur geeignet ist und – außer bei sehr alten Modellen – auch für beides gleichzeitig mit einem speziellen Y-Kabel genutzt werden kann. Maus und Tastatur unterscheiden sich in ihrem Verhalten beim Einschalten und beim Reset, sodass das Notebook zwischen beiden unterscheiden kann, wenn sie direkt angeschlossen sind. Um sie gleichzeitig an eine PS/2-Buchse anschließen zu können, werden die beiden ansonsten ungenutzten Pins in der Buchse als zusätzliche Takt- und Datenleitungen benutzt. Das Y-Kabel verbindet +5 V und GND des Steckers (Notebook) mit beiden Kupplungen, und je ein Paar aus Takt- und Datenleitungen mit je einer Kupplung. Es werden also nicht einfach alle Kontakte parallel geschaltet, sonst würden sich Maus und Tastatur gegenseitig blockieren.
Einige Hersteller haben die freien Pins auch für andere Zwecke benutzt, beispielsweise um eine Maus für den kombinierten Betrieb an PS/2 und RS-232 auszulegen oder um mit einer zusätzlichen Taste auf der Tastatur den PC einzuschalten. Das kann bei bestimmten Kombinationen von Computern und Mäusen beziehungsweise Tastaturen zu Problemen führen.
Bei den meisten aktuellen PC-Systemen haben die Hersteller die PS/2-Schnittstelle zugunsten des hot-plug-fähigen USB ganz aufgegeben. Für alte Betriebssysteme emuliert das BIOS aber weiterhin mehr oder weniger gut die PS/2-Schnittstelle, auch wenn Maus und Tastatur tatsächlich über USB angeschlossen sind.
Elektrische Schnittstelle
BearbeitenDas physische Interface der PS/2-Schnittstelle ist mit dem der AT- und MF2-Tastatur identisch. Es hat ähnlich wie die I2C-Schnittstelle eine Datenleitung Data und eine Taktleitung Clock. Die Pegel auf diesen Leitungen sind circa 5 V. Wie man in den Diagrammen oder dem Schaltplan sehen kann, kann jeder Teilnehmer die Daten- oder Taktleitung aktiv auf Low ziehen. Der High-Pegel wird passiv, durch jeweils einen Pull-up-Widerstand an Clock und Data (hier im Beispiel 4,7 kOhm), realisiert. Um eine Datenkollision zu vermeiden, muss jeder Teilnehmer prüfen, ob vielleicht während der Übertragung ein anderer Teilnehmer dieselbe deaktivierte Leitung = high
, auf low
= aktiv zieht. Der Pegel low
= aktiv ist also dominant gegenüber dem Pegel high
= passiv.
Die Schnittstelle ist nicht für Hot Plugging, also Stecken im laufenden Betrieb, vorgesehen, weder das Protokoll noch die Steckverbinder erlauben das.[4]
Protokoll
BearbeitenWie die Artikel Scancode oder Tastatur bereits beschreiben, ist das Protokoll bei einer PC/XT-Tastatur als geschichtlicher Vorgänger der übrigen Tastaturen anders. Hier wird lediglich das aktuell benutzte Protokoll einer MF2-Tastatur (AT-Tastatur) beschrieben.
Clock | Data | Beschreibung |
---|---|---|
1 | 1 | PC ist bereit, Daten von der Tastatur zu empfangen. |
1 | 0 | PC zeigt mit Startbit an, dass er Daten zur Tastatur schicken will. |
0 | 1 | PC ist busy (beschäftigt) und kann zurzeit nichts empfangen. |
0 | 0 | PC wird gerade zurückgesetzt. |
Grundsätzlich kommt der Takt von der Tastatur, sowohl zum Senden von Daten an den PC als auch zum Empfang von Daten vom PC. Die Frequenz kann beträchtlich schwanken, da der Takt per Software im Mikrocontroller der Tastatur erzeugt wird. Die Kommunikation zwischen Tastatur und PC geschieht nur über zwei Leitungen (Data und Clock) bidirektional. Somit sind grundsätzlich nur vier unterschiedliche Anfangszustände möglich.
Zieht der PC zu irgendeinem Zeitpunkt die Taktleitung auf low, muss die Tastatur eine eventuell laufende Übertragung sofort abbrechen und erst wieder beginnen, wenn die Taktleitung freigegeben ist. Leider beachten viele Tastaturen das nicht, was häufig zu Problemen mit Adaptern und KVM-Switches führt.
In den Diagrammen sind die Übergänge als Flanken gezeichnet, um den Verlauf leichter erkennbar zu machen. Nimmt man es ganz genau, geschieht der Übergang von high
auf low
nahezu abrupt (durch den niederohmigen Transistor). Der Übergang von low
auf high
ist dagegen eher langsam und folgt der Form einer e-Funktion (RC-Glied aus Bus-/Leitungskapazitäten und Pull-up-Widerstand).
Das erste Diagramm zeigt den Verlauf der Daten kurz nach dem Einschalten des Computers. In diesem Beispiel wird von der Tastatur ein BAT = $AA geschickt.
- Im Einschaltmoment des Computers werden Clock und Data vom PC auf
low
gezogen. Die Tastatur erkennt dieses und macht einen Selbsttest (basic assurance test). - Nachdem die Software im PC eine Initialisierung (Grundeinstellung aller nötigen Peripherie-Bausteine) vorgenommen hat, wird zunächst Data nicht mehr vom PC auf low gezogen. Ist der PC nun bereit zum Empfang, wird auch Clock deaktiviert und geht durch den Pull-up-Widerstand auf
high
. - Da nun Clock und Data
high
sind, kann die Tastatur Daten schicken. Die Pause dieses Zustandes ist hier aus Platzgründen verkürzt dargestellt. - Zuerst zieht die Tastatur Data auf
low
(Startbit), um den Beginn eines zu übertragenden Bytes zu kennzeichnen. Danach wird von der Tastatur Clock für eine Weile auflow
gezogen. - Auf gleiche Art und Weise werden die folgenden Datenbits
D0...D7
,odd Parity
undStopbit
(Data = 1) übertragen. In dem Beispiel istD7...D0 = 1010 1010
welches$AA = BAT
entspricht. Da die Anzahl der enthaltenen Einsen gerade ist, ist das Parity-Bit fürodd Parity
gesetzt. - Am Ende des Stopbits sind Data und Clock wieder beide
high
. - Zur Bestätigung der empfangenen Daten legt der PC Clock auf
low
, bis die interne Verarbeitung abgeschlossen ist.
- Zunächst muss der PC Clock wieder deaktivieren (negativ True logic), damit eine Übertragung ermöglicht wird. Knapp danach legt der PC Data auf
low
, um mit dem Startbit einen Übertragungswunsch zu signalisieren. - Hat die Tastatur das Startbit erkannt, legt sie Clock auf
low
, um damit das nächste Bit anzufordern. - Nun folgen die Daten-Bits
D0...D7, Parity
undStopbit
nach gleichem Schema. Hier im Beispiel wird1110 1101 = $ED = Set LED
gesendet. - Während Clock im Stopbit noch
high
ist, legt die Tastatur zur Quittierung auf Bitebene Data auflow
und dann Clock für eine Weile auflow
. - Danach wird Data von der Tastatur wieder zurückgenommen, und sowohl Data als auch Clock sind
high
. - Schließlich setzt der PC Clock wieder auf
low
, um die Daten zu verarbeiten.
Nach diesem Befehl Set LED
würde die Tastatur mit Ack
auf Byte-Ebene den Befehl als ‚verstanden‘ quittieren. Als Nächstes kann dann der PC zum Beispiel den Parameter $02
übertragen (NumLock-LED an
). Die Befehlsübersicht steht unter Scancode.
Scancodes
BearbeitenWie in der Abbildung zu erkennen ist, sind die Scancodes der Tastatur in verschlungenen Linien angeordnet, die von der internen Verdrahtung der Matrix in historischen IBM-Tastaturen abgeleitet ist. Beispiele: Y-S-A-W-2, N-B-H-G-Z-6 oder M-J-U-7-8.
Weblinks
BearbeitenEinzelnachweise
Bearbeiten- ↑ IBM Personal System / 2 Hardware Interface Technical Reference. (PDF; 21,5 MB) Keyboard and Auxiliary Device Controller. In: Internet Archive. IBM, Mai 1988, abgerufen am 22. Oktober 2022 (englisch).
- ↑ Adam Chapweske: The PS/2 Mouse/Keyboard Protocol. In: www.computer-engineering.org. 9. Mai 2003, archiviert vom am 5. Juni 2003; abgerufen am 22. Oktober 2022 (englisch).
- ↑ Network PC System Design Guidelines. (PDF; 481 kB) Intel, 5. August 1997, archiviert vom am 4. März 2016; abgerufen am 28. Mai 2011 (englisch).
- ↑ Christof Windeck: PS/2-Hotplugging. In: Heise online. 13. Februar 2012 (Heft 9/2004). Abgerufen am 8. Oktober 2020.