Embedded Systems October 2000 Vol13_11

Issue link:

Contents of this Issue


Page 63 of 181

free LOols that will ass ist you in devel- oping the firmware and ensuring that Windows can communicate with th e device. For a primer on USB in general, device __ desc __ table: db 12h db 01h db OOh,01h db OOh db OOh db OOh db 08h db B4h,04h db 1Fh,OFh db 88h,02h db OOh db OOh db OOh db 01h end __ device __ desc __ table: confi9-desc __ table: db 09h db 02h db 22h,OOh db 01h db 01h db OOh db BOh db 32h Interface __ Descriptor: db 09h db 04h db OOh db OOh db 01h db 03h db OOh db OOh db OOh Class-Pescriptor: db 09h db 21h db OOh,01h db OOh db 01h db 22h Endpoint-Pescriptor: db 07h db OSh db 81h db 03h db 06h,OOh db OAh Descriptor length (9 bytes) Descriptor type (Configuration) Total data length (34 bytes) Interface supported (1) Configuration value (1) Index of string descriptor (None) Configuration (Bus powered) Maxinun power consurption (100nA) Descriptor length (9 bytes) Descriptor type (Interface) Number of interface (0) Alternate setting (0) Number of endpoints supported C lass code () Subc lass code () Protocol code () Index of string() Descriptor length (9 bytes) Descriptor type (HID) HID class release number (1.00) Localized country code (None) No. of HID class descriptors to follow (1) Report descriptor type (HID) Total length of report descriptor db (end __ hid __ report __ desc __ table - hid __ report __ desc __ table),OOh Descriptor length (7 bytes) Descriptor type (Endpoint) ? Encoded address (Respond to IN, 1 endpoint) Endpoint attribute (Interrupt transfer) Maxinun packet size (6 bytes) Polling interval (10 millisecs) Descriptor length (18 bytes) Descriptor type (Device) Complies to USB Spec. Release (1.00) Class code (0) Subclass code (0) Protocol (No specific protocol) Max. packet size for Endpoint 0 (8 bytes) Vendor 10 (Cypress) Product 10 (joystick = OxOF1F) Device release number (2.88) Mfr. string descriptor index (None) Product string descriptor index (None) Serial No. string descriptor index (None) Number of possible configurations (1) see J ack Ganssle's in troduction to the topic, "An Introduction to USB Development" (March 2000, p. 79). What is a HID? The HID-class specifi cation is the product of a working group sponsored by the USB Impleme nters Forum ( The forum is the orga- nization formed by the companies responsible for developing th e USB specification. The idea behind classes is to make deve lopme nt easie r by de finin g requi rements and behaviors shared by devices with simi la r fun ctions. An operating system can include a device drive r based on a class specification, and a device that conforms to the specification can use the class driver instead of having to provide its own special-purpose driver. This is a big time saver. The HID class was one of the first USB classes to be supported under Windows. 0 doubt this was because the c1as includes essential periphe rals like keyboards and pointing devices, which were intended from the outset to use USB. The class specification and addi tional documents and tools are Implemente rs Forum 's Web site. The term human interface suggests that these devices interact directly with humans. With a keyboard or mouse, a human 's acti ons are indeed wha t determines the data tlu t will be sent to the host. Other examples of HIDs include front panels, remote controls, telephone keypads, and game con- trols. But a HID doesn 't have to have button, knob , or switches. The speci- fi cation men tions bar-code readers, thermome te rs, and voltmeters as other devices that could fall into the HID class. HIDs can also receive data from the host. With a force-feedback j oystick, 62 OCTOBER 2000 Embedded Systems Programming avail able from the USB

Articles in this issue

Archives of this issue

view archives of EETimes - Embedded Systems October 2000 Vol13_11