Jump to content
  • 0

USB HID (Nexys Video, etc)


Bobo

Question

Hi,

I have a bluetooth dongle USB HID device. It publishes reports with a known format at a rate of ~128 Hz. My question is: will the Auxiliary Function microcontroller pass the report from my HID device faithfully (converted to PS/2 format), or does it only understand mouse and keyboard HID devices? My report is 32 bytes in length so I would assume that, if the microcontroller can handle generic HID devices, I can expect 32 PS/2 messages, one per byte. I don't need to access the HID descriptor, since I already know the report format. If the microcontroller doesn't faithfully pass generic HID reports into the FPGA fabric, is it possible to directly access the USB input pins from the fabric and bypass the microcontroller?

 

Thanks

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

@Bobo,

You haven't said which FPGA board you are using, although in this case I doubt it matters.

I do know this: Digilent only advertises the mouse and keyboard functionality of its USB HID devices.  I would be surprised if any further functionality were supported.  You might just manage to get lucky, but I'd be surprised.

I also know that the USB wires feed the auxiliary microcontroller and not the FPGA.  There's no way to get access to them within the FPGA without doing some soldering.

Should you choose to do some soldering, tinyFPGA has posted some USB processing code you might consider examining.  I was surprised, reading through it, to discover that USB processing within an FPGA was actually possible--even though it is quite complex.

Dan

Link to comment
Share on other sites

@D@n,

 

Thanks for the response. In case it does make any difference, I'm using the current Nexys Video board (with an Artix-7 FPGA). I also have a Zedboard. I think I'll leave soldering as a last resort and perhaps just use a second embedded device with a fully compliant HID driver to read the data off the dongle and then pass it to the Nexys over the USB-UART. In this case I can access the UART ports directly from the FPGA, right? That should be enough for my purposes now, though I would eventually like to eliminate the dependence on a second platform. A raw USB header PMOD would be a neat addition to the lineup here at digilent I think. I'll also see if the auxiliary microcontroller on the board can send me any meaningful reports with the dongle plugged in, though I am concerned that the microcontroller will interpret some bytes as specific commands mouse/keyboard commands and not pass them along.

 

Bobo

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...