MCP2221T-I/P [MICROCHIP]
USB 2.0 to I2Câ¢/UART Protocol Converter with GPIO;型号: | MCP2221T-I/P |
厂家: | 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 k load connected to 3.6V
1.5 k load 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.
相关型号:
©2020 ICPDF网 联系我们和版权申明