Hallo, ich möchte einen MSP430 an PS/2 hängen (PC-Tastatur simulieren). PS/2 ist ein Open-Collector-Bus mit ca. 5V. Es gibt eine Takt- und eine Datenleitung, am µC wollte ich je einen Pin als Eingang und einen als Ausgang verwenden. Der MSP430 läuft mit 3,3V und ist nicht 5V-tolerant. Einfach einen Spannungsteiler kann ich nicht nehmen, weil der den Bus runterziehen würde, richtig? Ich habe mir also einen Pegelwandler ausgedacht. (Erstes Bild) Dann habe ich noch diese AN gefunden, die sich mit dem Mischen von I²C-Bussen mit 3,3 und 5V beschäftigt, was ja im Prinzip dasselbe ist: http://ics.nxp.com/support/documents/interface/pdf/an97055.pdf Dementsprechend habe ich mir noch eine andere Lösung ausgedacht. (Zweites Bild) Welchen von beiden soll ich nun nehmen oder lieber was ganz anderes? Irgendwo stand noch, das ginge auch mit Transistoren. Rein interesshalber, wie sähe das aus? Einfach austauschen? Wenn die 5V-Seite (PS/2) low ist, wird ja die 3,3V-Seite durch die Bodydiode vom FET runtergezogen - geht das auch beim Transistor? Grüße, André EDIT: Ja, PS2_CLOCK_READ und PS2_DATA_READ sind vertauscht.
warum setzt Du nicht einen kleinen Controller ein, der PS2 gleich kann und dir zusätzlich PS2 Protokoll händelt. Die Daten kannst du dann in ruhe zum großen Käffer übertragen
André H. schrieb: > PS/2 > > ist ein Open-Collector-Bus mit ca. 5V. Genau deshalb brauchst du auch noch eine 5V Spannungsquelle.
wt schrieb: > warum setzt Du nicht einen kleinen Controller ein, der PS2 gleich kann > und dir zusätzlich PS2 Protokoll händelt. Oh, so etwas gibts? Ist allerdings die Frage, was mehr Aufwand ist. Das Protokoll im MSP430 zu implementieren (zumal ich mir evtl. die Initialisierung sparen werde, weil ne Tastatur normalerweise auch noch mit dran hängt (Keyboard Wedge)) oder solch einen Controller zu finden und sich damit zu beschäftigen. ... schrieb: > Genau deshalb brauchst du auch noch eine 5V Spannungsquelle. Die ist im PC. Ich bin außerdem mal davon ausgegangen (http://www.computer-engineering.org/ps2protocol/ war da nicht so ganz eindeutig), daß die Pullups ebenfalls im PC sind. Im Anhang mal etwas mehr Schaltplan, soweit fertiggestellt. ... schrieb: > Ich würde dir diese Schaltung empfehlen. Danke, aber die wollte ich vermeiden, denn ich müßte sie bestellen. MOSFETs, 74HC4050 und Transistoren hab ich alles da.
André H. schrieb: > Danke, aber die wollte ich vermeiden, denn ich müßte sie bestellen. > MOSFETs, 74HC4050 und Transistoren hab ich alles da. Schau mal hier rein: http://www.standardics.philips.com/support/documents/i2c/pdf/an97055.pdf Ist zwar eigentlich für I2C, aber das ist ja auch ein Open Collector-Bus. Benötigt einen N-MOSFET pro Leitung, und funktioniert bidirektional ohne Richtungsumschaltung. Andreas
Ähm, das ist doch genau die Appnote, die ich auch schon verlinkt hatte und auf die sich meine Fragen bezogen. ;)
André H. schrieb: > Ähm, das ist doch genau die Appnote, die ich auch schon verlinkt hatte > und auf die sich meine Fragen bezogen. ;) Hmm, ja, übersehen ;-) Aber dann ist ja auch alles klar, nimm Variante 2 aus deinem ursprünglichen Post, und gut ist. Open Collector ist Open Collector. Der Pullup auf der 5V-Seite befindet sich ja schon im PS/2-Host, den brauchst (bzw. darfst) du also auf deiner Seite nicht (und ist in deiner Schaltung ja auch nicht drin, passt also). Zur Frage ob man das auch mit Bipolartransistoren machen kann: ja, kann man, aber nicht mit allen. Siehe http://www.patentstorm.us/patents/6847230/claims.html Andreas
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.