SDAA280 March   2026 MSPM0G5187

 

  1.   1
  2.   Abstract
  3. 1USB Makes a Complex System Appear Simple
    1. 1.1 Why Has USB Been so Successful?
    2. 1.2 Why Does USB Look Simple?
  4. 2MSPM0 USB Silicon
    1. 2.1 How MSPM0 Devices are Documented
    2. 2.2 MSPM0 USB Module
  5. 3MSPM0 USB Hardware Design
    1. 3.1 Block Diagram
    2. 3.2 USB Mode of Operation
      1. 3.2.1 USB Device Mode: Bus Powered
      2. 3.2.2 USB Device Mode: Self-Powered
      3. 3.2.3 USB Host Mode Power Considerations
      4. 3.2.4 ESD Considerations
      5. 3.2.5 Layout Considerations
    3. 3.3 USB Clock Implementation
      1. 3.3.1 Selecting a Clock Source
      2. 3.3.2 Selecting a Clock Frequency
    4. 3.4 Example Implementation
  6. 4Software Overview
    1. 4.1 USB Stacks: Features
    2. 4.2 SysConfig Descriptor Tool
    3. 4.3 Selecting a Device Class
      1. 4.3.1 Example Process for Deciding on a USB Device Class
    4. 4.4 How to Select a Vendor ID (VID) and Product ID (PID)
      1. 4.4.1 Choosing and Obtaining VID and PID
      2. 4.4.2 Using VIDs and PIDs During Development
    5. 4.5 TinyUSB API Programmer's Guide and Examples
  7. 5Getting Started: Evaluating MSPM0 USB
  8. 6Summary
  9. 7References
  10. 8USB Glossary

USB Glossary

  1. Bulk Transfers: One of four data transfer types on the USB bus. Bulk transfers are designed for moving high volumes of data. They are capable of using any free bandwidth on the bus (that is, bandwidth not already used by the other transfer types). This allows them to achieve the highest data rates, but they are given no reserved bandwidth, so on a busy bus, bulk transfers can receive small bandwidth or experience high latency. Transfer types are determined by the choice of USB interface type; for example, CDC and MSC interfaces use bulk transfers.
  2. Composite USB Device: A physical USB device (one USB connector) that contains more than one USB interface – for example, two CDC interfaces or CDC+HID. The host enumerates each interface as a separate logical entity.
  3. Control Transfers: One of four data transfer types on the USB bus. Control transfers handle the administrative tasks of setting up the connection, like reporting USB descriptors. The host also sends other USB device requests, and the device responds using control transfers. There is a USB endpoint dedicated to these transfers: endpoint 0 (EP0).
  4. Device Class: A defined USB protocol for a particular class of devices. Common device classes include the Communications Device Class (CDC), Human Interface Device (HID) class, USB Audio Class (UAC), and Mass Storage Class (MSC).
    1. CDC: A USB device class used for serial communication devices. CDC allows USB devices to emulate traditional serial ports (COM), enabling data exchange between host and device.
    2. HID: A USB device class designed for user input devices like keyboards, mice, and game controllers. HID devices use a standardized protocol that allows for driverless installation on most operating systems.
    3. UAC: A USB device class for transmitting and receiving digital audio data between a host and device. UAC allows USB devices to appear as standard audio IO devices to the host.
    4. MSC: A USB device class that allows a device to appear as an external storage drive to the host operating system, enabling standard file system operations.
  5. Device Installation: The first time a USB device is enumerated, the host may perform one-time functions to install the device. For example, Windows records information about the device in the system registry, using the device's VID and PID as an index. In subsequent enumerations, the host draws from the registry for much of its information about the device. Device installation may be silent (mostly invisible to the end user) or, in the case of CDC on Windows, may require user action.
  6. Endpoint: The end of a pipe. This acts as a mailbox on the USB device for that pipe. A device usually has more than one active endpoint. When the host communicates on the bus, it first identifies the physical USB device, then the endpoint number within that device that it wishes to speak to. Endpoints are assigned specific functions according to the USB interfaces that were created. HID/MSC each use one IN and one OUT endpoint, while CDC uses two IN and one OUT endpoint. In the MSP430 API stacks, endpoint management is fully automated by the Descriptor Tool.
  7. Enumeration: The process by which a host interrogates a physical USB device to determine what it is and loads an appropriate driver so that the host application can interface with it. Enumeration happens every time the device is attached.
  8. Interrupt Transfers: One of the four USB data transfer types. Interrupt transfers are designed for latency, bandwidth, and delivery. However, the bandwidth is limited to only a single USB packet (64 bytes for full-speed USB) per frame (1 ms). Transfer types are determined by the choice of USB interface type; for example, HID interfaces use interrupt transfers.
  9. Isochronous Transfers: One of the four USB data transfer types. Isochronous transfers provide guaranteed latency and bandwidth but not delivery. That is, if error checking shows corrupted data, the attempt is not retried. This type is intended for streaming audio and video -- applications in which a retry would result in an interruption and thus be more noticeable to the user than simply missing the packet.
  10. INF (*.inf) file: A text-based file required during any USB device installation on Windows, allowing Windows to associate the device with a particular driver. For some device classes, Windows contains the INF internally, allowing for a silent device installation. For CDC, Windows prompts the end user for the INF file.
  11. Pipe: A single line of communication between host and device. Pipes are either IN (into the host) or OUT (out of the host). They are characterized by a particular transfer type (for example, bulk or interrupt).
  12. Descriptor: Data structures that the USB device provides to the host during enumeration, describing the device's capabilities, configurations, interfaces, and endpoints. Common descriptors include: Device, configuration, interface, and endpoint descriptors.
  13. Full-Speed USB: USB operating at 12Mbps, the standard speed for USB 1.1 and optional for USB 2.0 devices.
  14. Host: The USB controller that manages the bus and initiates all data transfers. Typically a PC, but can also be embedded systems with USB host capability.