User`s guide

USB and the Art of Making Something Complex Look Simple
www.ti.com
3 MSP430 USB Developers Package: Contents .......................................................................... 6
4 Possible XT2 Clock Sources.............................................................................................. 16
5 Device Class Tradeoffs.................................................................................................... 18
6 FET Target Boards for USB-Equipped MSP430 Derivatives......................................................... 23
1 USB and the Art of Making Something Complex Look Simple
1.1 What Has Made USB So Successful?
USB is nearly everywhere in the modern world. We are familiar with its ease of use; typically USB just
works. It is reliable.
Its simplicity and predictable user model have made it extremely popular with the public. Its popularity and
low cost have made it ubiquitous. Its ubiquity has even led to uses beyond data communication for
example, as a means of power delivery: both out of hosts (for example, into coffee warmers) and into
devices as a means of battery charging.
But a lot is going on under the surface of USB. Making a fast, reliable data bus that automates common
behaviors and tolerates hot plugging requires layers of protocol. And it requires a great deal of
standardization among large numbers of industry players; in fact, multiple forces shape the USB
experience today.
1.2 But It Looks So Simple!
The elegance of USB is that users see none of this complexity it simply does what they need it to.
But developers can have more trouble avoiding this complexity. Compared to UART, SPI, or I
2
C, layers of
protocol are required to give USB its unique capabilities. This means that sending data over USB takes
more effort than simply writing a byte to an output buffer. On-chip USB modules offset some of this
complexity, but they cannot do all of this; layers of software need to be employed.
Good USB software can insulate the application developer from many of these complexities. But like
icebergs, the tips of these concerns can still be seen by the application. How should the device respond
when attached or not attached to a host? How should software be written to ensure it keeps flowing even
when the host or bus is busy or unreliable? The simplest USB applications might be able to ignore these
concerns, but professional applications often cannot.
An industry of middleware and consultants is available to help developers through this process. But, many
developers still rely on silicon vendors and the community to provide both software and support.
1.3 TI's Approach for MSP430 USB
The TI MSP430 USB Developers Package provides a solution intended to be simple and accessible for a
broad range of customers. At the same time, it maintains the design flexibility that professional USB
applications need.
Development is aided by the MSP430 USB Descriptor Tool, a code generation tool that handles most of
the USB-related customization for your application. The Tool contains contextual help that aids you in
making your decisions. Example code and detailed reference guides help point the way. If you have a
problem these cannot solve, TI's E2E Forum and other non-TI MSP430 forums are available to help.
TI also welcomes the ecosystem of USB consultants, middleware, and community solutions, and supports
their continued contribution. They enlarge the base of possibilities for MSP430 customers, both for those
using the MSP430 USB Developers Package and for those preferring to outsource USB design.
MSP430, Code Composer Studio, LaunchPad, Launchpad BoosterPack are trademarks of Texas Instruments.
OS X is a trademark of Apple Inc.
IAR Embedded Workbench is a registered trademark of IAR Systems.
Linux is a registered trademark of Linus Torvalds.
Windows is a trademark of Microsoft Inc.
CERALOCK is a registered trademark of Murata Manufacturing Co., Ltd.
All other trademarks are the property of their respective owners.
2
Starting a USB Design Using MSP430™ MCUs SLAA457ASeptember 2013Revised May 2014
Submit Documentation Feedback
Copyright © 2013–2014, Texas Instruments Incorporated