Forum: Mikrocontroller und Digitale Elektronik ps2 Tastatur über AVR


von bingo (Gast)


Lesenswert?

Hallo, ich bin relativ neu auf diesem Gebiet und habe eine Frage 
bezüglich der ps2 Tastatur. Ist es möglich eine ps2 Tastatur an AVR 
anzuschliessen und dabei den erhaltenen Text in AVR umzuformen und 
diesen dann auch in z.B MS Word auszugeben? Ich meine damit gibt es 
bestimmte Treiber Probleme, sodass Windows die Tastatur nicht mehr 
erkennt und somit mit MS Word nicht kommunizieren kann? Soll ich dann 
einen neuen Treiber Programmieren? Danke!

von Gast (Gast)


Lesenswert?

Du musst dann deinen AVR eine Tastatur simulieren lassen... das geht 
natürlich

von Michael_ (Gast)


Lesenswert?

Bei ATMEL gibt es eine Applikation dazu!

von bingo (Gast)


Lesenswert?

Ja genau aber die Treiber jeder Tastatur sind wahrscheinlich nicht 
universell oder? ich meine ich muss dann im Prinzip für verschiedene 
Tastaturen unterschiedliche Codes schreiben (nur für Kommunikation) 
oder?
Das Ver halten der ps2 Tastauren bezüglich der Druckzeiten ist gleich 
oder?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

PS2 ist ein Standard. Folgt Dein AVR diesem Standard, brauchst Du nichts 
weiter zu installieren. Der PC behandelt den AVR dann als Tastatur und 
fertig.

von bingo (Gast)


Lesenswert?

wunderbar das war die Antwort die ich brauchte! Vielen Dank!

von Tobi W. (todward)


Lesenswert?

Irgent wie verstehe ich deine Logik nicht so ganz...
Du willt eine PS2-Tastertur an einen AVr hängen und den avr an den PC um 
dann eine Text eingabe zu machen? Dann kannste doch gleich die Tastertur 
an den PS anschlusss vom Pc hängen. Oder willst du einen Umschalter 
realiesieren?

Aber grundsetztlich sollte das gehen. du musst halt nur das 
PS2-Protokoll auf dem AVR implementieren.

Gruß
Tobi

von Michael S. (captain-stone)


Lesenswert?

Hallo Bingo,

> Ist es möglich eine ps2 Tastatur an AVR anzuschliessen

das geht natürlich. "PS2 tast" ergibt alleine in diesem Forum 414 
Treffer!

http://atmel.com/dyn/resources/prod_documents/DOC1235.PDF


> und dabei den erhaltenen Text in AVR umzuformen und
> diesen dann auch in z.B MS Word auszugeben?

Was hat ein AVR mit Microsoft Word zu tun? Außerdem bekommst Du keinen 
Text in den AVR sondern den Code der gedrückten Taste. Die Glaskugel 
wird hier etwas sehr milchig und ich kann nicht durchblicken...

Michael

von bingo (Gast)


Lesenswert?

Naja um Verständnis und Klarheit zu schaffen deute ich meine Logik!
Also ich schrieb: ich möchte den erhaltenen Text umformen sprich 
codieren, d.h wenn ich z.B "a" drücke soll "b" rauskommen aber nicht 
wörtlich nehmen, es soll eben codiert werden. Mir ging es wie schon 
Einige verstanden haben um PS/2 Kommunikation mit z.B Word.
Also zusammengefasst, ich kann nicht das Ganze (AVR-Teil) weglassen. Und 
neu bin ich nur auf der Kommmunikationsbasis der PS/2 (da es aber eine 
super simple ist braucht man jetzt nicht viel zu wissen, wie mir schon 
gesagt wurde). Und die milchige Glaskugel kann ruhig so bleiben, ich 
wollte ja nicht darum bitten das Projekt für mich zu etwickeln sondern 
ob ich irgendeinen zusätzlichen Treiber brauche zwischen AVR und PC. 
Aber trotzdem Danke.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Dein AVR muß aber auch verstehen, was der PC von ihm will - dies nur zur 
Aufklärung. Der PC als HOST hat das Recht, jederzeit dazwischenzufahren. 
Dies muß Dein AVR richtig deuten können und ggf. an die Tastatur 
weiterleiten. Wenn der PC also die Tastatur initialisieren will, so 
müssen die Daten auch an der Tastatur, und die Antwort der Tastatur am 
PC ankommen. Der AVR ist in dem Fall nicht nur Tastatur, sondern auch 
Weiche.

Das Prinzip von PS2 ist sehr schön auf http://www.marjorie.de 
beschrieben.

von Tobi W. (todward)


Lesenswert?

Travel Rec. schrieb:
> Dein AVR muß aber auch verstehen, was der PC von ihm will - dies nur zur
> Aufklärung. Der PC als HOST hat das Recht, jederzeit dazwischenzufahren.
> Dies muß Dein AVR richtig deuten können und ggf. an die Tastatur
> weiterleiten. Wenn der PC also die Tastatur initialisieren will, so
> müssen die Daten auch an der Tastatur, und die Antwort der Tastatur am
> PC ankommen. Der AVR ist in dem Fall nicht nur Tastatur, sondern auch
> Weiche.

Nein, das stimmt nicht ganz. Der AVR soll laut seiner beschreibung eine 
eigenständige Tastertur darstellen und als eingabetaster wird lediglich 
die andere tastertur missbraucht.
Der AVR muss eigenlich PC und Tastertur gleichzeitig sein.

Gruß
Tobi

von Michael S. (captain-stone)


Lesenswert?

