RTV forum PL | NewsGroups PL

Jak zaemulować klawiaturę PS/2 na PC i stworzyć prostą przejściówkę?

PC jako "device" i protokół PS/2 (czy możl iwe?)

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak zaemulować klawiaturę PS/2 na PC i stworzyć prostą przejściówkę?

Goto page 1, 2  Next

__lm
Guest

Wed Jul 15, 2009 9:29 pm   



Witam

Potrzebuję "zaemulować" klawiaturę wykorzystująca interfejs PS/2. Problem
w tym, że według standardu to klawiatura (czyli w tym przypadku device)
jest źródłem sygnału zegarowego, natomiast komputer (host) może tylko
odbierać/nadawać dane. Domyślam się, że nie ma możliwości ustawienia go
jako device przez co mógłby udawać klawiaturę, a może jednak?

Jeśli jednak nie ma takiej możliwości to jak w najprostszy sposób
zrealizować odpowiednią przejściówkę ?
Z wykorzystaniem tylko protokołu PS/2, czy np. między PC, a przejściówką
zwykły RS232 (tak chyba było by prościej)??

Pozdrawiam. Michał.

--
Używam klienta poczty Opera Mail: http://www.opera.com/mail/

wywalto
Guest

Thu Jul 16, 2009 12:50 pm   



Quote:
Potrzebuję "zaemulować" klawiaturę wykorzystująca interfejs PS/2. Problem
w tym, że według standardu to klawiatura (czyli w tym przypadku device)
jest źródłem sygnału zegarowego, natomiast komputer (host) może tylko
odbierać/nadawać dane. Domyślam się, że nie ma możliwości ustawienia go
jako device przez co mógłby udawać klawiaturę, a może jednak?

Jeśli jednak nie ma takiej możliwości to jak w najprostszy sposób
zrealizować odpowiednią przejściówkę ?
Z wykorzystaniem tylko protokołu PS/2, czy np. między PC, a przejściówką
zwykły RS232 (tak chyba było by prościej)??

Nie do końca jestem pewien czy wiem co chcesz osiągnąć. Jeżeli (jak się domyślam) masz COS (jakieś
urządzenie) z wejsciem na klawiaturę ps/2, i chcesz ta klawiaturę zastąpić komputerem emulującym
klawiaturę (czyli połączyć ps/2 w komputerze i tym czymś kablem) to tak sie nie da (wedle mojej
wiedzy).

Gdybym ja miał taka potrzebę, to skleciłbym na atmelku przejściówkę rs232 - ps/2 (albo usb - ps/2).
Od strony atmela oba rozwiązania są równie proste, od strony pc obsługa atmela po usb może być
troszkę bardziej skomplikowana. Ale tylko troszkę. Głównie zależy to od systemu operacyjnego na tym
pc.

Pewnie dało by się też zrobić to bez atmela - podłączyć ps/2 COSi'a do portu drukarki PC i
programowo emulować transmisję ps/2. Teoretycznie powinno się udać.

pozdrawiam
Jacek Kłapacz.

__lm
Guest

Thu Jul 16, 2009 8:13 pm   



Zapewne przejściówka z uC była najsolidniejsza. Z tym, że pomysł z LPT
wydaje się szybszy do realizacji.
W związku z tym pytanie: czy poza implementacją programową wymagana jest
ingerencja w sprzęt, tj. przykładowo pull-up'y po stronie LPT do 5V, czy
wystarczy bezpośrednie połączenie LPT(1,2)-PS/2(data,clock)?

Nawiązując też do USB, czy nie dało by się wykorzystać przejścióki
USB-RS232 i linie RTS, DTR zaadaptowac na data, clock?

Pozdrawiam. Michał.

--
Używam klienta poczty Opera Mail: http://www.opera.com/mail/

wywalto
Guest

Fri Jul 17, 2009 8:29 am   



Quote:
Zapewne przejściówka z uC była najsolidniejsza. Z tym, że pomysł z LPT
wydaje się szybszy do realizacji.
W związku z tym pytanie: czy poza implementacją programową wymagana jest
ingerencja w sprzęt, tj. przykładowo pull-up'y po stronie LPT do 5V, czy
wystarczy bezpośrednie połączenie LPT(1,2)-PS/2(data,clock)?

Trzeba by zerknąc do specyfikacji ps/2. Strzelam, że bezpośrednie połączenie powinno działać, ale to
tylko moje gdybanie.

Quote:

Nawiązując też do USB, czy nie dało by się wykorzystać przejścióki
USB-RS232 i linie RTS, DTR zaadaptowac na data, clock?

Raczej napewno nie. Skoro bywają kłopoty z programatorami podłączanymi przez przejściówki usb-rs232,
to tutaj też widzę problem z timingami. Żeby zmienić stan rts trzeba pewnie wysłać cały pakiet po
usb (to tez moje gdybanie, nie interesowałem się tym zbytnio).

Działałoby pewnie podłączenie pod rs232 (o ile taki jeszcze jest w komputerze). Tyle, że będzie
potrzebna konwersja napięć.

