2 USB Enumeration Process

The MCP2222 enumerates as a USB 2.0 full-speed composite device with dual interfaces:

  • USB CDC-ACM (Communication Device Class - Abstract Control Model). The communication class interface is on interface 0 and the data class interface is on interface 1.
  • Vendor (Interface 2) provides the following functions:
    • I2C communication and data
    • SPI communication and data
    • GPIO control
    • Device configuration

The device and configuration descriptor information is stored in the Nonvolatile Memory (NVM) and used during USB enumeration. These descriptors include:

  • Vendor ID (VID)
  • Product ID (PID)
  • Manufacturer name
  • Product name
  • Serial number
  • Bus-powered or self-powered configuration
  • Remote wake-up enable or disable setting
  • Maximum bus current

These descriptor values can be modified using the Microchip configuration tool, Python library, or C library. Refer to Section 3.7.1 USB Descriptor Modification Steps for the commands used to modify USB descriptor settings.