USB HID Host and Device (USBware Components)

USB HID Host & Device

» A part of USBware: Embedded USB Software solution
Jungo offers Human Interface Device (HID) class and function drivers, which provide a complete embedded solution for host and device communication with HID USB devices, such as keyboards, pointing devices (e.g. mouse devices; joysticks), front-panel controls, etc.

The HID PC USB Communication Drivers support the host-side communication with HID USB peripherals, while the HID USB Function Drivers provide the required device-side USB HID implementation for such peripherals.

The HID class/function drivers utilize Jungo's generic USB HID Class/Function Driver Libraries (respectively), which provide common USB HID functionality and enable developers of new HID class/function drivers to focus only on the unique additional functionality required for their specific devices.

Background
The Universal Serial Bus (USB) provides an expandable, hot-pluggable Plug and Play serial interface that ensures a standard, low-cost connection for peripheral devices such as storage devices, keyboards, joysticks, printers, scanners, modems, and digital cameras.

A USB Class Driver is a Logical Device Driver (LDD), which controls USB devices that provide common functionality and are implemented in compliance with a specific device class.

A USB Function Driver is a driver implemented within a device in order to handle the device-specific functionality of a standard or custom USB device function. This driver provides the counterpart of the USB Class Driver.

Jungo's USB HID Class Drivers and USB HID Function Drivers (keyboard, mouse, joystick, etc.) are fully functional USB HID class/device drivers (respectively). These drivers utilize Jungo's USB HID class/function driver libraries, which implement common USB HID class/device functionality and allow the specific HID class/function drivers to focus on the required additional device-specific functionality.

The USB HID class library and drivers are part of USBware's USB Host Stack, which offers a complete solution for USB host communication for embedded systems that do not natively support USB.

The USB HID function library and drivers are part of USBware's USB Device Stack, which enables software and device manufacturers to incorporate standard USB device/function connectivity into their embedded devices.

The USB HID class drivers implement the USB Host Stack's outer interface and are responsible for relaying information between the host and the USB device. The HID class drivers communicate with the device via their USB Device Stack counterparts - the HID function drivers, which provide the device stack's upper layer (see the System Architecture diagram).


Specification
  • Products description:
    • USB HID Class Drivers: Keyboard, Mouse, etc.
    • USB HID Class Driver Library
    • USB HID Device Drivers: Keyboard, Mouse, etc.
    • USB HID Function Driver Library
  • Operating systems:
    • Supported embedded operating systems: Linux, Android, Symbian, Windows Phone, Windows Mobile, uC/OS-II, VelOSity/Integrity, pSOS, ThreadX, eCos/eCosPro, QNX, MQX, Nucleus, OS20/OS21, uITRON, embOS, VDK, REX, INtime, MeOS, DSP/BIOS, MS-DOS, PowerTV, XP, Vista & more
    • 16/32bit Proprietary OS/no-OS/pre-boot environments
    • Modular Architecture: OS wrappers for easy porting to any operating system
  • USB host controllers:
    • Industry standard OHCI, UHCI, EHCI, and xHCI
    • Leading USB host controller & IP Core vendors including: NXP (ISP 116x, 1362, 1562, 176x), Chipidea/TDI/ARC (CI13010, CI13610, VUSBHS, TD243, TD242LP), Mentor (MUSBMHDRC), Synopsys (DWC USB 2.0 HS High Speed, EHCI/OHCI), Cypress and Epson
    • Leading microprocessors with native USB support: NXP LPC (2458, 246x), TI OMAP (850,1030, 2430), TI DaVinCi, Atmel (RM9200, SAM926x), Samsung (S3C2412, S3C2413), ADI Blackfin (54x, 52x), Renesas (SH7770, SH7727), Freescale (ARM i.MX31/i.MX27, Coldfire MCF52211, PowerQUICC II), Cypress & more
    • Professional services to support proprietary controllers
  • USB Device controllers:
    • Leading USB device controller & IP Core vendors including: NXP (ISP 118x, 1582), Chipidea/TDI/ARC (CI13010, CI13610, VUSBHS, TD243, TD242LP), Mentor (MUSBMHDRC), Synopsys (DWC USB 2.0 UDC20) , Cypress and Epson
    • Leading Microprocessors with native USB support: NXP LPC (236x, 2378, 2387), TI OMAP (850,1030,2430), TI DaVinCi, Atmel (ATSAM7x, RM9200, SAM926x), Samsung (S3C2412, S3C2413), ADI Blackfin (54x, 52x), Freescale (ARM i.MX31/i.MX27, Coldfire MCF52211, PowerQUICC II), ST (STR91xF, STR91xFA) & more
    • Professional services to support proprietary controllers
  • CPU architectures: ARM, MIPS, x86, RISC, PowerPC, Freescale Coldfire, Intel Xscale, TI DSPs and OMAP, Renesas SuperH and others
  • USB 1.1 and USB 2.0 transfer rates:
    High-speed (480 Mb/s), full-speed (12 Mb/s) and low-speed (1.5 Mb/s), SuperSpeed (5 Gb/s)
  • Control, Bulk, Interrupt and Isochronous data transfer support
  • Programming language: ANSI C
  • Compilers: Any 32-bit C compiler


What's Next?
Request further information
Target Devices
  • Keyboards
  • Pointing devices, such as mouse devices, trackballs, and joysticks
  • Front-panel controls, such as knobs, switches, buttons, and sliders
  • Controls that might be found on devices such as telephones, VCR remote controls, games or simulation devices
  • Devices that may not require human interaction but provide data in a similar format to HID class devices, such as bar-code readers, thermometers, or voltmeters
Architecture
USB HID diagram
Benefits
  • High quality USB HID class and function drivers
  • Modular and scalable HID class/function drivers, includes a generic HID library as well as full implementation for Mouse and Keyboard function drivers.
  • Device Stack support for Composite USB Devices, to allow several USB functions on the same embedded device (e.g. mass storage + HID-mouse + HID-keyboard, etc.).
  • Host Stack support for Composite devices - USB host stack drivers can be used simultaneously to support different USB devices (e.g. the Mass Storage Class Driver can be used simultaneously with the HID Class Driver, etc.).
  • Small footprint
  • Turnkey solution: eliminates substantial development time and costs
  • Hardware/software-independent solution
  • Intuitive API, in C code
  • Source code available
  • Easy portability of applications that utilize the driver between supported operating systems
  • Extensive documentation
  • Comprehensive technical support, provided by the engineers who developed the stack
  • Part of a comprehensive embedded USB software solution from Jungo, which includes USB Host, USB Device and USB On-The-Go (OTG) stacks
Class Drivers for PCs and Windows CE hosts? Jungo Connectivity also offers class drivers for PCs and Windows CE hosts. To learn more, check out the DriverCore product page.