DOC PREVIEW
UNCC ECGR 4101 - An Introduction to USB and Its Future

This preview shows page 1 out of 4 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

E M B E D D E D S O F T W A R EW H I T E P A P E Rw w w . m e n t o r . c o mUSB EXPLAINED: AN INTRODUCTION TO USB AND ITS FUTURE STEPHEN OLSEN, SOFTWARE ENGINEER, MENTOR GRAPHICS COLIN WALLS, EMBEDDED SOFTWARE TECHNOLOGIST, MENTOR GRAPHICSUSB Explained: An Introduction to USB and its Futurew w w.m e nto r.com2 USB HISTORYThe Universal Serial Bus (USB) was introduced to the world of PC computing to solve the growing problem of how to connect peripherals to a PC. The world of desktop computers needed a way, not only to physically connect devices, but also allow them to be identified and categorized to enable a simple ease of use and method of discovery.Prior to USB, many people overloaded the use of their serial and parallel ports to support more than one peripheral on that port. Stephen’s story:“I had a printer, two dongles, and a scanner on a single parallel port. It was so complex that booting with the scanner selected meant that the dongle was not recognized. An A/B switch was added to make all of the components work together. This meant booting the computer with the switch set correctly in order to access that particular device and its accompanying software. Reboots were necessary to run the different sets of software and their respective peripherals. It was very frustrating and not very user friendly.”In 1996, the 1.0 USB specification was released to solve this type of problem, not only with serial and parallel ports, but with keyboards, mice, and many other low/full-speed devices. USB 1.0 offered a single bus at either 12 Mb/s bandwidth (full speed) or 1.5 Mb/s (low speed) shared between up to 127 peripherals, all with different needs. It is superseded by the USB 1.1 specification released in September 1998.USB is a host-centric tree topology where all devices are hooked to the host via a set of hubs. Each device supports up to 32 endpoints: 16 in and 16 out. Each endpoint is defined as either: control, bulk, interrupt, or isochronous.The basic types of transactions are as follows: ■ Control. Used to configure and enumerate a peripheral, allowing the host software to interrogate the peripheral to find out what it is and how it can use it. Every peripheral needs to support this traffic type. ■ Bulk. Reliable data transport that guarantees sequential reception of data. Retransmits are used to ensure the data is received correctly. Depending on the current bus utilization, the throughput with bulk transfers will vary. Typical uses of bulk transport are Disk-On-Keys and printers. ■ Interrupt. Meant for low bandwidth transfers with periodic transport needs. The host pre-schedules an interval at which the peripheral is queried. Unlike bulk, this transport type is guaranteed allocation on the bus for transport. The typical use is keyboards, mice, track-balls, and game controllers. ■ Isochronous. Guaranteed bandwidth, but not guaranteed reception. This method is typically associated with video cameras and audio speakers. It is used to insure that the data always has a path. During enumeration and configuration, the host determines if a configuration setting has enough bandwidth to talk with a certain peripheral. If sufficient bandwidth is not available, it rejects the configuration selection in favor of less bandwidth consumption.All peripherals support a single control endpoint and any number of bulk, interrupt, and isochronous endpoints to fit their application up to the maximum of 32 endpoints.The USB Implementers Forum saw that adoption was good, but with the competition of FireWire, many high-speed peripherals were bypassing USB, and therefore, USB needed to grow with the increased demand for bandwidth. The USB 2.0 specification released in April of 2000, added the key feature of high-speed devices, cranking up the USB bandwidth to 480Mb/s or 40 times full-speed USB bus speed. The USB 2.0 specification maintained backward compatibility with all USB 1.1 compliant host and peripherals as interoperability was essential. Disk-On-Keys were considered a “killer app” for USB 2.0.USB Explained: An Introduction to USB and its Futurew w w.m e nto r.com3 Besides providing a universal serial bus on which all peripherals talk, the USB Implementers Forum also adopted a class approach to device drivers. No longer do vendors of peripherals need to provide both a host and a peripheral driver, they can provide their functionality as part of a particular class of devices. Then the host will provide a set of class drivers for use with a set of peripherals. One of the classes is the human interface device (HID) class. It is well adopted by providers of mice, keyboards, joysticks, and trackballs. Most of these devices do not ship with a host driver as they just use the functionality provided in the host for the HID class.In addition to the HID class, there is mass storage class (MSC), printer, video, audio, communications, hub, and device firmware upgrade (DFU). Where the needs are unique, the vendor can provide a vendor-specific driver for use with a particular host operating system. Each class is as complex or as simple as needed to accomplish the basic set of peripherals. For instance, the communications class is made up of a set of communications paradigms including modem and Ethernet subclasses. Each subclass represents a set of peripherals that have specific needs, and are subsets of the entire communications class.USB support for embedded designs, facilitating the implementation of both peripheral and host functionality, is available from a number of manufacturers, including Mentor Graphics.USB ON-THE-GOThere was still a missing element in USB 2.0: The ability for peripherals to talk to peripherals. For example, the ability to sync a cellular phone contact database with a PDA’s contact database. Therefore, in 2001, the On-The-Go (OTG) supplement addressed this concern. The OTG supplement to the USB 2.0 specification allows USB peripherals to assume the role of host to another USB peripheral. In keeping with the plug-and-play nature of USB, the implementers decided to allow the host and peripheral to swap roles without removing the cable. This is called the Host Negotiation Protocol (HNP), a complex signaling algorithm designed specifically to address the consumer’s need for operations to always succeed, if possible. For low power consumption, USB was allowed to completely be powered down, and a peripheral could wake up the


View Full Document

UNCC ECGR 4101 - An Introduction to USB and Its Future

Documents in this Course
Load more
Download An Introduction to USB and Its Future
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view An Introduction to USB and Its Future and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view An Introduction to USB and Its Future 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?