AN249 Silicon_Laboratories, AN249 Datasheet - Page 4

no-image

AN249

Manufacturer Part Number
AN249
Description
Human Interface Device Tutorial
Manufacturer
Silicon_Laboratories
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AN2490NFHP
Manufacturer:
PANASONIC/松下
Quantity:
20 000
Part Number:
AN2491NFHP
Manufacturer:
PANASON
Quantity:
5 510
Part Number:
AN2491NFHP
Manufacturer:
MAXIM
Quantity:
5 510
AN249
3. HID Specification Overview
The HID class of the universal serial bus (USB) protocol was created to define devices that interact to some degree
with humans and transfer data with a computer system.
3.1. Universal Serial Bus
USB protocol presents significant advantages over other PC interfaces in versatility, speed, and reliability. USB
systems communicate under device/host relationships where a device is attached to a USB port of a host PC or a
hub that is then connected to a PC. Host-side application software interacts with device-side firmware through the
native operating system or customized drivers.
3.1.1. Device Endpoints
In USB-based systems, all data travels to or from device endpoints. The USB specification requires that all devices
have a control endpoint. The host uses this endpoint to retrieve information about the device through data packets
called descriptors. Many USB devices also support additional endpoints that transfer data to and from the host. IN
endpoints transfer data from the device to the host while OUT endpoints transfer data from the host to the device.
3.1.2. Silicon Laboratories Microcontroller Capabilities
Silicon Laboratories microcontroller families with USB functionality can support a control endpoint and at least one
additional endpoint. USB hardware controls low-level data transfer to and from the host. The hardware sends and
receives data through user-accessible buffers. The microcontroller signals firmware about USB events, including
data reception and transmission-related events, by setting flags. These flags trigger the servicing of an interrupt
service routine (ISR) if interrupts have been enabled.
3.1.3. USB Device Classes
The USB specification and supplemental documents define a number of device classes that categorize USB
devices according to capability and interface requirements. When a host retrieves device information, class
classification helps the host to determine how to communicate with the USB device.
3.2. Human Interface Device Class
The HID class devices usually interface with humans in some capacity. HID-class devices include mice, keyboards,
printers, etc. However, the HID specification merely defines basic requirements for devices and the protocol for
data transfer, and devices do not necessarily depend on any direct human interaction.
3.2.1. Class Requirements
HID devices must meet a few general requirements that are imposed to keep the HID interface standardized and
efficient:
4
All HID devices must have a control endpoint (Endpoint 0) and an interrupt IN endpoint. Many devices also use
an interrupt OUT endpoint. In most cases, HID devices are not allowed to have more than one OUT and one IN
endpoint.
All data transferred must be formatted as reports whose structure is defined in the report descriptor. Reports are
discussed in detail later in this document.
HID devices must respond to standard HID requests in addition to all standard USB requests.
Rev. 0.2

Related parts for AN249