(Mini-)USB-Tastatur hat D- standardmäßig hoch

Ich habe eine Tastatur aus einem alten Tablet-Gehäuse mit einem Mini-USB-Anschluss, die ich mit einem PIC32-Mikrocontroller auslesen möchte.

Wenn ich 5 V an die Tastatur anlege (völlig eigenständig, keine anderen Schaltkreise in der Nähe), macht die Tastatur etwas auf den Datenleitungen, wenn ich einige Tasten drücke, aber es scheint nicht das Protokoll zu verwenden, das ich kenne :

Geben Sie hier die Bildbeschreibung ein

Hier scheinen D+ und D- die meiste Zeit zueinander invers zu sein, und D- ist im Leerlauf niedrig. Meine Tastatur zeigt nicht dasselbe Muster.

D- ist im Leerlauf hoch. D+ ist auch im Leerlauf hoch, ich habe nicht nur die Leitungen getauscht. Ich habe nicht die Werkzeuge, um eine gründliche Analyse durchzuführen, aber ich weiß, dass die beiden Linien nicht einfach gleich sind.

Gibt es USB-Tastaturen mit einem anderen Protokoll (z. B. D-invertiert oder etwas ganz anderes)? Was könnte hier los sein?

Antworten (1)

Viele Tastaturen unterstützen PS/2 aus Gründen der Abwärtskompatibilität - sie erkennen, ob sie mit einem USB-Host verbunden sind, und wenn nicht, verhalten sie sich wie eine PS/2-Tastatur.

Es ist möglich, dass Sie dies sehen - wenn Sie nichts an die D+/D-Leitungen angeschlossen haben, würde die Tastatur feststellen, dass sie nicht mit einem USB-Host verbunden ist, und auf PS/2 zurückgreifen. Wenn dieser Modus nicht vorhanden wäre, würden Sie wahrscheinlich überhaupt nichts auf den Datenleitungen sehen, da kein Host verbunden ist, um Befehle auszugeben.

Es gibt USB-zu-PS/2-Adapter, die im Grunde nur passiv sind und die D+- und D--Signale mit den Takt- und Datensignalen des PS/2-Anschlusses verbinden. Es könnte sich lohnen, eines davon auszuprobieren (wenn Sie eines herumliegen und einen Computer mit einem PS/2-Anschluss haben), um dies zu überprüfen.

Okay, das ist sehr interessant, danke. Auch wenn ich es an den PIC anschließe, funktioniert es nicht, das könnte bedeuten, dass der PIC etwas falsch macht. Weißt du zufällig, was ich in den Host-Zeilen sehen sollte, wenn es 'zuhört'? Dh, was würde die Tastatur prüfen, um festzustellen, ob sie mit einem USB- oder PS/2-Host kommuniziert?
@CamilStaps Werfen Sie einen Blick auf Seite 11 dieses Datenblatts . Es ist für einen Tastatur-Controller, der den Dual-Modus unterstützt. Seite 11 zeigt ein Flussdiagramm, wie es die Erkennung durchführt, also ist es möglich, dass Ihres etwas Ähnliches tut. Auf der nächsten Seite gibt es eine Erklärung
Vielen Dank. Ich habe es noch nicht herausgefunden, wenn ich diesem Flussdiagramm in meiner Situation folge, würde ich einen USB-Host erkennen. Aber es ist sicherlich hilfreich, ich habe eine neue Richtung, in der ich suchen kann.