March 12, 2012

Usb Microcontroller Communications Architecture for Human Interface gadget (Hid)

The Usb communications architecture is designed to enable computing devices such as desktop Pcs and laptops to interconnect with many other peripheral devices. A Usb uses a two wire serial communications link running at one of three distinct speeds: 1.5 megabits per second (low speed), 12 Mbps (full speed) and 480 Mbps (high speed). Usb devices are categorized into various expedient classes such as display, communication, audio, mass storage and human interface.

The Human Interface expedient (Hid) Class defines base behaviors and functions for touch screen interfaces. The Hid class includes peripherals such as keyboards, mice, trackballs, joysticks, touch pads and touch screens that enable end users to operate and interact with the computing system. Hid also includes provisions for yield directed to the end user. The Hid specification requires one operate endpoint and one interrupt endpoint with the host.

The operate pipe typically handles enumeration and expedient configuration while the interrupt pipe is used for data transfer. Descriptors define a Usb expedient to the host with regard to the type of device, the expedient manufacturer, Usb1.x or 2.0 or 3.0 support, expedient configuration, endpoints quantities and types, etc. Touch screen expedient descriptors tell the host which endpoints and transfer types are supported. In expanding to handling appropriate Usb requests, Hid devices must talk to all appropriate Hid requests. Data must be transferred within defined structures called reports, which can be transferred across either the operate pipe or interrupt pipe.




Hid devices can transfer data stored in reports with the host through the operate pipes. This transfer is typically reserved for configuration data or expedient identification. The Usb specification defines the transfer sequence for the operate pipe, which has a higher level of error checking than other transfer methods. The host application programming interface (Api) calls used to send data through the operate pipe differ from those used for the interrupt pipe. During enumeration, the expedient requests how often it wants the host to ask for the data or send the data. After enumeration is complete, the host schedules data transfers on a periodic basis. If the enumerated expedient is a touch screen, the touch screen Usb bridge or the touch controller (e.g., a controller that supports Usb natively) assembles the coordinates of the finger(s), as well as other related data such as finger width, signal strengths, finger speed and gestures, and shop that data in a buffer. The data is transmitted to the host at the interval specified previously or upon determined events such as a finger's touch.

Usb Microcontroller Communications Architecture for Human Interface gadget (Hid)

Submersible Pump Troubleshooting