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
...