AT oder PS / 2 Tastatur-Schnittstelle

A

andre2000

Guest
Hi guys, noob hier.
Ich
bin versucht, ein Modul zur Erfassung der Tastatur Zeichen von der Tastatur an den PS / 2 Port auf meinem @ ltera Bord.

Ich muss genau wissen, wie die Signale kommen von der Tastatur, wenn eine Taste gedrückt wird.Das Internet ist groß, und ich suchte und suchte und fand eine Menge Infos.Aber vieles davon ist unvollständig, widersprüchlich oder nicht eindeutig.

Was kommt aus dem seriellen Daten-polig, wenn eine Taste gedrückt wird?Einige Seiten sagen, dass nur die Scan-Code kommt (gerahmt in 11 Bit).Andere sagen, dass der Scan-Code kommt, und wird gefolgt von einer Pause, Code auszuführen, wenn die Taste losgelassen wird (Code $ F0), auch gerahmt.
Ein weiterer Ort, sagt, dass, wenn Sie eine Taste drücken die folgenden kommt "$ E0 $ F0 xx", wie unklar ist, dass?!Ist die "xx" die Daten?Ist dies der Fall,
doesnt sinnvoll!

Dann an einem anderen Ort, so dass Sie, wenn Sie die Taste gedrückt halten, sendet er die Scan-Code immer wieder "10-mal pro Sekunde", bis eine Freigabe (Pause)-Code wird.Das kann doch nicht wahr sein, denn wir können alle auf den Schlüssel für genau 1 Sekunde, und dies
doesnt passieren!

Alle Seiten sagen, dass die Tastatur Taktfrequenz kann von 10kHz bis 30kHz, wenn thats true, dann, wenn Sie drücken Sie eine beliebige Taste für 1 Sekunde, es hat tatsächlich die 333 von der gleichen Scan-Code in dieser Zeit (unter
der Voraussetzung, 30kHz).Wie ist das möglich?Muss ich meine Modul kommen über diese oder gibt es etwas anderes passiert?

 
wird es für die ps2 9600baud 8bit 1 Start 1 Stopp-Bits 1 Parity-Bit

adhear die PS2-Tastatur-Protokoll (Blick auf das Netz für den Standard)

nur die adidtion der gerätespezifischen Treiber vielleicht ändert normalen Setup

Sie schicken Sie einfach die Tastatur ein Byte oder ein Schalter, um sie init
...siehe Protokoll für PS2 Tastatur
so anders, wie Sie können eine beliebige serielle Schnittstelle und HyperTerminal
init und erhalten Daten aus einem Tastatur für die Praxis usw. ...
http://www.computer-engineering.org/ps2protocol

die Daten-Pins sind auf TTL 5V-Ebene im Gegensatz zu den Standard- -12V RS232 Ebenen
die meisten seriellen RS232-GMO-Geräte
schaltet bis 5V TTL-Pegel auf Erkennung
(modernen PC, die nach 2000)
die Daten in der Regel "getaktete in die und aus" der Puffer auf der Tastatur und die Port
-auf Interrupt

...

Daten von Tastatur / Maus
etc.ist in der Regel in Paketen für mehrere Byte gesendet werden, was auf der Tastatur-Taste eingestellt ist (Schicht oder nicht ctrl gedrückt oder nicht usw.)
jeder hat seine Adresse und sendet es ist entschlüsselt, die richtigen Andeutung von Tastendruck

 
VSMVDD schrieb:

so anders, wie Sie können eine beliebige serielle Schnittstelle und HyperTerminal für init und erhalten Daten aus einem Tastatur für die Praxis usw. ...

 
Vielen Dank für Ihre Antworten!
Ich habe gelernt, viel über die PS / 2, und ich bin zuversichtlich, mein Code-Schnittstelle mit.

Ein weiterer queston,
Sobald ich die Daten Ich möchte, um ihn von der Scan-Code, um ASCII.Ich weiss nicht, sich über die Multibyte Schlüssel, nur die Grundlagen.Ich weiß, muss ein Lookup-Tabelle für eine Keycodes-> ASCII-Konverter.Bedeutet dies, dass eine mux mit 127 Eingaben (8bytes EA) und ein 8-Bit wählen?Es doesnt
sound Recht ....

 
Eigentlich habe ich ein Problem mit meinem Design.Ich wirklich tun müssen, um die multi-Codes, da der Release-Code!Wenn Sie eine Taste der Tastatur wird eine 2-Byte-Code Release umrahmt von einem Start-Bit, Parität und Stoppbit.

Das erste Byte ist E0h, gefolgt von der 1-Byte-Code-Scan, dass der Schlüssel, der veröffentlicht wurde.
Habe ich es so, dass eine Zustandsmaschine sieht E0h, kennt seine eine Pause, und dann einfach ignoriert den Rest der Release-Code.

Das Problem ist nur, es ist nicht zu groß werden von einem Entwurf, und ich
mache mir Sorgen darüber, wie es geht zu synthetisieren.Kann jemand mir einige Design-Tipps?

 

Welcome to EDABoard.com

Sponsor

Back
Top