Integrating USB Into Products

Embed Size (px)

Citation preview

  • 8/14/2019 Integrating USB Into Products

    1/17

    - 1 -

    Integrating USB into ProductsAllan Neville

    Design ContinuumFall Boston 2006

    Class #343

    AbstractIn recent years USB has taken the place of traditional serial standards as the main

    communications protocol between devices. Lately, there has been an increase in themarket demand for products to support USB devices like keyboards, printers, andmemories; or for products to communicate with a PC through the USB interface. Thiscourse will go over the USB standard and how it can be integrated into present andfuture products such that it can interface many of these devices. It will go over the designimplications and some solutions.

    IntroductionSince its introduction more than a decade ago, the Universal Serial Bus (USB) protocolhas become a technology rock star. Walk into any electronic store and most likely oneout of three devices has a USB port.

    It started as a substitute to old communications ports on the PC such as RS232 and theparallel port to meet the new demands of the PC market. And since then it has beenused in everything from coffee mug warmers to 10GByte hard drives.

    Coffee Mug WarmerSwiss Army

    Thumb DriveIlluminated Aquarium

    The USB specification defines everything from mechanical connectors and cables, all theway through operation of the system, network layers, and power management. We willreview most of these items through the paper and look at some examples.

    Brief history

    The USB standard was officially introduced in 1995 by a consortium form by sevencomputer and telecommunication industry leaders: Compaq, DEC, IBM, Intel, Microsoft,NEC and Northern Telecom. Since then it has grown to more than 1000 members inthe USB implementers forum (USB-IF).

    In 1996 the USB 1.0 standard was released specifying the main aspects of the USBstandard as we know it: support for 12Mbps high speed bus and a low speed bus at1.5Mbps, the definition of the mechanical connectors, and the specification of thesoftware stack.

  • 8/14/2019 Integrating USB Into Products

    2/17

    Integrating USB into Products Class #343

    - 2 -

    By 1999 due to the popularity of the USB protocol and some problems that had beenidentified, revision 1.1 was released. This version clarified some ambiguities regardingtiming and corrected some problems that existed in the previous revision.

    But not until 1999, when Microsoft and Apple incorporated the use of USB into their

    operating systems did USB find stardom. In the year 2000, the USB revision 2.0 wasreleased specifying the implementation of a 480 Mbps bus and backward compatibilitywith revision 1.1.

    Later in 2001 the USB On-The-Go (OTG) supplement was added. This was done toaccommodate the increasing demand of USB handheld devices and the need to havedevices talk to each other. Some of the features include smaller connectors and moreefficient power management.

    Last year in May, the Wireless USB standard was released which is a point to pointwireless communications link based on the USB network protocol. Presently, there are a few IC companies making parts for the standard but these are in their final testing

    stages.

    Hardware TopologyThe USB standard specifies a star network configuration where each hub is the center ofthe star. The network has only one host per system, typically this is the PC but with theintroduction of the USB On-The-Go (OTG) standard any device can be the Host.

    The network can have a maximum of seven levels of tiers; the first one being the host,which is the root hub. The last level would have only devices, which means that therecan only be five non-root hubs connected together. Each segment will have a hub at thecenter; the cable length for each segment can be 5 meters. That means that the

    maximum distance between the host and the most remote device can be 30 meters(uses six hubs). This could probably be increased by using devices like IOGears cableboosters which boost host-device lengths of 75ft for full and low speed.

    The USB host manages and controls the use of the bus, and it schedules and initiatesdata transfers. No slave devices can assert signal on the bus until the USB host asks forit. The host and hubs also take care of detecting when a device is attached or removed.Each slave device on the bus is assigned a unique USB address through a process calledenumeration which is managed by the host. The maximum number of devices allowedto connect to the bus is 127, this limitation is due to the address bit-field which is 7 bitslong.

  • 8/14/2019 Integrating USB Into Products

    3/17

    Integrating USB into Products Class #343

    - 3 -

    The hub provides the connecting ports for the devices and provides power to the bus. Italso manages any fault detections and takes corrective actions.

    As seen above, the data transfer rate is given by the hub that the device is connected to.For example if a high speed device is connected to a full speed hub, the data rate will belimited to the full speed rate. Also, higher speed hubs will support lower speed devicesand sustain the communications link to the upstream hub at the high speed rate.

    Power ManagementThe USB Bus can provide power to devices that connect to it. It initially provides 100mA.This power can be used by devices during configuration. Once the device is configured,the bus can increase the current capabilities to 500mA.

    Power distribution is one of the nice features that the USB interface provides. Asmentioned before; there are many products in the market that use the USB port forpower alone, like lamps, fans, and coffee mug warmers. This kind of appliance usuallyuse less than 100mA since they do not initiate any handshake with the host,nevertheless still it is 0.5W.

    Most of the USB devices (that communicate with the host) can be classified under threegroups: bus-powered, self-powered and hybrid powered. The bus-powered device sinkspower from the USB bus. This type of device could be either low power if it consumesless than 100mA or high power if it consumes more than 500mA. USB devices that arebus-powered have to report to the host that it will be drawing a given amount ofelectrical current from the VBus in units of 100mA load, this is specified in thedescriptor.

  • 8/14/2019 Integrating USB Into Products

    4/17

    Integrating USB into Products Class #343

    - 4 -

    A self-powered device gets its power from an independent power supply provided withthe device. A hybrid powered device takes power from both the USB bus as well as fromits own power supply. As in the case of a bus-powered device, it will have to report howmany units of load of electrical current will be drawn from the host via the USB bus.

    USB hubs can also be self-powered or bus-powered. If the hub is bus-powered the

    maximum current it can provide to any device downstream is 100mA, so, only lowpower self-powered devices will work properly. Any high power device that is detectedwould be able to report to the host to indicate an error.

    Also, the USB bus allows for a suspend mode. In this mode a device can be put into alow power consumption state without initiating a new configuration process. This isdone by the host sending three consecutive no SOF (Start-Of-Frame packets, see below).Once the device detects this the device goes into suspend mode. In this mode thedevice will not consume more than 500uA. In a special case, if the device can wake-up,the host the current will be limited to 2.5mA. This specification would be indicated inthe descriptor of the device.

    Some groups are working on creating a new standard for Powered USB or USBPlusPower. The USB PlusPower design would provide power voltages up to24VDC and current capacity of 6A. This is achieved by two additional wire pairsinside the cable and modified connectors that are backward compatible with thestandard USB connector.

    Mechanical ConnectorsThe standardized connectors and cables defined in the USB specification details themechanical, electrical/mechanical stress, materials and electrical characteristics of thecables.

    The cable is made of four 28 AWG conductors, two for data and two for power. Thedata pair is twisted to increase noise immunity. The cable construction can varydepending on the USB speed designed for. Low speed cables do not require shield andshould be attached to the device while full and high speed cables are shielded and aredetachable. As mentioned before the cable length is limited to 5 meters. A cabledescription is listed below:

    Contact Number Signal Name Wire Color

    1 Vbus Red

    2 D- White

    3 D+ Green

    4 Gnd Black

    Shell Shield Drain wire

    The USB standard also describes how the connector should be constructed anddesigned. In USB rev. 1.0, the connector and receptacle type A and B were specified.These connectors were designed such that devices could be differentiated from hosts. All

  • 8/14/2019 Integrating USB Into Products

    5/17

    Integrating USB into Products Class #343

    - 5 -

    of the connectors have longer power and ground pins to ensure that the device has astable voltage before the data signals are applied. Later in revision 2.0, the connectorand receptacle type Mini-B was added to the standard due to the increase of smallappliances that were using the USB standard. Recently with the introduction of the OTGsupplement, connector and receptacle type Mini A was added, and a receptacle typeMini AB was added. These were added to accommodate the duality of products that

    could be host and device. The receptacle Mini AB could receive connectors type Mini-Aand Mini-B. Also, a pin was added which is used for identification.

    Type A Type B Type Mini A Type Mini B

    Device detectionOnce a USB device connects to the USB host data rate speed negotiations are carriedout. The current limiter on the host limits the current consumption to 100mA, thisshould be enough power for a bus powered device to initiate the negotiations.

    Host

    Controller

    Device

    Controller

    Vbus

    D+

    D-

    Gnd

    1.5K

    Vbus

    D+

    D-

    Gnd

    USB Cable

    Current

    Limiter

    Once the device is connected, either the D+ or the D- line will be pulled high. Thisindicates to the host that a device is being connected. If the D+ is high, the device is afull speed, if it is the D-, the device is a low speed device.

    High Speed negotiation protocol occurs during the Bus Reset phase. A high-speeddevice is initially detected as a full speed device. Once a device is detected, the host willissue a reset signal by driving both D+ and D- to low (SE0). This resets the USB device toa default USB address of 0. Soon after detecting the reset signal, the high speed device

  • 8/14/2019 Integrating USB Into Products

    6/17

    Integrating USB into Products Class #343

    - 6 -

    will signal the host with a 480 Mbps chirp that lasts from 1 to 7 ms. A high speed hostor hub will recognize this signal as a request from a high speed device and respond witha series of chirps. Once the high speed device sees this it will increase its speed to highspeed.

    Physical Layer signaling

    The USB standard does not include a clock signal, so the communications areasynchronous. Data on the bus is encoded using Non-Return to Zero Inverted (NRZI)with bit stuffing. This encoding enables the receiver to remain synchronized with thetransmitter without the overhead of sending a clock signal or start and stop bits witheach byte.

    Instead of defining logic 0s and 1s as voltages, NRZI defines logic 0 as a voltage change,and logic 1 as a voltage that remains the same. Each logic 1 will result in no change. Thebits transmit least-significant-bit (LSB) first.

    Bit stuffing is required because the receivers synchronize on transitions. If the data is all0s, there are plenty of transitions. But if the data contains a long string of 1s, the lack oftransitions could cause the receiver to get out of sync.

    If the data has six consecutive 1s, the transmitter stuffs, or inserts, a 0 (represented by atransition) after the sixth 1. This ensures at least one transition for every seven bits. Thereceiver detects and discards any bit that follows six consecutive 1s. The bit-stuffingoverhead for random data is just 0.8%, or one stuff bit per 125 data bits.

    The fundamental element of communications on the USB bus is the packet. A packet ismade of three parts: the start, the information, and the end of the packet. The start of apacket will be the transition from the idle state (J) into an active state (K). In low speedthe D+ line is low and the D- is high when the bus is idle, and in full speed the D+ line ishigh and the D- is low. The active state is defined the opposite way. For high speed the Jand K states are defined as the full speed bus specification but the idle state is whenboth D+ and D- are low.

    At the beginning of the packet there is sequence of transitions which is called the SYNCsequence. This sequence is made of a chirp pattern of 32-bits where each bit is a J or Kstate, as described above. The SYNC chirp pattern is KJKJKJK...KJKJKJKJKK. Some of thesebits will be used to synchronize the clocks of the host, hubs, and devices.

    The packet information varies from 1 byte up to 1024 bytes. This section of the packet is formed by the Packet Identifier (PID) and the payload. The PID is the first byte of the

  • 8/14/2019 Integrating USB Into Products

    7/17

    Integrating USB into Products Class #343

    - 7 -

    packet, the first 4 bits of the byte are to identify the packet type while the other four arethe complement of the first four. This is used for error checking.

    The last part of the packet is end-of-packet identifier (EOP). The EOP is indicated byhaving both D+ and D- low for two bit times. In a high speed bus, the EOP is indicatedwith 40 bit-times without a transition.

    Packets As previously mentioned, the packet is the basic component of the communicationsstandard. There are four types of packets: token packets which are used to set-up thecommunications link and describe the direction and use of future packets; data packetsare used to carry data; handshake packets which are used as controls to maintain thereliability and integrity of the link; and last is the special packets which are mainly usedwith high-speed devices.

    Below is a small diagram that describes the most common packets. The SOF (start offrame) packet is used to indicate the beginning of a frame or microframe (see below). Ithas 11 bits dedicated to the frame number and a 5 bit CRC.

    The IN, OUT and SETUP packets are token packets that are used to setup the datatransfer between the host and the device. They contain a 7 bit device address, a 4 bitendpoint address, and 5 bit CRC. The IN packet is used to setup data transfers from thedevice to the host, the OUT packet is used for the transfer of data from the host to thedevice, and the SETUP packet is a high priority OUT packet indicating the device that itmust accept it.

    The DATA packets are used for data transfer, and this can have a payload that variesfrom 0-1024 bytes. This type of packet has a 16 bit CRC for error detection. Also, whentransmitting data the software can toggle between the DATA0 and DATA1 token, this

    helps to identify if packets have been lost.

    The handshake packets are used by the data receiver to indicate the quality or thereception. ACK indicates that the data was received without error. NAK is used by thedevice to indicate that it is busy, STALL is used when a control request failed, and NYETindicates that is not ready to receive more data.

  • 8/14/2019 Integrating USB Into Products

    8/17

    Integrating USB into Products Class #343

    - 8 -

    FramesAll USB communication links are broken into frames. Each frame is transmitted every 1

    ms. A high-speed host will also add a microframe every 125us to minimize the bufferrequirements for high speed devices at the cost of increasing the system complexity. Thefirst packet of each frame is the Start-Of-Frame packet (SOF).

    TransfersA predefined sequence of packets is called a transfer. The USB standard specifies fourdifferent transfers to move different types of data, these are: Control, Isochronous,interrupt, and Bulk.

  • 8/14/2019 Integrating USB Into Products

    9/17

  • 8/14/2019 Integrating USB Into Products

    10/17

    Integrating USB into Products Class #343

    - 10 -

    also declares the class identity. The last type of descriptor is the Endpoint descriptor,which describes the properties of an endpoint. These properties are namely whether theendpoint is IN or OUT, etc. Each endpoint has its own descriptor.

    ClassesThe growth of applications for the USB bus has motivated the USB organization to

    specify certain standard for products that have similar characteristics, these groups arecalled classes. The creation of these specifications allows developers to create genericdevice drivers that could be used with different devices within the same class. A singledevice can belong to multiple classes. Below we can see a list of the most commonclasses and examples.

    Class Name Sample of Application

    Audio Class MP3 players, speakersMass Storage Class Flash drives, external CD-ROMsHuman Interface Device (HID) Class Mice, keyboards, joysticksImaging Class Cameras, video recorders

    IrDA Class IrDA interfacePrinter Class Printers

    USB On-the GoThe On-The-Go specification is given as a supplement to add-on to the main USB2.0specifications. Therefore the essence of USB being a Host-centric system has notchanged. What is new is that a device can have dual capability of a Host and Device onthe same USB connector. However, they can only be used as a Host or Device one at atime and not concurrently.

    As mentioned before a set of smaller connectors were defined to accommodate thesmaller size of the devices. The minimum power consumption is reduced to 8mA sincemany of these devices can be battery powered and are limited in resources.

    This supplement also adds specifications for the protocol that handles the dynamicswitching between device and host, and defines session request protocols (SRP) thatallow the host to turn on or off bus-powered devices.

    Wireless USBThe Wireless USB specification was added in 2005 to meet the increasing necessity ofwireless devices. This specification uses Ultra Wide Band (UWB) as the physical platformfor communications.

    The standard specifies throughput rates of up to 480Mbps (at 2 meters) and ranges ofup to 10 meters. This protocol is design as a host spoke architecture and allows up to127 devices to attach to it. It has built in security features and power managementfeatures for the radio.

    As in previous standards it should be compatible with previous versions of USB standardsand for this purpose it defines entities that bridge the wired and wireless domains.

  • 8/14/2019 Integrating USB Into Products

    11/17

    Integrating USB into Products Class #343

    - 11 -

    Devices that meet this standard are still in their infant stages. Some companies like NECand Wisair have some products available that would allow Wireless USBcommunications.

    ComplianceThe USB organization has created a compliance program to ensure that devices meet

    the standard specifications. Though no law mandates that any device must pass thesetests, doing so ensures that the users experience with your product will be as trouble-free as possible.

    The compliance program's two criteria are checklists and compliance testing. Thechecklists contain questions relating to a product and its behavior. Separate checklistsexist for vendors of peripherals, hubs, systems with USB hosts, and cables. The checklistcovers mechanical design, device states and signals, and operating voltages and powerconsumption. The checklists are available from USB-IF's website.

    Basic-Speed Version Hi-Speed VersionOn-The-Go Basic-

    Speed VersionOn-The-Go

    Hi-Speed VersionWireless USB

    For thorough testing of a product under a variety of conditions, USB-IF members canenroll a device in the Compliance Program for a small membership fee. When a devicemeets the compliance program's criteria, USB-IF considers it to have reasonablemeasures of acceptability and adds it to its Integrators List of compliant devices.

    Usage of the USB logo requires a product to be compliant as demonstrated by passingthe USB-IF Compliance Testing Program. There are a set of registered USB logos whichare not interchangeable, see above. On receiving a signed license agreement andpayment, USB-IF authorizes the device to display the USB logo.In addition to successfully completing the USB-IF Compliance Program and having theirproduct included under their company name on the Integrators List, companies mustexecute the USB-IF Trademark License Agreement to be eligible to use the logo inconjunction with the product.

    Solutions

    When starting a USB design, just as with any other project, one should ask multiplequestions that will help the designer to select the right parts and architecture for thedesign:

    Is this design considered a host, a device, or both? Is the instrument going to interact with other devices or a PC? Are we communicating at low, full, or high speed? Is it considered a high power or low power device? Is the architecture going to be based on stand alone design or multiple

    processors?

  • 8/14/2019 Integrating USB Into Products

    12/17

    Integrating USB into Products Class #343

    - 12 -

    If multiple processors are to be used, how do they interface? To which devices is the design going to interface? HID class? Mass-storage? Etc? Should there be a USB hub? Do we need the USB compliance or could we live without it?

    As you proceed in your hardware design and look for solutions, you will encounter an

    unlimited set of possibilities either for a host design or peripheral. The most simple ofthese options is to purchase an external USB conversion adapter that interface thecommunications interface present in your design. To do this, there are products fromcompanies like B&B or Belkin that convert USB to RS-232, or USB to Ethernet. Also thereare companies that already provide solutions with USB interfaces to DAQs and motioncontrollers.

    If the requirement is more stringent in cost and size, these adapters can be implementedwith a set of ICs, and the circuits can be integrated with your present design. Somemanufactures such as TI, FTDI, and Kawasaki provide solutions to convert USB signals toEthernet or RS-232. Other companies such as Philips, Micronas, Cypress, Atmel, andGenesis provide solutions for specific designs including Flash Drive Interfaces, Audio

    Codecs, and Smart Media.

    If your solution requires a specific low-cost controller, companies such as Microchips, Atmel, and Cypress provide 8-bit ARM controllers with built-in device interfaces, hostcontrollers, or on-the-go controllers. These solutions usually integrate the physical layerand some level of the error detection. For more sophisticated designs, Freescale, Intel,TI, and NEC provide higher end controllers with 32-bit cores or DSPs that allow you tointerface devices that are more complex and require more intensive computing power.

    The implementation of a USB interface does not only have implications on the hardwarebut also has implications on the software. If the design for a USB peripheral, then you

    need to be sure that the software complies with the USB protocol handshakes and classdescription. Usually the main USB software effort involves providing a descriptor to theUSB host and respond to the host instructions.

    If the software being developed is for a host, the implications are larger since the host isa more complex entity. The software in the host must interface to the host controller (ifit is another IC), the USB protocol, and then the drivers for the device which may haveto comply with one of the pre-defined classes given by the USB organization.

    To assist the software development effort and minimize the risk of meeting deadlines,one can look at commercial software that is already available, especially whendeveloping a USB host.

    One option is to buy software stacks from companies such as SoftConnex (owned byTransdimension) and Jungo. Depending on the company, they usually provide a stackthat has been rigorously tested and can interface to either custom OSes or commercialones. Also depending on their license agreements and business strategies, they providedifferent packages that include USB protocol only, USB class stacks, source code, or one-time expense.

  • 8/14/2019 Integrating USB Into Products

    13/17

    Integrating USB into Products Class #343

    - 13 -

    Another option is to use a commercial OS such as WindowsCE, Mentors Nucleus, Linux(commercial or not), etc. This option provides an OS and in most instances includesdrivers that are available and tested. Most of these OSes are already ported to selectedmicrocontrollers. In some instances, the only task left is to create the host controllerinterface since the host in embedded system designs is implemented with a circuit thatit is not common for PCs.

    Examples

    Example 1: A USB Peripheral/Host A biomedical instrument had the following requirements with regard to thecommunications interface:

    Interface to USB printer Interface to USB keyboard Interface to USB Flash drive Interface to PC USB port

    One special note is that the peripherals and the PC interface are mutually exclusive.

    All of these features could have been implemented with cheaper and simplertechnologies such as serial and parallel interfaces, but a primary attractive feature wasthe standardization and availability of products with USB.

    The design had included a 32-bit microcontroller to do the main functions of theinstrument and the user interface. So at the beginning of the design, we looked atoptions of microcontrollers that had USB features built in. Most of them only had USBdevice interfaces, and the few that had host and device controllers were not available orwere more expensive than our final solution. So we selected a standard 32-bit controllerand looked for a peripheral IC that would meet our specifications.

    To meet the above specification, we looked at multiple options and ICs, mainly fromCypress and Phillips. We decided on the Cypress EZ-Host solution (CY7C67300) becauseit had four channels which allowed us to interface all the peripherals at the same time. Italso had a few options to interface the main 32-bit microcontroller and our experiencewith their technical support has been great. The diagram below shows a high leveldesign, it only includes the flash drive interface, the other two interfaces are alsoattached to the EZ-Host.

    We connected the Cypress part and memory mapped it into the microcontrollermemory space. Since we were connecting to off-the-shelf peripherals, we had to becautious with the design of the power supply and power management of the USB bus.We had to mitigate in-rush currents and limited the power consumption such that it didnot drain our power resources.

  • 8/14/2019 Integrating USB Into Products

    14/17

    Integrating USB into Products Class #343

    - 14 -

    The next task was to choose a software development path. If this instrument were aperipheral only, the software path would have been much simpler since a peripheralonly has to support a limited number of functions to be USB compatible, mainly providea descriptor and do some handshaking. But since this instrument also had host functionalities, the software implications were large and became critical in the shorttimeline we had for its implementation. We evaluated off-the-shelf USB stacks,commercial OSes, and custom OSes. The solution we came about was to use acommercial version of embedded Linux. This reduced the development effort of

    building the USB drivers, it also gave us the flexibility to have drivers for a variety of USBdevices (printer, keyboard, and flash drive) that already exist, and it had a lower costthan some of the other software stacks available. The only missing piece was thesoftware interface required by the host controller, but fortunately this was also providedby Cypress with their development kit for the EZ-Host controller IC. Then it just becamea system integration effort.

    Since this design other products are available in the market that might ease the designprocess. Among these, there is a controller designed by GHI Electronics called USBWizthat can interface USB devices and interface a secondary processor through a serial port.

    Example 2: Software Power Switch

    A biomedical instrument had several USB devices (a camera and a motion controller) allconnected through a USB hub, built in. The design of the instrument required asoftware-controlled power switch and limited the number of cables between the PC andthe instrument to one. Also, the power switch meant that it had to be powered from asecond source since the main power supplies were not supposed to be ON.

  • 8/14/2019 Integrating USB Into Products

    15/17

    Integrating USB into Products Class #343

    - 15 -

    Our solution was to integrate the power switch to the USB bus. The design was basedon a Microchip PIC18F2455 which has a USB interface. The PIC was the interface to theUSB port and it controlled a solid state relay. This relay then switched the main AC

    power lines that were the source for the main power supplies.

    We presented the device as a HID interface such that the software development efforton the PC was not a huge task.

    Example 3: USB/RS232 AdapterIn another instance, a design came about that required a product update. The presentproduct was instrumentation equipment that had a RS-232 interface to the PC. The RS-232 interface was part of a proprietary circuit that was not well-documented, and theowner did not want to make much of the schematic available. For this application weused a similar Microchip part to the one above. The reason this option was selected waswere previous knowledge of the vendor USB hardware, low cost, and flexibility to add

    new features, such as more digital I/O lines and analog input.

    Other solutions we could have used were RS-232 adapters from Belkin or B&B, but thesewere too big for the space constraints the design had, ICs from FTDI and TI were alsoavailable that required no software development but the limitation was the digital I/O.

  • 8/14/2019 Integrating USB Into Products

    16/17

    Integrating USB into Products Class #343

    - 16 -

    Example 4: USB Hub DesignIn this application we had a need to connect four RS-232 devices into a highlyintegrated device that had a built in PC. Unfortunately the PC did not have any RS-232ports. The only option was to convert all the RS-232 lines to USB and put all off themthrough a USB hub, such that we could connect it to the USB port of the PC.

    For the RS-232/USB adapter we used a similar solution to the one mentioned above. Forthe USB hub, we used a simple TI part number TUSB2046, the reason we used this partwas its simple integration, low cost, and that it was USB 1.1 compatible.

    Other options were available from Cypress and Philips, especially components that wereUSB 2.0 compatible.

    SummaryThis paper has shown you a glimpse of the USB standard and how can it be used in your

    future projects. The USB protocol has features that appeal to both product developersand users, including bus powered devices, auto-detection, self configuration,expandability, and speed. Of course, all of this simplicity is at the cost of a morecomplex and expensive hardware and software design than the older serial and parallelinterfaces it replaces. The interface is flexible enough to use for common peripheraltypes like drives and keyboards, as well as custom, application-specific designs likemedical instruments, instrumentation equipment, or coffee mug warmers with PIDcontrols.

    Reference

    Documents Universal Serial Bus Specification, Revision 2.0 USB Design by Example: A Practical Guide to Building I/O Devices, Second

    Edition by John Hyde USB Complete by Jan Axelson

    Web Sites www.beyondlogic.org/index.html#USB Has a great USB reference and links to

    a bunch of vendors

  • 8/14/2019 Integrating USB Into Products

    17/17

    Integrating USB into Products Class #343

    17

    www.usb.org Has all the standards and a few presentations that have usefulinformation

    www.everythingusb.com Has a lot of products and new applications for USB www.usbman.com Has a lot of developer tips and other useful stuff

    About the author

    Allan Neville is a Sr. Electrical Engineer with Design Continuum, Inc. He has over tenyears of experience developing embedded systems for medical and consumer products.He has worked on a variety of projects designing and developing analog and digitalcircuits, RF circuits, motion control systems, and PC interfaces. He also has vastknowledge of firmware and software development.

    Allan can be reached at [email protected]