Osobiście wątpię, czy 'pomysł z LPT' będzie szybszy w realizacji. Przykładów realizacji emulatora
klawiatury na mikrokontrolerze jest w necie multum (chociażby na tej grupie 4 wątki wstecz). Mała
przeróbka czyjegoś projektu i masz co chcesz. A na LPT będziesz to robił od początku.

--
pozdrawiam serdecznie
Jacek Kłapacz
http://klapacz.linuxpl.eu

Artur Miller
Guest

Fri Jul 17, 2009 8:45 am   



"ter_haar (wywalto)" <@poczta.onet.pl> wrote in message
news:qc90655goo78mvj2jqrnb6dddn3i7h34hn@4ax.com...
Quote:
Zapewne przejściówka z uC była najsolidniejsza. Z tym, że pomysł z LPT
wydaje się szybszy do realizacji.
W związku z tym pytanie: czy poza implementacją programową wymagana jest
ingerencja w sprzęt, tj. przykładowo pull-up'y po stronie LPT do 5V, czy
wystarczy bezpośrednie połączenie LPT(1,2)-PS/2(data,clock)?

Trzeba by zerknąc do specyfikacji ps/2. Strzelam, że bezpośrednie
połączenie powinno działać, ale to
tylko moje gdybanie.


tyle, ze DATA jest dwukierunkowa, pamiętacie o tym, nie ?

@

wywalto
Guest

Fri Jul 17, 2009 10:31 am   



Quote:
Trzeba by zerknąc do specyfikacji ps/2. Strzelam, że bezpośrednie
połączenie powinno działać, ale to
tylko moje gdybanie.


tyle, ze DATA jest dwukierunkowa, pamiętacie o tym, nie ?

ja pamiętam (autor wątku chyba też, skoro o pullupy pytał).

Tak przy okazji - jeżeli Michał zdecyduje się kombinować z emulacją ps/2 na LPT to chyba warto by
było zobaczyć jak jest robiona emulacja I2C za pomocą LPT. Rozwiązanie układowe powinno być
identyczne. A kilka takich rozwiązań pewnie sie w sieci znajdzie.

pozdrawiam

John Smith
Guest

Fri Jul 17, 2009 11:04 am   



wywalto wrote:
Quote:
Zapewne przejściówka z uC była najsolidniejsza. Z tym, że pomysł z LPT
wydaje się szybszy do realizacji.
W związku z tym pytanie: czy poza implementacją programową wymagana jest
ingerencja w sprzęt, tj. przykładowo pull-up'y po stronie LPT do 5V, czy
wystarczy bezpośrednie połączenie LPT(1,2)-PS/2(data,clock)?


Trzeba by zerknąc do specyfikacji ps/2. Strzelam, że bezpośrednie połączenie powinno działać, ale to
tylko moje gdybanie.

Nie będzie działać, sygnał CLK jest jednokierunkowy. O ile w mostku południowym w którym jest
zintegrowany interfejs klawiatury być może da się zrobić tak aby to PC nadawał ten sygnał,
to nie ma odpowiedniej funkcji API i trzeba omijać warstwę HAL aby dostać się do sprzętu.
Chyba możliwe do zrobienia, ale mniej roboty będzie ze zrobieniem jakiego uC na zewnątrz,
podpiętego przez RS lub USB.
K.

__lm
Guest

Fri Jul 17, 2009 12:31 pm   



W tym momencie kombinuję z przejścióka USB-RS232, z tym, że już nie
sterownie liniami RTS, DTR jak pisałem wczesniej (np. za pomocą funkcji
EscapeCommFunction i flagi SETRTS, CLRRTS) ale wykorzystaniu trybu Bit
Bang. Tylko tu pojawia się problem transmisji dwukierunkowej -
teoretycznie dany pin może pracować jako wieście lub wyjście, ale czy da
sie zrobić z tego magistralę tego jeszcze nie wiem.

Tak też pewnie zostaje LPT (na bazie emulacji I2C na LPT o której
wspominał Jacek) i wykorzystanie trybu bajtowego PS/2 (?)

--
Pozdrawiam. Michał

Używam klienta poczty Opera Mail: http://www.opera.com/mail/

John Smith
Guest

Fri Jul 17, 2009 1:05 pm   



Quote:
W tym momencie kombinuję z przejścióka USB-RS232, z tym, że już nie
sterownie liniami RTS, DTR jak pisałem wczesniej (np. za pomocą funkcji
EscapeCommFunction i flagi SETRTS, CLRRTS) ale wykorzystaniu trybu Bit
Bang. Tylko tu pojawia się problem transmisji dwukierunkowej -
teoretycznie dany pin może pracować jako wieście lub wyjście, ale czy
da sie zrobić z tego magistralę tego jeszcze nie wiem.

A którą to końcówke możesz w RS232 zadeklarować dowolnie jaki wejście lub wyjście?
K.

wywalto
Guest

Fri Jul 17, 2009 1:27 pm   



