SLAA457B September   2013  – October 2018 MSP430F5500 , MSP430F5501 , MSP430F5502 , MSP430F5503 , MSP430F5504 , MSP430F5505 , MSP430F5506 , MSP430F5507 , MSP430F5508 , MSP430F5509 , MSP430F5510 , MSP430F5513 , MSP430F5514 , MSP430F5515 , MSP430F5517 , MSP430F5519 , MSP430F5521 , MSP430F5522 , MSP430F5524 , MSP430F5525 , MSP430F5526 , MSP430F5527 , MSP430F5528 , MSP430F5529 , MSP430F5630 , MSP430F5631 , MSP430F5632 , MSP430F5633 , MSP430F5634 , MSP430F5635 , MSP430F5636 , MSP430F5637 , MSP430F5638 , MSP430F5658 , MSP430F5659 , MSP430F6630 , MSP430F6631 , MSP430F6632 , MSP430F6633 , MSP430F6634 , MSP430F6635 , MSP430F6636 , MSP430F6637 , MSP430F6638 , MSP430F6658 , MSP430F6659 , MSP430FG6425 , MSP430FG6426 , MSP430FG6625 , MSP430FG6626

 

  1.   Starting a USB Design Using MSP430™ MCUs
    1.     Trademarks
    2. 1 USB and the Art of Making Something Complex Look Simple
      1. 1.1 What Has Made USB So Successful?
      2. 1.2 But It Looks So Simple!
      3. 1.3 TI's Approach for MSP430 USB
    3. 2 MSP430 USB Silicon
      1. 2.1 How MSP430 Devices are Documented
      2. 2.2 USB-Equipped MSP430 Derivatives
      3. 2.3 MSP430 USB Module
      4. 2.4 USB Certification of the Silicon
    4. 3 Software
      1. 3.1 USB Developers Package: Overview
      2. 3.2 USB API Stacks: Features
      3. 3.3 MSP430 USB Descriptor Tool
      4. 3.4 Host Software, and the Java HID Demo App
      5. 3.5 USB API Programmer's Guide and Examples Guide
      6. 3.6 MSP430 USB Field Firmware Upgrade Tools
    5. 4 MSP430 USB Hardware Design
      1. 4.1 TI Reference Design for USB Interface
      2. 4.2 Selecting a Power Configuration
      3. 4.3 Selecting a Clock Configuration
        1. 4.3.1 Choosing a Source
        2. 4.3.2 Choosing a Frequency
      4. 4.4 Other Reference Design Commentary
    6. 5 MSP430 USB Software Design
      1. 5.1 How to Choose a USB Device Class
      2. 5.2 How to Select a Vendor ID (VID) and Product ID (PID)
        1. 5.2.1 What are the VID and PID?
        2. 5.2.2 How are They Chosen (or Obtained)?
        3. 5.2.3 Using VIDs and PIDs During Development
    7. 6 Getting Started: Evaluating MSP430 USB
      1. 6.1 Software Development Environments
      2. 6.2 F5529 LaunchPad Development Kit
      3. 6.3 MSP430F5529 USB Experimenter's Board
      4. 6.4 FET Target Boards
    8. 7 More Information
  2.   A USB Glossary
  3.   Revision History

USB Developers Package: Overview

TI provides its MSP430 USB software offering inside the MSP430USB Developers Package.

Table 3. MSP430 USB Developers Package: Contents

Item Description
Host USB Software
Java HID Demo App Host-side example for implementing HID. It complements the HID-Datapipe API, simplifying creation of a general-purpose USB HID device.
Python USB Firmware Upgrader Python-based host-side USB firmware update solution.
MSP430 USB Software
Documentation
API Functional Reference Doxygen-generated function reference for all the USB API calls
Examples Guide A guide for the person evaluating the USB API, using the examples
MSP430 USB API Programmer's Guide A detailed reference for someone that's developing a USB device using the MSP430 USB Developer's Package.
Release Notes HTML file Contains anything unique to a particular revision, including bug fixes, benchmarks, compiler dependencies, and migration information.
MSP430 USB API API software library for implementing USB devices
Examples
emptyUsbProject A project containing only a main.c populated with a suggested main loop framework. The framework is commented with instructions.
CDC Examples Examples for implementing virtual COM ports using the CDC class.
HID Examples Examples using the HID class
HID-Datapipe Examples of HID-Datapipe, a means of UART-style data exchange based on the HID class.
HID-Traditional Examples of ordinary HID interfaces, like mice and keyboards
MSC Examples Examples for implementing mass storage devices, like SD card and emulated on-chip flash drives.
Composite Examples Examples of composite USB devices; that is, devices comprising more than one of the interfaces above
SYS/BIOS Examples Examples showing us of the USB API with TI's SYS/BIOS RTOS
driverlib (driver library) Contains the standard MSP430 driverlib. It is referenced by all the examples.
USB_API These are the actual USB API code files. It is referenced by all the examples.
MSP430 USB Descriptor Tool Automatically generates reliable descriptors for any combination of USB interfaces. It saves the developer's time and reduces the chance for errors. Using this tool is part of the standard recommended design flow.

If your application will only use USB for updating the MSP430 firmware, you can jump to Section 3.6. Most of the software components in the package, about to be described, apply to applications using USB as part of their main function.

usb_system_and_usb_devel_slaa457.gifFigure 2. USB System and USB Developers Package Components

The items marked with purple text are provided by TI and correspond with items in Table 3.

The Descriptor Tool generates the USB interfaces you need. You then write an MSP430 application that communicates with the host through these interfaces.

On the host, you can either write an application or, perhaps, use an existing one. In some cases for example, an existing COM port or storage-based application might serve your purposes.

Examples are very useful during development. On the MSP430 MCU side, TI provides more than 25 examples of USB applications in the developers package.

On the host side, COM ports and storage are very common, and large amounts of information about these are found online. In contrast, HID is not as common. For that reason, TI provides the JavaHID Demo App as an example and as a utility.

usb_developers_package_slaa457.gifFigure 3. USB Developers Package: Examples from TI

The red-circled examples help get you started in your development. Each is supported by documentation.

All these items are in the MSP430 USB Developers Package, and described further below.