Is there a chip similar to the FTDI SPI to USB chips that integrates USB HID client device functionality (with µC interaction via some control protocol over SPI or UART)? FTDI chips cannot be used; see http://www.ftdichip.com/Support/Knowledgebase/index.html?canimakeftdidevicesappear.htm
One alternative to the FTDI SPI-to-USB chips is the MCP2210 IC from Microchip.
The MCP2210 device is a USB-to-SPI Master converter which enables USB connectivity in applications that have an SPI interface. The device reduces external components by integrating the USB termination resistors. The MCP2210 also has 256 bytes of integrated user EEPROM. The MCP2210 has nine general purpose input/output pins. Seven pins have alternate functions to indicate USB and communication status.
Universal Serial Bus (USB)
- Supports full-speed USB (12 Mb/s)
- Human Interface Device (HID) device
- 128-byte Buffer to handle data throughput
- Fully configurable VID, PID assignments and string descriptors
- Bus powered (factory default) or self-powered (can be selected through special USB commands)
- USB 2.0 Compliant
USB Driver and Software Support
- Uses standard HID drivers (built-in support on Windows® XP, Vista, 7, Linux and Mac OS®)
- Configuration utility for device’s power-up configuration
- Utility for USB-SPI communication, GPIO manipulation and miscellaneous features usage
SPI Master peripheral
- Supports all four SPI modes (Mode 0, 1, 2, 3)
- Bit-rates from 1500 bps up to 12 Mbps
- Configurable delays for SPI transactions
- SPI transactions lengths of up to 65535 bytes long
- Up to 9 Chip Select lines – to be used in any combination for a given SPI transaction (the chip select lines are shared between GPIOs and alternate function pins; certain GPs – up to 9 of them – can be assigned with the chip select functionality)
General Purpose Input/Output (GPIO) Pins
- Nine general purpose I/O pins
- 256 bytes of user EEPROM (accessible only through certain USB commands)
Excerpt from the datasheet regarding the HID enumeration:
The MCP2210 will enumerate as a USB device after Power-on Reset (POR). The device enumerates as a Human Interface Device (HID) only.
- Human Interface Device (HID)
The MCP2210 enumerates as an HID, so the device can be configured and all the other functionalities can be controlled. A DLL package that facilitates I/O control through a custom interface is supplied by Microchip and is available on the product landing page.