Quote:
W tym momencie kombinuję z przejścióka USB-RS232, z tym, że już nie
sterownie liniami RTS, DTR jak pisałem wczesniej (np. za pomocą funkcji
EscapeCommFunction i flagi SETRTS, CLRRTS) ale wykorzystaniu trybu Bit
Bang. Tylko tu pojawia się problem transmisji dwukierunkowej -
teoretycznie dany pin może pracować jako wieście lub wyjście, ale czy
da sie zrobić z tego magistralę tego jeszcze nie wiem.

A którą to końcówke możesz w RS232 zadeklarować dowolnie jaki wejście lub wyjście?

Żadną. Ale co za problem połączyć końcówkę 'wyjście' z inną 'wejście'. Tak się na przykład robi
przejściówki rs232 - 1wire.

pozdrawiam
Jacek.

__lm
Guest

Fri Jul 17, 2009 1:49 pm   



Dnia 17-07-2009 o 14:05:57 John Smith <dam9723@buziaczek.pl> napisał(a):

Quote:
W tym momencie kombinuję z przejścióka USB-RS232, z tym, że już nie
sterownie liniami RTS, DTR jak pisałem wczesniej (np. za pomocą
funkcji EscapeCommFunction i flagi SETRTS, CLRRTS) ale wykorzystaniu
trybu Bit Bang. Tylko tu pojawia się problem transmisji dwukierunkowej
- teoretycznie dany pin może pracować jako wieście lub wyjście, ale
czy da sie zrobić z tego magistralę tego jeszcze nie wiem.

A którą to końcówke możesz w RS232 zadeklarować dowolnie jaki wejście
lub wyjście?
K.


To już tyczyło sie kostki FT232R i trybu Bit Bang.

--
Używam klienta poczty Opera Mail: http://www.opera.com/mail/

John Smith
Guest

Fri Jul 17, 2009 2:02 pm   



Quote:
A którą to końcówke możesz w RS232 zadeklarować dowolnie jaki wejście lub wyjście?


Żadną. Ale co za problem połączyć końcówkę 'wyjście' z inną 'wejście'. Tak się na przykład robi
przejściówki rs232 - 1wire.

Żaden problem połączyć, tylko dalej nie masz łączności dwukierunkowej, bo wyjścia nie
postawiłeś w "trzeci stan".
K.

wywalto
Guest

Fri Jul 17, 2009 2:20 pm   



Quote:
Żadną. Ale co za problem połączyć końcówkę 'wyjście' z inną 'wejście'. Tak się na przykład robi
przejściówki rs232 - 1wire.

Żaden problem połączyć, tylko dalej nie masz łączności dwukierunkowej, bo wyjścia nie
postawiłeś w "trzeci stan".

dobrze, że najprostszy adapter rs232 - 1 wire o tym nie wie i działa ;)

adapterowi lpt - i2c (np takiemu: http://www.maxim-ic.com/appnotes.cfm/an_pk/3230) też nie powiem,
że nie może działać, bo jeszcze przestanie

John Smith
Guest

Fri Jul 17, 2009 2:54 pm   



Quote:
Żadną. Ale co za problem połączyć końcówkę 'wyjście' z inną 'wejście'. Tak się na przykład robi
przejściówki rs232 - 1wire.

Żaden problem połączyć, tylko dalej nie masz łączności dwukierunkowej, bo wyjścia nie
postawiłeś w "trzeci stan".


dobrze, że najprostszy adapter rs232 - 1 wire o tym nie wie i działa ;)

adapterowi lpt - i2c (np takiemu: http://www.maxim-ic.com/appnotes.cfm/an_pk/3230) też nie powiem,
że nie może działać, bo jeszcze przestanie

A oto wyjaśnienie dlaczego działa (z ww. strony):
The 74HC05 contains six inverters with open-collector outputs.

Nadal pozostaje otwarte pytanie o RS232 i Twój pomysł bezpośredniego połączenia
wyjścia z wejściem celem zrobienia obustronnej komunikacji. Kombinuj dalej.
K.

T.M.F.
Guest

Fri Jul 17, 2009 4:07 pm   



Quote:
Trzeba by zerknąc do specyfikacji ps/2. Strzelam, że bezpośrednie
połączenie powinno działać, ale to
tylko moje gdybanie.

Nie będzie działać, sygnał CLK jest jednokierunkowy. O ile w mostku
południowym w którym jest
zintegrowany interfejs klawiatury być może da się zrobić tak aby to PC
nadawał ten sygnał,
to nie ma odpowiedniej funkcji API i trzeba omijać warstwę HAL aby
dostać się do sprzętu.

Uzylesz tyle madrych skrotow... Smile
Jedyny problem to dostep do IO pod systemami z ochrona pamieci, da sie
to zrealizowac za pomoca stosownej dllki, tu masz przyklad jak to
zrobiono VC++:
http://electrosofts.com/parallel/parallelwin.html
Generalnie nie jest to zadnym problemem, o czym swiadczy np. ponyprog
(dostep do zrodel jest).


--
Inteligentny dom - http://idom.wizzard.one.pl
http://idom.sourceforge.net/
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jak zaemulować klawiaturę PS/2 na PC i stworzyć prostą przejściówkę?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map