MCP2221T-I/SL [MICROCHIP]

USB 2.0 to I2C™/UART Protocol Converter with GPIO;
MCP2221T-I/SL
型号: MCP2221T-I/SL
厂家: MICROCHIP    MICROCHIP
描述:

USB 2.0 to I2C™/UART Protocol Converter with GPIO

文件: 总80页 (文件大小:1321K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
MCP2221  
USB 2.0 to I2C/UART Protocol Converter with GPIO  
I2C/SMBus  
Features:  
• The Device Runs as an I2C Master. The Data to  
Write/Read On the I2C Bus is Conveyed By the  
USB Interface.  
Universal Serial Bus (USB)  
• Supports Full-Speed USB (12 Mb/s)  
• Implements USB Protocol Composite Device:  
• I2C Master  
- Communication Device Class (CDC) for  
USB-to-UART Conversion  
- Human Interface Device (HID) for I2C™  
Device Control and Configuration  
- Up to 400 kHz Clock Rate  
- Supports 7- or 10-bit Addressable Devices;  
10-bit Addressable Devices are Supported  
Through the PC Host Library  
• 128-byte Buffer to Handle Data Throughput at  
Any Supported UART Baud Rate:  
- Supports Block Reads/Writes of Up to 65,535  
Bytes Long  
- 64-Byte Transmit  
- 64-Byte Receive  
• SMBus Master  
- Supports All of the SMBus Transfers  
• Human Interface Device (HID) for Both  
I2C Communication and Control:  
- SMBus Functionality is Achieved Through a  
Combination of Chip and Support Library  
Processing  
64-byte Buffer to Handle Data Throughput at  
Any I2C Baud Rate  
- Up to 400 kHz Clock Rate  
• Fully-Configurable VID and PID Assignments and  
String Descriptors  
General-Purpose Input/Output (GPIO) Pins  
• Bus-powered or Self-powered  
• Four General-Purpose Input/Output Pins  
• USB 2.0-Compliant: TID# 40001594  
• All GP Pins Can Be Assigned to Other  
Functionalities  
USB Driver and Software Support  
Other Functionalities  
• Enumerates as a Composite USB Device (CDC  
and HID) Using Standard Drivers for Virtual Com  
Port (VCP) on the Following Windows® Operating  
Systems: XP® (SP3), Vista®, 7, 8 and 8.1  
• UART Activity LED Outputs (UTX and URX)  
• SSPND Output Pin  
• USBCFG Output Pin (Indicates When the  
Enumeration Has Completed)  
• Configuration Utility for Establishing a Custom  
Boot-up Configuration  
• I2C/SMBus Terminal  
• Three ADC Inputs  
• One DAC with Two Possible Output Options  
• Windows DLL  
• Clock Reference Output: 12 MHz or Other  
Configurable Values  
CDC and Universal Asynchronous  
Receiver/Transmitter (UART) Options  
• External Interrupt Edge Detection  
• Communications Device Class (CDC) for the  
USB-to-UART Option  
Other  
• Operating Voltage: 3.0 to 5.5V  
• Responds to SET LINE CODINGCommands to  
Dynamically Change Baud Rates  
• Electrostatic Discharge (ESD) Protection: > 4 kV  
Human Body Model (HBM)  
• Supports Baud Rates: 300-115200  
• UART TX and RX Pins Only  
• Industrial (I) Operating Temperature: -40°C to +85°C  
• Serial Number Used During the CDC  
Enumeration Can Be Enabled By Using the  
Microchip-provided Configuration Utility or By  
Calling the Proper API From the Support Libraries  
for this Device  
2015 Microchip Technology Inc.  
DS20005292B-page 1  
MCP2221  
Package Types  
MCP2221  
4 x 4 QFN*  
MCP2221  
PDIP/SOIC/TSSOP  
1
2
3
4
5
6
7
14  
13  
VDD  
GP0  
GP1  
RST  
URX  
UTX  
GP2  
VSS  
D+  
16 15 14 13  
GP0  
GP1  
RST  
URX  
12 D+  
11 D-  
1
2
3
4
12 D-  
11  
EP  
17  
VUSB  
10 VUSB  
10 SCL  
9
8
SDA  
GP3  
9
SCL  
5
6
7
8
* Includes Exposed Thermal Pad (EP); see Table 1-1.  
Block Diagram  
CONFIG  
USB Module &  
Transceiver  
I2C  
Bus  
USB  
Bus  
I2C Master  
USB HID  
USB CDC  
BUS MATRIX  
TXD/RXD  
Internal  
Oscillator  
UART  
IOC  
GP Pins  
PIN  
MUX  
GPIO  
ADC/DAC  
CLKR  
DS20005292B-page 2  
2015 Microchip Technology Inc.  
MCP2221  
The MCP2221 has four GP pins for miscellaneous  
functionalities (including GPIO, USBCFG, SSPND,  
Clock Output, ADC, DAC and interrupt detector).  
1.0  
FUNCTIONAL DESCRIPTION  
The MCP2221 is a USB-to-UART serial converter that  
enables USB connectivity in applications that have  
UART and/or I2C interfaces. The device reduces  
external components by integrating the USB  
termination resistors and the oscillator needed for USB  
operation.  
See Table 1-1 and Section 1.7 “Pin Mux Module” for  
details about the pin functions.  
TABLE 1-1:  
PINOUT DESCRIPTION  
Pin  
PDIP,  
Pin  
SOIC, QFN  
SSOP  
Standard Function  
Alternate Functions  
Name  
Type  
GP0  
2
1
I/O General-purpose I/O or alternate SSPND (OUT)  
function pin  
Signals when the host has  
entered Suspend mode  
UART RX LED activity output  
(factory default)  
LED_URX (OUT)  
GP1  
3
2
I/O General-purpose I/O or alternate CLKR (OUT)  
Clock Reference Output  
ADC Channel 1  
function pin  
ADC1 (IN)  
LED_UTX (OUT) UART TX Led activity output  
(factory default)  
IOC (IN)  
External interrupt edge detector  
RST  
URX  
UTX  
GP2  
4
5
6
7
3
4
5
6
I
I
Reset input (with internal pull-up) N/A  
UART RX pin (input)  
UART TX pin (output)  
N/A  
N/A  
O
I/O General-purpose I/O or alternate USBCFG (OUT) USB device configured status  
function pin  
(factory default)  
ADC Channel 2  
DAC Output 1  
ADC2 (IN)  
DAC1 (OUT)  
USB-I2C traffic indicator (factory  
default)  
GP3  
8
7
I/O General-purpose I/O or alternate LED_I2C (OUT)  
function pin  
ADC3 (IN)  
DAC2 (OUT)  
ADC Channel 3  
DAC Output 2  
I2C Data line  
I2C Clock line  
SDA  
SCL  
VUSB  
9
8
9
I/O  
I/O  
N/A  
N/A  
10  
11  
10 USB USB Power pin (internally  
connected to 3.3V)  
Should be locally bypassed with  
a high-quality ceramic capacitor  
D-  
12  
13  
14  
11 USB USB D-  
12 USB USB D+  
D+  
VSS  
NC  
13  
P
Ground  
14  
15  
Not Connected  
VDD  
EP  
1
16  
17  
P
Power  
Exposed Thermal Pad (EP)  
Do not electrically connect.  
2015 Microchip Technology Inc.  
DS20005292B-page 3  
MCP2221  
1.3.1  
GET/SET LINE CODING  
1.1  
Supported Operating Systems  
The GET_LINE_CODING and SET_LINE_CODING  
commands are used to read and set the UART  
parameters while in operation. For example, terminal  
applications (e.g., Putty, RealTerm, Hyperterminal,  
etc.) send the SET_LINE_COMMANDwhen connecting  
to the port. The MCP2221 responds by setting the baud  
rate only.  
The following operating systems are supported:  
• Windows – XP (SP3), Vista, 7, 8 and 8.1  
• Linux® – any distribution with support for CDC  
and HID classes  
• Mac OS® – all versions – beginning with 10.7  
1.1.1  
ENUMERATION  
The other parameters (Data Bits, Parity, Stop Bits)  
remain unchanged.  
The MCP2221 enumerates as a composite USB device  
after POR. The device enumerates as both a Human  
Interface Device (HID) for I2C, GPIO control, and as  
CDC for the USB-to-UART converter.  
Note:  
MCP2221 supports only eight Data bits,  
no Parity, and one Stop bit.  
1.3.1.1  
Rounding Errors  
1.1.1.1  
USB HID  
Primary baud rate settings (with associated rounding  
errors) are shown in Table 1-2.  
The MCP2221 enumerates as an HID, so the device  
can be configured, while the I2C and GPIO can be  
controlled. A DLL package, with example applications  
and tools, is supplied by Microchip on the device web  
page, on the Microchip web site www.microchip.com.  
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-2:  
UART PRIMARY BAUD  
RATES  
1.1.1.2  
USB CDC  
The CDC enumeration implements the USB-to-UART  
data translation.  
Desired Rate  
Actual rate  
% Error  
300  
1200  
300  
1200  
0.00%  
0.00%  
0.00%  
0.00%  
0.00%  
0.00%  
0.16%  
0.16%  
0.16%  
1.2  
Bus-Matrix Module  
The Bus-Matrix module is the heart of the MCP2221.  
All other modules are tied together and controlled via  
the Bus-Matrix module. This module manages the data  
transfers between the USB and the UART, the I2C  
Master module, as well as the command requests  
generated by the USB host controller and commands  
for controlling the function of the UART, GPIO, ADC,  
DAC and Clock Output.  
2400  
2400  
4800  
4800  
9600  
9600  
19200  
38400  
57600  
115200  
19200  
38339  
57692  
115385  
1.2.1  
UART  
EQUATION 1-1:  
SOLVING FOR ACTUAL  
BAUD RATE  
The control module interfaces to the UART and USB  
modules.  
12MHz  
intx  
ActualRate = ------------------  
1.2.2  
ACCESSING THE DEVICE  
The MCP2221 can be accessed for reading and writing  
via USB host commands. The device cannot be  
accessed or controlled via the UART interface.  
Where:  
12MHz  
x = ----------------------------------  
DesiredBaud  
1.3  
UART Interface  
1.3.2  
CUSTOM BAUD RATES  
The MCP2221 UART interface consists of the TX and  
RX data signals.  
Custom baud rates are configured by sending the  
SET_LINE_CODING USB command. See Section 2.0  
“USB Enumeration Process” for more information.  
The UART is configurable for several baud rates. The  
available baud rates are listed in Table 1-2.  
DS20005292B-page 4  
2015 Microchip Technology Inc.  
MCP2221  
FIGURE 1-1:  
CHIP SETTINGS RUN  
TIME MANAGEMENT  
1.4  
Device Configuration  
The MCP2221 keeps all the essential device  
configuration settings stored in Flash memory.  
Power-Up/Reset  
Device configuration settings affect the way the  
MCP2221 behaves at run time.  
The settings are stored into the Flash memory on the  
device. Some of the settings are also copied into  
SRAM at Power-Up/Reset.  
Copy FLASH Chip and  
GP settings to SRAM  
These device configuration settings reside in the  
following two distinct areas of Flash memory:  
USB enumeration  
& configuration  
complete  
• Chip Settings  
The Chip Settings area stores the key MCP2221  
parameters  
USB parameters, ADC/DAC  
reference voltage choice, start-up DAC value,  
Clock Reference output (CLKR) frequency and  
duty cycle values.  
No  
Yes  
SRAM settings  
changes needed  
• GP Settings  
The GP Settings area stores the GP designation  
settings. For GP settings that are assigned to  
GPIO output operation, output values (logic 1or 0)  
are also specified.  
Change the  
SRAM settings  
Even though the MCP2221 places a partial copy of the  
Chip Settings in SRAM, the following Chip Settings  
always reside in Flash:  
• USB Manufacturer/Product and Serial Number  
descriptors  
The SRAM settings (GP and partial Chip Settings) can  
be modified through USB HID commands and they will  
have an effect on the following device features:  
• USB VID and PID pair  
• USB options (e.g., the requested amount of  
current that is presented to the USB host during  
the USB enumeration process)  
• GP pin designation (switch between GPIO,  
dedicated or special functions modes)  
• GPIO direction and output value (only for GPIO  
outputs) – for the GPs assigned to work in GPIO  
mode  
1.4.1  
POWER-UP/RESET DEVICE  
CONFIGURATION BEHAVIOR  
• Clock Output duty cycle and value – if GP1 is  
assigned for CLKR mode (Clock Reference  
output mode), by modifying the SRAM settings,  
the clock frequency and duty cycle can be  
changed at run time  
At Power-Up/Reset, the MCP2221 configures the  
device options (GP designation, special function pins  
parameters and USB enumeration options) according  
to the Flash settings. Then, the Flash Chip Settings and  
GP Settings are loaded into SRAM to allow for their  
temporary modification at run time.  
• DAC value and voltage reference used – the DAC  
value setting as well as the voltage reference  
used for it are stored in SRAM settings and they  
can be changed at run time. Through this  
mechanism, at run time the user can change the  
DAC value, as well as the voltage reference.  
Chip Settings of the Device Configuration Flash is  
copied partially into SRAM. Only the run-  
time-modifiable parameters are copied into SRAM.  
GP Settings of the Device Configuration Flash (GP  
settings area) are copied entirely into the SRAM. By  
copying the GP settings completely into SRAM, the  
user is allowed to completely change the GP  
designation at run time.  
• ADC voltage reference value – the voltage  
reference used for ADC conversions can be  
changed by altering its corresponding SRAM  
setting  
• Interrupt-On-Change (IOC) detector settings – if  
GP1 is assigned for IOC mode, the SRAM  
settings are used for setting up the triggers used  
for external interrupt detection (positive, negative  
edge detection or both)  
The SRAM copy of the settings can be altered at run  
time in order to change certain device behavior, e.g.,  
GP designation (the GPs can be re-assigned for a  
different type of operation than the one assigned at  
Power-Up) and special parameters (DAC value,  
ADC/DAC voltage references, Clock output value).  
2015 Microchip Technology Inc.  
DS20005292B-page 5  
MCP2221  
1.4.2  
CHIP SETTINGS MAP  
The Chip Settings area resides in Flash memory and is  
copied into SRAM at run time. Not all of the device’s  
settings can be altered at run time. All the fields in the  
Flash settings can be altered by the user.  
TABLE 1-3:  
CHIP SETTINGS MAP  
Register Name  
Byte  
Index  
Comments  
0
CHIPSETTING0  
Controls the USB CDC serial number enumeration, default state for the GP LED  
designation, default state for GP dedicated-function pins and chip settings  
protection level  
1
2
CHIPSETTING1  
CHIPSETTING2  
CHIPSETTING3  
USBVIDL  
USBVIDH  
USBPIDL  
USBPIDH  
USBPWRATTR  
USBREQCRT  
PASS0  
Default clock output divider and duty cycle  
DAC reference options and default DAC value  
ADC reference and interrupt detection settings  
USB VID lower byte  
3
4
5
USB VID higher byte  
6
USB PID lower value  
USB PID higher byte  
7
8
USB power attributes  
USB required current  
Password byte 0  
9
10  
11  
12  
13  
14  
15  
16  
17  
PASS1  
Password byte 1  
PASS2  
Password byte 2  
PASS3  
Password byte 3  
PASS4  
Password byte 4  
PASS5  
Password byte 5  
PASS6  
Password byte 6  
PASS7  
Password byte 7  
DS20005292B-page 6  
2015 Microchip Technology Inc.  
MCP2221  
REGISTER 1-1:  
R/W-0 R/W-1  
CDCSNEN LEDURXINST LEDUTXINST LEDI2CINST SSPNDINST USBCFGINST CHIPPROT1 CHIPPROT0  
CHIPSETTING0 REGISTER  
R/W-1 R/W-1  
R/W-1  
R/W-1  
R/W-0  
R/W-0  
bit 7  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7  
bit 6  
bit 5  
bit 4  
bit 3  
bit 2  
bit 1-0  
CDCSNEN: USB CDC Serial Number Enable  
1= USB CDC Serial Number is enumerated  
0= No USB CDC Serial Number enumeration (factory default)  
LEDURXINST: LED UART RX Inactive State  
1= LED UART RX is inactive high and active low (factory default)  
0= LED UART RX is inactive low and active high  
LEDUTXINST: LED UART TX Inactive State  
1= LED UART TX is inactive high and active low (factory default)  
0= LED UART TX is inactive low and active high  
LEDI2CINST: LED I2C Inactive State  
1= LED I2C is inactive high and active low (factory default)  
0= LED I2C is inactive low and active high  
SSPNDINST: SSPND Inactive State  
1= SSPND is inactive high and active low (factory default)  
0= SSPND is inactive low and active high  
USBCFGINST: USBCFG Inactive State  
1= USBCFG is inactive high and active low (factory default)  
0= USBCFG is inactive low and active high  
CHIPPROT<1:0>: Chip Settings Protection Level  
11= Reserved  
10= Permanently locked  
01= Password protection  
00= Chip settings unprotected (factory default)  
2015 Microchip Technology Inc.  
DS20005292B-page 7  
MCP2221  
REGISTER 1-2:  
CHIPSETTING1 REGISTER  
R/W-0  
R/W-0  
R/W-0  
R/W-1  
R/W-0  
R/W-0  
R/W-1  
R/W-0  
CLKDC1  
CLKDC0  
CLKDIV2  
CLKDIV1  
CLKDIV0  
bit 7  
bit 0  
Legend:  
R = Readable bit  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
-n = Value at POR  
bit 7-5  
bit 4-3  
Reserved: Set to ‘0’  
CLKDC<1:0>: Clock-Out Duty-Cycle  
11= Duty cycle 75% (75% of 1 clock period is logic ‘1’ and 25% of 1 clock period is logic ‘0’)  
10= Duty cycle 50% (50% of 1 clock period is logic ‘1’ and 50% of 1 clock period is logic ‘0’)  
(factory default)  
01= Duty cycle 25% (25% of 1 clock period is logic ‘1’ and 75% of 1 clock period is logic ‘0’)  
00= Duty cycle 0% (100% of 1 clock period is logic ‘0’)  
bit 2-0  
CLKDIV<2:0>: Clock-Out Divider Output  
111= 375 kHz clock output  
110= 750 kHz clock output  
101= 1.5 MHz clock output  
100= 3 MHz clock output  
011= 6 MHz clock output  
010= 12 MHz clock output (factory default)  
001= 24 MHz clock output  
000= Reserved  
REGISTER 1-3:  
CHIPSETTING2 REGISTER  
R/W-1  
R/W-0  
R/W-0  
R/W-0  
R/W-1  
R/W-0  
R/W-0  
R/W-0  
DACVAL0  
bit 0  
DACVRM1 DACVRM0  
bit 7  
DACREF  
DACVAL4  
DACVAL3  
DACVAL2  
DACVAL1  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7-6  
DACVRM<1:0>: DAC Internal Voltage Reference (DAC VRM) Selection  
11= VRM voltage is 4.096V (only if VDD is above this voltage)  
10= VRM voltage is 2.048V (factory default)  
01= VRM voltage is 1.024V  
00= VRM is off  
bit 5  
DACREF: DAC Reference Output Selection  
1= DAC reference output is DAC VRM voltage selection  
0= DAC reference output is VDD (factory default)  
bit 4-0  
DACVAL<4:0>: Initial DAC Output Value  
5-bit value for the DAC output (factory default is 8 decimal)  
DS20005292B-page 8  
2015 Microchip Technology Inc.  
MCP2221  
REGISTER 1-4:  
CHIPSETTING3 REGISTER  
R/W-1 R/W-1 R/W-0  
INTDETFEEN INTDETREEN ADCVRM1 ADCVRM0  
R/W-0  
R/W-1  
R/W-1  
R/W-0  
R/W-0  
ADCREF  
bit 7  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7  
bit 6  
Reserved: Set to ‘0’  
INTDETFEEN: Interrupt Falling Edge Detect Enable  
1= Interrupt detector will trigger when a falling edge is detected (factory default)  
0= Falling edges will not trigger the detector  
bit 5  
INTDETREEN: Interrupt Rising Edge Detect Enable  
1= Interrupt detector will trigger when a rising edge is detected (factory default)  
0= Rising edges will not trigger the detector  
bit 4-3  
ADCVRM<1:0>: ADC Internal Voltage Reference (ADC VRM) Selection  
11= VRM voltage is 4.096V (only if VDD is above this voltage)  
10= VRM voltage is 2.048V  
01= VRM voltage is 1.024V (factory default)  
00= VRM is off  
bit 2  
ADCREF: ADC Reference Output Selection  
1= ADC reference output is ADC VRM voltage selection (factory default)  
0= ADC reference output is VDD  
bit 1-0  
Reserved: Set to ‘0’  
REGISTER 1-5:  
USBVIDL REGISTER  
R/W-1  
R/W-1  
USBVIDL6  
R/W-0  
R/W-1  
R/W-1  
R/W-0  
R/W-0  
R/W-0  
USBVIDL7  
bit 7  
USBVIDL5  
USBVIDL4  
USBVIDL3  
USBVIDL2  
USBVIDL1 USBVIDL0  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7-0  
USBVIDL<7:0>: USB VID Lower Byte (factory default: 0xD8(hex))  
REGISTER 1-6:  
USBVIDH REGISTER  
R/W-0  
R/W-0  
USBVIDH6  
R/W-0  
R/W-0  
R/W-0  
R/W-1  
R/W-0  
R/W-0  
USBVIDH7  
bit 7  
USBVIDH5  
USBVIDH4 USBVIDH3  
USBVIDH2 USBVIDH1 USBVIDH0  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7-0  
USBVIDH<7:0>: USB VID Higher Byte (factory default: 0x04(hex))  
2015 Microchip Technology Inc.  
DS20005292B-page 9  
MCP2221  
REGISTER 1-7:  
USBPIDL REGISTER  
R/W-1  
R/W-1  
USBPIDL6  
R/W-0  
R/W-1  
R/W-1  
R/W-1  
R/W-0  
R/W-1  
USBPIDL7  
bit 7  
USBPIDL5  
USBPIDL4  
USBPIDL3  
USBPIDL2  
USBPIDL1 USBPIDL0  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7-0  
USBPIDL<7:0>: USB PID Lower Byte (factory default: 0xDD(hex))  
REGISTER 1-8:  
USBPIDH REGISTER  
R/W-0  
R/W-0  
USBPIDH6  
R/W-0  
R/W-0  
R/W-0  
R/W-0  
R/W-0  
R/W-0  
USBPIDH7  
bit 7  
USBPIDH5  
USBPIDH4 USBPIDH3  
USBPIDH2 USBPIDH1 USBPIDH0  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7-0  
USBPIDH<7:0>: USB PID Higher Byte (factory default: 0x00(hex))  
REGISTER 1-9:  
USBPWRATTR REGISTER  
R/W-0  
R/W-0  
SELFPWR  
R/W-0  
R/W-0  
R/W-0  
R/W-0  
R/W-0  
R/W-0  
REMWKUP  
bit 7  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7  
bit 6  
Reserved: Reserved – set to ‘1’ (factory default)  
SELFPWR: USB Self-Powered Attribute  
1= Chip will enumerate on the USB bus as being self-powered  
0= Chip will enumerate on the USB bus as being USB-bus powered (factory default)  
bit 5  
REMWKUP: USB Remote Wake-Up Capability  
1= Chip will enumerate on the USB bus as being able to wake up the USB host  
0= Chip will enumerate as not being capable of remote wake-up of the USB host (factory default)  
bit 4-0  
Reserved: Set all bits to ‘0’ (factory default)  
DS20005292B-page 10  
2015 Microchip Technology Inc.  
MCP2221  
REGISTER 1-10: USBREQCRT REGISTER  
R/W-0 R/W-0 R/W-1 R/W-1  
USBREQC USBREQCRT USBREQCRT USBREQCR USBREQCR USBREQCR USBREQCR USBREQC  
R/W-0  
T3  
R/W-0  
T2  
R/W-1  
T1  
R/W-0  
RT7  
6
5
T4  
RT0  
bit 7  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7-0  
USBREQCRT<7:0>: USB Bus-Powered Required Current Amount (in units of 2 mA)  
Factory default is 50 (decimal); the USB enumeration interprets this value as a current requirement of  
100 mA.  
REGISTER 1-11: PASS0 – PASS7 REGISTER  
R/W-0  
R/W-0  
R/W-0  
R/W-0  
R/W-0  
R/W-0  
R/W-0  
R/W-0  
PASSx7  
PASSx6  
PASSx5  
PASSx4  
PASSx3  
PASSx2  
PASSx1  
PASSx0  
bit 7  
bit 0  
Legend:  
R = Readable bit  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
-n = Value at POR  
bit 7-0  
PASSx<7:0>: Password Byte X Value (factory default is 0)  
2015 Microchip Technology Inc.  
DS20005292B-page 11  
MCP2221  
1.4.3  
GP SETTINGS MAP  
The GP Settings area resides in Flash memory and is  
copied into SRAM at run time. The user can alter both  
the Flash and the SRAM GP settings. Any modification  
in the SRAM copy of the GP settings will have an  
immediate effect. The GP pins designation changes  
according to the new content of the SRAM settings.  
The Flash variant of the settings will affect the  
Power-Up behavior of the GP pins.  
TABLE 1-4:  
GP SETTINGS MAP  
Register  
Name  
Byte  
Index  
Comments  
0
1
2
3
GPSETTING0 GP0 pin designation and GPIO default output value, when GP is set for GPIO output operation  
GPSETTING1 GP1 pin designation and GPIO default output value, when GP is set for GPIO output operation  
GPSETTING2 GP2 pin designation and GPIO default output value, when GP is set for GPIO output operation  
GPSETTING3 GP3 pin designation and GPIO default output value, when GP is set for GPIO output operation  
REGISTER 1-12:  
GPSETTING0 REGISTER  
R/W-0  
R/W-0  
R/W-0  
R/W-1  
GPIOOUTVAL  
R/W-0  
R/W-0  
R/W-1  
R/W-0  
GPIODIR  
GPDES2  
GPDES1  
GPDES0  
bit 7  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7-5  
bit 4  
Reserved: Set to ‘0’  
GPIOOUTVAL: GPIO Output Value (valid only when GP0 is set for GPIO output operation)  
1= Default output value is logic ‘1’ (factory default)  
0= Default output value is logic ‘0’  
bit 3  
GPIODIR: GPIO Direction (input or output; valid only when GP0 is set for GPIO operation)  
1= GPIO Input  
0= GPIO Output (factory default)  
bit 2-0  
GPDES<2:0>: GP0 Designation  
111= Reserved  
110= Reserved  
101= Reserved  
100= Reserved  
011= Reserved  
010= Alternate function 0 (LED UART RX – LEDURX) (factory default)  
001= Dedicated function operation (SSPND)  
000= GPIO operation (GPIO0)  
DS20005292B-page 12  
2015 Microchip Technology Inc.  
MCP2221  
REGISTER 1-13:  
GPSETTING1 REGISTER  
R/W-0  
R/W-0  
R/W-0  
R/W-1  
GPIOOUTVAL  
R/W-0  
R/W-0  
R/W-1  
R/W-1  
GPIODIR  
GPDES2  
GPDES1  
GPDES0  
bit 7  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7-5  
bit 4  
Reserved: Set to ‘0’  
GPIOOUTVAL: GPIO Output Value (valid only when GP1 is set for GPIO output operation)  
1= Default output value is logic ‘1’ (factory default)  
0= Default output value is logic ‘0’  
bit 3  
GPIODIR: GPIO Direction (input or output; valid only when GP1 is set for GPIO operation)  
1= GPIO Input  
0= GPIO Output (factory default)  
bit 2-0  
GPDES<2:0>: GP1 Designation  
111= Reserved  
110= Reserved  
101= Reserved  
100= Alternate function 2 (Interrupt detector)  
011= Alternate function 1 (LED UART TX – LEDUTX) (factory default)  
010= Alternate function 0 (ADC1)  
001= Dedicated function operation (Clock Output)  
000= GPIO operation (GPIO1)  
2015 Microchip Technology Inc.  
DS20005292B-page 13  
MCP2221  
REGISTER 1-14:  
GPSETTING2 REGISTER  
R/W-0  
R/W-0  
R/W-0  
R/W-1  
R/W-0  
R/W-0  
R/W-0  
R/W-1  
GPIOOUTVAL  
GPIODIR  
GPDES2  
GPDES1  
GPDES0  
bit 7  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7-5  
bit 4  
Reserved: Set to ‘0’  
GPIOOUTVAL: GPIO Output Value (valid only when GP2 is set for GPIO output operation)  
1= Default output value is logic ‘1’ (factory default)  
0= Default output value is logic ‘0’  
bit 3  
GPIODIR: GPIO Direction (input or output; valid only when GP2 is set for GPIO operation)  
1= GPIO Input  
0= GPIO Output (factory default)  
bit 2-0  
GPDES<2:0>: GP2 Designation  
111= Reserved  
110= Reserved  
101= Reserved  
100= Reserved  
011= Alternate function 1 (DAC1)  
010= Alternate function 0 (ADC2)  
001= Dedicated function operation (USBCFG) (factory default)  
000= GPIO operation (GPIO2)  
DS20005292B-page 14  
2015 Microchip Technology Inc.  
MCP2221  
REGISTER 1-15:  
GPSETTING3 REGISTER  
R/W-0  
R/W-0  
R/W-0  
R/W-1  
GPIOOUTVAL  
R/W-0  
R/W-0  
R/W-0  
R/W-1  
GPIODIR  
GPDES2  
GPDES1  
GPDES0  
bit 7  
bit 0  
Legend:  
R = Readable bit  
-n = Value at POR  
W = Writable bit  
‘1’ = Bit is set  
U = Unimplemented bit, read as ‘0’  
‘0’ = Bit is cleared x = Bit is unknown  
bit 7-5  
bit 4  
Reserved: Set to ‘0’  
GPIOOUTVAL: GPIO Output Value (valid only when GP3 is set for GPIO output operation)  
1= Default output value is logic ‘1’ (factory default)  
0= Default output value is logic ‘0’  
bit 3  
GPIODIR: GPIO Direction (input or output; valid only when GP3 is set for GPIO operation)  
1= GPIO Input  
0= GPIO Output (factory default)  
bit 2-0  
GPDES<2:0>: GP3 Designation  
111= Reserved  
110= Reserved  
101= Reserved  
100= Reserved  
011= Alternate function 1 (DAC2)  
010= Alternate function 0 (ADC3)  
001= Dedicated function operation (LEDI2C) (factory default)  
000= GPIO operation (GPIO3)  
2015 Microchip Technology Inc.  
DS20005292B-page 15  
MCP2221  
1.5  
USB Module (HID, CDC and  
Transceiver Modules)  
1.6  
USB Transceiver  
The MCP2221 has a built-in USB 2.0 full-speed  
transceiver internally connected to the USB module.  
The USB HID and CDC modules in the MCP2221 are  
full-speed USB 2.0-compliant.  
The USB transceiver obtains power from the VUSB pin,  
which is internally connected to the 3.3V regulator. The  
best electrical signal quality is obtained when VUSB is  
locally bypassed with a high-quality ceramic capacitor.  
• Composite device (CDC + HID):  
- CDC: USB-to-UART Communications  
- HID: I2C Transactions, GPIO Control,  
Configuration and Miscellaneous Operations  
(ADC, DAC, Clock Output)  
1.6.1  
INTERNAL PULL-UP RESISTORS  
• 128-byte buffer to handle data throughput at any  
UART Baud Rate:  
The MCP2221 devices have built-in pull-up resistors  
designed to meet the requirements for full-speed USB.  
- 64-Byte Transmit  
- 64-Byte Receive  
1.6.2  
MCP2221 POWER OPTIONS  
• Fully Configurable VID and PID Assignments and  
Descriptors (stored on-chip)  
The following are the main power options for the  
MCP2221:  
• Bus-Powered or Self-Powered  
• USB Bus-Powered (5V)  
• 3.3V Self-Powered  
1.5.1  
DESCRIPTORS  
1.6.2.1  
Internal Power Supply Details  
During configuration, the supplied PC interface stores  
the descriptors in the MCP2221.  
MCP2221 offers various options for power supply. To  
meet the required USB signaling levels, the MCP2221  
incorporates an internal LDO that is used solely by the  
USB transceiver to present the correct D+/D- voltage  
levels.  
1.5.2  
SUSPEND AND RESUME  
The USB Suspend and Resume signals are supported  
for power management of the MCP2221. The device  
enters Suspend mode when “Suspend Signaling” is  
detected on the bus.  
Figure 1-2 shows the internal connections of the USB  
transceiver LDO in relation to the VDD power supply  
rail. The output of the USB transceiver LDO is tied to  
the VUSB line. A capacitor connected to the VUSB pin is  
required if the USB transceiver LDO provides the 3.3V  
supply to the transceiver.  
The MCP2221 exits Suspend mode when any of the  
following events occur:  
• “Resume Signaling” is detected or generated  
• A USB “Reset” signal is detected  
• A device Reset occurs  
FIGURE 1-2:  
MCP2221 INTERNAL  
POWER SUPPLY DETAILS  
VDD  
IN  
LDO  
3.3V  
OUT  
VUSB  
D+  
D-  
USB  
Transceiver  
DS20005292B-page 16  
2015 Microchip Technology Inc.  
MCP2221  
The provided VDD voltage has a direct influence on the  
voltage levels present on the GPIO and UART TX/RX  
pins. When VDD is 5V, all of these pins will have a  
logical ‘1’ around 5V with the variations specified in  
Section 4.1 “DC Characteristics”.  
During USB Suspend mode, the D+ or D- pull-up  
resistor must remain active, which will consume some  
of  
the  
allowed  
suspend  
current  
budget  
(500 µA/2.5 mA). The VUSB pin requires an external  
bypass capacitor with a value between 0.22 and  
0.47 µF (ceramic cap).  
For applications that require a 3.3V logical ‘1’ level,  
VDD must be connected to a power supply providing  
the 3.3V voltage. In this case, the internal USB  
transceiver LDO cannot provide the required 3.3V  
power. It is necessary to also connect the VUSB pin of  
the MCP2221 to the 3.3V power supply rail. This way,  
the USB transceiver is powered up directly from the  
3.3V power supply.  
Figure 1-4 shows a circuit where MCP2221’s internal  
LDO is used to provide 3.3V to the USB transceiver.  
The voltage on the VDD affects the voltage levels onto  
the UART and GPIO pins. With VDD at 5V, these pins  
will have a logic ‘1’ of 5V with the variations specified in  
Section 4.1 “DC Characteristics”.  
FIGURE 1-4:  
TYPICAL POWER SUPPLY  
OPTION USING THE 5V  
PROVIDED BY THE USB  
1.6.2.2  
USB Bus-Powered (5V)  
In Bus Power Only mode, all power for the application  
is drawn from the USB (Figure 1-3). This is effectively  
the simplest power method for the device.  
5V (USB Bus)  
or external  
power supply  
VDD  
FIGURE 1-3:  
BUS POWER ONLY  
IN  
LDO  
3.3V  
VBUS  
VDD  
VUSB  
OUT  
VUSB  
VSS  
D+  
D-  
USB  
Transceiver  
In order to meet the inrush current requirements of the  
USB 2.0 specifications, the total effective capacitance  
appearing across VBUS and ground must be no more  
than 10 µF. If it is more than 10 µF, some kind of inrush  
limiting is required. For more details on Inrush Current  
Limiting, search for that subject in the latest “Universal  
Serial Bus Specification”.  
According to the USB 2.0 specification, all USB devices  
must also support a Low-Power Suspend mode. In the  
USB Suspend mode, devices must consume no more  
than 500 µA (or 2.5 mA for high-powered devices that  
are remote wake-up capable) from the 5V VBUS line of  
the USB cable.  
The host signals the USB device to enter Suspend  
mode by stopping all USB traffic to that device for more  
than 3 ms.  
The USB bus provides a 5V voltage. However, the USB  
transceiver requires 3.3V for the signaling (on D+ and  
D- lines).  
2015 Microchip Technology Inc.  
DS20005292B-page 17  
MCP2221  
1.6.2.3  
3.3V Self-Powered  
1.7  
Pin Mux Module  
Typically, many embedded applications are using 3.3V  
power supplies. When such option is available in the  
target system, MCP2221 can be powered up from the  
existing 3.3V power supply rail. The typical connections  
for MCP2221 are shown in Figure 1-5.  
The Pin Mux module offers multiple functionalities for  
the GP pins.  
1.7.1  
CONFIGURABLE PIN FUNCTIONS  
The pins can be configured as:  
In this example, MCP2221 has both VDD and VUSB  
lines tied to the 3.3V rail. These tied connections  
disable the internal USB transceiver LDO of the  
MCP2221 to regulate the power supply on the VUSB  
pin. Another consequence is that the ‘1’ logical level on  
the GPIO pins will be at the 3.3V level, in accordance  
with the variations specified in Section 4.1 “DC  
Characteristics”.  
• GPIO – individually configurable general-purpose  
input or output  
• SSPND – USB Suspend state  
• USBCFG – indicates USB configuration status  
• LED_URX – indicates UART receive traffic (when  
seen from the MCP2221)  
• LED_UTX – indicates UART transmit traffic (when  
seen from the MCP2221)  
• LED_I2C – indicates I2C traffic  
1.6.2.4  
Remote Wake-Up Capability  
The MCP2221 offers a mechanism for triggering a  
remote wake-up event for the USB host. The remote  
wake-up trigger works only with the external interrupt  
detector.  
• ADC1/2/3 – analog inputs connected to the  
internal 10-bit ADC  
• DAC1/2 – analog outputs connected to the same  
5-bit DAC  
In order to use this capability, GP1 must be designated  
for interrupt detection operation. Before the USB host  
goes into Sleep/Standby, the interrupt detector must be  
set up for detecting positive edges, negative edges or  
both; also, the detector flag must be cleared. After  
these conditions are met, the USB host can go into  
Sleep/Standby mode and it will be awakened whenever  
an external signal on GP1 triggers the interrupt  
detector.  
• CLKR – digital clock output (the nominal value is  
12 MHz, but other values are possible)  
• IOC – external interrupt detector  
1.7.1.1  
GPIO Pin Function  
When the GPIO pin function is enabled for a given  
GP(n) pin, it will operate as a digital input or an output  
pin. When configured as a digital output, its value is  
controlled through the USB HID commands. When  
configured as a digital input, its logic value is read using  
USB HID commands.  
FIGURE 1-5:  
USING AN EXTERNALLY  
PROVIDED 3.3V POWER  
SUPPLY  
1.7.1.2  
SSPND Pin Function  
5V (USB Bus)  
or external  
power supply  
The SSPND pin (if enabled) reflects the USB state  
(Suspend/Resume). The pin is active low  
(factory-default setting; see the CHIPSETTING0  
register for more details) when the Suspend state has  
been issued by the USB host. Likewise, the pin drives  
high after the Resume state is achieved.  
External  
3.3V  
LDO  
VDD  
IN  
LDO  
3.3V  
This pin allows the application to go into Low Power  
mode when USB communication is suspended and  
switches to a full active state when USB activity is  
resumed.  
OUT  
VUSB  
1.7.1.3  
USBCFG Pin Function  
The USBCFG pin (if enabled) starts out low (factory  
default setting; see the CHIPSETTING0 register for  
more details) during Power-Up or after Reset and goes  
high after the device successfully configures to the  
USB. The pin will go low when in Suspend mode and  
high when the USB resumes.  
D+  
D-  
USB  
Transceiver  
DS20005292B-page 18  
2015 Microchip Technology Inc.  
MCP2221  
1.7.1.4  
LED_URX  
1.7.1.6  
LED_I2C  
The “RX” in this pin name refers to the UART of the  
MCP2221. The LED_URX pin is an indicator of UART  
RX characters being received.  
The “I2C” in this pin name refers to the I2C module in  
the MCP2221. The LED_I2C pin is an indicator of I2C  
activity.  
This pin will pulse low or high (depending on the chip  
configuration settings; see the CHIPSETTING0  
register for more details) for a period of time (a few  
milliseconds). This allows the application to provide a  
visual indication of the UART RX traffic.  
This pin will pulse low or high (depending on the chip  
configuration settings; see the CHIPSETTING0  
register for details) for a period of time (a few  
milliseconds). This allows the application to provide a  
visual indication of the I2C traffic.  
1.7.1.5  
LED_UTX  
1.7.1.7  
ADC1/2/3  
The “TX” in this pin name refers to the UART of the  
MCP2221. The LED_UTX pin is an indicator of UART  
TX characters being transmitted.  
When GP1/2/3 are configured for ADC operation, they  
will work as analog input pins and they are tied to the  
first three channels of the 10-bit ADC in the MCP2221.  
This pin will pulse low or high (depending on the chip  
configuration settings; see the CHIPSETTING0  
register for more details) for a period of time (a few  
milliseconds). This allows the application to provide a  
visual indication of the UART TX traffic.  
1.7.1.8  
DAC1/2  
When GP2/3 are configured for DAC operation, they  
will work as analog output pins and they are tied to the  
output of the MCP2221’s 5-bit DAC.  
TABLE 1-5:  
GP DESIGNATION TABLE  
Assignment GP0  
GPIO  
GP  
Designation  
Bits <2:0>  
GP1  
GP2  
GP3  
000  
001  
010  
011  
100  
GPIO  
SSPND  
LED_URX  
GPIO  
CLK OUT  
ADC1  
GPIO  
USBCFG  
ADC2  
DAC1  
GPIO  
LED_I2C  
ADC3  
DAC2  
DEDICATED_FUNC  
ALT_FUNC_0  
ALT_FUNC_1  
LED_UTX  
IOC  
ALT_FUNC_2  
2015 Microchip Technology Inc.  
DS20005292B-page 19  
MCP2221  
1.8.3  
DAC CONVERTER  
1.8  
GPIO/ADC/DAC Module  
The DAC is 5-bit wide, has a single analog output and  
it uses its own VRM module.  
This module communicates with the USB HID  
sub-module through the Bus Matrix module. It allows  
the manipulation of GPIOs, retrieving the ADC data  
and setting the DAC value.  
The DAC output voltage can be routed to GP2/3 (if  
GP2/3 are configured for DAC operation).  
If the GP2 and GP3 are configured for DAC operation,  
they will present the same analog voltage value  
because they are connected to the same DAC output.  
1.8.1  
GPIO  
When the GPs are configured for GPIO operation,  
those configured GPs can be used as digital inputs or  
outputs.  
FIGURE 1-7:  
DAC SUB-MODULE  
DETAILS  
When working as outputs, the GPs output logic levels  
(logic 0or 1).  
5-Bit Value  
Analog  
Output  
1.8.1.1  
VRM  
5-Bit DAC  
The ADC and DAC sub-modules each have a voltage  
reference module (VRM). Each VRM can be configured  
(at Power-Up and run time) to output one of the four  
voltage choices available.  
CHIPSETTING2<5>  
Analog Mux  
VDD  
The VRM can provide the following voltages as a  
reference:  
OFF  
2.048V  
4.096V  
CHIPSETTING2<7:6>  
• VDD – the VRM output is exactly the voltage  
present at the VDD pin of the MCP2221. It can  
take any value from 3.3 to 5V.  
1.024V  
VRM  
• 1.024V – the VRM output of 1.024V is obtained  
from an internal voltage reference  
• 2.048V – the VRM output of 2.048V is obtained  
from an internal voltage reference  
• 4.096V – the VRM output of 4.096V is obtained  
from an internal voltage reference. If the VDD is  
lower than 4.096V, the VRM output will have the  
value of VDD.  
1.8.2  
ADC CONVERTER  
The ADC converter is producing 10-bit values and it  
uses its own VRM module.  
It features three external channels (connected to  
GP1/2/3 if configured for ADC operation).  
The sampling rate of the ADC is around 1000 sps.  
FIGURE 1-6:  
ADC SUB-MODULE  
DETAILS  
3 Ext. Channels  
10-Bit  
Value  
10-bit ADC  
Analog Mux  
CHIPSETTING3<2>  
VDD  
OFF  
2.048V  
4.096V  
CHIPSETTING3<4:3>  
1.024V  
VRM  
DS20005292B-page 20  
2015 Microchip Technology Inc.  
MCP2221  
2
1.9  
CLKR  
1.13 I C™ Master Module  
When GP1 is configured for clock output operation, the  
GP1 pin will act as a digital output, providing a clock  
signal derived from the device’s internal clock. The  
clock’s nominal frequency is 12 MHz ± 0.25%. Other  
clock values and duty cycles are possible by setting  
different values that are associated with this mode of  
operation.  
The I2C Master module is responsible for the I2C traffic  
generation. The module is controlled through the USB  
HID, through the Bus Matrix module.  
The I2C module only implements the functionality of an  
I2C/SMBus Master.  
1.13.1  
I2C/SMBUS MASTER  
The I2C Master initiates all the I2C/SMBus transactions  
(being read or write operations) on the bus.  
The I2C/SMBus Master module has the following  
capabilities:  
1.10 IOC  
When GP1 is configured for Interrupt-on-Change (IOC)  
operation, GP1 acts as a digital input that is sensitive to  
positive and negative edges. Depending on the  
settings associated with this mode of operation, the  
GP1 can detect positive, negative or both edges.  
• sending/receiving data at a multitude of bit rates,  
up to 400 kbps  
• 7-bit Addressing mode  
• single data transfers of up to 65,535 bytes  
• clock-stretching (it allows the slower I2C Slaves to  
communicate)  
1.11 RESET/POR  
1.11.1  
RESET PIN  
All the user data to be sent/transmitted over the I2C bus  
is conveyed to the USB host only through the USB HID  
interface.  
The RST pin provides a method for triggering an  
external Reset of the device. A Reset is generated by  
holding the pin low. These devices have a noise filter in  
the Reset path, which detects and ignores small  
pulses.  
1.14 Bus Matrix Module  
The Bus Matrix module manages the communication  
between various functional modules, such as: USB  
(HID and CDC), I2C, UART, GPIO/ADC/DAC, Config,  
IOC, CLKR, Pin Mux.  
1.11.2  
POR  
A POR pulse is generated on-chip whenever VDD rises  
above a certain threshold. This allows the device to  
start in the initialized state when VDD is adequate for  
operation.  
1.15 Config Module  
To take advantage of the POR circuitry, tie the RST pin  
to VDD through a resistor (1 – 10 k). This will  
eliminate external RC components usually needed to  
create a POR delay.  
The Config module is in charge of the storage of the  
device settings and also of their management  
(loading/modifying/access protection). The module  
uses non-volatile memory for storing the Power-Up  
device settings.  
When the device starts normal operation (i.e., exits the  
Reset condition), device operating parameters  
(voltage, frequency, temperature, etc.) must be met to  
ensure operation. If these conditions are not achieved,  
the device must be held in Reset until the operating  
conditions are met.  
At Power-Up, the module loads the settings from the  
non-volatile storage area into an SRAM location  
(volatile settings). These settings represent the  
device’s configuration, along with other key parameters  
(e.g., string descriptors, VID/PID, etc.). After the  
settings are loaded in SRAM (volatile settings), they  
can be changed through the USB HID interface.  
1.12 Internal Oscillator  
The MCP2221 features an internal oscillator that  
provides a 12 MHz clock, which is needed for the USB  
modules (HID and CDC).  
The user can read/modify/change either settings  
(nonvolatile or volatile) through the same interface  
(USB HID).  
Full-speed USB is nominally 12 Mb/s. The clock  
signal’s accuracy is over temp (2,500 ppm maximum).  
The Config module contains the relevant Power-Up  
settings that are used by the MCP2221. A few  
examples of settings are: USB descriptors, GP  
settings, ADC, DAC, CLKR.  
The internal clock of the MCP2221 is fed into the CLKR  
module to provide a clock signal outside of the device.  
GP1 can be configured as a clock output pin providing  
a 12 MHz clock to the rest of the system. Other clock  
and duty-cycle values are possible by using different  
settings for this module.  
2015 Microchip Technology Inc.  
DS20005292B-page 21  
MCP2221  
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).  
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.  
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.  
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 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 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.  
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  
(1st area) is being copied into the SRAM (at Power-Up),  
the USB settings are skipped (not copied into SRAM).  
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.  
DS20005292B-page 22  
2015 Microchip Technology Inc.  
MCP2221  
3.0  
USB HID COMMUNICATION  
Except for the USB CDC and UART modules, all the  
other modules in the MCP2221 use USB HID protocol  
for communication.  
The USB HID protocol uses 64-byte reports.  
A typical command exchange starts with a 64-byte  
packet that is written by the USB Host (i.e., the PC).  
Afterward, the USB Host reads the response from the  
device as a 64-byte packet.  
3.1  
USB HID Commands/Responses  
3.1.1  
STATUS/SET PARAMETERS  
This command offers many options for this device. It is  
used to poll for the status of the device. It is also used  
to establish certain I2C bus parameters/conditions.  
TABLE 3-1:  
COMMAND STRUCTURE  
Byte  
Index  
Function Description  
Value  
Effect  
0
0x10  
Any value  
0x10  
Status/Set Parameters – command code  
1
2
Don’t care  
Cancel current I2C/SMBus  
transfer (sub-command)  
When this value is put in this field, the device will cancel the  
current I2C/SMBus transfer and will attempt to free the I2C bus.  
This command is very useful since it can cancel a transfer and  
free the bus. An example would be when trying to communicate  
with a device using a wrong address. This will cause a timeout  
to occur. This timeout situation can be read using the  
“Status/Set Parameter” and the cancellation of the I2C/SMBus  
transfer can be achieved by this sub-command.  
Any other No effect.  
value  
3
4
Set I2C/SMBus communication  
speed (sub-command)  
0x20  
When this value is put in this field, the device will take the next  
command field and interpret it as the system clock divider that  
will give the I2C/SMBus communication clock.  
Any other No effect.  
value  
The I2C/SMBus system clock  
divider that will be used to  
establish the communication  
speed  
The value in this field is being taken into consideration only  
when the Byte Index 3 contains the code for establishing a new  
communication speed. In all the other cases, this field’s value  
won’t matter.  
5-63 Don’t care  
Any value  
2015 Microchip Technology Inc.  
DS20005292B-page 23  
MCP2221  
3.1.1.1  
Responses  
RESPONSE 1 STRUCTURE  
TABLE 3-2:  
Byte  
Index  
Function Description  
Value  
Effect  
0
1
0x10  
0x00  
0x00  
Status/Set Parameters – command code echo  
Command completed successfully  
No special operation (i.e., Cancel current I2C/SMBus  
2
Cancel transfer  
transfer)  
0x10  
The current I2C/SMBus transfer was marked for  
cancellation. The actual I2C/SMBus transfer cancellation  
and bus release will need some time (a few hundreds of  
microseconds, depending on the communication speed  
initially chosen for the canceled transfer)  
0x11  
The I2C engine (inside MCP2221) was already in Idle  
mode. The cancellation command had no effect.  
3
4
0x00  
0x20  
No Set I2C/SMBus communication speed was issued.  
The new I2C/SMBus communication speed is now  
considered.  
0x21  
The I2C/SMBus communication speed was not set  
(e.g., I2C transfer in progress).  
The divider Only in the case when the code for establishing a new  
value given communication speed is given at Byte Index 3.  
at the same  
index in the  
command  
field  
0x00  
When the communication speed is not being set.  
5-7  
8
Don’t care  
Internal I2C state machine state  
Any value  
value  
9
Lower byte (16-bit value) of the  
requested I2C transfer length  
10  
11  
Higher byte (16-bit value) of the  
requested I2C transfer length  
Lower byte (16-bit value) of the  
already transferred (through I2C)  
number of bytes  
12  
Higher byte (16-bit value) of the  
already transferred (through I2C)  
number of bytes  
13  
14  
Internal I2C data buffer counter  
Current I2C communication  
speed divider value  
15  
16  
Current I2C timeout value  
Lower byte (16-bit value) of the  
I2C address being used  
17  
Higher byte (16-bit value) of the  
I2C address being used  
18-21 Don’t care  
22 SCL line value –  
as read from the pin  
Any value  
DS20005292B-page 24  
2015 Microchip Technology Inc.  
MCP2221  
TABLE 3-2:  
RESPONSE 1 STRUCTURE (CONTINUED)  
Byte  
Index  
Function Description  
Value  
Effect  
23  
SDA line value –  
as read from the pin  
24  
25  
Interrupt edge detector state  
I2C Read pending value  
0 or 1  
0, 1 or 2  
This field is used by the USB host to know if the MCP2221  
still has to read from a slave device.  
26-45 Don’t care  
Any value  
46  
47  
48  
49  
MCP2221 Hardware Revision  
Major (‘A’)  
MCP2221 Hardware Revision  
Minor (‘6’)  
MCP2221 Firmware Revision  
Major (‘1’)  
MCP2221 Firmware Revision  
Minor (‘1’)  
50-55 ADC Data (16-bit) values.  
56-63 Don’t care  
3 x (16-bit) little-endian ADC channel values (CH0 LSB,  
CH0 MSB, CH1 LSB, CH1 MSB, CH2 LSB, CH2 MSB).  
Any value  
2015 Microchip Technology Inc.  
DS20005292B-page 25  
MCP2221  
3.1.2  
READ FLASH DATA  
This command is used to read various important data  
structures and strings that are stored in Flash memory  
on the MCP2221.  
TABLE 3-3:  
COMMAND STRUCTURE  
Function Description  
Byte  
Index  
Value  
Effect  
0
0xB0  
0x00  
Read Flash Data – command code  
1
Read Flash Data Sub-code.  
The value in this field will instruct  
the MCP2221 on what Flash  
data to be read.  
Read Chip Settings – it will read the MCP2221 flash  
settings  
0x01  
0x02  
Read GP Settings – it will read the MCP2221 flash GP  
settings  
Read USB Manufacturer Descriptor String – reads the  
USB Manufacturer String Descriptor used during the USB  
enumeration  
0x03  
0x04  
Read USB Product Descriptor String – reads the USB  
Product String Descriptor used during the USB  
enumeration  
Read USB Serial Number Descriptor String – reads the  
USB Serial Number String Descriptor that is used during  
USB enumeration. This serial number can be changed by  
the user through a specific USB HID command.  
0x05  
Read Chip Factory Serial Number – reads the factory-set  
serial number. This serial number cannot be changed.  
Any other  
value  
No meaning. The device will reply with a code for an  
unsupported command at Byte Index 1 in the Response  
report.  
2-63 Reserved  
0x00  
3.1.2.1  
Responses  
RESPONSE STRUCTURE  
TABLE 3-4:  
Byte  
Index  
Function Description  
Value  
Effect  
0
1
0xB0  
0x00  
0x01  
Read Flash Data – command code  
Command completed successfully  
Command not supported  
2
Data structure length or  
Don’t care  
3-63 Data or Don’t care  
Depends on the issued sub-command or the returned  
code at Byte Index 1  
DS20005292B-page 26  
2015 Microchip Technology Inc.  
MCP2221  
TABLE 3-5:  
RESPONSE STRUCTURE – READ CHIP SETTINGS SUB-COMMAND  
Byte  
Index  
Function Description  
Value  
Effect  
0
1
0xB0  
0x00  
Read Flash Data – command code echo  
Command completed successfully  
2
3
4
Structure length  
Don’t care  
Bit 7: CDC Serial Number  
Enumeration Enable  
1
0
The USB serial number will be used during the USB  
enumeration of the CDC interface.  
No serial number descriptor will be presented during the  
USB enumeration.  
Bit 6: Initial value for LEDUARTRX  
pin option  
This value represents the logic level signaled when no  
UART RX activity takes places. When the UART RX (of the  
MCP2221) is receiving data, the LEDUARTRX pin will take  
the negated value of this bit.  
Bit 5: Initial value for LEDUARTTX  
pin option  
This value represents the logic level signaled when no  
UART TX transmission takes place. When the UART TX (of  
the MCP2221) is sending data, the LEDUARTTX pin will  
take the negated value of this bit.  
Bit 4: Initial value for LEDI2C pin  
option  
This value represents the logic level signaled when no I2C  
traffic occurs. When the I2C traffic is active, the LEDI2C pin  
(if enabled) will take the negated value of this bit.  
Bit 3: Initial value for SSPND pin  
option  
This value represents the logic level signaled when the  
device is not in Suspend mode. Upon entering Suspend  
mode, the SSPND pin (if enabled) will take the negated  
value of this bit.  
Bit 2: Initial value for USBCFG pin  
option  
This value represents the logic level signaled when the  
device is not USB configured. When the device will be USB  
configured, the USBCFG pin (if enabled) will take the  
negated value of this bit.  
Bits 1-0: Chip configuration security  
option  
11-10 Permanently locked  
01  
00  
Password-protected  
Unsecured  
5
6
Bits 7-5  
Don’t  
care  
Bits 4-0: Clock Output divider value  
If the GP pin (exposing the clock output) is enabled for  
clock output operation, the divider value will be used on the  
48 MHz USB internal clock and its divided output will be  
sent to this pin.  
Bits 7-6: DAC Reference voltage  
option  
11  
Reference voltage is 4.096V (only if VDD is above this  
voltage)  
10  
01  
00  
Reference voltage is 2.048V  
Reference voltage is 1.024V  
Reference voltage is off (this is useful for the case in which  
the DAC uses other reference than VRM DAC; e.g., VDD)  
Bit 5: DAC reference option  
1
0
DAC reference is VRM DAC voltage  
DAC reference is VDD  
Bits 4-0: Power-Up DAC value  
2015 Microchip Technology Inc.  
DS20005292B-page 27  
MCP2221  
TABLE 3-5:  
RESPONSE STRUCTURE – READ CHIP SETTINGS SUB-COMMAND (CONTINUED)  
Byte  
Index  
Function Description  
Value  
Effect  
7
Bit 7  
Don’t  
care  
Bit 6: Interrupt detection – negative  
edge  
If set, the interrupt detection flag will be set when a  
negative edge occurs.  
Bit 5: Interrupt detection – positive  
edge  
If set, the interrupt detection flag will be set when a positive  
edge occurs.  
Bit 4-3: ADC Reference Voltage  
11  
Reference voltage is 4.096V (only if VDD is above this  
voltage)  
10  
01  
00  
Reference voltage is 2.048V  
Reference voltage is 1.024V  
Reference voltage is off (this is useful for the case in which  
the ADC uses other reference than VRM ADC; e.g., VDD)  
Bit 2  
1
0
DAC reference is VDD DAC voltage  
DAC reference is VRM  
Bit 1  
Bit 0  
Don’t  
care  
Don’t  
care  
8
9
Lower byte of the 16-bit USB VID  
value  
Higher byte of the 16-bit USB VID  
value  
10 Lower byte of the 16-bit USB PID  
value  
11  
Higher byte of the 16-bit USB PID  
value  
12 USB power attributes(1)  
This value will be used by the MCP2221’s USB  
Configuration Descriptor (power attributes value) during the  
USB enumeration.  
13 USB requested number of mA(s)(1)  
14-63 Don’t care  
The requested mA value during the USB enumeration will  
represent the value at this index multiplied by 2.  
Note 1: Please consult the USB 2.0 specification for details on the correct values for power and attributes  
DS20005292B-page 28  
2015 Microchip Technology Inc.  
MCP2221  
TABLE 3-6:  
RESPONSE STRUCTURE – READ GP SETTINGS SUB-COMMAND  
Byte  
Index  
Function Description  
Value  
Effect  
0
1
2
3
0xB0  
0x00  
Read Flash Data – command code echo  
Command completed successfully  
Structure length  
Don’t  
care  
4
GP0 Power-Up Settings  
Bit 7-5:  
Don’t  
care  
Bit 4: GPIO Output value  
When GP0 is set as an output GPIO, this value will be  
present at the GP0 pin at Power-Up/Reset.  
Bit 3: GPIO Direction  
(Input/Output) – Works only when  
GP0 is set for GPIO operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP0 Designation  
111-011 Don’t care  
010  
001  
000  
Alternate function 0 (LED UART RX)  
Dedicated function operation (SSPND)  
GPIO operation  
5
GP1 Power-Up Settings  
Bits7-5:  
Don’t  
care  
Bit 4: GPIO Output value  
When GP1 is set as an output GPIO, this value will be  
present at the GP1 pin at Power-Up/Reset.  
Bit 3: GPIO Direction  
(Input/Output) – Works only when  
GP0 is set for GPIO operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP1 Designation  
111-101 Don’t care  
001  
100  
011  
010  
000  
Dedicated function operation (Clock Output)  
Alternate function 2 (Interrupt Detection)  
Alternate function 1 (LED UART TX)  
Alternate function 0 (ADC1)  
GPIO operation  
6
GP2 Power-Up Settings  
Bits7-5:  
Don’t  
care  
Bit 4: GPIO Output value  
When GP2 is set as an output GPIO, this value will be  
present at the GP2 pin at Power-Up/Reset.  
Bit 3: GPIO Direction  
(Input/Output) – Works only when  
GP2 is set for GPIO operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP1 Designation  
111-100 Don’t care  
011  
010  
001  
000  
Alternate function 1 (DAC1)  
Alternate function 0 (ADC2)  
Dedicated function operation (USB)  
GPIO operation  
2015 Microchip Technology Inc.  
DS20005292B-page 29  
MCP2221  
TABLE 3-6:  
RESPONSE STRUCTURE – READ GP SETTINGS SUB-COMMAND (CONTINUED)  
Byte  
Index  
Function Description  
Value  
Effect  
7
GP3 Power-Up Settings  
Bits7-5:  
Don’t  
care  
Bit 4: GPIO Output value  
When GP3 is set as an output GPIO, this value will be  
present at the GP3 pin at Power-Up/Reset.  
Bit 3: GPIO Direction  
(Input/Output) – Works only when  
GP3 is set for GPIO operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP1 Designation  
111-100 Don’t care  
011  
010  
001  
000  
Alternate function 1 (DAC2)  
Alternate function 0 (ADC3)  
Dedicated function operation (LED I2C)  
GPIO operation  
8-63  
Don’t  
care  
TABLE 3-7:  
RESPONSE STRUCTURE – READ USB MANUFACTURER DESCRIPTOR STRING  
SUB-COMMAND  
Byte Index  
Value  
Effect  
0
1
2
0xB0 Read Flash Data – command code echo  
0x00 Command completed successfully  
(2)  
Number of bytes + 2 in the provided USB Manufacturer  
Descriptor String. The actual String starts at Byte Index 4.  
0x03 The value at this index must always be 0x03.  
Lower byte of the 16-bit Unicode character.  
3
4 + 2 x Unicode_char_number + 0(1)  
4 + 2 x Unicode_char_number + 1(1)  
(4 + 2 x Unicode_char_number + 2) - 63(1)  
Higher byte of the 16-bit Unicode character.  
Don’t care. Only if the USB string descriptor is less than 60-bytes  
long in total.  
Note 1: “Unicode_char_number” value starts from 0 to a maximum of 30 (included).  
2: The value at Byte Index 2 must be 2 + 2 x (number of Unicode characters in the string).  
TABLE 3-8:  
RESPONSE STRUCTURE – READ USB PRODUCT DESCRIPTOR STRING  
SUB-COMMAND  
Byte Index  
Value  
Effect  
0
1
2
0xB0 Read Flash Data – command code echo  
0x00 Command completed successfully  
(2)  
Number of bytes + 2 in the provided USB Product Descriptor  
String. The actual String starts at Byte Index 4.  
0x03 The value at this index must always be 0x03  
Lower byte of the 16-bit Unicode character.  
3
4 + 2 x Unicode_char_number + 0(1)  
4 + 2 x Unicode_char_number + 1(1)  
(4 + 2 x Unicode_char_number + 2) - 63(1)  
Higher byte of the 16-bit Unicode character.  
Don’t care. Only if the USB string descriptor is less than  
60-bytes long (in total).  
Note 1: “Unicode_char_number” value starts from 0 to a maximum of 30 (included).  
2: The value at Byte Index 2 must be 2 + 2 x (number of Unicode characters in the string).  
DS20005292B-page 30  
2015 Microchip Technology Inc.  
MCP2221  
TABLE 3-9:  
RESPONSE STRUCTURE – READ USB SERIAL NUMBER DESCRIPTOR STRING  
SUB-COMMAND  
Byte Index  
Value  
Effect  
0
1
2
0xB0 Read Flash Data – command code echo  
0x00 Command completed successfully  
(2)  
The number of bytes + 2 in the provided USB Serial Number  
Descriptor String.  
The actual String starts at Byte Index 4  
3
0x03 The value at this index must always be 0x03  
Lower byte of the 16-bit Unicode character  
Higher byte of the 16-bit Unicode character  
4 + 2 x Unicode_char_number + 0(1)  
4 + 2 x Unicode_char_number + 1(1)  
(4 + 2 x Unicode_char_number + 2) - 63(1)  
Don’t care.  
Only if the USB string descriptor is less than 60-bytes long in  
total.  
Note 1: “Unicode_char_number” value starts from 0 to a maximum of 30 (included).  
2: The value at Byte Index 2 must be 2 + 2 x (number of Unicode characters in the string).  
TABLE 3-10: RESPONSE STRUCTURE – READ CHIP FACTORY SERIAL NUMBER  
SUB-COMMAND(1)  
Byte Index  
Value  
Effect  
0
1
2
3
0xB0 Read Flash Data – command code echo  
0x00 Command completed successfully  
Structure length  
Don’t  
care  
4 - (4 + Structure length - 1)  
(4 + Structure length) - 63  
Structure data – Factory Serial Number String  
Don’t  
care  
Note 1: The Chip Serial Number is typically 8 bytes in length.  
2015 Microchip Technology Inc.  
DS20005292B-page 31  
MCP2221  
3.1.3  
WRITE FLASH DATA  
This command is used to write various important data  
structures and strings into the Flash memory of the  
device.  
TABLE 3-11: COMMAND STRUCTURE  
Byte  
Function Description  
Value  
Effect  
Index  
0
1
0xB1 Write Flash Data – command code  
Write Flash Data Sub-code. The value in  
this field will instruct the MCP2221 about  
the particular Flash settings to be altered.  
0x00 Write Chip Settings – it will write the MCP2221 flash  
settings  
0x01 Write GP Settings – it will write the MCP2221 flash GP  
settings  
0x02 Write USB Manufacturer Descriptor String – writes the  
USB Manufacturer String Descriptor used during the  
USB enumeration  
0x03 Write USB Product Descriptor String – writes the USB  
Product String Descriptor used during the USB  
enumeration  
0x04 Write USB Serial Number Descriptor String – writes the  
USB Serial Number String Descriptor used during the  
USB enumeration  
Any  
No meaning. The device will reply with a code for an  
other unsupported command at Byte Index 1 in the response  
value report.  
2-63 Data to be written  
Data format depends on the Write Flash Data Sub-code  
(at Byte Index 1).  
DS20005292B-page 32  
2015 Microchip Technology Inc.  
MCP2221  
TABLE 3-12: SUB-COMMAND STRUCTURE – WRITE CHIP SETTINGS SUB-COMMAND  
Byte  
Index  
Value  
Function Description  
Effect  
0
1
0xB1 Write Flash Data – command code  
0x00 Write Chip Settings – it will write the MCP2221 flash device  
settings  
2
Bit 7: CDC Serial Number  
Enumeration Enable.  
1
The USB serial number will be used during the USB enumeration  
of the CDC interface.  
0
No serial number descriptor will be presented during the USB  
enumeration.  
Bit 6: Initial value for  
LEDUARTRX pin option  
This value represents the logic level signaled when no UART RX  
activity takes places. When the UART RX (of the MCP2221) is  
receiving data, the LEDUARTRX pin will take the negated value  
of this bit.  
Bit 5: Initial value for  
LEDUARTTX pin option  
This value represents the logic level signaled when no UART TX  
transmission takes place. When the UART TX (of the MCP2221)  
is sending data, the LEDUARTTX pin will take the negated value  
of this bit.  
Bit 4: Initial value for LEDI2C pin  
option  
This value represents the logic level signaled when no I2C traffic  
occurs. When I2C traffic is active, the LEDI2C pin (if enabled) will  
take the negated value of this bit.  
Bit 3: Initial value for SSPND pin  
option  
This value represents the logic level signaled when the device is  
not in Suspend mode. Upon entering Suspend mode, the  
SSPND pin (if enabled) will take the negated value of this bit.  
Bit 2: Initial value for USBCFG  
pin option  
This value represents the logic level signaled when the device is  
not USB configured. When the device will be USB-configured,  
the USBCFG pin (if enabled) will take the negated value of this  
bit.  
Bit 1-0: Chip Configuration  
Security Option  
11-10 Permanently locked  
01  
00  
Password-protected  
Unsecured  
3
4
Bit 7-5  
Don’t  
care  
Bit 4-0: Clock Output divider  
value  
If the GP pin (exposing the clock output) is enabled for clock  
output operation, the divider value will be used on the 48 MHz  
USB internal clock and its divided output will be sent to this pin.  
Bit 7-6: DAC Reference voltage  
option  
11  
10  
01  
00  
Reference voltage is 4.096V (only if VDD is above this voltage)  
Reference voltage is 2.048V  
Reference voltage is 1.024V  
Reference voltage is off (this is useful for the case in which the  
DAC uses other reference than VRM DAC, i.e., VDD)  
Bit 5: DAC reference option  
Bit 4-0: Power-Up DAC value  
1
0
DAC reference is VDD  
DAC reference is VRM DAC voltage  
2015 Microchip Technology Inc.  
DS20005292B-page 33  
MCP2221  
TABLE 3-12: SUB-COMMAND STRUCTURE – WRITE CHIP SETTINGS SUB-COMMAND  
Byte  
Index  
Value  
Function Description  
Effect  
5
Bit 7  
Don’t  
care  
Bit 6: Interrupt detection –  
negative edge  
If set, the interrupt detection flag will be set when a negative  
edge occurs.  
Bit 5: Interrupt detection –  
positive edge  
If set, the interrupt detection flag will be set when a positive edge  
occurs.  
Bit 4-3: ADC Reference Voltage  
11  
10  
01  
00  
Reference voltage is 4.096V (only if VDD is above this voltage).  
Reference voltage is 2.048V  
Reference voltage is 1.024V  
Reference voltage is off (this is useful for the case in which the  
ADC uses other reference than VRM ADC; e.g., VDD)  
Bit 2: ADC Reference Option  
1
0
ADC reference voltage is VRM ADC  
ADC reference voltage is VDD  
Bit 1  
Bit 0  
Don’t  
care  
Don’t  
care  
6
7
8
9
Lower byte of the 16-bit USB VID  
value.  
Higher byte of the 16-bit USB  
VID value.  
Lower byte of the 16-bit USB PID  
value.  
Higher byte of the 16-bit USB  
PID value.  
10 USB power attributes  
This value will be used by the MCP2221’s USB Configuration  
Descriptor (power attributes value) during the USB enumeration.  
11 USB requested number of mA(s)  
The requested mA value during the USB enumeration will  
represent the value at this index multiplied by 2.  
12-19 8-bytes password (for Flash  
modifications protection)  
20-63  
Don’t  
care  
DS20005292B-page 34  
2015 Microchip Technology Inc.  
MCP2221  
TABLE 3-13: SUB-COMMAND STRUCTURE – WRITE GP SETTINGS SUB-COMMAND  
Byte  
Index  
Function Description  
Value  
Effect  
0
1
0xB1  
0x01  
Write Flash Data – command code  
Write GP Settings – it will write the MCP2221 flash GP  
settings  
2
GP0 Power-Up Settings  
Bit 7-5:  
Don’t care  
Bit 4: GPIO Output value  
When GP0 is set as an output GPIO, this value will be  
present at the GP0 pin at Power-Up/Reset.  
Bit 3: GPIO Direction  
(Input/Output) – Works only when  
GP0 is set for GPIO operation.  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP0 Designation  
111-011  
010  
Don’t care  
Dedicated function operation (SSPND)  
Alternate function 0 (LED UART RX)  
GPIO operation  
001  
000  
3
GP1 Power-Up Settings  
Bit 7-5:  
Don’t care  
Bit 4: GPIO Output value  
When GP1 is set as an output GPIO, this value will be  
present at the GP1 pin at Power-Up/Reset.  
Bit 3: GPIO Direction  
(Input/Output) – Works only when  
GP1 is set for GPIO operation.  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP1 Designation  
111-101  
100  
Don’t care  
Alternate function 2 (Interrupt Detection)  
Alternate function1 (LED UART TX)  
Alternate function 0 (ADC1)  
Dedicated function operation (Clock Output)  
GPIO operation  
011  
010  
001  
000  
4
GP2 Power-Up Settings  
Bit 7-5:  
Don’t care  
Bit 4: GPIO Output value  
When GP2 is set as an output GPIO, this value will be  
present at the GP2 pin at Power-Up/Reset.  
Bit 3: GPIO Direction  
(Input/Output) – Works only when  
GP2 is set for GPIO operation.  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP2 Designation  
111-100  
011  
Don’t care  
Alternate function1 (DAC1)  
Alternate function 0 (ADC2)  
Dedicated function operation (Clock Output)  
GPIO operation  
010  
001  
000  
2015 Microchip Technology Inc.  
DS20005292B-page 35  
MCP2221  
TABLE 3-13: SUB-COMMAND STRUCTURE – WRITE GP SETTINGS SUB-COMMAND (CONTINUED)  
Byte  
Function Description  
Value  
Effect  
Index  
5
GP3 Power-Up Settings  
Bit 7-5:  
Don’t care  
Bit 4: GPIO Output value  
When GP3 is set as an output GPIO, this value will be  
present at the GP2 pin at Power-Up/Reset.  
Bit 3: GPIO Direction  
(Input/Output) – Works only when  
GP3 is set for GPIO operation.  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP3 Designation  
111-100  
011  
Don’t care  
Alternate function 1 (DAC2)  
Alternate function 0 (ADC3)  
Dedicated function operation (LED I2C)  
GPIO operation  
010  
001  
000  
6-63  
Don’t care  
TABLE 3-14: SUB-COMMAND STRUCTURE – WRITE USB MANUFACTURER DESCRIPTOR  
STRING SUB-COMMAND  
Byte Index  
Value  
Effect  
Write Flash Data – command code  
0
1
0xB1  
0x02  
Write USB Manufacturer Descriptor String – writes the USB  
Manufacturer String Descriptor used during the USB enumeration  
(2)  
2
Number of bytes + 2 in the provided USB Serial Number Descriptor  
String  
3
0x03  
The value at this index must always be 0x03.  
Lower byte of the 16-bit Unicode character.  
Higher byte of the 16-bit Unicode character.  
4 + 2 x Unicode_char_number + 0(1)  
4 + 2 x Unicode_char_number + 1(1)  
Note 1: “Unicode_char_number” value starts from 0 to a maximum of 30 (included).  
2: The value at Byte Index 2 must be 2 + 2 x (number of Unicode characters in the string).  
TABLE 3-15: SUB-COMMAND STRUCTURE – WRITE USB PRODUCT DESCRIPTOR  
STRING SUB-COMMAND  
Byte Index  
Value  
Effect  
Write Flash Data – command code  
0
1
0xB1  
0x03  
Write USB Product Descriptor String – writes the USB Product  
String Descriptor used during the USB enumeration  
(2)  
2
Number of bytes + 2 in the provided USB Serial Number Descriptor  
String. The actual String starts at Byte Index 4.  
3
0x03  
The value at this index must always be 0x03.  
Lower byte of the 16-bit Unicode character  
Higher byte of the 16-bit Unicode character  
4 + 2 x Unicode_char_number + 0(1)  
4 + 2 x Unicode_char_number + 1(1)  
Note 1: “Unicode_char_number” value starts from 0 to a maximum of 30 (included).  
2: The value at Byte Index 2 must be 2 + 2 x (number of Unicode characters in the string).  
DS20005292B-page 36  
2015 Microchip Technology Inc.  
MCP2221  
TABLE 3-16: SUB-COMMAND STRUCTURE – WRITE USB SERIAL NUMBER DESCRIPTOR  
STRING SUB-COMMAND  
Byte Index  
Value  
Effect  
Write Flash Data – command code  
0
1
0xB1  
0x04  
Write USB Serial Number Descriptor String – writes the USB Serial  
Number String Descriptor used during the USB enumeration  
(2)  
2
Number of bytes + 2 in the provided USB Serial Number Descriptor  
String. The actual String starts at Byte Index 4  
3
0x03  
The value at this index must always be 0x03.  
Lower byte of the 16-bit Unicode character  
Higher byte of the 16-bit Unicode character  
4 + 2 x Unicode_char_number + 0(1)  
4 + 2 x Unicode_char_number + 1(1)  
Note 1: “Unicode_char_number” value starts from 0 to a maximum of 30 (included).  
2: The value at Byte Index 2 must be 2 + 2 x (number of Unicode characters in the string).  
3.1.3.1  
Responses  
TABLE 3-17: RESPONSE STRUCTURE – READ CHIP FACTORY SERIAL NUMBER  
SUB-COMMAND  
Byte  
Index  
Value  
Effect  
0
1
0xB1  
0x00  
Write Flash Data – command code  
Command completed successfully  
Command not supported  
0x02  
0x03  
Command not allowed  
2-63  
Don’t care  
2015 Microchip Technology Inc.  
DS20005292B-page 37  
MCP2221  
3.1.4  
SEND FLASH ACCESS PASSWORD  
This command is used to send a user-supplied  
password that will be compared to the one stored in the  
device’s Flash when Flash updates (Chip/GP  
configuration, USB strings) are required and the Flash  
data is password-protected.  
In the case where no protection mechanism is in place  
or the Flash data has been permanently locked, this  
command has no meaning.  
TABLE 3-18: COMMAND STRUCTURE  
Byte  
Value  
Index  
Effect  
Send Flash Access Password – command code  
0
1
0xB2  
Don’t  
care  
2
Password byte 1  
Password byte 2  
Password byte 3  
Password byte 4  
Password byte 5  
Password byte 6  
Password byte 7  
Password byte 8  
Don’t care  
3
4
5
6
7
8
9
10-63  
3.1.4.1  
Responses  
TABLE 3-19: RESPONSE 1 STRUCTURE  
Byte  
Value  
Index  
Effect  
0
1
0xB2  
0x00  
0x03  
Send Flash Access Password – command code echo  
Command completed successfully  
Command not allowed (when the number of failed Flash updates has been reached, no password  
will be accepted)  
2-63  
Don’t  
care  
DS20005292B-page 38  
2015 Microchip Technology Inc.  
MCP2221  
3.1.5  
I2C™ WRITE DATA  
This command is used to write user-given data to the  
I2C Slave device (the speed is specified by the  
STATUS/SET Parameters command).  
The command will have the following effects:  
• The I2C engine will send the “START” condition.  
• The selected I2C slave address is sent next and  
the I2C engine will wait for the slave to send an  
acknowledge bit.  
• The user data follows next and the I2C engine  
awaits for the acknowledge bit from the slave.  
• If the requested length is more than 60 bytes,  
subsequent user bytes will be sent on the bus.  
• When the user data length (being sent on the bus)  
reaches the requested length, the I2C engine will  
send the “STOP” condition on the bus.  
TABLE 3-20: COMMAND STRUCTURE(1)  
Byte  
Value  
Index  
Effect  
I2C Write Data – command code  
0
0x90  
1
2
3
Low Byte Requested I2C transfer length – 16-bit value – low byte  
High Byte Requested I2C transfer length – 16-bit value – high byte  
I2C Slave 8-bit value representing the I2C slave address to communicate with (even – address to write,  
Address odd – address to read) (Note 2)  
4-63  
User data to be sent to the selected I2C slave device  
Note 1: When the requested transfer length is more than 60 bytes, subsequent “I2C Write Data” commands will  
transport the reminder of the user data (till the requested length).  
2: The I2C slave address is represented on 8 bits, with even values for writes and odd for reads. To get the  
8-bit address value out of a 7-bit address, the 7-bit value needs to be shifted left by 1 position. For write  
operations use the shifted value, while for reads add 1 to the shifted value.  
3.1.5.1  
Responses  
TABLE 3-21: RESPONSE 1 STRUCTURE  
Byte  
Value  
Index  
Effect  
0
1
0x90  
0x00  
0x01  
I2C Write Data – command code echo  
Command completed successfully  
I2C Engine is busy (command not completed)  
2
Internal I2C Engine state (at the moment the command was issued) – useful for monitoring the  
status of the I2C Engine  
3-63  
Don’t  
care  
2015 Microchip Technology Inc.  
DS20005292B-page 39  
MCP2221  
• The user data follows next and the I2C engine  
waits for the acknowledge bit from the slave.  
3.1.6  
I2C™ WRITE DATA  
REPEATED-START  
• If the requested length is more than 60 bytes,  
subsequent user bytes will be sent on the bus.  
This command is used to write user-given data to the  
I2C Slave device (the speed is specified by the  
STATUS/SET Parameters command).  
• When the user data length (being sent on the bus)  
reaches the requested length, the I2C engine will  
send the “STOP” condition on the bus.  
The command will have the following effects:  
• The I2C engine will send the “Repeated-START”  
condition.  
• The selected I2C slave address is sent next and  
the I2C engine will wait for the slave to send an  
acknowledge bit.  
TABLE 3-22: COMMAND STRUCTURE (1)  
Byte  
Value  
Index  
Effect  
I2C Write Data Repeated-START – command code  
(cI2C_CMD_RSTART_WRDATA7)  
0
0x92  
1
2
Low Byte Requested I2C transfer length –  
16-bit value – low byte  
High Byte Requested I2C transfer length –  
16-bit value – high byte  
3
I2C Slave 8-bit value representing the I2C slave address to communicate with (even – address to write,  
Address odd – address to read) (Note 2)  
4-63  
User data to be sent to the selected I2C slave device  
Note 1: When the requested transfer length is more than 60 bytes, subsequent “I2C Write Data Repeated-START”  
commands will transport the reminder of the user data (till the requested length).  
2: The I2C slave address is represented on 8 bits, with even values for writes and odd for reads. To get the  
8-bit address value out of a 7-bit address, the 7-bit value needs to be shifted left by 1 position. For write  
operations use the shifted value, while for reads add 1 to the shifted value.  
3.1.6.1  
Responses  
TABLE 3-23: RESPONSE 1 STRUCTURE  
Byte  
Value  
Index  
Effect  
I2C Write Data Repeated-START – command code echo  
(cI2C_CMD_RSTART_WRDATA7)  
0
0x92  
1
0x00  
0x01  
Command completed successfully  
I2C Engine is busy  
(command not completed)  
2
Internal I2C Engine state (at the moment the command was issued) – useful for monitoring the  
status of the I2C Engine  
3-63  
Don’t  
care  
DS20005292B-page 40  
2015 Microchip Technology Inc.  
MCP2221  
• The user data follows next and the I2C engine  
waits for the acknowledge bit from the slave.  
3.1.7  
I2C™ WRITE DATA NO STOP  
This command is used to write user-given data to the  
I2C Slave device (the speed is specified by the  
STATUS/SET Parameters command).  
• If the requested length is more than 60 bytes,  
subsequent user bytes will be sent on the bus.  
• When the user data length (being sent on the bus)  
reaches the requested length, the I2C engine will  
not send the “STOP” condition on the bus.  
The command will have the following effects:  
• The I2C engine will send the “START” condition.  
• The selected I2C slave address is sent next and  
the I2C engine will wait for the slave to send an  
acknowledge bit.  
TABLE 3-24: COMMAND STRUCTURE (1)  
Byte  
Value  
Index  
Effect  
I2C Write Data No STOP – command code  
0
0x94  
1
2
3
Low Byte Requested I2C transfer length – 16-bit value – low byte  
High Byte Requested I2C transfer length – 16-bit value – high byte  
I2C Slave 8-bit value representing the I2C slave address to communicate with (even – address to write,  
Address odd – address to read) (Note 2)  
4-63  
User data to be sent to the selected I2C slave device  
Note 1: When the requested transfer length is more than 60 bytes, subsequent “I2C Write Data No STOP” com-  
mands will transport the reminder of the user data (till the requested length).  
2: The I2C slave address is represented on 8 bits, with even values for writes and odd for reads. To get the  
8-bit address value out of a 7-bit address, the 7-bit value needs to be shifted left by 1 position. For write  
operations use the shifted value, while for reads add 1 to the shifted value.  
3.1.7.1  
Responses  
TABLE 3-25: RESPONSE 1 STRUCTURE  
Byte  
Value  
Index  
Effect  
I2C Write Data No STOP – command code echo  
0
1
0x94  
0x00  
0x01  
Command completed successfully  
I2C Engine is busy (command not completed)  
2
Internal I2C Engine state (at the moment the command was issued) – useful for monitoring the  
status of the I2C Engine  
3-63  
Don’t  
care  
2015 Microchip Technology Inc.  
DS20005292B-page 41  
MCP2221  
• The user data is read next and the I2C engine  
sends the acknowledge bit to the slave.  
3.1.8  
I2C™ READ DATA  
This command is used to read user-given data to the  
I2C Slave device (the speed is specified by the  
STATUS/SET Parameters command).  
• If the requested length is more than 60 bytes,  
subsequent user bytes will be read from the I2C  
slave on the bus.  
The command will have the following effects:  
• The I2C engine will send the “START” condition.  
• The selected I2C slave address is sent next and  
the I2C engine will wait for the slave to send an  
acknowledge bit.  
• When the user data length (being sent on the bus)  
reaches the requested length, the I2C engine will  
send the “STOP” condition on the bus.  
TABLE 3-26: COMMAND STRUCTURE  
Byte  
Value  
Index  
Effect  
I2C Read Data – command code  
0
0x91  
1
2
3
Low Byte Requested I2C transfer length – 16-bit value – low byte  
High Byte Requested I2C transfer length – 16-bit value – high byte  
I2C Slave 8-bit value representing the I2C slave address to communicate with (even – address to write,  
Address odd – address to read) (Note 1)  
4-63  
Don’t  
care  
Note 1: The I2C slave address is represented on 8 bits, with even values for writes and odd for reads. To get the  
8-bit address value out of a 7-bit address, the 7-bit value needs to be shifted left by 1 position. For write  
operations use the shifted value, while for reads add 1 to the shifted value.  
3.1.8.1  
Responses  
TABLE 3-27: RESPONSE 1 STRUCTURE  
Byte  
Value  
Index  
Effect  
I2C Read Data – command code echo  
Command completed successfully  
I2C Engine is busy (command not completed)  
0
1
0x91  
0x00  
0x01  
2
Internal I2C Engine state (at the moment the command was issued) – useful for monitoring the I2C  
Engine’s status  
3-63  
Don’t  
care  
DS20005292B-page 42  
2015 Microchip Technology Inc.  
MCP2221  
• The user data is read next and the I2C engine  
sends the acknowledge bit to the slave.  
3.1.9  
I2C™ READ DATA  
REPEATED-START  
• If the requested length is more than 60 bytes,  
subsequent user bytes will be read from the I2C  
slave on the bus.  
This command is used to read user-given data to the  
I2C Slave device (the speed is specified by the  
STATUS/SET Parameters command).  
• When the user data length (being sent on the bus)  
reaches the requested length, the I2C engine will  
send the “STOP” condition on the bus.  
The command will have the following effect:  
• The I2C engine will send the “Repeated-START”  
condition.  
• The selected I2C slave address is sent next and  
the I2C engine will wait for the slave to send an  
acknowledge bit.  
TABLE 3-28: COMMAND STRUCTURE  
Byte  
Value  
Index  
Effect  
I2C Read Data Repeated-START – command code  
0
0x93  
1
2
3
Low Byte Requested I2C transfer length – 16-bit value – low byte  
High Byte Requested I2C transfer length – 16-bit value – high byte  
I2C Slave 8-bit value representing the I2C slave address to communicate with (even – address to write,  
Address odd – address to read) (Note 1)  
4-63  
Don’t  
care  
Note 1: The I2C slave address is represented on 8 bits, with even values for writes and odd for reads. To get the  
8-bit address value out of a 7-bit address, the 7-bit value needs to be shifted left by 1 position. For write  
operations use the shifted value, while for reads add 1 to the shifted value.  
3.1.9.1  
Responses  
TABLE 3-29: RESPONSE 1 STRUCTURE  
Byte  
Value  
Index  
Effect  
0
0x93  
0x00  
0x01  
I2C Read Data Repeated-START – command code echo  
Command completed successfully  
I2C Engine is busy (command not completed)  
1
2
Internal I2C Engine state (at the moment the command was issued) – useful for monitoring the  
status of the I2C Engine  
3-63  
Don’t  
care  
2015 Microchip Technology Inc.  
DS20005292B-page 43  
MCP2221  
3.1.10  
I2C READ DATA – GET I2C DATA  
This command is used to read back the data from the  
I2C Slave device.  
TABLE 3-30: COMMAND STRUCTURE  
Byte  
Value  
Index  
Effect  
I2C Read Data – Get I2C Data – command code  
0
0x40  
1-63  
Don’t  
care  
3.1.10.1  
Responses  
TABLE 3-31: RESPONSE 1 STRUCTURE  
Byte  
Value  
Index  
Effect  
I2C Read Data – Get I2C Data – command code echo  
Command completed successfully  
Error reading the I2C slave data from the I2C engine  
0
1
0x40  
0x00  
0x41  
2
3
Internal I2C Engine state (at the moment the command was issued) – useful for monitoring the I2C  
Engine’s status  
0-60  
127  
The number of read-back data bytes to follow in this packet: from 0 to a maximum of 60 bytes of  
read-back bytes  
This value is signaled when an error has occurred and the following data should not be taken into  
account  
4-63  
User Data or Don’t care  
DS20005292B-page 44  
2015 Microchip Technology Inc.  
MCP2221  
3.1.11  
SET GPIO OUTPUT VALUES  
This command is used to change the GPIO output  
value for those GP pins assigned for GPIO operation  
(GPIO outputs).  
TABLE 3-32: COMMAND STRUCTURE  
Byte  
Index  
Function  
Description  
Value  
Effect  
0
1
0x50  
Set GPIO Output Values – command code  
Don’t  
care  
2
3
4
5
6
7
8
9
Alter GP0 output  
(enable/disable)  
0x00  
Do not modify GP0 output (if GP0 is set as GPIO output)  
Any other The next byte (index 3) will be the value used to set GP0 output (only if  
value  
GP0 is set for GPIO output)  
GP0 output value  
0x00  
GP0 (if set up for GPIO output operation) will take a logical value of ‘0’  
Any other GP0 (if set up for GPIO output operation) will take a logical value of ‘1’  
value  
Alter GP0 pin direction  
(enable/disable)  
0x00  
Leave the GP0 GPIO designation as is (input or output)  
Any other The next byte (index 5) will be the value used to set GP0’s pin direction  
value  
0x00  
(only if GP0 is set for GPIO operation)  
Set GP0 GPIO as output  
GP0 pin direction  
(input or output)  
Any other GP0 (if set up for GPIO operation) will be set as a digital input  
value  
Alter GP1 output  
(enable/disable)  
0x00  
Do not modify GP1 output (if GP1 is set as GPIO output)  
Any other The next byte (index 7) will be the value used to set GP1 output (only if  
value  
0x00  
GP1 is set for GPIO output)  
GP1 output value  
GP1 (if set up for GPIO output operation) will take a logical value of ‘0’  
Any other GP1 (if set up for GPIO output operation) will take a logical value of ‘1’  
value  
Alter GP1 pin direction  
(enable/disable)  
0x00  
Leave the GP1 GPIO designation as is (input or output)  
Any other The next byte (index 9) will be the value used to set GP1’s pin direction  
value  
0x00  
(only if GP1 is set for GPIO operation)  
Set GP1 GPIO as output  
GP1 pin direction  
(input or output)  
Any other GP1 (if set up for GPIO operation) will be set as a digital input  
value  
10 Alter GP2 output  
0x00  
Do not modify GP2 output (if GP2 is set as GPIO output)  
(enable/disable)  
Any other The next byte (index 11) will be the value used to set GP2 output (only if  
value  
0x00  
GP2 is set for GPIO output)  
11  
GP2 output value  
The GP2 (if GP2 is set up for GPIO output operation) will take a logical  
value of ‘0’  
Any other GP2 (if GP2 is set up for GPIO output operation) will take a logical value  
value  
of ‘1’  
12 Alter GP2 pin direction  
(enable/disable)  
0x00  
Leave the GP2 GPIO designation as is (input or output)  
Any other The next byte (index 13) will be the value used to set GP2’s pin direction  
value  
(only if GP2 is set for GPIO operation)  
13 GP2 pin direction  
(input or output)  
0x00  
Set GP2 GPIO as output  
Any other GP2 (if set up for GPIO operation) will be set as a digital input  
value  
14 Alter GP3 output  
(enable/disable)  
0x00  
Any other The next byte (index 11) will be the value used to set GP3 output (only if  
value GP3 is set for GPIO output)  
Do not modify GP3 output (if GP3 is set as GPIO output)  
2015 Microchip Technology Inc.  
DS20005292B-page 45  
MCP2221  
TABLE 3-32: COMMAND STRUCTURE (CONTINUED)  
Byte  
Index  
Function  
Description  
Value  
Effect  
15 GP3 output value  
0x00  
GP3 (if set up for GPIO output operation) will take a logical value of ‘0’.  
Any other GP3 (if set up for GPIO output operation) will take a logical value of ‘1’  
value  
16 Alter GP3 pin direction  
(enable/disable)  
0x00  
Leave the GP3 GPIO designation as is (input or output)  
Any other The next byte (index 17) will be the value used to set GP3’s pin direction  
value  
0x00  
(only if GP3 is set for GPIO operation)  
Set GP3 GPIO as output  
17 GP3 pin direction  
(input or output)  
Any other GP3 (if set up for GPIO operation) will be set as a digital input  
value  
18-63 Reserved  
0x00  
3.1.11.1  
Responses  
TABLE 3-33: RESPONSE 1 STRUCTURE  
Byte  
Index  
Function  
Description  
Value  
Effect  
0
1
2
0x50  
0x00  
0xEE  
Set GPIO Output Values – command code  
Command completed successfully  
If GP0 is not set for GPIO operation  
Alter GP0 output  
(enable/disable) status  
Any other If GP0 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
3
4
5
6
7
8
9
GP0 output value status  
0xEE  
If GP0 is not set for GPIO operation  
Any other If GP0 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
Alter GP0 pin direction  
(enable/disable)  
0xEE  
If GP0 is not set for GPIO operation  
Any other If GP0 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
GP1 pin direction  
(input or output)  
0xEE  
If GP1 is not set for GPIO operation  
Any other If GP1 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
Alter GP1 output  
(enable/disable) status  
0xEE  
If GP1 is not set for GPIO operation  
Any other If GP1 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
GP1 output value status  
0xEE  
If GP1 is not set for GPIO operation  
Any other If GP1 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
Alter GP1 pin direction  
(enable/disable)  
0xEE  
If GP1 is not set for GPIO operation  
Any other If the GP1 is already set for GPIO operation, the value will be copied  
value  
from the same byte index in the command structure  
GP1 pin direction  
(input or output)  
0xEE  
If GP1 is not set for GPIO operation  
Any other If GP1 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
10 Alter GP2 output  
(enable/disable) status  
0xEE  
If GP2 is not set for GPIO operation  
Any other If GP2 is already set for GPIO operation, the value will be copied from  
value the same byte index in the command structure  
DS20005292B-page 46  
2015 Microchip Technology Inc.  
MCP2221  
TABLE 3-33: RESPONSE 1 STRUCTURE (CONTINUED)  
Byte  
Index  
Function  
Description  
Value  
Effect  
11  
GP2 output value status  
0xEE  
If GP2 is not set for GPIO operation  
Any other If GP2 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
12 Alter GP2 pin direction  
(enable/disable)  
0xEE  
If GP2 is not set for GPIO operation  
Any other If GP2 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
13 GP2 pin direction  
(input or output)  
0xEE  
If GP2 is not set for GPIO operation  
Any other If GP2 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
14 Alter GP3 output  
(enable/disable) status  
0xEE  
If GP3 is not set for GPIO operation  
Any other If GP3 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
15 GP3 output value status  
0xEE  
If GP3 is not set for GPIO operation  
Any other If GP3 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
16 Alter GP3 pin direction  
(enable/disable)  
0xEE  
If GP3 is not set for GPIO operation  
Any other If GP3 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
17 GP3 pin direction  
(input or output)  
0xEE  
If GP3 is not set for GPIO operation  
Any other If GP3 is already set for GPIO operation, the value will be copied from  
value  
the same byte index in the command structure  
18-63  
Don’t  
care  
2015 Microchip Technology Inc.  
DS20005292B-page 47  
MCP2221  
3.1.12  
GET GPIO VALUES  
This command is used to retrieve the GPIO direction  
and pin value for those GP pins assigned for GPIO  
operation (GPIO inputs or outputs).  
TABLE 3-34: COMMAND STRUCTURE  
Byte  
Value  
Index  
Effect  
0
0x51  
Get GPIO Values – command code  
1-63  
Don’t  
care  
3.1.12.1  
Responses  
TABLE 3-35: RESPONSE 1 STRUCTURE  
Byte  
Function  
Value  
Effect  
Index Description  
0
1
0x51  
0x00  
0xEE  
Get GPIO Values – command code  
Command completed successfully  
If GP0 is not set for GPIO operation  
2
GP0 pin value  
Other values If GP0 is already set for GPIO operation, the value represents the GP0 logic  
(0x00 or 0x01) pin value  
3
GP0 direction  
value  
0xEF  
If GP0 is not set for GPIO operation  
Other values If GP0 is already set for GPIO operation, the value represents the GP0 pin  
(0x00 or 0x01) designation (0x00 for output and 0x01 for input)  
4
GP1 pin value  
0xEE  
If GP1 is not set for GPIO operation  
Other values If GP1 is already set for GPIO operation, the value represents the GP1 logic  
(0x00 or 0x01) pin value  
5
GP1 direction  
value  
0xEF  
If GP1 is not set for GPIO operation  
Other values If GP1 is already set for GPIO operation, the value represents the GP1 pin  
(0x00 or 0x01) designation (0x00 for output and 0x01 for input)  
6
GP2 pin value  
0xEE  
If GP2 is not set for GPIO operation  
Other values If GP2 is already set for GPIO operation, the value represents the GP2 logic  
(0x00 or 0x01) pin value  
7
8
GP2 direction  
value  
0xEF  
If GP2 is not set for GPIO operation  
Other values If GP2 is already set for GPIO operation, the value represents the GP2 pin  
(0x00 or 0x01) designation (0x00 for output and 0x01 for input)  
GP3 pin value  
0xEE  
If GP3 is not set for GPIO operation  
Other values If GP3 is already set for GPIO operation, the value represents the GP3 logic  
(0x00 or 0x01) pin value  
9
GP3 direction  
value  
0xEF  
If GP3 is not set for GPIO operation  
Other values If GP3 is already set for GPIO operation, the value represents the GP3 pin  
(0x00 or 0x01) designation (0x00 for output and 0x01 for input)  
10-63  
Don’t care  
DS20005292B-page 48  
2015 Microchip Technology Inc.  
MCP2221  
3.1.13  
SET SRAM SETTINGS  
This command is used to alter various run time  
chip-settings. The altered settings reside in SRAM  
memory and they won’t affect the chip’s  
Power-Up/Reset default settings. These altered  
settings will be active till the next chip Power-Up/Reset.  
TABLE 3-36: COMMAND STRUCTURE  
Byte  
Function Description  
Value  
Effect  
Index  
0
1
0x60  
Set SRAM settings – command code  
Don’t  
care  
2
Clock Output Divider value – this allows the user to modify the clock output value on the fly, at run-time  
Bit 7: Enable loading of a  
new clock divider  
1
0
The 4-0 bits will be loaded into the clock divider  
Clock divider value won’t be altered  
Bit 6-5  
Don’t  
care  
Bit 4-3: Duty cycle  
00  
01  
10  
11  
0% duty cycle  
25% duty cycle  
50% duty cycle  
75% duty cycle  
Bit 2-0: Clock divider  
value  
3
DAC Voltage Reference – this allows the user to modify the DAC reference voltage  
Bit 7: Enable loading of a  
new DAC reference  
1
0
Bits 2-0 will be used for DAC reference voltage selection  
DAC reference will remain unaltered  
Bit 6-3  
Don’t  
care  
Bit 2-1: DAC VRM voltage  
selection. These bits are  
used to change the DAC  
VRM voltage  
11  
10  
01  
00  
1
VRM voltage is 4.096V (only if VDD is higher than this value)  
VRM voltage is 2.048V  
VRM voltage is 1.024V  
VRM voltage is off  
Bit 0: This bit is used to  
change the DAC  
DAC voltage reference is the internal DAC voltage reference module  
(DAC VRM)  
reference voltage  
0
DAC voltage reference is VDD  
4
Set DAC output value  
Bit 7: Enable loading of a  
new DAC value  
1
0
Bits 4-0 will be used for DAC reference voltage selection  
The current DAC value will remain unaltered  
Bit 6-5  
Don’t  
care  
Bit 4-0: The new DAC  
value  
2015 Microchip Technology Inc.  
DS20005292B-page 49  
MCP2221  
TABLE 3-36: COMMAND STRUCTURE (CONTINUED)  
Byte  
Function Description  
Value  
Effect  
Index  
5
ADC Voltage Reference – this allows the user to modify the ADC reference voltage  
Bit 7: Enable loading of a  
new ADC reference  
1
0
Bits 2-0 will be used for ADC reference voltage selection  
ADC reference will remain unaltered  
Bit 6-3  
Don’t  
care  
Bit 2-1: These bits are  
used to change the DAC  
VRM voltage  
11  
10  
01  
00  
1
VRM voltage is 4.096V (only if VDD is higher than this value)  
VRM voltage is 2.048V  
VRM voltage is 1.024V  
VRM voltage is off  
Bit 0: This bit is used to  
change the DAC  
VDD ADC voltage reference is the internal ADC voltage reference  
module (ADC VRM)  
reference voltage  
0
ADC voltage reference is VDD  
6
Setup the interrupt detection mechanism and clear the detection flag – useful for preparing the interrupt  
detection module to detect a new interrupt condition  
Bit 7: Enable the  
modification of the  
interrupt detection  
conditions  
1
0
The interrupt detection settings and flag will change  
The interrupt detection settings and flag will remain unchanged  
Bit 6-5  
Don’t  
care  
Bit 4  
Enable the modification of the positive edge detection  
Interrupt detection will trigger on positive edges  
Interrupt detection will not trigger on positive edges  
Bit 3: The new value for  
the positive edge  
detector  
1
0
Bit 2  
Enable the modification of the negative edge detection  
Interrupt detection will trigger on negative edges  
Interrupt detection will not trigger on negative edges  
Bit 1: The new value for  
the negative edge  
detector  
1
0
Bit 0: Clear the interrupt  
detection flag  
1
0
1
Clear the interrupt detection flag  
Leave the interrupt detection flag as is  
7
8
Alter GPIO configuration:  
alters the current GP  
designation  
Alter the GP designation. The values from Byte Index 8 will be used to  
load a new set of values into the SRAM GP settings.  
0
Do not alter the current GP designation  
GP0 settings  
Bit 7-5  
Don’t  
care  
Bit 4: GPIO Output value  
When GP0 is set as an output GPIO, this value will be present at the  
GP0 pin  
Bit 3: GPIO Direction  
(Input/Output) – Works  
only when GP0 is set for  
GPIO operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP0 Designation 111-011 Don’t care  
010  
001  
000  
Alternate function 0 (LED UART RX)  
Dedicated function operation (SSPND)  
GPIO operation  
DS20005292B-page 50  
2015 Microchip Technology Inc.  
MCP2221  
TABLE 3-36: COMMAND STRUCTURE (CONTINUED)  
Byte  
Function Description  
Value  
Effect  
Index  
9
GP1 settings  
Bit 7-5  
Don’t  
care  
Bit 4: GPIO Output value  
When GP1 is set as an output GPIO, this value will be present at the  
GP1 pin  
Bit 3: GPIO Direction  
(Input/Output) – Works  
only when GP1 is set for  
GPIO operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP0 Designation 111-101 Don’t care  
100  
011  
010  
001  
000  
Alternate function 2 (Interrupt Detection)  
Alternate function 1 (LED UART TX)  
Alternate function 0 (ADC1)  
Dedicated function operation (Clock Output)  
GPIO operation  
10 GP2 settings  
Bit 7-5  
Don’t  
care  
Bit 4: GPIO Output value  
When GP2 is set as an output GPIO, this value will be present at the  
GP2 pin  
Bit 3: GPIO Direction  
(Input/Output) – Works  
only when GP2 is set for  
GPIO operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP2 Designation 111-100 Don’t care  
011  
010  
001  
000  
Alternate function 1 (DAC1)  
Alternate function 0 (ADC2)  
Dedicated function operation (USBCFG)  
GPIO operation  
11  
GP3 settings  
Bit 7-5  
Don’t  
care  
Bit 4: GPIO Output value  
When GP3 is set as an output GPIO, this value will be present at the  
GP3 pin  
Bit 3: GPIO Direction  
(Input/Output) – Works  
only when GP3 is set for  
GPIO operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP3 Designation 111-100 Don’t care  
011  
010  
001  
000  
0x00  
Alternate function 1 (DAC2)  
Alternate function 0 (ADC3)  
Dedicated function operation (LED I2C)  
GPIO operation  
12-63 Reserved  
2015 Microchip Technology Inc.  
DS20005292B-page 51  
MCP2221  
3.1.13.1  
Responses  
TABLE 3-37: RESPONSE 1 STRUCTURE  
Byte  
Value  
Index  
Effect  
0
1
0x60  
0x00  
Set SRAM Settings – command code echo  
Command completed successfully  
2-63  
Don’t  
care  
DS20005292B-page 52  
2015 Microchip Technology Inc.  
MCP2221  
3.1.14  
GET SRAM SETTINGS  
This command is used to retrieve the run time Chip and  
GP settings.  
TABLE 3-38: COMMAND STRUCTURE  
Byte  
Value  
Index  
Effect  
0
0x61  
0x00  
Get SRAM Settings – command code echo  
Command completed successfully  
1-63  
3.1.14.1  
Responses  
TABLE 3-39: RESPONSE 1 STRUCTURE  
Byte  
Function Description  
Index  
Value  
Effect  
0
1
0x61  
0x00  
Get SRAM Settings – command code echo  
Command completed successfully  
2
3
4
Length in bytes of the SRAM  
Chip-settings area.  
Length in bytes of the SRAM GP  
settings area.  
Bit 7: CDC Serial Number Enumeration  
Enable  
1
0
The USB serial number will be used during the USB  
enumeration of the CDC interface  
No serial number descriptor will be presented during  
the USB enumeration  
Bit 6: Initial value for LEDUARTRX pin  
option  
This value represents the logic level signaled when no  
UART RX activity takes places. When the UART RX (of  
the MCP2221) is receiving data, the LEDUARTRX pin  
will take the negated value of this bit.  
Bit 5: Initial value for LEDUARTTX pin  
option.  
This value represents the logic level signaled when no  
UART TX transmission takes place. When the UART  
TX (of the MCP2221) is sending data, the LEDUARTTX  
pin will take the negated value of this bit.  
Bit 4: Initial value for LEDI2C pin option  
Bit 3: Initial value for SSPND pin option  
This value represents the logic level signaled when no  
I2C traffic occurs. When I2C traffic is active, the LEDI2C  
pin (if enabled) will take the negated value of this bit.  
This value represents the logic level signaled when the  
device is not in Suspend mode. Upon entering Suspend  
mode, the SSPND pin (if enabled) will take the negated  
value of this bit.  
Bit 2: Initial value for USBCFG pin  
option  
This value represents the logic level signaled when the  
device is not USB configured. When the device will be  
USB-configured, the USBCFG pin (if enabled) will take  
the negated value of this bit.  
Bit 1-0: Chip configuration security  
option  
10  
01  
00  
Permanently locked  
Password-protected  
Unsecured  
2015 Microchip Technology Inc.  
DS20005292B-page 53  
MCP2221  
TABLE 3-39: RESPONSE 1 STRUCTURE (CONTINUED)  
Byte  
Function Description  
Value  
Effect  
Index  
5
Bit 7-5  
Don’t  
care  
Bit 4-0: Clock Output divider value  
If the GP pin (exposing the clock output) is enabled for  
clock output operation, the divider value will be used on  
the 48 MHz USB internal clock and its divided output  
will be sent to this pin. (Bits 4-3 for duty cycle and bits  
2-0 for the clock divider.)  
6
Bit 7-6: DAC Reference voltage option  
11  
10  
01  
00  
Reference voltage is 4.096V  
Reference voltage is 2.048V  
Reference voltage is 1.024V  
Reference voltage is off (this is useful for the case in  
which the DAC uses other reference than VRM DAC;  
e.g., VDD)  
Bit 5: DAC reference option  
1
0
DAC reference is VRM DAC voltage  
DAC reference is VDD  
Bit 4-0: Power-Up DAC value  
Bit 7  
7
Don’t  
care  
Bit 6: Interrupt detection – negative  
edge  
If set, the interrupt detection flag will be set when a  
negative edge occurs  
Bit 5: Interrupt detection – positive edge  
If set, the interrupt detection flag will be set when a  
positive edge occurs  
Bit 4-3: ADC Reference Voltage  
11  
Reference voltage is 4.096V (only if VDD is above this  
voltage)  
10  
01  
00  
Reference voltage is 2.048V  
Reference voltage is 1.024V  
Reference voltage is off (this is useful for the case in  
which the ADC uses other reference than VRM DAC;  
e.g., VDD)  
Bit 2: ADC Reference Option  
1
0
ADC reference is VRM ADC  
ADC reference is VDD  
Bit 1  
Bit 2  
Don’t  
care  
Don’t  
care  
8
9
Lower byte of the 16-bit USB VID value  
Higher byte of the 16-bit USB VID value  
10 Lower byte of the 16-bit USB PID value  
11 Higher byte of the 16-bit USB PID value  
12 USB power attributes  
This value will be used by the MCP2221’s USB  
Configuration Descriptor (power attributes value) during  
the USB enumeration  
13 USB requested number of mA(s)  
The requested mA value during the USB enumeration  
will represent the value at this index multiplied by 2  
14 Current supplied-password byte 1  
15 Current supplied-password byte 2  
16 Current supplied-password byte 3  
DS20005292B-page 54  
2015 Microchip Technology Inc.  
MCP2221  
TABLE 3-39: RESPONSE 1 STRUCTURE (CONTINUED)  
Byte  
Function Description  
Value  
Effect  
Index  
17 Current supplied-password byte 4  
18 Current supplied-password byte 5  
19 Current supplied-password byte 6  
20 Current supplied-password byte 7  
21 Current supplied-password byte 8  
22 GP0 settings  
Bit 7-5  
Don’t  
care  
Bit 4: GPIO Output value  
When the GP0 is set as an output GPIO, this value will  
be present at the GP0 pin  
Bit 3: GPIO Direction (Input/Output) –  
Works only when GP0 is set for GPIO  
operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP0 Designation  
111-011 Don’t care  
010  
001  
000  
Alternate function 0 (LED UART RX)  
Dedicated function operation (SSPND)  
GPIO operation  
23 GP1 settings  
Bit 7-5  
Don’t  
care  
Bit 4: GPIO Output value  
When the GP1 is set as an output GPIO, this value will  
be present at the GP1 pin  
Bit 3: GPIO Direction (Input/Output) –  
Works only when GP1 is set for GPIO  
operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP1 Designation  
111-101 Don’t care  
100  
011  
010  
001  
000  
Alternate function 2 (Interrupt Detection)  
Alternate function 1 (LED UART TX)  
Alternate function 0 (ADC1)  
Dedicated function operation (Clock Output)  
GPIO operation  
24 GP2 settings  
Bit 7-5  
Don’t  
care  
Bit 4: GPIO Output value  
When the GP2 is set as an output GPIO, this value will  
be present at the GP2 pin  
Bit 3: GPIO Direction (Input/Output) –  
Works only when GP2 is set for GPIO  
operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP2 Designation  
111-100 Don’t care  
011  
010  
001  
000  
Alternate function 1 (DAC1)  
Alternate function 0 (ADC2)  
Dedicated function operation (USBCFG)  
GPIO operation  
2015 Microchip Technology Inc.  
DS20005292B-page 55  
MCP2221  
TABLE 3-39: RESPONSE 1 STRUCTURE (CONTINUED)  
Byte  
Function Description  
Value  
Effect  
Index  
25 GP3 settings  
Bit 7-5  
Don’t  
care  
Bit 4: GPIO Output value  
When the GP3 is set as an output GPIO, this value will  
be present at the GP3 pin  
Bit 3: GPIO Direction (Input/Output) –  
Works only when GP3 is set for GPIO  
operation  
1
0
GPIO Input mode  
GPIO Output mode  
Bit 2-0: GP3 Designation  
111-100 Don’t care  
011  
010  
001  
000  
Alternate function 1 (DAC2)  
Alternate function 0 (ADC3)  
Dedicated function operation (LED I2C)  
GPIO operation  
26-63  
Don’t  
care  
DS20005292B-page 56  
2015 Microchip Technology Inc.  
MCP2221  
3.1.15  
RESET CHIP  
This command is used to force a Reset of the  
MCP2221 device. This command is useful when the  
Flash memory is updated with new data. The  
MCP2221 would need to be re-enumerated to see the  
new data.  
Note:  
This command is the only command that  
does not expect a response.  
TABLE 3-40: COMMAND STRUCTURE  
Byte  
Value  
Index  
Effect  
0
1
0x70  
0xAB  
0xCD  
0xEF  
0x00  
Reset Chip – command code  
2
3
4-63  
Reserved  
2015 Microchip Technology Inc.  
DS20005292B-page 57  
MCP2221  
NOTES:  
DS20005292B-page 58  
2015 Microchip Technology Inc.  
MCP2221  
4.0  
ELECTRICAL  
CHARACTERISTICS  
(†)(1)  
Absolute Maximum Ratings  
Ambient temperature under bias...............................................................................................................-40°C to +85°C  
Storage temperature .............................................................................................................................. -65°C to +150°C  
Voltage on VDD with respect to VSS ......................................................................................................... -0.3V to +6.0V  
Voltage on RST with respect to VSS ......................................................................................................... -0.3V to +9.0V  
Voltage on VUSB pin with respect to VSS .................................................................................................. -0.3V to +4.0V  
Voltage on D+ and D- pins with respect to VSS ............................................................................ -0.3V to (VUSB + 0.3V)  
Voltage on all other pins with respect to VSS ................................................................................. -0.3V to (VDD + 0.3V)  
Total power dissipation(2) .....................................................................................................................................800 mW  
Maximum current out of VSS pin ............................................................................................................................ 95 mA  
Maximum current into VDD pin............................................................................................................................... 95 mA  
Clamp current, IK (VPIN < 0 or VPIN > VDD)20 mA  
Maximum output current sunk by any I/O pin .........................................................................................................25 mA  
Maximum output current sourced by any I/O pin ....................................................................................................25 mA  
Maximum current sunk by all ports .........................................................................................................................90 mA  
Maximum current sourced by all ports................................................................................................................... 90 mA  
† NOTICE: Stresses above those listed under “Absolute Maximum Ratings” may cause permanent damage to the  
device. This is a stress rating only and functional operation of the device at those or any other conditions above those  
indicated in the operation listings of this specification is not implied. Exposure above maximum rating conditions for  
extended periods may affect device reliability.  
Note 1: VUSB must always be VDD + 0.3V.  
2: Power dissipation is calculated as follows: PDIS = VDD x {IDD IOH} + {(VDD –  
VOH) x IOH} + (VOL x IOL).  
2015 Microchip Technology Inc.  
DS20005292B-page 59  
MCP2221  
4.1  
DC CHARACTERISTICS  
Operating Conditions (unless otherwise indicated):  
3.0V  VDD 5.5V at -40C TA +85C (I-Temp)  
DC Characteristics  
Param.  
Characteristic  
Sym.  
Min.  
Typ.  
Max.  
Units  
Conditions  
No.  
D001 Supply Voltage  
VDD  
3.0  
5.5  
V
V
POR  
VPOR  
1.6  
Release Voltage  
POR  
Rearm Voltage  
0.8  
V
D003 VDD Rise Rate to Ensure  
POR  
SVDD  
IDD  
0.05  
V/ms Design guidance only  
Not tested  
D004 Supply Current  
VDD = 3.0V  
10  
13  
46  
12  
15  
mA FOSC = 12 MHz,  
(330 nF on VUSB)  
VDD = 5.0V  
mA  
D005 Standby Current  
Input Low-Voltage  
D031 Schmitt Trigger (URX)  
TTL (GP pins)  
IDDS  
VIL  
µA  
0.2 VDD  
0.8  
V
V
3.0V  VDD 5.5V  
4.5V  VDD 5.5V  
Input High-Voltage  
D041 Schmitt Trigger (URX)  
TTL (GP pins)  
VIH  
0.8 VDD  
2.0  
VDD  
VDD  
3.0V  VDD 5.5V  
4.5V  VDD 5.5V  
Input Leakage Current  
D060 GP, URX  
IIL  
±50  
±100  
nA  
V
VSS  VPIN  VDD,  
pin at Hi-Z  
Output Low-Voltage  
D080 GP, UTX  
VOL  
0.6  
0.6  
IOL = 8.0 mA, VDD = 5.0V  
IOL = 6.0 mA, VDD = 3.3V  
Output High-Voltage  
D090 GP, UTX  
VOH  
VDD – 0.7  
VDD – 0.7  
V
IOH = -3.5 mA, VDD = 5.0V  
IOH = -3.0 mA, VDD = 3.3V  
Capacitive Loading Specs on Output Pins  
D102 GPIO  
CIO  
50  
pF  
Note 1  
Note 1: Characterized only, not 100% tested.  
DS20005292B-page 60  
2015 Microchip Technology Inc.  
MCP2221  
FIGURE 4-1:  
POR AND POR REARM WITH SLOW RISING VDD  
VDD  
VPOR  
VPORR  
VSS  
NPOR(1)  
POR REARM  
VSS  
(3)  
TPOR  
(2)  
TVLOW  
Note 1: When NPOR is low, the device is held in Reset.  
2: TPOR 1 µs typical.  
3: TVLOW 2.7 µs typical.  
TABLE 4-1:  
USB MODULE SPECIFICATIONS  
Operating Conditions (unless otherwise indicated):  
3.0V VDD 5.5V at -40°C TA +85°C (I-Temp)  
DC Characteristics  
Param.  
No.  
Characteristic  
Sym.  
Min.  
Typ.  
Max.  
Units  
Conditions  
D313 USB Voltage  
VUSB  
3.0  
3.6  
V
Voltage on the VUSB pin must  
be in this range for proper  
USB operation  
D314 Input Leakage on Pin  
IIL  
±1  
0.8  
μA  
V
VSS VPIN VDD pin at  
high impedance  
D315 Input Low Voltage  
for USB Buffer  
VILUSB  
VIHUSB  
VDIFS  
For VUSB range  
For VUSB range  
D316 Input High Voltage  
for USB Buffer  
2.0  
V
D318 Differential Input  
Sensitivity  
0.2  
V
The difference between D+  
and D- must exceed this value  
while VCM is met  
D319 Differential Common  
Mode Range  
VCM  
0.8  
28  
2.5  
44  
V
D320 Driver Output  
Impedance(1)  
ZOUT  
W
D321 Voltage Output Low  
D322 Voltage Output High  
VOL  
VOH  
0.0  
2.8  
0.3  
3.6  
V
V
1.5 kload connected to 3.6V  
1.5 kload connected to  
ground  
Note 1: The D+ and D- signal lines have been built-in impedance matching resistors. No external resistors,  
capacitors or magnetic components are necessary on the D+/D- signal paths between the MCP2221  
family device and the USB cable.  
2015 Microchip Technology Inc.  
DS20005292B-page 61  
MCP2221  
TABLE 4-2:  
THERMAL CONSIDERATIONS  
Standard Operating Conditions (unless otherwise stated)  
Operating temperature: -40C TA +85C (I-Temp)  
Param.  
No.  
Sym.  
Characteristic  
Typ.  
Units  
Conditions  
TH01  
θJA  
Thermal Resistance Junction  
to Ambient  
70  
95.3  
100  
45.7  
32  
C/W 14-pin PDIP package  
C/W 14-pin SOIC package  
C/W 14-pin TSSOP package  
C/W 16-pin QFN 4 x 4 mm package  
C/W 14-pin PDIP package  
C/W 14-pin SOIC package  
C/W 14-pin TSSOP package  
C/W 16-pin QFN 4 x 4 mm package  
C  
TH02  
θJC  
Thermal Resistance Junction  
to Case  
31  
24.4  
6.3  
+150  
TH03  
TH04  
TJMAX  
PD  
Maximum Junction Temperature  
Power Dissipation  
W
W
W
W
PD = PINTERNAL + PI/O  
PINTERNAL = IDD x VDD  
(1)  
TH05 PINTERNAL Internal Power Dissipation  
TH06  
TH07  
PI/O  
I/O Power Dissipation  
Derated Power  
PI/O = (IOL x VOL) + (IOH x (VDD – VOH))  
PDER = PDMAX (TJ TA)/θJA  
(2, 3)  
PDER  
Note 1: IDD is the current to run the device alone without driving any load on the output pins.  
2: TA = Ambient Temperature.  
3: TJ = Junction Temperature.  
DS20005292B-page 62  
2015 Microchip Technology Inc.  
MCP2221  
4.2  
AC Characteristics  
4.2.1  
TIMING PARAMETER SYMBOLOGY  
The timing parameter symbols have been created in  
one of the following formats:  
1. TppS2ppS  
T
2. TppS  
T
F
E
Frequency  
Error  
Time  
Lowercase letters (pp) and their meanings:  
pp  
io  
Input or Output pin  
Receive  
osc  
tx  
Oscillator  
Transmit  
Reset  
rx  
bitclk  
drt  
RX/TX BITCLK  
Device Reset Timer  
RST  
Uppercase letters and their meanings:  
S
F
H
I
Fall  
P
R
V
Z
Period  
High  
Rise  
Invalid (high-impedance)  
Low  
Valid  
L
High-impedance  
4.2.2  
TIMING CONDITIONS  
The operating temperature and voltage specified in  
Table 4-3 apply to all timing specifications, unless  
otherwise noted. Figure 4-2 specifies the load  
conditions for the timing specifications.  
TABLE 4-3:  
TEMPERATURE AND VOLTAGE SPECIFICATIONS – AC  
Standard Operating Conditions (unless otherwise stated)  
Operating temperature -40C TA +85C  
Operating voltage VDD range as described in DC spec,  
AC CHARACTERISTICS  
Section 4.1 “DC Characteristics”.  
FIGURE 4-2:  
LOAD CONDITIONS  
FOR DEVICE TIMING  
SPECIFICATIONS  
Pin  
50 pF  
2015 Microchip Technology Inc.  
DS20005292B-page 63  
MCP2221  
4.2.3  
TIMING DIAGRAMS AND  
SPECIFICATIONS  
TABLE 4-4: RESET, OSCILLATOR START-UP TIMER AND POWER-UP TIMER PARAMETERS  
Standard Operating Conditions (unless otherwise stated)  
Operating Temperature: -40°C  TA  +85°C  
Param  
No.  
Sym.  
Characteristic  
Min. Typ.Max.  
Units  
Conditions  
30  
31  
32  
TRST  
RST Pulse Width (low)  
2
65  
140  
μs  
ms  
TPWRT Power-Up timer  
TOST Oscillator Start-Up Time  
40  
1024  
TOST  
* These parameters are characterized but not tested.  
† Data in the “Typ.” column is at 5V, +25°C, unless otherwise stated. These parameters are for design  
guidance only and are not tested.  
DS20005292B-page 64  
2015 Microchip Technology Inc.  
MCP2221  
5.0  
5.1  
PACKAGING INFORMATION  
Package Marking Information  
14-Lead PDIP (300 mil)  
Example  
MCP2221  
I/P
e3  
1448256  
14-Lead SOIC (3.90 mm)  
Example  
MCP2221  
I/SL  
1448256  
14-Lead TSSOP (4.4 mm)  
Example  
XXXXXXXX  
YYWW  
2221ST  
1448  
256  
NNN  
16-Lead QFN (4x4x0.9 mm)  
Example  
2221  
I/ML
448256  
PIN 1  
PIN 1  
e
3
Legend: XX...X Customer-specific information  
Y
Year code (last digit of calendar year)  
YY  
Year code (last 2 digits of calendar year)  
Week code (week of January 1 is week ‘01’)  
Alphanumeric traceability code  
WW  
NNN  
e
3
Pb-free JEDEC designator for Matte Tin (Sn)  
*
This package is Pb-free. The Pb-free JEDEC designator (  
can be found on the outer packaging for this package.  
)
e3  
Note: In the event the full Microchip part number cannot be marked on one line, it will  
be carried over to the next line, thus limiting the number of available  
characters for customer-specific information.  
2015 Microchip Technology Inc.  
DS20005292B-page 65  
MCP2221  
ꢀꢁꢂꢃꢄꢅꢆꢇꢈꢉꢅꢊꢋꢌꢍꢇꢎꢏꢅꢉꢇꢐꢑꢂꢃꢌꢑꢄꢇꢒꢈꢓꢇꢔꢇꢕꢖꢖꢇꢗꢌꢉꢇꢘꢙꢆꢚꢇꢛꢈꢎꢐꢈꢜ  
ꢝꢙꢋꢄꢞ ꢬꢕꢐꢅꢏꢘꢌꢅꢑꢕꢇꢏꢅꢖꢈꢐꢐꢌꢄꢏꢅꢡꢉꢖꢭꢉꢜꢌꢅꢋꢐꢉꢗꢃꢄꢜꢇꢓꢅꢡꢊꢌꢉꢇꢌꢅꢇꢌꢌꢅꢏꢘꢌꢅꢢꢃꢖꢐꢕꢖꢘꢃꢡꢅꢂꢉꢖꢭꢉꢜꢃꢄꢜꢅꢛꢡꢌꢖꢃꢎꢃꢖꢉꢏꢃꢕꢄꢅꢊꢕꢖꢉꢏꢌꢋꢅꢉꢏꢅ  
ꢘꢏꢏꢡꢪꢮꢮꢗꢗꢗꢁꢑꢃꢖꢐꢕꢖꢘꢃꢡꢁꢖꢕꢑꢮꢡꢉꢖꢭꢉꢜꢃꢄꢜ  
N
NOTE 1  
E1  
3
1
2
D
E
A2  
A
L
c
A1  
b1  
b
e
eB  
ꢯꢄꢃꢏꢇꢰꢱꢝꢲꢠꢛ  
ꢟꢃꢑꢌꢄꢇꢃꢕꢄꢅꢳꢃꢑꢃꢏꢇ  
ꢢꢰꢱ  
ꢱꢴꢢ  
ꢢꢦꢵ  
ꢱꢈꢑꢔꢌꢐꢅꢕꢎꢅꢂꢃꢄꢇꢱ  
ꢂꢃꢏꢖꢘ  
ꢡꢅꢏꢕꢅꢛꢌꢉꢏꢃꢄꢜꢅꢂꢊꢉꢄꢌ  
ꢀꢥ  
ꢁꢀꢣꢣꢅꢩꢛꢝ  
ꢁꢙꢀꢣ  
ꢁꢀꢷꢨ  
ꢢꢕꢊꢋꢌꢋꢅꢂꢉꢖꢭꢉꢜꢌꢅꢫꢘꢃꢖꢭꢄꢌꢇꢇ  
ꢩꢉꢇꢌꢅꢏꢕꢅꢛꢌꢉꢏꢃꢄꢜꢅꢂꢊꢉꢄꢌ  
ꢛꢘꢕꢈꢊꢋꢌꢐꢅꢏꢕꢅꢛꢘꢕꢈꢊꢋꢌꢐꢅꢸꢃꢋꢏꢘ  
ꢢꢕꢊꢋꢌꢋꢅꢂꢉꢖꢭꢉꢜꢌꢅꢸꢃꢋꢏꢘ  
ꢴꢆꢌꢐꢉꢊꢊꢅꢳꢌꢄꢜꢏꢘ  
ꢫꢃꢡꢅꢏꢕꢅꢛꢌꢉꢏꢃꢄꢜꢅꢂꢊꢉꢄꢌ  
ꢳꢌꢉꢋꢅꢫꢘꢃꢖꢭꢄꢌꢇꢇ  
ꢯꢡꢡꢌꢐꢅꢳꢌꢉꢋꢅꢸꢃꢋꢏꢘ  
ꢦꢙ  
ꢦꢀ  
ꢠꢀ  
ꢔꢀ  
ꢌꢩ  
ꢁꢀꢀꢨ  
ꢁꢣꢀꢨ  
ꢁꢙꢷꢣ  
ꢁꢙꢥꢣ  
ꢁꢺꢞꢨ  
ꢁꢀꢀꢨ  
ꢁꢣꢣꢹ  
ꢁꢣꢥꢨ  
ꢁꢣꢀꢥ  
ꢁꢀꢞꢣ  
ꢁꢞꢀꢣ  
ꢁꢙꢨꢣ  
ꢁꢺꢨꢣ  
ꢁꢀꢞꢣ  
ꢁꢣꢀꢣ  
ꢁꢣꢻꢣ  
ꢁꢣꢀꢹ  
ꢁꢞꢙꢨ  
ꢁꢙꢹꢣ  
ꢁꢺꢺꢨ  
ꢁꢀꢨꢣ  
ꢁꢣꢀꢨ  
ꢁꢣꢺꢣ  
ꢁꢣꢙꢙ  
ꢁꢥꢞꢣ  
ꢳꢕꢗꢌꢐꢅꢳꢌꢉꢋꢅꢸꢃꢋꢏꢘ  
ꢴꢆꢌꢐꢉꢊꢊꢅꢼꢕꢗꢅꢛꢡꢉꢖꢃꢄꢜꢅꢅꢚ  
ꢝꢙꢋꢄꢊꢞ  
ꢀꢁ ꢂꢃꢄꢅꢀꢅꢆꢃꢇꢈꢉꢊꢅꢃꢄꢋꢌꢍꢅꢎꢌꢉꢏꢈꢐꢌꢅꢑꢉꢒꢅꢆꢉꢐꢒꢓꢅꢔꢈꢏꢅꢑꢈꢇꢏꢅꢔꢌꢅꢊꢕꢖꢉꢏꢌꢋꢅꢗꢃꢏꢘꢅꢏꢘꢌꢅꢘꢉꢏꢖꢘꢌꢋꢅꢉꢐꢌꢉꢁ  
ꢙꢁ ꢚꢅꢛꢃꢜꢄꢃꢎꢃꢖꢉꢄꢏꢅꢝꢘꢉꢐꢉꢖꢏꢌꢐꢃꢇꢏꢃꢖꢁ  
ꢞꢁ ꢟꢃꢑꢌꢄꢇꢃꢕꢄꢇꢅꢟꢅꢉꢄꢋꢅꢠꢀꢅꢋꢕꢅꢄꢕꢏꢅꢃꢄꢖꢊꢈꢋꢌꢅꢑꢕꢊꢋꢅꢎꢊꢉꢇꢘꢅꢕꢐꢅꢡꢐꢕꢏꢐꢈꢇꢃꢕꢄꢇꢁꢅꢢꢕꢊꢋꢅꢎꢊꢉꢇꢘꢅꢕꢐꢅꢡꢐꢕꢏꢐꢈꢇꢃꢕꢄꢇꢅꢇꢘꢉꢊꢊꢅꢄꢕꢏꢅꢌꢍꢖꢌꢌꢋꢅꢁꢣꢀꢣꢤꢅꢡꢌꢐꢅꢇꢃꢋꢌꢁ  
ꢥꢁ ꢟꢃꢑꢌꢄꢇꢃꢕꢄꢃꢄꢜꢅꢉꢄꢋꢅꢏꢕꢊꢌꢐꢉꢄꢖꢃꢄꢜꢅꢡꢌꢐꢅꢦꢛꢢꢠꢅꢧꢀꢥꢁꢨꢢꢁ  
ꢩꢛꢝꢪꢅꢩꢉꢇꢃꢖꢅꢟꢃꢑꢌꢄꢇꢃꢕꢄꢁꢅꢫꢘꢌꢕꢐꢌꢏꢃꢖꢉꢊꢊꢒꢅꢌꢍꢉꢖꢏꢅꢆꢉꢊꢈꢌꢅꢇꢘꢕꢗꢄꢅꢗꢃꢏꢘꢕꢈꢏꢅꢏꢕꢊꢌꢐꢉꢄꢖꢌꢇꢁ  
ꢢꢃꢖꢐꢕꢖꢘꢃꢡ ꢖꢘꢄꢕꢊꢕꢜꢒ ꢟꢐꢉꢗꢃꢄꢜ ꢝꢣꢥꢽꢣꢣꢨꢩ  
DS20005292B-page 66  
2015 Microchip Technology Inc.  
MCP2221  
Note: For the most current package drawings, please see the Microchip Packaging Specification located at  
http://www.microchip.com/packaging  
2015 Microchip Technology Inc.  
DS20005292B-page 67  
MCP2221  
Note: For the most current package drawings, please see the Microchip Packaging Specification located at  
http://www.microchip.com/packaging  
DS20005292B-page 68  
2015 Microchip Technology Inc.  
MCP2221  
ꢝꢙꢋꢄꢞ ꢬꢕꢐꢅꢏꢘꢌꢅꢑꢕꢇꢏꢅꢖꢈꢐꢐꢌꢄꢏꢅꢡꢉꢖꢭꢉꢜꢌꢅꢋꢐꢉꢗꢃꢄꢜꢇꢓꢅꢡꢊꢌꢉꢇꢌꢅꢇꢌꢌꢅꢏꢘꢌꢅꢢꢃꢖꢐꢕꢖꢘꢃꢡꢅꢂꢉꢖꢭꢉꢜꢃꢄꢜꢅꢛꢡꢌꢖꢃꢎꢃꢖꢉꢏꢃꢕꢄꢅꢊꢕꢖꢉꢏꢌꢋꢅꢉꢏꢅ  
ꢘꢏꢏꢡꢪꢮꢮꢗꢗꢗꢁꢑꢃꢖꢐꢕꢖꢘꢃꢡꢁꢖꢕꢑꢮꢡꢉꢖꢭꢉꢜꢃꢄꢜ  
2015 Microchip Technology Inc.  
DS20005292B-page 69  
MCP2221  
Note: For the most current package drawings, please see the Microchip Packaging Specification located at  
http://www.microchip.com/packaging  
DS20005292B-page 70  
2015 Microchip Technology Inc.  
MCP2221  
Note: For the most current package drawings, please see the Microchip Packaging Specification located at  
http://www.microchip.com/packaging  
2015 Microchip Technology Inc.  
DS20005292B-page 71  
MCP2221  
Note: For the most current package drawings, please see the Microchip Packaging Specification located at  
http://www.microchip.com/packaging  
DS20005292B-page 72  
2015 Microchip Technology Inc.  
MCP2221  
ꢀꢟꢂꢃꢄꢅꢆꢇꢈꢉꢅꢊꢋꢌꢍꢇꢠꢏꢅꢆꢇꢡꢉꢅꢋꢢꢇꢝꢙꢇꢃꢄꢅꢆꢇꢈꢅꢍꢣꢅꢤꢄꢇꢒꢥꢃꢓꢇꢔꢇꢁꢦꢁꢦꢖꢧꢨꢇꢗꢗꢇꢘꢙꢆꢚꢇꢛꢠꢡꢝꢜ  
ꢝꢙꢋꢄꢞ ꢬꢕꢐꢅꢏꢘꢌꢅꢑꢕꢇꢏꢅꢖꢈꢐꢐꢌꢄꢏꢅꢡꢉꢖꢭꢉꢜꢌꢅꢋꢐꢉꢗꢃꢄꢜꢇꢓꢅꢡꢊꢌꢉꢇꢌꢅꢇꢌꢌꢅꢏꢘꢌꢅꢢꢃꢖꢐꢕꢖꢘꢃꢡꢅꢂꢉꢖꢭꢉꢜꢃꢄꢜꢅꢛꢡꢌꢖꢃꢎꢃꢖꢉꢏꢃꢕꢄꢅꢊꢕꢖꢉꢏꢌꢋꢅꢉꢏꢅ  
ꢘꢏꢏꢡꢪꢮꢮꢗꢗꢗꢁꢑꢃꢖꢐꢕꢖꢘꢃꢡꢁꢖꢕꢑꢮꢡꢉꢖꢭꢉꢜꢃꢄꢜ  
D
D2  
EXPOSED  
PAD  
e
E
E2  
2
1
2
b
1
K
N
N
NOTE 1  
L
TOP VIEW  
BOTTOM VIEW  
A3  
A
A1  
ꢯꢄꢃꢏꢇꢢꢰꢳꢳꢰꢢꢠꢫꢠꢼꢛ  
ꢟꢃꢑꢌꢄꢇꢃꢕꢄꢅꢳꢃꢑꢃꢏꢇ  
ꢢꢰꢱ  
ꢱꢴꢢ  
ꢢꢦꢵ  
ꢱꢈꢑꢔꢌꢐꢅꢕꢎꢅꢂꢃꢄꢇꢱ  
ꢂꢃꢏꢖꢘ  
ꢴꢆꢌꢐꢉꢊꢊꢅꢲꢌꢃꢜꢘꢏ  
ꢛꢏꢉꢄꢋꢕꢎꢎꢅ  
ꢝꢕꢄꢏꢉꢖꢏꢅꢫꢘꢃꢖꢭꢄꢌꢇꢇ  
ꢴꢆꢌꢐꢉꢊꢊꢅꢸꢃꢋꢏꢘ  
ꢠꢍꢡꢕꢇꢌꢋꢅꢂꢉꢋꢅꢸꢃꢋꢏꢘ  
ꢴꢆꢌꢐꢉꢊꢊꢅꢳꢌꢄꢜꢏꢘ  
ꢠꢍꢡꢕꢇꢌꢋꢅꢂꢉꢋꢅꢳꢌꢄꢜꢏꢘ  
ꢝꢕꢄꢏꢉꢖꢏꢅꢸꢃꢋꢏꢘ  
ꢝꢕꢄꢏꢉꢖꢏꢅꢳꢌꢄꢜꢏꢘ  
ꢀꢻ  
ꢣꢁꢻꢨꢅꢩꢛꢝ  
ꢣꢁꢷꢣ  
ꢣꢁꢣꢙ  
ꢣꢁꢙꢣꢅꢼꢠꢬ  
ꢥꢁꢣꢣꢅꢩꢛꢝ  
ꢙꢁꢻꢨ  
ꢥꢁꢣꢣꢅꢩꢛꢝ  
ꢙꢁꢻꢨ  
ꢣꢁꢹꢣ  
ꢣꢁꢣꢣ  
ꢀꢁꢣꢣ  
ꢣꢁꢣꢨ  
ꢦꢀ  
ꢦꢞ  
ꢠꢙ  
ꢟꢙ  
ꢙꢁꢨꢣ  
ꢙꢁꢹꢣ  
ꢙꢁꢨꢣ  
ꢣꢁꢙꢨ  
ꢣꢁꢞꢣ  
ꢣꢁꢙꢣ  
ꢙꢁꢹꢣ  
ꢣꢁꢞꢨ  
ꢣꢁꢨꢣ  
ꢣꢁꢞꢣ  
ꢣꢁꢥꢣ  
ꢝꢕꢄꢏꢉꢖꢏꢽꢏꢕꢽꢠꢍꢡꢕꢇꢌꢋꢅꢂꢉꢋ  
V
ꢝꢙꢋꢄꢊꢞ  
ꢀꢁ ꢂꢃꢄꢅꢀꢅꢆꢃꢇꢈꢉꢊꢅꢃꢄꢋꢌꢍꢅꢎꢌꢉꢏꢈꢐꢌꢅꢑꢉꢒꢅꢆꢉꢐꢒꢓꢅꢔꢈꢏꢅꢑꢈꢇꢏꢅꢔꢌꢅꢊꢕꢖꢉꢏꢌꢋꢅꢗꢃꢏꢘꢃꢄꢅꢏꢘꢌꢅꢘꢉꢏꢖꢘꢌꢋꢅꢉꢐꢌꢉꢁ  
ꢙꢁ ꢂꢉꢖꢭꢉꢜꢌꢅꢃꢇꢅꢇꢉꢗꢅꢇꢃꢄꢜꢈꢊꢉꢏꢌꢋꢁ  
ꢞꢁ ꢟꢃꢑꢌꢄꢇꢃꢕꢄꢃꢄꢜꢅꢉꢄꢋꢅꢏꢕꢊꢌꢐꢉꢄꢖꢃꢄꢜꢅꢡꢌꢐꢅꢦꢛꢢꢠꢅꢧꢀꢥꢁꢨꢢꢁ  
ꢩꢛꢝꢪ ꢩꢉꢇꢃꢖꢅꢟꢃꢑꢌꢄꢇꢃꢕꢄꢁꢅꢫꢘꢌꢕꢐꢌꢏꢃꢖꢉꢊꢊꢒꢅꢌꢍꢉꢖꢏꢅꢆꢉꢊꢈꢌꢅꢇꢘꢕꢗꢄꢅꢗꢃꢏꢘꢕꢈꢏꢅꢏꢕꢊꢌꢐꢉꢄꢖꢌꢇꢁ  
ꢼꢠꢬꢪ ꢼꢌꢎꢌꢐꢌꢄꢖꢌꢅꢟꢃꢑꢌꢄꢇꢃꢕꢄꢓꢅꢈꢇꢈꢉꢊꢊꢒꢅꢗꢃꢏꢘꢕꢈꢏꢅꢏꢕꢊꢌꢐꢉꢄꢖꢌꢓꢅꢎꢕꢐꢅꢃꢄꢎꢕꢐꢑꢉꢏꢃꢕꢄꢅꢡꢈꢐꢡꢕꢇꢌꢇꢅꢕꢄꢊꢒꢁ  
ꢢꢃꢖꢐꢕꢖꢘꢃꢡ ꢖꢘꢄꢕꢊꢕꢜꢒ ꢟꢐꢉꢗꢃꢄꢜ ꢝꢣꢥꢽꢀꢙꢺꢩ  
2015 Microchip Technology Inc.  
DS20005292B-page 73  
MCP2221  
Note: For the most current package drawings, please see the Microchip Packaging Specification located at  
http://www.microchip.com/packaging  
DS20005292B-page 74  
2015 Microchip Technology Inc.  
MCP2221  
APPENDIX A: REVISION HISTORY  
Revision B (February 2015)  
1. Updated bit settings in Registers 1-1 to 1-7,  
Register 1-10 and Registers 1-12, 1-13,  
1-14, 1-15.  
Revision A (May 2014)  
Original Release of this Document.  
2015 Microchip Technology Inc.  
DS20005292B-page 75  
MCP2221  
NOTES:  
DS20005292B-page 76  
2015 Microchip Technology Inc.  
MCP2221  
PRODUCT IDENTIFICATION SYSTEM  
To order or obtain information, e.g., on pricing or delivery, contact your local Microchip sales office.  
(1)  
[X]  
PART NO.  
Device  
X
/XX  
Examples:  
a)  
MCP2221- I/P:  
Industrial temperature,  
14LD PDIP Package  
Tape and Reel  
Option  
Temperature Package  
Range  
a)  
b)  
MCP2221- I/SL:  
Industrial temperature,  
14LD SOIC Package  
Device:  
MCP2221:  
MCP2221T:  
USB-to-I2C/UART Protocol Converter  
USB-to-I2C/UART Protocol Converter  
(Tape and Reel)  
MCP2221T- I/SL: Tape and Reel,  
Industrial temperature,  
14LD SOIC Package  
a)  
b)  
MCP2221- I/ST:  
Industrial temperature,  
14LD TSSOP Package  
Temperature Range:  
Package:  
I
=
=
-40C to +85C (Industrial)  
MCP2221T- I/ST: Tape and Reel,  
Industrial temperature,  
ML  
Plastic Quad Flat, No Lead Package – 4x4x0.9 mm  
Body (QFN), 16-Lead  
14LD TSSOP Package  
P
SL  
=
=
Plastic Dual In Line, 300 mil. Body (PDIP), 14-Lead  
Plastic Small Outline – Narrow, 3.90 mm Body  
(SOIC), 14-Lead  
Plastic Thin Shrink Small Outline – 4.4 mm Body  
(TSSOP), 14-Lead  
a)  
b)  
MCP2221- I/ML:  
Industrial temperature,  
16LD 4x4 QFN Package  
MCP2221T- I/ML: Tape and Reel,  
Industrial temperature,  
ST  
=
16LD 4x4 QFN Package  
Note 1:  
Tape and Reel identifier only appears in the catalog part number description.  
This identifier is used for ordering purposes and is not printed on the device  
package. Check with your Microchip Sales Office for package availability with  
the Tape and Reel option.  
2015 Microchip Technology Inc.  
DS20005292B-page 77  
MCP2221  
NOTES:  
DS20005292B-page 78  
2015 Microchip Technology Inc.  
Note the following details of the code protection feature on Microchip devices:  
Microchip products meet the specification contained in their particular Microchip Data Sheet.  
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the  
intended manner and under normal conditions.  
There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our  
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data  
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.  
Microchip is willing to work with the customer who is concerned about the integrity of their code.  
Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not  
mean that we are guaranteeing the product as “unbreakable.”  
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our  
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts  
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.  
Information contained in this publication regarding device  
applications and the like is provided only for your convenience  
and may be superseded by updates. It is your responsibility to  
ensure that your application meets with your specifications.  
MICROCHIP MAKES NO REPRESENTATIONS OR  
WARRANTIES OF ANY KIND WHETHER EXPRESS OR  
IMPLIED, WRITTEN OR ORAL, STATUTORY OR  
OTHERWISE, RELATED TO THE INFORMATION,  
INCLUDING BUT NOT LIMITED TO ITS CONDITION,  
QUALITY, PERFORMANCE, MERCHANTABILITY OR  
FITNESS FOR PURPOSE. Microchip disclaims all liability  
arising from this information and its use. Use of Microchip  
devices in life support and/or safety applications is entirely at  
the buyer’s risk, and the buyer agrees to defend, indemnify and  
hold harmless Microchip from any and all damages, claims,  
suits, or expenses resulting from such use. No licenses are  
conveyed, implicitly or otherwise, under any Microchip  
intellectual property rights.  
Trademarks  
The Microchip name and logo, the Microchip logo, dsPIC,  
FlashFlex, flexPWR, JukeBlox, KEELOQ, KEELOQ logo, Kleer,  
LANCheck, MediaLB, MOST, MOST logo, MPLAB,  
32  
OptoLyzer, PIC, PICSTART, PIC logo, RightTouch, SpyNIC,  
SST, SST Logo, SuperFlash and UNI/O are registered  
trademarks of Microchip Technology Incorporated in the  
U.S.A. and other countries.  
The Embedded Control Solutions Company and mTouch are  
registered trademarks of Microchip Technology Incorporated  
in the U.S.A.  
Analog-for-the-Digital Age, BodyCom, chipKIT, chipKIT logo,  
CodeGuard, dsPICDEM, dsPICDEM.net, ECAN, In-Circuit  
Serial Programming, ICSP, Inter-Chip Connectivity, KleerNet,  
KleerNet logo, MiWi, MPASM, MPF, MPLAB Certified logo,  
MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code  
Generation, PICDEM, PICDEM.net, PICkit, PICtail,  
RightTouch logo, REAL ICE, SQI, Serial Quad I/O, Total  
Endurance, TSHARC, USBCheck, VariSense, ViewSpan,  
WiperLock, Wireless DNA, and ZENA are trademarks of  
Microchip Technology Incorporated in the U.S.A. and other  
countries.  
SQTP is a service mark of Microchip Technology Incorporated  
in the U.S.A.  
Silicon Storage Technology is a registered trademark of  
Microchip Technology Inc. in other countries.  
GestIC is a registered trademarks of Microchip Technology  
Germany II GmbH & Co. KG, a subsidiary of Microchip  
Technology Inc., in other countries.  
All other trademarks mentioned herein are property of their  
respective companies.  
© 2015, Microchip Technology Incorporated, Printed in the  
U.S.A., All Rights Reserved.  
ISBN: 978-1-63277-016-5  
QUALITY MANAGEMENT SYSTEM  
CERTIFIED BY DNV  
Microchip received ISO/TS-16949:2009 certification for its worldwide  
headquarters, design and wafer fabrication facilities in Chandler and  
Tempe, Arizona; Gresham, Oregon and design centers in California  
and India. The Company’s quality system processes and procedures  
are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping  
devices, Serial EEPROMs, microperipherals, nonvolatile memory and  
analog products. In addition, Microchip’s quality system for the design  
and manufacture of development systems is ISO 9001:2000 certified.  
== ISO/TS 16949 ==  
2015 Microchip Technology Inc.  
DS20005292B-page 79  
Worldwide Sales and Service  
AMERICAS  
ASIA/PACIFIC  
ASIA/PACIFIC  
EUROPE  
Corporate Office  
2355 West Chandler Blvd.  
Chandler, AZ 85224-6199  
Tel: 480-792-7200  
Fax: 480-792-7277  
Technical Support:  
http://www.microchip.com/  
support  
Asia Pacific Office  
China - Xiamen  
Tel: 86-592-2388138  
Fax: 86-592-2388130  
Austria - Wels  
Tel: 43-7242-2244-39  
Fax: 43-7242-2244-393  
Suites 3707-14, 37th Floor  
Tower 6, The Gateway  
Harbour City, Kowloon  
China - Zhuhai  
Tel: 86-756-3210040  
Fax: 86-756-3210049  
Denmark - Copenhagen  
Tel: 45-4450-2828  
Fax: 45-4485-2829  
Hong Kong  
Tel: 852-2943-5100  
Fax: 852-2401-3431  
India - Bangalore  
Tel: 91-80-3090-4444  
Fax: 91-80-3090-4123  
France - Paris  
Tel: 33-1-69-53-63-20  
Fax: 33-1-69-30-90-79  
Australia - Sydney  
Tel: 61-2-9868-6733  
Fax: 61-2-9868-6755  
Web Address:  
www.microchip.com  
India - New Delhi  
Tel: 91-11-4160-8631  
Fax: 91-11-4160-8632  
Germany - Dusseldorf  
Tel: 49-2129-3766400  
Atlanta  
Duluth, GA  
Tel: 678-957-9614  
Fax: 678-957-1455  
China - Beijing  
Tel: 86-10-8569-7000  
Fax: 86-10-8528-2104  
Germany - Munich  
Tel: 49-89-627-144-0  
Fax: 49-89-627-144-44  
India - Pune  
Tel: 91-20-3019-1500  
China - Chengdu  
Tel: 86-28-8665-5511  
Fax: 86-28-8665-7889  
Austin, TX  
Tel: 512-257-3370  
Japan - Osaka  
Tel: 81-6-6152-7160  
Fax: 81-6-6152-9310  
Germany - Pforzheim  
Tel: 49-7231-424750  
Boston  
China - Chongqing  
Tel: 86-23-8980-9588  
Fax: 86-23-8980-9500  
Italy - Milan  
Tel: 39-0331-742611  
Fax: 39-0331-466781  
Westborough, MA  
Tel: 774-760-0087  
Fax: 774-760-0088  
Japan - Tokyo  
Tel: 81-3-6880- 3770  
Fax: 81-3-6880-3771  
China - Dongguan  
Tel: 86-769-8702-9880  
Italy - Venice  
Tel: 39-049-7625286  
Chicago  
Itasca, IL  
Tel: 630-285-0071  
Fax: 630-285-0075  
Korea - Daegu  
Tel: 82-53-744-4301  
Fax: 82-53-744-4302  
China - Hangzhou  
Tel: 86-571-8792-8115  
Fax: 86-571-8792-8116  
Netherlands - Drunen  
Tel: 31-416-690399  
Fax: 31-416-690340  
Korea - Seoul  
Cleveland  
Tel: 82-2-554-7200  
Fax: 82-2-558-5932 or  
82-2-558-5934  
China - Hong Kong SAR  
Tel: 852-2943-5100  
Fax: 852-2401-3431  
Poland - Warsaw  
Tel: 48-22-3325737  
Independence, OH  
Tel: 216-447-0464  
Fax: 216-447-0643  
Spain - Madrid  
Tel: 34-91-708-08-90  
Fax: 34-91-708-08-91  
China - Nanjing  
Tel: 86-25-8473-2460  
Fax: 86-25-8473-2470  
Malaysia - Kuala Lumpur  
Tel: 60-3-6201-9857  
Fax: 60-3-6201-9859  
Dallas  
Addison, TX  
Tel: 972-818-7423  
Fax: 972-818-2924  
Sweden - Stockholm  
Tel: 46-8-5090-4654  
China - Qingdao  
Tel: 86-532-8502-7355  
Fax: 86-532-8502-7205  
Malaysia - Penang  
Tel: 60-4-227-8870  
Fax: 60-4-227-4068  
Detroit  
Novi, MI  
UK - Wokingham  
Tel: 44-118-921-5800  
China - Shanghai  
Tel: 86-21-5407-5533  
Fax: 86-21-5407-5066  
Philippines - Manila  
Tel: 63-2-634-9065  
Fax: 63-2-634-9069  
Tel: 248-848-4000  
Fax: 44-118-921-5820  
Houston, TX  
Tel: 281-894-5983  
Indianapolis  
China - Shenyang  
Tel: 86-24-2334-2829  
Fax: 86-24-2334-2393  
Singapore  
Tel: 65-6334-8870  
Fax: 65-6334-8850  
Noblesville, IN  
Tel: 317-773-8323  
China - Shenzhen  
Tel: 86-755-8864-2200  
Fax: 86-755-8203-1760  
Taiwan - Hsin Chu  
Tel: 886-3-5778-366  
Fax: 886-3-5770-955  
Fax: 317-773-5453  
Los Angeles  
Mission Viejo, CA  
Tel: 949-462-9523  
Fax: 949-462-9608  
China - Wuhan  
Tel: 86-27-5980-5300  
Fax: 86-27-5980-5118  
Taiwan - Kaohsiung  
Tel: 886-7-213-7828  
Taiwan - Taipei  
Tel: 886-2-2508-8600  
Fax: 886-2-2508-0102  
New York, NY  
Tel: 631-435-6000  
China - Xian  
Tel: 86-29-8833-7252  
Fax: 86-29-8833-7256  
San Jose, CA  
Tel: 408-735-9110  
Thailand - Bangkok  
Tel: 66-2-694-1351  
Fax: 66-2-694-1350  
Canada - Toronto  
Tel: 905-673-0699  
Fax: 905-673-6509  
01/27/15  
DS20005292B-page 80  
2015 Microchip Technology Inc.  

相关型号:

MCP2221T-I/ST

USB 2.0 to I2C™/UART Protocol Converter with GPIO
MICROCHIP

MCP23008

8-Bit I/O Expander with Serial Interface
MICROCHIP

MCP23008-E/ML

8-Bit I/O Expander with Serial Interface
MICROCHIP

MCP23008-E/P

8-Bit I/O Expander with Serial Interface
MICROCHIP

MCP23008-E/SO

8-Bit I/O Expander with Serial Interface
MICROCHIP

MCP23008-E/SS

8-Bit I/O Expander with Serial Interface
MICROCHIP

MCP23008-E/SSVAO

Parallel I/O Port, 8 I/O, CMOS, PDSO20
MICROCHIP

MCP23008T-E/ML

8-Bit I/O Expander with Serial Interface
MICROCHIP

MCP23008T-E/P

8-Bit I/O Expander with Serial Interface
MICROCHIP

MCP23008T-E/SO

8-Bit I/O Expander with Serial Interface
MICROCHIP

MCP23008T-E/SS

8-Bit I/O Expander with Serial Interface
MICROCHIP

MCP23008T-E/SSVAO

Parallel I/O Port, 8 I/O, CMOS, PDSO20
MICROCHIP