emulatore tastiera PS/2 [CROSSPOST]

ciao sto cercando di fare un circuito con PIC che mi emuli una tastiera atx in modo da usare solo i tasti che mi servono (anche combinazioni di tasti); ho provato a cannibalizzare una scheda di una vecchia tastiera, ma fra svariati

4016 e multiplexer vari occupo troppo posto. in pratica il pic dovrebbe accettare in ingresso una combinazione binaria (8bit) ed in uscita generare i segnali data e clock delle linea PS/2.

ho googlato un po ma non ho trovato niente di interessante di già pronto :-))) ed anche leggendo i vari tutorial sul protocollo mi sono fermato sul fatto della bidirezionalità del segnale, che mi complicherebbe molto la programmazione... secondo voi il ritorno dei dati da PC a tastiera è fondamentale oppure potrei evitare questa parte???

comunque se qualcuno ha qualche risorsa già pronta non è che la disdegnerei :-)))

ciao Roberto

Reply to
bobwolf
Loading thread data ...

e generare questi segnali quando lo stato di un altro pin cambia (o va alto/basso)

se alla tua periferica non interessa ricevere dati puoi evitarla ma cmq la bidirezionalità ti serve lo stesso dal momento che la trasmissione è seriale sincrona negoziata... c'è una condizione per cui l'host DEVE ricevere i dati e una condizione in cui il device NON può trasmettere

qui c'è qualcosa ma internet è pieno, che hai cercato? :)

formatting link

-ice-

Reply to
ice

grazie della risposta velocissima io mi sono basato su questo

formatting link
non è molto semplice il meccanismo :-((( ci sto diventando pazzo nel cercare di capire come potrei fare con un PIC a fare tutte le temporizzazioni necessarie... già è un casino in una direzione figurarsi in tutte e due :-((( comunque ce la dovrei fare... con le mie poche risorse in programmazione ed il vostro aiuto :-)))

questa interfaccia che sto progettando dovrebbe funzionare in parallelo con una tastiera "normale" attraverso questo circuito

formatting link
; la particolarità di questo circuitino è che solo la prima tastiera funziona interamente mentre alla seconda non funzionano i led (un solo verso nella comunicazione???) : il circuito è funzionante e già testato da me

la funzione della mia interfaccia è solo per avere una piccola tastiera con i pulsanti che mi servono e creare degli automatismi di digitazione (non posso usare programmi win dedicati il sistema è DOS puro)

mi puoi dare qualche consiglio??? suggerimenti???

ciao Roberto

Reply to
bobwolf

Io ho fatto l'inverso (leggevo una tastiera PS/2 e inviavo in RS232), ti posso dire che non è niente di impossibile, è una semplice seriale sincrona. La pagina che avevo consultato io era questa:

formatting link
E' molto dettagliata e ho trovato tutte le info che mi servivano. Generare il segnale di norma è più semplice che riceverlo quindi penso che te la caverai con poco :)

Se vuoi qualche info puoi provare a chiedermi, magari mi ricordo qualcosa...

...:::Zmaster:::...

Reply to
Zmaster

ciao per la parte della generazione dei segnali ci sarei anche... forse... il documento che hai usato è lo stesso che uso io per capirci qualcosa secondo te usando quel circuito che mi sdoppia la porta della tastiera (ripeto già testato e funzionante con due tastiere "intere") avrei bisogno ancora della bidirezionalità della linea dati??? come hai fatto per far andare in due direzioni il flusso dei dati??? hai usato 2 piedini per un verso e 2 per l'altro oppure hai fatto qualche acrobazia con i registri???

ciao Roberto

PS ogni info è preziosa

Reply to
bobwolf

ma se usi una logica programmabile non hai bisogno di alcuna acrobazia... un pin può essere settato come uscita o come ingresso, dove sta il problema? i registri TRIS di un pic ti dicono qualcosa?

-ice-

Reply to
ice

ciao sono un principiante, per ora anche pensare a spostare molti registri mi da il capogiro :-))) comunque qualcosa sta venendo fuori...

notizie sulla bidirezionalità della porta??? è indispensabile???

ciao Roberto

Reply to
bobwolf

forse sei partito con qualcosa di non immediato per un principiante ;)

sì, la tua periferica deve sapere se può trasmettere e per farlo deve sapere lo stato della linea ma ti assicuro che con un micro è davvero immedita una cosa come cambiare la direzione di un pin!

-ice-

Reply to
ice

ciao il discorso del cambio di direzione del pin l'ho già implementato :-))) sembrava più complicato :-)))

il programma all'incirca va cosi: il pin del clock normalmente è in ricezione (input) quando voglio trasmettere un carattere guardo se il pin clock è a livello alto per almeno 100us se è vero allora inverto la direzione del pin (output) ed inizio la sequenza di clock e dati del carattere rimetto in ricezione il pin del clock (input) e riparto da capo se c'è un'altro carattere da trasmettere

quello che mi chiedo io è che non vorrei fare anche la parte di ricezione/controllo dato da PC a tastiera: lo posso saltare questo passaggio oppure è indispensabile???

ciao Roberto

Reply to
bobwolf

ok

il pc i dati te li manda... se tu non li ricevi non importa (vanno persi) però non potrai mai sapere se un dato che hai trasmesso è stato ricevuto correttamente cmq credo che per iniziare tu possa saltare questo passaggio

-ice-

Reply to
ice

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.