Forum: Mikrocontroller und Digitale Elektronik PC akzeptiert PS/2-Tastatur-Implementierung nicht


von Gnusmas (Gast)


Angehängte Dateien:

Lesenswert?

Ich versuche momentan einen µC (ATTiny2313) an den PS/2-Tastatur-Port 
meines PC's anzuschließen. Dazu verwende ich dementsprechend die CLK und 
DATA-Lines des Anschlusses.

Mein Ziel ist es, später einfache Tastendrücke (also Scancodes) an den 
PC zu schicken. Da ich das ganze schon vor dem OS-Layer brauch, hatte 
ich mich statt einer USB-Implementierung für die PS/2 Implementierung 
entschieden.

Jedoch krieg ich leider keine funktionierende Implementierung hin. Ich 
häng jetzt schon etwa eine Woche an dem "Problem". Dabei habe ich 
diverse eigene Implementierungen versucht; momentan teste ich die 
Schnittstelle aus diesem Projekt: 
http://www.circuitcellar.com/avr2006/winners/Entries/AT3296.zip

Ich kann zwar die entsprechenden Befehle vom PC empfangen (0xFF also 
Reset - wird manchmal aber auch nur als 0xFE, also um ein Bit verschoben 
quasi, empfangen ... Timingproblem bei meiner Implementierung? Tritt bei 
der anderen aber nicht auf); aber der PC will einfach nicht meine 
Befehle annehmen. Egal was ich sende, ich krieg keine Antwort und der PC 
hängt sich mit "No Keyboard found" auf.

Muss ich beim Senden noch irgendetwas beachten? Der Code vom 
ATir-Projekt müsste doch eigentlich funktionieren. Irgendwie verändert 
sich das Verhalten des PC's hier ständig; nur nicht so, wie es soll. 
Aktueller Ablauf einer Boot-Sequenz:
1
< = Empfangen
2
> = gesendet
3
$xx = Übertragungsfehler (xx = empfangenes Byte)
4
5
<FF
6
>FA
7
>AA
8
<$00>FE
9
$00>FE
10
$00>FE
11
$00>FE
12
$00>FE
13
$00>FE
14
$00>FE
15
$00>FE
16
$00>FE
17
$00>FE

Momentan zieht der PC die Dataleitung beim Senden die Data-Leitung 
permanent auf Low ... vorhin hat er das z.B. noch nicht gemacht - Ich 
versteh es langsam nicht mehr ...

Hat irgendwier Tipps oder Ratschläge? Quellcode wäre atm. fast 1:1 der 
vom ATir (handler2, ps2device, utility).

Ein zweiter PC sendet jede 2sec 0xFF, nimmt aber auch meine Antwort 
nicht wahr (0xFE und 0xAA); sendet einfach das ganze weiter und weiter 
...

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.