DescriptionUSB descriptors tend to be the biggest stumbling block for developers that have been recently introduced to USB. The purpose of descriptors is to communicate the identity of a particular peripheral to the host. For instance, the game pad in this technical brief communicates to the host ...
TB054: DescriptionUSB descriptors tend to be the biggest stumbling block for developers that have been recently introduced to USB. The purpose of descriptors is to communicate the identity of a particular ...
SeekIC Buyer Protection PLUS - newly updated for 2013!
268 Transactions
All payment methods are secure and covered by SeekIC Buyer Protection PLUS.
USB descriptors tend to be the biggest stumbling block for developers that have been recently introduced to USB. The purpose of descriptors is to communicate the identity of a particular peripheral to the host. For instance, the game pad in this technical brief communicates to the host that it is a two axis, six-button game pad that sends data to the host via Endpoint 1. A TB054 does not volunteer this information to the host, rather the host requests this information when it detects that a new device has been attached to the USB bus.
As mentioned before, the process in which the host requests and receives a device's descriptors is called "enumeration." Peripherals have more than one descriptor. Each new descriptor progressively provides the host more information about the peripheral or about other descriptors to follow. Descriptors can be thought of as a hierarchy. The first descriptor, the device TB054 descriptor, is very general and conveys the most basic information about the device.
The next descriptor is more specific, and so on, until the host finally gains all the information it needs to communicate effectively with the TB054. Game pads fall under the Human Interface Device (HID) class. Mice, keyboards and LED displays are all examples of other devices that fall into the HID class. The HID class is unique in that driver support is supplied automatically by Windows® (Windows 98 second edition and newer) and the Macintosh® operating systems. These operating systems will custom build a driver whenever they detect a new HID peripheral.
The driver is constructed from the data format conveyed in the report descriptor received from that device. Developing within the HID class specification is the easiest way to learn how USB works because the developer doesn't have to be concerned with writing a driver at the host end.