I'm trying to use a USB keyboard with a Genesys 2. The keyboard is connected to J7-top and the FPGA firmware is Genesys-2-Keyboard-2016.4-1.zip (so the PIC is being used to translate between USB + PS/2)
My problem is that the keyboard only works intermittently. If you start pressing keys, nothing will happen for a second or two, then it will start working (so many keypresses are lost). If you stop pressing any keys for a second, it will revert to the not working state, and so on.
When in the not working state, LD11 (BUSY) is slowly blinking. When it is working, LD11 is off. The reference manual states: "A slow pulse means the microcontroller is waiting for a configuration medium to be plugged in." Is there any way to prevent this? Changing JP4 or JP5 doesn't seem to make a difference.
I've also noticed, that each time it starts working, it sends 0xaa, which according to the docs, indicates the self-test has passed. I'd only expect this to occur once, not each time it starts outputting scan codes. It's almost as if the PIC is continually being reset.
I've tried two different USB keyboards and both do not work. The same problem doesn't seem to happen with a mouse connected.
I've also noticed even when working, it doesn't seem to send correct scan codes for the arrow keys. Right arrow just sends E0. Left arrow sends 6B. Is the source code for the PIC available?
Question
srce
Hi,
I'm trying to use a USB keyboard with a Genesys 2. The keyboard is connected to J7-top and the FPGA firmware is Genesys-2-Keyboard-2016.4-1.zip (so the PIC is being used to translate between USB + PS/2)
My problem is that the keyboard only works intermittently. If you start pressing keys, nothing will happen for a second or two, then it will start working (so many keypresses are lost). If you stop pressing any keys for a second, it will revert to the not working state, and so on.
When in the not working state, LD11 (BUSY) is slowly blinking. When it is working, LD11 is off. The reference manual states: "A slow pulse means the microcontroller is waiting for a configuration medium to be plugged in." Is there any way to prevent this? Changing JP4 or JP5 doesn't seem to make a difference.
I've also noticed, that each time it starts working, it sends 0xaa, which according to the docs, indicates the self-test has passed. I'd only expect this to occur once, not each time it starts outputting scan codes. It's almost as if the PIC is continually being reset.
I've tried two different USB keyboards and both do not work. The same problem doesn't seem to happen with a mouse connected.
I've also noticed even when working, it doesn't seem to send correct scan codes for the arrow keys. Right arrow just sends E0. Left arrow sends 6B. Is the source code for the PIC available?
edit: Seems a similar problem to this https://forum.digilentinc.com/topic/9403-nexys4-ddr-usb-interface-reset-with-keyboard/#comment-28956 - but that didn't seem to have a resolution. My keyboard USB IDs are: VID 1a2c PID 2124 and VID 046E PID 6000. I've just ordered a Microsoft Wired Keyboard 600 as mentioned in that thread, to see if it works.
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.