Macht ihr mal weiter, ich steig aus, ich habs nicht verstanden (Bei mir 
hat Word noch nie mit PS/2 kommuniziert).

Michael

von bingo (Gast)


Lesenswert?

Geeeeenau, also einerseits Host für die Tastatur und andererseits Device 
für PC. Tastatur dient nur der Eingabe! genau das war die grundsätzliche 
Frage wegen Initialisierung!!! und diese st meist Hersteller spezifisch 
oder nicht?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Nein. Die Initsequenz ist immer dieselbe. Allerdings ist sie 
betriebssystemabhängig ;-) - meist aber nur vom Timing und der 
Reihenfolge der einzelnen Init-Befehle.

von bingo (Gast)


Lesenswert?

ok super da kommen wir schon näher! danke für die informative Seite! 
aber dennoch steht dort leider, dass er vermuttet, dass es so ist bei 
seinem Init-Vorgang. Weisst du nicht zufällig ob es wirklich so ist?

von Ich (Gast)


Lesenswert?

Wenn du "nur" Tasten vertauschen willst dann kannst du auch die Keymap 
im Betriebssystem modifizieren. Das geht einfacher als mit nem AVR was 
basteln ;)

lg

von Tobi W. (todward)


Lesenswert?

Nein, die ist nicht hersteller spezifisch....
PS2 hat ein festes protokoll

Gruß
Tobi

von Michael_ (Gast)


Lesenswert?

Hallo bingo. Irgendetwas ist dir noch nicht ganz klar. Bei einem 
Tastendruck wird im PC ein Interrupt augelöst und der Scancode 
übertragen. Dann wird er im PC in ASCII umgewandelt. Danach kann es auch 
"WORD" verstehen.
Also, die Tastatur sendet KEINE   ASCII-Zeichen!!!!!!
Suche doch mal nach  scancode , da gibt es massig Erklärungen.

von bingo (Gast)


Lesenswert?

ich bedanke mich wirklich für euren Einsatz und  Hilfe, das finde ich 
wirklich toll, aufden Fall weiter so!!! Aber jetzt muss ich sagen 
vergisst bitte dieses Beispiel mit dem Codieren, denn ich habe es mir 
jetzt einfach so ausgedacht. es geht mir um die Kommunikation und 
eigentlich um die Initialisierung! Denn mit Scan-Codes und allem habe 
ich mich schon, bevor ich die Fragen hier stellte, beschäftigt. Es geht 
mir  wirklich nur um Initialisierung denn zu der habe ich bis jetzt 
nichts 100%-ges gefunden. Aber wie gesagt ihr seit super, und dafür 
Danke!

von bingo (Gast)


Lesenswert?

ich dachte eben, dass es dabei soeine Art Device-Configuration_Protocoll 
ausgetauscht wird. Denn wie man so kennt sind die Schnittstellen zwar 
Standartisiert, jedoch gibt es (oft) einen Hersteller spezifischen Teil 
im Protocoll der was besonderes überträgt! Ihr kennt es doch sicherlich!

von bingo (Gast)


Lesenswert?

ich erzähle bestimmt nichts neues.

von bingo (Gast)


Lesenswert?

aber was ich damit sagen wollte, dass ich diesen standartisierten 
Device-Configuration_Protocoll benötige! (eigentlich wollte ich fragen 
ob man ihn wirklich braucht und wenn ja wo gibts die Beschreibung zu)!

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Nochmal im Klartext: der PC stellt eine Tastaturanfrage in Form einer 
Initialisierung und erwartet darauf eine passende Antwort. Fehlt diese 
Antwort oder ist sie falsch, meldet der PC einen Tastaturfehler und 
stoppt u.U. den Bootvorgang. Du mußt also diese Init behandeln und alles 
wird gut.

http://www.computer-engineering.org/index.php?title=PS/2_Keyboard_Interface

von Reinhard Kern (Gast)


Lesenswert?

bingo schrieb:
> aber was ich damit sagen wollte, dass ich diesen standartisierten
> Device-Configuration_Protocoll benötige! (eigentlich wollte ich fragen
> ob man ihn wirklich braucht und wenn ja wo gibts die Beschreibung zu)!

Hallo,

ich hatte die mal in einem Technischen Handbuch zum PS/2-Computer, habe 
ich aber längst weggeworfen. Das ist auch kein öffentlicher Standard, 
sondern von IBM festgelegt für ihre PS/2-Computergeneration, 
unterscheidet sich aber nicht wesentlich von den älteren AT-Tastaturen 
(auch von IBM definiert).

Die Übertragung geht in jedem Fall in beide Richtungen, z.B. sendet der 
KB Controller Hex FF an das KB als Reset-Befehl und Hex ED, um mit dem 
folgenden Byte die KB LEDs zu setzen, usw. Ein Configuration Protocol 
gibt es nicht, nur eine Beschreibung der einzelnen Befehle.

Gruss Reinhard

von Michael_ (Gast)


Lesenswert?

Ich habe gesucht und gefunden. Hole dir mal aus einer Bibliothek das 
Buch von Michael Tischer "PC intern"( 1992 Band 3.0 Abschnitt 5.2.1). 
Dort ist alles haarklein beschrieben. Es ist so eine Art Bibel, diese 
Grundlagen gelten immer noch!
Also lies das, wir können das hier nicht alles darlegen.

von bingo (Gast)


Lesenswert?

wunderbar ich danke dir für diesem Tip! natürlich wie schon gesagt ihr 
braucht mir nicht die Sachen vorkauen, ich brauchte nur Tips das wars! 
denn Entwickler bin ich selbst genug.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.