Datasheet
MCP2221
DS20005292A-page 22 2014 Microchip Technology Inc.
2.0 USB ENUMERATION PROCESS
The MCP2221 implements the CDC class to support
the USB-to-UART protocol converter functionality.
Using USB-to-UART (CDC class) adapters with per-
sonal computers running the Windows operating sys-
tem (OS) requires some consideration because of the
way Windows OS responds to their connection.
When a USB-to-UART (CDC class) adapter is con-
nected to the USB port of the PC, Windows searches
for a driver. After a suitable driver is found, the system
creates an entry in the registry. The entry stores rele-
vant information about the USB-to-UART adapter, its
driver, and the associated COM port.
The COM port and its number are legacy-type adapt-
ers, which are still supported by Windows OS. Histori-
cally, the COM ports in a computer are part of the
computer’s motherboard and are assigned a different
index number. With the advent of USB-to-UART adapt-
ers, the Windows OS kept the COM port concept and
extended it to support the USB adapters.
Whenever a USB-to-UART adapter is first connected to
a PC, the system searches the registry for an entry that
is suitable for the connected adapter. If one is not
found, the system asks for a suitable driver. If this step
is completed, it creates a registry entry, and assigns a
COM port number as well. Then, whenever the USB-to-
UART adapter is connected to that PC, the system
checks the registry entry, loads the specified driver and
assigns the given COM port number (as found in the
registry entry).
During the enumeration process, the device can spec-
ify a serial number. If it does, this number is stored in
the registry entry and it is used to assign the same
COM port number to the adapter in question, no matter
which USB port the adapter is connected to.
USB-to-UART adapters have the option to not present
a serial number during USB enumeration. In this case,
the operating system would not be able to differentiate
between two identical devices, if neither is providing its
serial number. Each time one of these two devices
(with no serial number provided during enumeration) is
connected to the same USB port, they will have the
same COM port number assigned.
Both functionalities (with or without serial numbers) are
very useful for different applications.
When the serial number is provided, an adapter using
the MCP2221 solution receives the same COM port
number from a Windows machine, no matter which
USB port they are connected to.
The case with no serial number is useful for test/valida-
tion of products using the MCP2221. The fact that all
the tested boards are not supplying a serial number will
force Windows to assign them the same COM port
number (but, only if connected to the same USB port).
The MCP2221 is factory-set to not use a serial number.
Later in the process, if a customer wants the benefits
provided by using a serial number, the Configuration
Utility from Microchip can be used to enable the
MCP2221 to enumerate its serial number as well.
The MCP2221 comes with a uniquely-provided serial
number to be used during the USB enumeration pro-
cess, however it can be changed by the user in the
Configuration Utility.
The serial number enumeration enable/disable can be
changed, as well, using the Configuration Utility.
All the USB-related settings mentioned above are part
of the Device Configuration (Chip Settings area) and
they reside only in Flash. When the Chip Settings area
(1
st
area) is being copied into the SRAM (at Power-up),
the USB settings are skipped (not copied into SRAM).