RS232 auf PS/2-Tastatur

André Hentschel wrote: [sinnvollen Kram unter korrektem Namen] Es ist Vollbracht! CyberAH ist Geschichte, er schreibt jetzt mit Real-Name und verwendet einen Newsreader, der nicht bei jedem Reply einen neuen Thread aufmacht. Willkommen in D.S.E!

Tschuessle Bernhard Spitzer

--
Wer Druckfehler findet, darf sie behalten!
Antwortadresse funktioniert eine gewisse Zeit.
Reply to
B. Spitzer
Loading thread data ...

Dann nimm was fertiges wie

formatting link

Gru=C3=9F, Enrik

Reply to
Enrik Berkhan

Hab ich irgendwelche Aussagen zur Hardware gemacht? WIMRE nicht. Nat=C3=BCrlich muss man ein wenig basteln, schon alleine um auf die richtigen Pegel zu kommen. Wie man getrennte Sende/Empfangs-Teile auf eine bidirektionale Leitung bringt ist auch Standardwissen (wer nicht wei=C3=9F wie's geht sehe sich einfach die Beschaltung von USB an oder den Wikipedia Artikel =C3=BCber den PS/2-Port).

RS232 hat jeweils 2 Handshake-Leitungen in jede Richtung (RTS und DTR). Wenn man da also die Passenden Puffer anschliesst kann man damit einen RS232PS/2 Adapter bauen.

formatting link

Wolfgang Draxinger

--=20 E-Mail address works, Jabber: snipped-for-privacy@jabber.org, ICQ: 134682867 GPG key FP: 2FC8 319E C7D7 1ADC 0408 65C6 05F5 A645 1FD3 BD3E

Reply to
Wolfgang Draxinger

RS232 verwendet aber einen Leitungscode, der zwar keine Taktr=C3=BCckgewinnung, aber eine Synchronisation erlaubt, d.h. Startbit, Daten, Stopbit(s). Die Start- und Stopbits wirst Du nicht los, d.h. das ist f=C3=BCr die Kommunikation mit Tastaturcontroller bzw. einer Tastatur an sich ungeeignet. In der Gegenrichtung (Rx) fehlen demgegen=C3=BCber die Start- und Stopbits.

Ausgabe von Takt per RTS und Daten per DTR oder umgekehrt, ist Dein Bier was Du mit was verbindest. CTS und DSR verwendet man dementsprechend als Input. Das ganze =C3=BCber einen Puffer wie in

formatting link
beschrieben. Auf Seiten der RS232 Schnittstelle brauchst Du -15V f=C3=BCr logisch 0 und +15V f=C3=BCr Logisch High

Dann brauchst Du nur noch ein Programm, das die Handshake-Leitungen entsprechend abfragt und setzt. Wie das genau handzuhaben ist steht in dem genannten Wikipedia-Artikel unter "Protokoll".

Wolfgang Draxinger

--=20 E-Mail address works, Jabber: snipped-for-privacy@jabber.org, ICQ: 134682867 GPG key FP: 2FC8 319E C7D7 1ADC 0408 65C6 05F5 A645 1FD3 BD3E

Reply to
Wolfgang Draxinger

Lies dir das Protokoll der PS/2 nochmal durch. Da sind Start- und Stoppbits dabei, ebenso ein Parity-Bit (odd). So gesehen koennte man das schon mit der RS232 erledigen, muss nur die Baudrate stimmen.

Noe, die sind da...

Gerrit

Reply to
Gerrit Heitsch

Wolfgang Draxinger schrieb:

Da hab ich noch nix von Puffern gefunden

Nein, der Computer nimmt +-10V, da der Standart von 3 bis 15 reicht.

Kein Problem, ich kann recht gut VB6. Mit einem Bsp.-Prog von Robotikhardware.de krieg ich das schon hin, hoff ich.

Ich Danke euch allen recht herzlich!

Reply to
André Hentschel

Ein Puffer ist in der Digital-Elektronik etwas anderes als beim Programmieren. Schlicht und einfach gesagt ist es ein Baustein, der ein Signal auf einen anderen Pegel bringt oder eine Impendanzanpassung vornimmt, z.B. wenn das Signal =C3=BCber einen Bus an mehrere Eing=C3=A4nge geht und damit das andere Ende terminiert werden muss.

Darum werden Puffer in Schaltbildern mit dem Verst=C3=A4rkerdreieck gezeichnet, wobei aber jedwede Anfl=C3=BCge von Linearit=C3=A4t, die ei= n richtiger Verst=C3=A4rker haben sollte, absichtlich praktisch nicht vorhanden ist.

Standard schreibt man mit 'd' hinten. Und nein, der RS232 Standard schreibt +/-15V am Ausgang vor und +/-7,5V am Eingang als Pegelschwelle. Zwischen -7,5V und +7,5V ist der Pegel undefiniert. Dies ist dem Umstand geschuldet, dass fr=C3=BCher RS232 =C3=BCber mehrere Meter, manchmal sogar bis zu 500m weit verlegt wurde.=20

VB ist zu langsam. Nimm C oder etwas anderes, das in schnellen nativen Code kompiliert (VB hat zuviel Overhead). Ausserdem muss das Programm mit h=C3=B6chstm=C3=B6glicher Priorit=C3=A4t laufen (am be= sten als Treiber). Den Empfang von Daten am besten in einer Endlosschleife (keine Timer).

Die zuverl=C3=A4ssigste L=C3=B6sung nat=C3=BCrlich der bereits erw=C3=A4= hnte Mikrocontroller als Bindeglied. Kost weniger als ein Apfel und ein Ei und ob man jetzt 2 ICs f=C3=BCr einen RS232PS/2 Pegelwandler verbaut, oder 2 ICs als RS232PS/2 Konverter ist vom Materialaufwand her wurscht. Ausserdem kannst Du dann mit einem simplen WriteFile, ReadFile auf COMx die Zeichen schicken, w=C3=A4hrend man sich sonst mit allerlei Timingproblemen rumschlagen muss (ausser man verwendet ein Echtzeit-OS, d.h. nicht Windows und auch nicht Linux).

Wolfgang Draxinger

--=20 E-Mail address works, Jabber: snipped-for-privacy@jabber.org, ICQ: 134682867 GPG key FP: 2FC8 319E C7D7 1ADC 0408 65C6 05F5 A645 1FD3 BD3E

Reply to
Wolfgang Draxinger

Recht hast Du. Aber dann muss man ja immer noch den Takt dazu in Senderichtung erzeugen, da denke ich an einen PLL, der das erledigen k=C3=B6nnte.

Wolfgang Draxinger

--=20 E-Mail address works, Jabber: snipped-for-privacy@jabber.org, ICQ: 134682867 GPG key FP: 2FC8 319E C7D7 1ADC 0408 65C6 05F5 A645 1FD3 BD3E

Reply to
Wolfgang Draxinger

Vor laaaanger Zeit gabs mal eine Anleitung wie man eine PC-Tastatur an einen Atari ST anschliessen konnte. Der Atari benutzte ein asynchrones Interface (einen der beiden 6850). Die Schaltung selber kam ohne Microcontroller aus, war aber ein ziemlicher Hack. Man musste einen Oszillator von Hand abstimmen bis der auf die anzuschliessende Tastatur passte und einer der Bausteine war AFAIK ein sehr schwer zu findender und teurer FIFO aus der 74xxx-Reihe...

Vielleicht hat noch jemand die Schaltung rumliegen?

Gerrit

Reply to
Gerrit Heitsch

Wolfgang Draxinger schrieb:

Gebe dir gern mit allem Recht! Nur muss ich auf meiner Meinung bestehen, dass der undefinierte Spannungsbereich zwischen -3 und +3 liegt! Sorry, aber es ist so laut Norm.

Ich hab leider nicht viel Ahnung von C.

Danke

Reply to
André Hentschel

Wolfgang Draxinger schrieb:

Ich geb dir gern in allem Recht! Nur muss ich auf meiner Meinung bestehen, dass der undefinierte Spannungsbereich zwischen -3 und +3 liegt!

Von C hab ich zu wenig Ahnung, leider.

Reply to
André Hentschel

IIRC in der aktuellen Version +-6V am Ausgang und +-3V am Eingang.

cu Michael

--
Some people have no respect of age unless it is bottled.
Reply to
Michael Schwingen

Seit wann (ehrlich Frage)? Das f=C3=BChrt doch die ganze Idee hinter RS232 ad absurdum. Meinetwegen, ist sicher dem Umstand geschuldet, dass die Hersteller auch noch den letzten Kondensator f=C3=BCr die Ladungspumpe einsparen wollen.

Wolfgang Draxinger

--=20 E-Mail address works, Jabber: snipped-for-privacy@jabber.org, ICQ: 134682867 GPG key FP: 2FC8 319E C7D7 1ADC 0408 65C6 05F5 A645 1FD3 BD3E

Reply to
Wolfgang Draxinger

ITU-T V.28 dürfte alt genug sein (meine Version ist von 03/93). Die spezifiziert am Sender minimal 5V bei 3000 Ohm Last, und maximal 15V bei Leerlauf, sowie Schaltschwellen am Empfänger von +-3V. Damit sind die aktuellen 3.3V-Ladungspumpen-Treiber bei nicht allzu langen Kabeln innerhalb der Spec.

Aktueller ist wohl TIA/EIA-232-F, die ist aber wohl nicht frei verfügbar.

formatting link

Ich vermute eher, daß die Forderung von mehr als +-5V am Sender eher eine Legende ist, die von Herstellern, die nicht-standardkonforme Empfänger bauen, gepflegt wird - oder war das in EIA-232-C oder -D wirklich gefordert?

Gibt es die alten Standards irgendwo elektronisch?

cu Michael

--
Some people have no respect of age unless it is bottled.
Reply to
Michael Schwingen

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.