MCP2200
USB 2.0 to UART Protocol Converter with GPIO
Features
Universal Serial Bus (USB)
• Supports Full-Speed USB (12 Mb/s)
• Implements USB Protocol Composite Device:
- Communication Device Class (CDC) for
Communications and Configuration
- Human Interface Device (HID) for I/O control
• 128-Byte Buffer to Handle Data Throughput at
Any UART Baud Rate:
- 64-byte transmit
- 64-byte receive
• Fully Configurable VID and PID Assignments and
String Descriptors
• Bus-Powered or Self-Powered
• USB 2.0 Compliant: TID 40001150
USB Driver and Software Support
• Uses Standard Windows
®
Drivers for Virtual Com
Port (VCP): Windows XP (SP2 or later), Windows
Vista, Windows 7, Windows 8, Windows 8.1 and
Windows 10
• Configuration Utility for Initial Configuration
Universal Asynchronous Receiver/Transmitter
(UART)
• Responds to
SET_LINE_CODING
Commands to
Dynamically Change Baud Rates
• Supports Baud Rates: 300-1000k
• Hardware Flow Control
• UART Signal Polarity Option
General Purpose Input/Output (GPIO) Pins
• Eight General Purpose I/O pins
EEPROM
• 256 Bytes of User EEPROM
Other
• USB Activity LED Outputs (TxLED and RxLED)
• SSPND Output Pin
• USBCFG Output Pin (indicates when the enumer-
ation is completed)
• Operating Voltage: 3.0V-5.5V
• Oscillator Input: 12 MHz
• Electrostatic Discharge (ESD) Protection: >4 kV
Human Body Model (HBM)
• Industrial (I) Operating Temperature: –40°C to
+85°C
* Includes Exposed Thermal Pad (EP); see
Table 1-1.
Package Types
The device is offered in the following packages:
• 20-lead VQFN (5x5 mm)
• 20-lead SOIC
• 20-lead SSOP
MCP2200
5x5 VQFN*
OSC2
OSC1
V
DD
V
SS
D+
EP
21
15 D-
14 Vusb
13 GP0/SSPND
12 GP1/USBCFG
11 GP2
6 7 8
GP3
Tx
RTS
9 10
Rx
CTS
20
19
18
17
16
15
14
13
12
11
V
SS
D+
D-
Vusb
GP0/SSPND
GP1/USBCFG
GP2
CTS
Rx
RTS
DS20002228D-page 1
20 19 18 17 16
RST 1
GP7/TxLED 2
GP6/RxLED
3
GP5 4
GP4 5
MCP2200
SOIC, SSOP
V
DD
OSC1
OSC2
RST
GP7/TxLED
GP6/RxLED
GP5
GP4
GP3
Tx
1
2
3
4
5
6
7
8
9
10
2011-2017 Microchip Technology Inc.
MCP2200
Block Diagram
GP5
GP3
GP1
GP4
GP2
GP0
TxLED RxLED
Configuration &
Control Registers
256 Byte
EEPROM
GPIO
USB LEDs
Tx
Rx
UART
Controller
CTS
RTS
Control
USB Protocol
Controller
USB
Transceiver
D-
D+
Baud
Generator
State USB
Clock Clock
V
SS
OSC
Reset
3.3V
LDO
V
USB
V
SS
OSC1 OSC2
RST
V
DD
DS20002228D-page 2
2011-2017 Microchip Technology Inc.
MCP2200
1.0
FUNCTIONAL DESCRIPTION
The MCP2200 is a USB-to-UART serial converter that
enables USB connectivity in applications that have a
UART interface. The device reduces external compo-
nents by integrating the USB termination resistors. The
MCP2200 also has 256 bytes of integrated user
EEPROM.
The MCP2200 has eight general purpose input/output
pins. Four pins have alternate functions to indicate
USB and communication status. See
Table 1-1
and
Section 1.6 “GPIO Module”
for details about the pin
functions.
TABLE 1-1:
Pin
Name
GP0/SSPND
PINOUT DESCRIPTION
VQFN
13
SSOP, Pin
SOIC Type
16
I/O
Standard Function
General purpose I/O
Alternate Function
USB suspend status pin
(refer to
Section 1.6.1.1 “SSPND
Pin Function”)
USB configuration status pin
(refer to
Section 1.6.1.2 “USBCFG
Pin Function”)
GP1/USB-
CFG
GP2
GP3
GP4
GP5
GP6/RxLED
12
15
I/O
General purpose I/O
11
6
5
4
3
14
9
8
7
6
I/O
I/O
I/O
I/O
I/O
General purpose I/O
General purpose I/O
General purpose I/O
General purpose I/O
General purpose I/O
USB receive activity LED output
(refer to
Section 1.6.1.3 “RxLED
Pin Function (IN Message)”)
USB transmit activity LED output
(refer to
Section 1.6.1.4 “TxLED
Pin Function (OUT Message)”)
GP7/TxLED
2
5
I/O
General purpose I/O
CTS
RTS
Rx
Tx
RST
V
DD
V
SS
OSC1
OSC2
D+
D-
Vusb
10
8
9
7
1
18
17
19
20
16
15
14
13
11
12
10
4
1
20
2
3
19
18
17
I
O
I
O
I
P
P
I
O
I/O
I/O
P
Hardware flow control “Clear to Send”
input signal
Hardware flow control “Request to Send”
output signal
USART RX input
USART TX output
Reset input must be externally biased
Power
Ground
Oscillator input
Oscillator output
USB D+
USB D-
USB power pin (internally connected to
3.3V). Should be locally bypassed with a
high-quality ceramic capacitor.
Exposed Thermal Pad (EP). Do not
electrically connect.
EP
21
—
—
2011-2017 Microchip Technology Inc.
DS20002228D-page 3
MCP2200
1.1
Supported Operating Systems
1.3.1
INITIAL CONFIGURATION
Windows XP (SP2 and later), Windows Vista, Windows
7, Windows 8, Windows 8.1 and Windows 10 operating
systems are supported.
The default UART configuration is 19200, 8, N, 1. The
default start-up baud rate can be changed using the
Microchip-supplied configuration PC tool.
Alternatively, a custom configuration tool can be
created using the Microchip-supplied DLL to set the
baud rate as well as other parameters. See
Section 2.0
“Configuration”
for details.
1.1.1
ENUMERATION
The MCP2200 will enumerate as a USB device after
Power-on Reset (POR). The device enumerates as
both a Human Interface Device (HID) for I/O control,
and a Virtual Com Port (VCP).
TABLE 1-2:
UART CONFIGURATIONS
Configuration
See
Table 1-3
8
N
1
1.1.1.1
Human Interface Device (HID)
Parameter
Primary Baud Rates
Data Bits
Parity
Stop Bits
The MCP2200 enumerates as an HID, so the device
can be configured and the I/O can be controlled. A DLL
that facilitates I/O control through a custom interface is
supplied by Microchip.
1.1.1.2
Virtual Com Port (VCP)
1.3.2
GET/SET LINE CODING
The VCP enumeration implements the USB-to-UART
data translation.
1.2
Control Module
The control module is the heart of the MCP2200. All
other modules are tied together and controlled via the
control module. The control module manages the data
transfers between the USB and the UART, as well as
the command requests generated by the USB host
controller and the commands for controlling the
function of the UART and I/O.
The
GET_LINE_CODING
and
SET_LINE_CODING
commands are used to read and set the UART
parameters while in operation. For example,
HyperTerminal sends the
SET_LINE_COMMAND
when
connecting to the port. The MCP2200 responds by
setting the baud rate only. The other parameters (data
bits, parity, stop bits) remain unchanged.
1.3.2.1
Rounding Errors
1.2.1
SERIAL INTERFACE
The control module interfaces to the UART and USB
modules.
The primary baud rate setting (with the rounding errors)
is shown in
Table 1-3.
If baud rates other than the ones
shown in the table are used, the error percentage can
be calculated using
Equation 1-1
to find the actual
baud rate.
TABLE 1-3:
Desired Rate
300
1200
2400
4800
9600
19200
38400
57600
115200
230400
460800
921600
1.2.2
INTERFACING TO THE DEVICE
UART PRIMARY BAUD
RATES
Actual rate
300
1200
2400
4800
9600
19200
38339
57692
115385
230769
461538
923077
% Error
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.16%
0.16%
0.16%
0.16%
0.16%
0.16%
The MCP2200 can be accessed for reading and writing
via USB host commands. The device cannot be
accessed and controlled via the UART interface.
1.3
UART Interface
The MCP2200 UART interface consists of the Tx and
Rx data signals and the RTS/CTS flow control pins.
The UART is configurable for several baud rates. The
available baud rates are listed in
Table 1-3.
DS20002228D-page 4
2011-2017 Microchip Technology Inc.
MCP2200
EQUATION 1-1:
SOLVING FOR ACTUAL
BAUD RATE
1.4
USB Protocol Controller
12 MHz
ActualRate = ------------------
-
int
x
Where:
12 MHz
x = --------------------------------
-
Desired Baud
The USB controller in the MCP2200 is full-speed USB
2.0 compliant.
• Composite device (CDC + HID):
- CDC: USB-to-UART communications
- HID: I/O control, EEPROM access and initial
configuration
• 128-byte buffer to handle data throughput at any
UART baud rate:
- 64-byte transmit
- 64-byte receive
• Fully configurable VID and PID assignments and
descriptors (stored on-chip)
• Bus-powered or self-powered
1.3.3
CUSTOM BAUD RATES
Custom baud rates are configured by sending the
SET_LINE_CODING
USB command, or by using the
DLL. See
Section 2.0 “Configuration”
for more
information.
1.3.4
HARDWARE FLOW CONTROL
Hardware flow control uses the RTS and CTS pins as
a handshake between two devices. The RTS pin of
one device is typically connected to the CTS of the
other device.
RTS is an active-low output that notifies the other
device when it is ready to receive data by driving the pin
low. The MCP2200 trip point for deasserting RTS (high)
is 63 characters. This is one character short of “buffer
full”.
CTS is an active-low input that notifies the MCP2200
when it is ready to send data. The MCP2200 will check
CTS just before loading and sending UART data. If the
pin is asserted during a transfer, the transfer will
continue. Refer to
Figure 1-1.
1.4.1
DESCRIPTORS
During configuration, the supplied PC interface stores
the descriptors in the MCP2200.
1.4.2
SUSPEND AND RESUME
The USB Suspend and Resume signals are supported
for power management of the MCP2200. The device
enters Suspend mode when “suspend signaling” is
detected on the bus.
The MCP2200 exits Suspend mode when any of the
following events occur:
1.
2.
3.
“Resume signaling” is detected or generated.
A USB “Reset” signal is detected.
A device reset occurs.
FIGURE 1-1:
RTS/CTS CONNECTIONS
EXAMPLE
I am ready
to receive
1.5
USB Transceiver
I am ready
to receive
RTS
I’ll transmit
if okay
RTS
The MCP2200 has a built-in, full-speed USB 2.0
transceiver internally connected to the USB module.
The USB transceiver obtains power from the V
USB
pin,
which is internally connected to the 3.3V regulator. The
best electrical signal quality is obtained when V
USB
is
locally bypassed with a high-quality ceramic capacitor.
I’ll transmit
if okay
CTS
MCU
CTS
MCP2200
1.5.1
INTERNAL PULL-UP RESISTORS
The MCP2200 devices have built-in pull-up resistors
designed to meet the requirements for full-speed USB.
1.5.2
1.3.4.1
Flow Control Disabled
The buffer pointer does not increment (or reset to
zero) if the buffer is full. Therefore, if hardware flow
control is not enabled and an overflow occurs (i.e.,
65 unprocessed characters received), the new data
overwrites the last position in the buffer.
MCP2200 POWER OPTIONS
The following are the main power options for the
MCP2200:
• USB Bus-Powered (5V)
• 3.3V Self-Powered
2011-2017 Microchip Technology Inc.
DS20002228D-page 5