Re: RE: Re: Os presento JOY2PS2 para ZXUno
Publicado: 12 Dic 2016, 14:30
Sorry, I didn't answer you. You are already on the list for revision 2 of the PCB.brunosilva escribió:after finished I also want one!
Forum to discuss about the ZX-Uno project
https://www.zxuno.com/forum/
Sorry, I didn't answer you. You are already on the list for revision 2 of the PCB.brunosilva escribió:after finished I also want one!
hi no problem... I saw my username in the first post so... all ok by mespark2k06 escribió:Sorry, I didn't answer you. You are already on the list for revision 2 of the PCB.brunosilva escribió:after finished I also want one!
I'll send you a private message, thanks!brunosilva escribió:Hi
I also want one v1 adapter (assembled)
Thanks
Esto que comentas no debería pasar, si la interfaz física PS/2 se ha implementado de acuerdo a los estándares, que especifican que los dos pines del puerto PS/2 en un dispositivo deben ser de colector abierto SIN PULLUP. El pullup lo pone el host. ¿Está configurado de esa manera? Si no lo está, y has configurado una resistencia interna de pullup en el Arduino Nano, estás llevando esas salidas a 5V, y, aunque la resistencia esté por medio, corres el riesgo de meter 5V a una entrada de la FPGA, y no es tolerante a ellas. Peor aún si en lugar de salida con pullup es una salida en totem-pole, porque entonces la intensidad que recorre la entrada de la FPGA cuando se le conecta a una señal que esté a 5V es mayor, y con ello, el riego de estropear la FPGA.spark2k06 escribió:...teniendo en cuenta que no se debería usar al mismo tiempo para evitar colisiones (en cuanto al ratón no hay problema porque utiliza pines independientes), pero al probarlo he comprobado que con éste conectado los sendcodes del arduino son ignorados, sólo funcionando el teclado... si se desconecta en caliente vuelve a funcionar el arduino y si se vuelva a conectar deja de funcionar (parece como si el teclado "absorbiera" los códigos enviados por el arduino). Esta parte queda pendiente de revisar pero la funcionalidad principal del adaptador funciona correctamente.
Me dejas con el miedo en el cuerpo, tampoco quiero estropear ZXUnos a nadie. Te acuerdas que comentamos este asunto en el otro hilo?:mcleod_ideafix escribió:Esto que comentas no debería pasar, si la interfaz física PS/2 se ha implementado de acuerdo a los estándares, que especifican que los dos pines del puerto PS/2 en un dispositivo deben ser de colector abierto SIN PULLUP. El pullup lo pone el host. ¿Está configurado de esa manera? Si no lo está, y has configurado una resistencia interna de pullup en el Arduino Nano, estás llevando esas salidas a 5V, y, aunque la resistencia esté por medio, corres el riesgo de meter 5V a una entrada de la FPGA, y no es tolerante a ellas. Peor aún si en lugar de salida con pullup es una salida en totem-pole, porque entonces la intensidad que recorre la entrada de la FPGA cuando se le conecta a una señal que esté a 5V es mayor, y con ello, el riego de estropear la FPGA.spark2k06 escribió:...teniendo en cuenta que no se debería usar al mismo tiempo para evitar colisiones (en cuanto al ratón no hay problema porque utiliza pines independientes), pero al probarlo he comprobado que con éste conectado los sendcodes del arduino son ignorados, sólo funcionando el teclado... si se desconecta en caliente vuelve a funcionar el arduino y si se vuelva a conectar deja de funcionar (parece como si el teclado "absorbiera" los códigos enviados por el arduino). Esta parte queda pendiente de revisar pero la funcionalidad principal del adaptador funciona correctamente.
Estoy leyendo este artículo que explica muy bien el funcionamiento de un teclado PS/2, muy recomendado:spark2k06 escribió:... pero al probarlo he comprobado que con éste conectado los sendcodes del arduino son ignorados, sólo funcionando el teclado... si se desconecta en caliente vuelve a funcionar el arduino y si se vuelva a conectar deja de funcionar (parece como si el teclado "absorbiera" los códigos enviados por el arduino).
Hay una parte donde dice que si el teclado recibe comandos inválidos, éste debe responder con un "resend" (sendcode 0xFE), puede ser ese el motivo por el cual "absorbe" los comandos enviados por arduino? porque el teclado los esté capturando y reenviando un 0xFE y el ZXUno se haga un lío?Command Set:
A few notes regarding commands the host can issue to the keyboard:
- The keyboard clears its output buffer when it recieves any command.
- If the keyboard receives an invalid command or argument, it must respond with "resend" (0xFE).
- The keyboard must not send any scancodes while processing a command.
Below are all the commands the host may send to the keyboard:
- If the keyboard is waiting for an argument byte and it instead receives a command, it should discard the previous command and process this new one.
- 0xFF (Reset) - Keyboard responds with "ack" (0xFA), then enters "Reset" mode. (See "Reset" section.)
- 0xFE (Resend) - Keyboard responds by resending the last-sent byte. The exception to this is if the last-sent byte was "resend" (0xFE). If this is the case, the keyboard resends the last non-0xFE byte. This command is used by the host to indicate an error in reception.
Recibe el comando que envía arduino por el mismo puerto, y después debería responder con un 0xFE... ¿Qué hace después el ZXUno con ese 0xFE?, ya no lo se... igual nada, pero posiblemente al enviarlo entre en conflicto con otros scancodes que esté mandando arduino. Una cosa está clara, y es que arduino va a ignorar toda comunicación que lleve a cabo el teclado, el cual sólo recibirá el ZXUno, no así el teclado que escucha tanto al ZXUno como al arduino y puede responder en consecuencia:Summary: Bus States
Data = high, Clock = high: Idle state.
Data = high, Clock = low: Communication Inhibited.
Data = low, Clock = high: Host Request-to-Send