I'm currently coursing computer's structure class, Our teacher has claimed that is impossible to use the USB interface to read keyboard inputs, I've searched online and haven't found any information related, there are tons of tutorials using the PS/2 interface, but no information about USB interface, not even why is not possible, maybe I'm not looking in the right place, or asking the right question, I have access to a library in my university, do you have any suggestions where can I find some info? tutorials, books, articles, etc. Thank you guys!!
Asked
Active
Viewed 2,226 times
2
-
Your teach may be right depending on the FPGA board you have. Some FPGA boards have a USB interface only for programming, while others have a peripheral interface. Now suppose your FPGA board does have the peripheral interface then, your teacher meant to say it is too difficult, nothing is impossible! – J Reid Oct 11 '16 at 18:07
-
1[Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam.](http://stackoverflow.com/help/on-topic). – Oct 11 '16 at 18:13
-
Welcome to Stack Overflow. Please take a moment reading in [Help Center](http://stackoverflow.com/help), since that will give you a better answer rate and experience when using this forum. – Morten Zilmer Oct 11 '16 at 18:26
-
It is obvious that it is not "impossible to use the USB interface to read keyboard inputs", and you can find many FPGA eval. board connect to USB devices. These usually includes a CPU, but that is just a choice of implementation, and could just as well have been made in a VHDL state machine... complex though. – Morten Zilmer Oct 11 '16 at 18:30
-
thank you guys, and I understand what @user1155120 said, but I just don't know where to look, again, thank you and sorry for the question jaja – Mauricio Guzmán Oct 11 '16 at 21:32
1 Answers
0
USB requires much more effort to implement a host controller. It is not trivial and essentially requires a micro of some sort to manage device enumeration. There are successful projects to bit-bang low-speed USB using 8-bit micros (AVR, PIC, etc.) You could adapt one of those to an equivalent soft-core, possibly transferring some of the low level signal generation to real logic.
If you have direct access to D+ and D- pins your best bet would be to find a USB keyboard that supports PS/2 fallback on those pins and use that protocol instead.

Kevin Thibedeau
- 3,299
- 15
- 26