Datasheet
MCP2221
DS20005292B-page 22 2015 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
personal computers running the Windows operating
system (OS) requires some consideration because of
the way the Windows OS responds to their connection.
When a USB-to-UART (CDC class) adapter is
connected 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 relevant information about the USB-to-UART
adapter, its driver and the associated COM port.
The COM port and its number are legacy-type
adapters, which are still supported by Windows OS.
Historically, 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
adapters, 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
specify 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/validation 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
process; however, this 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).