SX built USB device with an HID driver
angrycamel
Posts: 4
Has anyone ever built a USB device to be used with an HID driver? Like a touchpad, mouse or keyboard? I am working on a touchscreen system in which I will be getting the coordinates of touch event and would like to send that over to the PC to be interpretted by an HID driver and translated into mouse clicks.
From what I have seen about the HID classes and the FTDI chips, I am not sure that a virtual com port will be compatible with the HID standard. Before I spend a whole lot of time reading up on this, has anyone had any experience with this sort of seup in the past?
Thanks in advance for any assistance.
-AC
From what I have seen about the HID classes and the FTDI chips, I am not sure that a virtual com port will be compatible with the HID standard. Before I spend a whole lot of time reading up on this, has anyone had any experience with this sort of seup in the past?
Thanks in advance for any assistance.
-AC
Comments
From the article, it looks like it would be fairly straight-forward to build the device around an SX chip. Here is a link to the USB chip: www.maxim-ic.com/quick_view2.cfm/qv_pk/4751
I'm not certain if the FTDI chip is HID compatible. I think there was a recent post where one of the Parallax guys said it wasn't, but I can't find the post...
Post Edited (Kevin Wood) : 9/19/2006 7:20:00 AM GMT
After reading up a bit I found a few things were most helpful so I figured I should share the direct links in case anyone else references this thread. The first two I found listed on the maxim part details page that Kevin linked above. The last link in the list below is a url to the circuitcellar.com article Kevin mentioned.
(Maxim-ic.com) APPLICATION NOTE 3637 - Add USB to Anything: www.maxim-ic.com/appnotes.cfm/appnote_number/3637
(Maxim-ic.com) APPLICATION NOTE 3690 - USB Enumeration Code (and More) for the MAX3420E: www.maxim-ic.com/appnotes.cfm/appnote_number/3690
(CircuitCellar.com) PDF Version of the article Kevin mentioned ($1.50 paypal) - Add USB to Anything: www.circuitcellar.com/magazine/180toc.htm
Frank
Frank
The FTDI chips operate in only two modes. The first is as a serial port, in which the chip is seen as a standard serial port or virtual comm port. The second method of accessing the FTDI chips are through a DLL mode. DLL mode is not an HID device, it's a hybrid specific only to FTDI and it has it's own set of problems.
If you want to use a simple HID device, yo may want to look at the Cypress EnCore II and PSoC Designer. PSoC Designer is a free tool which includes support for HID type devices. The first time you use PSoC Designer there is a learning curve. You could also use PSoC Express which will have USB serial support by the end of this month. That would allow you to implement a native USB inerface an then study PSoC Designer and implement a native USB device later.
Regards,
Oliver
Frank
If you want to make your device a real HID product, then you have several options. The first is the Silicon Labs C8051F340 which is an 8051 part that can be configured as a virtual com port or HID type device with 3 Endpoints. This is a very tiny chip and the support tools are excellent. It's supported by the GNU SDCC compiler and the Silicon Labs IDE integrates the SDCC compiler seamlessly. There are also several parts from Cypress that will do the job in the same fashion. The Cypress parts are more flexible and use the M8 core which is a supserset of the 8-51 that has some very nice features. I'm doing a book on the Cypress development platform (PSoC Express) which makes building a USB interface completely visual. That will be out in November. Either of these solutions will give you path to building a true HID device while starting out with a virtual com port device for prototyping. Both companies are excellent to work with and support their products to the highest level. I find the FTDI chips to be excellent for virtual com port emulation but fall short when using their DLL drivers. FTDI is a marketing company and does not offer a level of support that Cypress or Silicon Labs does. his is due in part of the fact that FTDI is a fabless operation whereas both Silicon Labs and Cypress design, control, and manufacture their cores. I hope this helps.
Regards,
Oliver
Oliver