MICROCHIP MCP2200T-I/SO

MCP2200
USB 2.0 to UART Protocol Converter with GPIO
Features
Package Types
Universal Serial Bus (USB)
The device will be offered in the following packages:
• Supports full-speed USB (12 Mb/s)
• Implements USB protocol composite device CDC
device for communications, configuration and I/O
control
• 128 byte buffer to handle data throughput at any
UART baud rate:
- 64 byte transmit
- 64 byte receive
• Fully configurable VID and PID assignments, and
string descriptors
• Bus powered or self-powered
• USB 2.0 Compliant (certification #: TBD)
• 20-lead QFN (5 x 5[mm])
• 20-lead SOIC
• 20-lead SSOP
19 D+
18 D17 VUSB
RST 4
GP7/TxLED 5
16 GP0/SSPND
GP6/RxLED 6
GP5 7
GP4 8
15 GP1/USBCFG
14 GP2
13 CTS
12 RX
GP3 9
TX 10
11 RTS
Universal Asynchronous Receiver/Transmitter
(UART)
D+
VSS
MCP2200
5x5 QFN*
OSC2
• Responds to SET LINE CODING commands to
dynamically change baud rates
• Supports baud rates: 300-1000k
• Hardware flow control
• UART signal polarity option
VDD
• Uses standard Microsoft® Windows® drivers for
Virtual Com Port (VCP):
- Windows XP(SP2 and later)/Vista/7
• Configuration utility for initial configuration
20 VSS
VDD 1
OSC1 2
OSC2 3
OSC1
USB Driver and Software Support
MCP2200
SOIC, SSOP
20 19 18 17 16
15 D-
RST 1
General Purpose Input/Output (GPIO) Pins
GP7/TxLED 2
• Eight (8) general purpose I/O pins
GP6/RxLED 3
14 VUSB
EP
21
13 GP0/SSPND
11 GP2
 2010 Microchip Technology Inc.
7
8
9 10
CTS
• USB activity LED outputs (TxLED and RxLED)
• SSPND output pin
• USBCFG output pin (indicates if requested
current is allowed)
• Operating voltage: 3.0-5.5V
• Oscillator input: 12 MHz
• ESD protection > 4 kV HBM
• Industrial (I) Operating Temperature: -40°C to
+85°C
6
RX
Other
RTS
• 256 bytes of user EEPROM
TX
12 GP1/USBCFG
GP4 5
GP3
EEPROM
GP5 4
* Includes Exposed Thermal Pad (EP); see Table 1-1.
DS22228A-page 1
MCP2200
Block Diagram
GP5 GP3 GP1
TXLED/ RXLED/
GP4 GP2 GP0 GP7
GP6
Configuration
and Control
Registers
256 Byte
EEPROM
GPIO
USB LEDs
TX
RX
CTS
D+
UART
Controller
USB Protocol
Controller
Control
USB
Transceiver
RTS
DVUSB
Baud
Generator
State USB
Clock Clock
DS22228A-page 2
VSS
Osc
Reset
3.3V
LDO
VSS
OSC1 OSC2
RST
VDD
 2010 Microchip Technology Inc.
MCP2200
1.0
FUNCTIONAL DESCRIPTION
The MCP2200 is a USB-to-UART serial converter
which enables USB connectivity in applications that
have a UART interface. The device reduces external
components by integrating the USB termination
resistors. The MCP2200 also has 256 bytes of
integrated user EEPROM.
TABLE 1-1:
Pin
Name
The MCP2200 has eight general purpose input/output
pins. Four pins have alternate functions to indicate
USB and communication status. See Table 1-1 and
Section 1.6 “GPIO Module” for details about the pin
functions.
PINOUT DESCRIPTION
SSOP,
Pin
QFN
SOIC
Type
Standard Function
GP0/SSPND
16
13
I/O General purpose I/O
GP1/USBCFG
15
12
I/O General purpose I/O
GP2
GP3
GP4
GP5
GP6/RxLED
14
9
8
7
6
11
6
5
4
3
I/O
I/O
I/O
I/O
I/O
GP7/TxLED
5
2
I/O General purpose I/O
General purpose I/O
General purpose I/O
General purpose I/O
General purpose I/O
General purpose I/O
RST
4
1
I
Reset input must be externally biased
CTS
13
10
I
RX
12
9
I
Hardware flow control “Clear to Send” input
signal
USART RX input
RTS
11
8
O
TX
VDD
VSS
OSC1
OSC2
D+
DVUSB
10
1
20
2
3
19
18
17
7
18
17
19
20
16
15
14
EP
—
21
 2010 Microchip Technology Inc.
Alternate Function
USB suspend status pin (refer to
Section 1.6.1.1 “SSPND Pin
Function”)
USB configuration status pin
(refer to Section 1.6.1.2 “USBCFG Pin Function”)
USB receive activity LED output
(refer to Section 1.6.1.3
“RxLED Pin Function (IN Message)”)
USB transmit activity LED output
(refer to Section 1.6.1.4
“TxLED Pin Function (OUT
Message)”)
Hardware flow control “Request to Send” output
signal
O USART TX output
P Power
P Ground
I Oscillator input
O Oscillator output
I/O USB D+
I/O USB DP USB power pin (internally connected to 3.3V).
Should be locally bypassed with a high quality
ceramic capacitor.
— Exposed Thermal Pad (EP). Do not electrically
connect, or connect to VSS.
DS22228A-page 3
MCP2200
1.1
Supported Operating Systems
Microsoft Windows XP(SP2 and
operating systems are supported.
1.1.1
later)/Vista/7
ENUMERATION
The MCP2200 will enumerate as a USB device after
POR. The device enumerates as both a Human
Interface Device (HID) for I/O control, and a VCP.
1.1.1.1
HID
The MCP2200 enumerates as a HID so the device can
be configured and the I/O can be controlled. A DLL is
supplied by Microchip that allows I/O control using a
custom interface.
1.1.1.2
VCP
The VCP enumeration implements the USB-to-UART
data translation.
1.2
Control Module
The control module is the heart of the MCP2200. All
other modules are tied together and controlled via the
control module. The control module manages the data
transfers between the USB and the UART, as well as
command requests generated by the USB host
controller, and commands for controlling the function of
the UART and I/O.
1.2.1
SERIAL INTERFACE
The control module interfaces to the UART and USB
modules.
1.2.2
INTERFACING TO THE DEVICE
The MCP2200 can be accessed for reading and writing
via USB host commands. The device cannot be
accessed and controlled via the UART interface.
1.3
UART Interface
The MCP2200 UART interface consists of the TX and
RX data signals and the RTS/CTS flow control pins.
The UART is configurable for several baud rates. The
available data formats and baud rates are listed in
Table 1-3.
1.3.1
INITIAL CONFIGURATION
The default UART configuration is 19200, 8, N, 1. The
default start up baud rate can be changed using the
Microchip supplied configuration PC tool. The primary
baud rates are shown in Table 1-3.
Alternatively, a custom configuration tool can be
created using the Microchip supplied DLL to set the
baud rate, as well as other parameters. See
Section 2.0 “Configuration” for details.
1.3.2
GET/SET LINE CODING
The GET_LINE_CODING and SET_LINE_CODING
commands are used to read and set the UART
parameters while in operation. For example,
Hyperterminal sends the SET_LINE_COMMAND when
connecting to the port. The MCP2200 responds by
setting the baud rate only. The other parameters (Data
Bits, Parity, Stop Bits) remain unchanged.
1.3.2.1
Rounding Errors
The primary baud rate setting (with the rounding errors)
are shown in Table 1-3. If baud rates other than the
ones shown in the table are used, the error percentage
can be calculated using Equation 1-1 to find the actual
baud rate.
TABLE 1-2:
UART CONFIGURATIONS
Parameter
Configuration
Primary Baud Rates
See Table 1-3
Data Bits
8
Parity
N
Stop Bits
1
1.3.3
CUSTOM BAUD RATES
Custom baud rates are configured by sending the
SET_LINE_CODING USB command, or by using the
DLL. See Section 2.0 “Configuration” for more
information.
DS22228A-page 4
 2010 Microchip Technology Inc.
MCP2200
1.3.4
HARDWARE FLOW CONTROL
Hardware flow control uses the RTS and CTS pins as
a handshake between two devices. The RTS pin of
one device is typically connected to the CTS of the
other device.
RTS is an active low output which notifies the other
device when it can receive data by driving the pin low.
The MCP2200 trip point for de-asserting RTS (high) is
63 characters. This is one character short of “buffer
full”.
CTS is an active low input which is used to notify the
MCP2200 when it can send data. The MCP2200 will
check CTS just before loading and sending UART data.
If the pin is asserted during a transfer, the transfer will
continue. Refer to Figure 1-1.
1.3.4.1
Flow Control Disabled
The buffer pointer does not increment (or reset to
zero) if the buffer is full. Therefore, if hardware flow
control is not enabled and an overflow occurs (i.e., 65
unprocessed characters received), the new data overwrites the last position in the buffer.
FIGURE 1-1:
RTS/CTS CONNECTIONS
EXAMPLE
I am ready
to receive
I am ready
to receive
RTS
I’ll transmit
if okay
RTS
I’ll transmit
if okay
CTS
MCU
EQUATION 1-1:
CTS
MCP2200
SOLVING FOR ACTUAL
BAUD RATE
12MHz
ActualRate = -----------------int  x 
Where:
12MHz
x = ----------------------------------DesiredBaud
TABLE 1-3:
Desired Rate
UART PRIMARY BAUD
RATES
Actual rate
% Error
300
300
0.00%
1200
1200
0.00%
2400
2400
0.00%
4800
4800
0.00%
9600
9600
0.00%
19200
19200
0.00%
38400
38339
0.16%
57600
57692
0.16%
115200
115385
0.16%
230400
230769
0.16%
460800
461538
0.16%
921600
923077
0.16%
1.4
USB Protocol Controller
The USB controller in the MCP2200 is full-speed USB
2.0 compliant.
• Composite device (CDC + HID):
- CDC: USB-to-UART communications
- HID: I/O control, EEPROM access and initial
configuration
• 128 byte buffer to handle data throughput at any
UART baud rate:
- 64 byte transmit
- 64 byte receive
• Fully configurable VID and PID assignments, and
descriptors (stored on-chip)
• Bus powered or self-powered
1.4.1
DESCRIPTORS
The descriptors are stored in the MCP2200 during
configuration using the supplied PC interface.
1.4.2
SUSPEND AND RESUME
The USB Suspend and Resume signals are supported
for power management of the MCP2200. The device
will enter Suspend mode when suspend signaling is
detected on the bus.
The MCP2200 exits the Suspend mode when any of
the following occur:
1.
2.
3.
 2010 Microchip Technology Inc.
Resume signaling is detected or generated
A USB Reset signal is detected
A device Reset occurs
DS22228A-page 5
MCP2200
1.5
USB Transceiver
1.6
The MCP2200 has a built-in, USB 2.0, full-speed
transceiver internally connected to the USB module.
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.
1.5.1
INTERNAL PULL-UP RESISTORS
The MCP2200 devices have built-in pull-up resistors
designed to meet the requirements for full-speed USB.
1.5.1.1
Bus Power Only
In Bus Power Only mode, all power for the application
is drawn from the USB (Figure 1-2). This is effectively
the simplest power method for the device.
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 not, some kind of inrush limiting is
required. For more details, see Section 7.2.4 of the
“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.
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).
FIGURE 1-2:
VBUS
BUS POWER ONLY
VDD
VUSB
VSS
GPIO Module
The GPIO Module is a standard 8-bit I/O port.
1.6.1
CONFIGURABLE PIN FUNCTIONS
The pins can be configured as:
• GPIO – Individually configurable general purpose
input or output
• SSPND – USB Suspend state
• USBCFG – Indicates USB configuration status
• RxLED – Indicates USB receive traffic
• TxLED – Indicates USB transmit traffic
1.6.1.1
SSPND Pin Function
The SSPND pin (if enabled) reflects the USB state
(Suspend/Resume). The pin is active ‘low’ when the
Suspend state has been issued by the USB host.
Likewise, the pin drives ‘high’ after the Resume state is
achieved.
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.
1.6.1.2
USBCFG Pin Function
The USBCFG pin (if enabled) starts out ‘low’ 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.
1.6.1.3
RxLED Pin Function (IN Message)
The ‘Rx’ in the pin name is in respect to the USB host.
The RxLED pin is an indicator for USB ‘IN’ messages.
This pin will either pulse low for a period of time
(configurable for ~100 ms or ~200 ms), or toggle to the
opposite state for every message received
(IN message) by the USB host. This allows the
application to count messages or provide a visual
indication of USB traffic.
1.6.1.4
TxLED Pin Function (OUT Message)
The ‘Tx’ in the pin name is in respect to the USB host.
The TxLED pin is an indicator for USB ‘OUT’
messages.
This pin will either pulse low for a period of time
(configurable for ~100 ms or ~200 ms), or toggle to the
opposite state for every message transmitted (OUT
message) by the USB host. This allows the application
to count messages or provide a visual indication of
USB traffic.
DS22228A-page 6
 2010 Microchip Technology Inc.
MCP2200
1.7
EEPROM Module
1.9
Oscillator
The EEPROM module is a 256 byte array of nonvolatile
memory. The memory locations are accessed for read/
write operations via USB host commands. Refer to
Section 2.0 “Configuration” for details on accessing
the EEPROM.
The input clock must be 12 MHz to provide the proper
frequency for the USB module.
The host should wait for the write cycle to complete and
then verify the write by reading the byte(s).
FIGURE 1-3:
1.8
1.8.1
USB full-speed is nominally 12 Mb/s. The clock input
accuracy is ±0.25% (2,500 ppm maximum).
QUARTZ CRYSTAL
OPERATION
RESET/POR
MCP2200
OSC1
RESET PIN
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.8.2
POR
A Power-on Reset 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.
To take advantage of the POR circuitry, tie the RST pin
through a resistor (1 kOhm to 10 kOhm) to VDD. This
will eliminate external RC components usually needed
to create a Power-on Reset delay.
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.
RF(2)
R (1)
Quartz Crystal S
12 MHz
OSC2
Note 1: A series resistor (RS) may be required
for quartz crystals with high drive level.
2: The value of RF is typically between
2 M to 10 M.
FIGURE 1-4:
CERAMIC RESONATOR
OPERATION
Example: muRata
CSTCE12M0G15L
MCP2200
OSC1
OSC2
Resonator
12 MHz
 2010 Microchip Technology Inc.
DS22228A-page 7
MCP2200
2.0
CONFIGURATION
2.1
The MCP2200 is configured by writing special
commands using the HID interface. Configuration can
be achieved using the configuration utility provided by
Microchip. Alternatively, a custom utility can be
developed by using the DLL available on the MCP2200
product page.
Configuration Utility
A configuration utility is provided by Microchip to allow
the user to configure the MCP2200 to custom defaults.
The Configuration Utility (Figure 2-1) connects to the
device’s HID interface where all of the configurable
features can be set.
2.2
Serial String
The MCP2200 is supplied from the factory with a
serialized USB serial string.
TABLE 2-1:
CONFIGURATION DESCRIPTIONS
Configuration Name
Description
Vendor ID (0x04D8)
The USB vendor identification assigned to Microchip by the USB consortium.
Product ID (0x00DF)
Device ID assigned by Microchip. The device can be used “as-is”, or Microchip
can assign a custom PID by request.
Baud Rate
Sets the UART baud rate using a list of primary baud rates. See the UART
section for details on setting non-primary baud rates.
IO Config
Individually configures the I/O to inputs or outputs.
IO Default
Individually configures the output default state for pins configured as outputs.
Tx/Rx LEDs
Enables/disables the GP6 and GP7 pins to function as USB traffic indicators.
Pins are active low when configured as traffic indicators.
Hardware Flow Control
Enables/disables CTS and RTS flow control.
USBCFG Pin
Enables/disables the GP1 pin as a USB configuration status indicator.
Suspend Pin
Enables/disables the GP0 pin as a USB suspend status pin.
Invert Sense
Enables/disables the UART lines states:
- Normal – Tx/Rx idle high; CTS/RTS active low
- Inverted – Tx/Rx idle low; CTS/RTS active high
Manufacturer String
USB manufacturer string.
Product String
USB product string.
DS22228A-page 8
 2010 Microchip Technology Inc.
MCP2200
FIGURE 2-1:
CONFIGURATION UTILITY
 2010 Microchip Technology Inc.
DS22228A-page 9
MCP2200
2.3
Simple Configuration and I/O DLL
A DLL is provided by Microchip to help the user
develop a custom configurator. See the documentation
on the MCP2200 product page for details on
associating the DLL with a Visual C++ project.
2.3.1
SIMPLE I/O DLL CALLS
The DLL provides the following functions to allow
configuration of the device and control of the I/O.
2.3.1.1
Initialization
void InitMCP2200(VID, PID)
bool IsConnected()
2.3.1.2
Configuration (only needs to be set
once; stored in NVM)
bool ConfigureIOPins(mask)
bool fnRxLED (On/Off, Toggle/Blink, 100/
200mS)
bool fnTxLED (On/Off, Toggle/Blink, 100/
200mS)
bool fnHardwareFlowControl (On/Off)
bool fnUSBcfg(on/off)
bool fnSuspend (on/off)
bool SetBaudRate (baudrate)
bool ConfigureAll (TRISmask, RxLED, TxLED,
RxTGL, TxTGL, LEDX, FLOW, USBCFG, SSPND,
BaudRate)
2.3.1.3
bool
bool
bool
bool
bool
bool
I/O Control
ClearPin(pinnumber)
ReadPin(pinnumber)
SetPort (portValue)
ReadPort(*portValue)
WriteEEPROM (Address, Data)
ReadEEPROM (Address)
2.3.1.4
Summary
Summary:
SimpleIOClass::InitMCP2200 (unsigned int
VendorID, unsigned int ProductID)
bool SimpleIOClass::ConfigureMCP2200
(unsigned char IOMap,
unsigned long BaudRate,
unsigned int RxLED,
unsigned int TxLED,
bool
Hardware Flow Control,
bool
USBCFG pin function,
bool
Suspend pin function)
bool SimpleIOClass::SetPin(unsigned int pin)
bool SimpleIOClass::ClearPin(unsigned int
pin)
bool SimpleIOClass::ReadPin(unsigned int pin,
unsigned int *returnvalue)
bool SimpleIOClass::WritePort(unsigned int
value)
bool SimpleIOClass::ReadPort(unsigned int
*returnvalue)
DS22228A-page 10
While ConfigureMCP2200 configures the device
with one call, it may also be configured one
parameter at a time:
bool SimpleIOClass::fnRxLED (unsigned int
mode)
bool SimpleIOClass::fnTxLED (unsigned int
mode)
bool SimpleIOClass::fnHardwareFlowControl
(unsigned int onOff)
bool SimpleIOClass::fnUSBCFG (unsigned int
onOff)
bool SimpleIOClass::fnSuspend (unsigned int
onOff)
bool SimpleIOClass::fnSetBaudRate (unsigned
long BaudRateParam)
bool SimpleIOClass::ConfigureIO (unsigned
char IOMap)
Constants:
const unsigned
const unsigned
const unsigned
const unsigned
const unsigned
2.3.1.5
int
int
int
int
int
OFF = 0;
ON = 1;
TOGGLE = 3;
BLINKSLOW = 4;
BLINKFAST = 5;
InitMCP2200
SimpleIOClass::InitMCP2200 (unsigned int
VendorID, unsigned int ProductID)
Configures the Simple IO class for a specific
Vendor and product ID.
Parameters:
Vendor ID - Assigned by USB IF (www.usb.org)
Product ID - Assigned by the Vendor ID
Holder
Returns:
none
Example:
InitMCP2200 (0x04D8, 0x00DF);
2.3.1.6
ConfigureMCP2200
bool SimpleIOClass::ConfigureMCP2200
(unsigned char IOMap,
unsigned long BaudRate,
unsigned int RxLED,
unsigned int TxLED,
bool
Hardware Flow Control,
bool
USBCFG pin function,
bool
Suspend pin function)
Configures the device's default baudrate,
GPIO configuration and pin functions. Other
functions set each parameter one at a time.
This configures the part in one call.
Precondition:
The Vendor and Product ID must have been
specified by SimpleIOInit.
 2010 Microchip Technology Inc.
MCP2200
Parameters:
IOMap - A byte which represents the input/
output state of the pins (each bit may be
either a 1 for input, and 0 for output.
Baudrate RxLED & TxLED - constant OFF, TOGGLE,
BLINKSLOW, BLINKFAST
Boolean - HWFlow control, USBCFG, Suspend
Returns:
Function returns true if the transmission is
successful, returns False if there the
transmission fails.
fnTxLED
bool SimpleIOClass::fnTxLED (unsigned int
mode)
Summary:
Configures the TxLED pin function.
Description:
Sets the
Precondition:
The Vendor and Product ID must have been
specified by SimpleIOInit.
Parameters:
mode (constant): OFF, TOGGLE, BLINKSLOW,
BLINKFAST
Example:
<code>
if (SimpleIOClass::ConfigureMCP2200(0x43,
9600, BLINKSLOW, BLINKFAST, false, false,
false) == SUCCESS)
lblStatusBar->Text = "Success";
else
lblStatusBar->Text = "Invalid command
"
</code>
2.3.1.7
2.3.1.8
fnRxLED
bool SimpleIOClass::fnRxLED (unsigned int
mode)
Summary:
Configures the RxLED pin function.
Description:
Sets the
Precondition:
The Vendor and Product ID must have been
specified by SimpleIOInit.
Parameters:
mode (constant): OFF, TOGGLE, BLINKSLOW,
BLINKFAST
Returns:
Function returns true if the transmission is
successful, returns False if there the
transmission fails.
Error code logged in LastError.
Example:
<code>
if (SimpleIOClass::fnRxLED(BLINKFAST) ==
SUCCESS)
lblStatusBar->Text = "Success";
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
 2010 Microchip Technology Inc.
Returns:
Function returns true if the transmission is
successful, returns False if there the
transmission fails.
Error code logged in LastError.
Example:
<code>
if (SimpleIOClass::fnTxLED(BLINKFAST) ==
SUCCESS)
lblStatusBar->Text = "Success";
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
2.3.1.9
fnHardwareFlowControl
bool SimpleIOClass::fnHardwareFlowControl
(unsigned int onOff)
Summary:
Configures the device.
Description:
Sets the
Precondition:
The Vendor and Product ID must have been
specified by SimpleIOInit.
Parameters:
IOMap - An array of configuration parameters,
one byte per IO Line
Returns:
Function returns true if the transmission is
successful, returns False if there the
transmission fails.
DS22228A-page 11
MCP2200
Example:
<code>
if
(SimpleIOClass::ConfigureMCP2200(OutputPacket
Buffer) == SUCCESS)
lblStatusBar->Text = "Success";
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
2.3.1.10
if
(SimpleIOClass::ConfigureMCP2200(OutputPacket
Buffer) == SUCCESS)
lblStatusBar->Text = "Success";
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
fnUSBCFG
bool SimpleIOClass::fnUSBCFG (unsigned int
onOff)
Summary:
Configures the USBCFG pin function.
Precondition:
The Vendor and Product ID must have been
specified by SimpleIOInit.
Parameters:
onOff (constant): ON or OFF.
Returns:
Function returns true if the transmission is
successful, returns False if there the
transmission fails.
Example:
<code>
if
(SimpleIOClass::ConfigureMCP2200(OutputPacket
Buffer) == SUCCESS)
lblStatusBar->Text = "Success";
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
Remarks:
Error code is returned in LastError
2.3.1.11
Example:
<code>
fnSuspend
bool SimpleIOClass::fnSuspend (unsigned int
onOff)
Summary:
Configures the SSPND function
Precondition:
The Vendor and Product ID must have been
specified by SimpleIOInit.
Parameters:
onOff (constant): ON or OFF.
Returns:
Function returns true if the transmission is
successful, returns False if there the
transmission fails.
DS22228A-page 12
Remarks:
Error code is returned in LastError
2.3.1.12
fnSetBaudRate
bool SimpleIOClass::fnSetBaudRate (unsigned
long BaudRateParam)
Summary:
Configures the device.
Precondition:
The Vendor and Product ID must have been
specified by SimpleIOInit.
Parameters:
IOMap - An array of configuration
parameters, one byte per IO Line
Returns:
Function returns true if the transmission is
successful, returns False if there the
transmission fails.
Example:
<code>
if
(SimpleIOClass::ConfigureMCP2200(OutputPacket
Buffer) == SUCCESS)
lblStatusBar->Text = "Success";
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
Remarks:
Error code is returned in LastError
2.3.1.13
ConfigureIO
bool SimpleIOClass::ConfigureIO (unsigned
char IOMap)
Summary:
Configures the IO pins for Digital Input,
Digital Output
Description:
IO Pins can be configured as Digital Input,
Digital Output
 2010 Microchip Technology Inc.
MCP2200
Precondition:
The Vendor and Product ID must have been
specified by SimpleIOInit.
Parameters:
IOMap - one byte, with each bit corresponding
to each GP pin. 0 for output, 1 for input.
Returns:
Function returns true if the transmission is
successful, returns False if there the
transmission fails.
Example:
<code>
if
(SimpleIOClass::ConfigureGPIO(OutputPacketBuf
fer) == SUCCESS)
lblStatusBar->Text = "Success";
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
2.3.1.14
SetPin
bool SimpleIOClass::SetPin(unsigned int pin)
Summary:
Sets the specified pin.
Description:
Sets the specified pin to one.
Precondition:
Must have previously been configured as an
output via a ConfigureGPIO call.
Parameters:
pin - The pin number to set (0-7)
Returns:
Function returns true if the transmission is
successful, returns False if there the
transmission fails.
Example:
<code>
if (SimpleIOClass::SetPin (2))
{
lblStatusBar->Text = "Success";
}
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
Remarks:
none
 2010 Microchip Technology Inc.
2.3.1.15
ClearPin
bool SimpleIOClass::ClearPin(unsigned int
pin)
Summary:
Clears the specified pin.
Description:
Sets the specified pin to zero.
Precondition:
Must have previously been configured as an
output via a ConfigureGPIO call.
Parameters:
pin - The pin number to set (0-7)
Returns:
Function returns true if the transmission is
successful, returns False if there the
transmission fails.
Example:
<code>
if (SimpleIOClass::ClearPin (2))
{
lblStatusBar->Text = "Success";
}
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
Remarks:
none
2.3.1.16
ReadPin
bool SimpleIOClass::ReadPin(unsigned int pin,
unsigned int *returnvalue)
Summary:
Reads the specified pin.
Description:
Reads the specified pin and returns the value
in returnvalue. If the pin has been
configured as Digital Input, the return value
will be either 0 or 1. If the pin has been
configured as Analog Input, the pin will be
read by the ADC and return a 10 bit value,
right justified.
Precondition:
Must have previously been configured as an
input via a ConfigureGPIO call.
Parameters:
pin - The pin number to set (0-7)
returnvalue - the value read on the pin (0 or
1)
DS22228A-page 13
MCP2200
Returns:
true if the pin was successfully read.
false if the pin was not read (not
configued as an input).
Example:
<code>
unsigned int rv;
if (SimpleIOClass::ReadGPIOn (0, &rv))
{
lblStatusBar->Text = "Success";
}
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
2.3.1.17
WritePort
bool SimpleIOClass::WritePort(unsigned int
portValue)
Summary:
Writes a value to the GPIO port.
Description:
Writes the GPIO port. This provides a means
to write all pins at once instead of one-ata-time.
Precondition:
Must have previously been configured as an
output via a ConfigureGPIO call.
Parameters:
portValue - Byte value to set on the port.
Returns:
Function returns true if the transmission is
successful
returns False if there the transmission
fails.
2.3.1.18
ReadPort
bool SimpleIOClass::ReadPort(unsigned int
*returnvalue)
Summary:
Reads the GPIO port as digital input.
Description:
Reads the GPIO port and returns the value in
returnvalue. This provides a means to read
all pins at once instead of one-at-a-time.
Precondition:
Must have previously been configured as an
input via a ConfigureGPIO call.
Parameters:
returnvalue - the value read on the port.
Returns:
Function returns true if the read is
successful
returns False if there the transmission
fails.
Example:
<code>
unsigned int rv;
if (SimpleIOClass::ReadGPIOPort (&rv))
{
lblStatusBar->Text = "Success";
}
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
Remarks:
Pins configured for output returns the
current state of the port.
Pins configured as input read as zero.
Example:
<code>
if (SimpleIOClass::WritePort (0x5A))
{
lblStatusBar->Text = "Success";
}
else
lblStatusBar->Text = "Invalid command
" + SimpleIOClass::LastError;
</code>
Remarks:
Pins configured for output returns the
current state of the port.
Pins configured as input read as zero.
DS22228A-page 14
 2010 Microchip Technology Inc.
MCP2200
3.0
ELECTRICAL CHARACTERISTICS
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, PIC18F ..................................................................................... -0.3V to +6.0V
Voltage on VDD with respect to VSS, PIC18LF ................................................................................... -0.3V to +4.0V
Voltage on MCLR 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(1) ............................................................................................................................... 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
Note 1:
2:
Power dissipation is calculated as follows: PDIS = VDD x {IDD –  IOH} +  {(VDD – VOH) x IOH} + (VOl x IOL).
VUSB must always be  VDD + 0.3V
† 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.
 2010 Microchip Technology Inc.
DS22228A-page 15
MCP2200
3.1
DC CHARACTERISTICS
DC Characteristics
Param
No.
D001
Characteristic
Operating Conditions (unless otherwise indicated):
3.0V VDD  5.5V at -40C  TA  +85C (I-Temp)
Sym
Min
Typ
Max
Units
Supply Voltage
VDD
3.0
—
5.5
V
Power-on Reset
Release Voltage
VPOR
Power-on Reset
Rearm Voltage
D003
VDD Rise Rate to
Ensure Power-on
Reset
D004
Supply Current
D005
1.6
V
0.8
V
0.05
—
—
VDD = 3.0V
—
10
12
mA
VDD = 5.0V
—
13
15
mA
—
9
—
µA
—
—
0.2 VDD
Standby current
SVDD
Conditions
V/ms Design guidance only
Not tested
IDD
IDDS
FOSC = 12 MHz,
(330 nF on VUSB)
Input Low-Voltage
D031
Schmitt Trigger (GPIO)
TTL (CTS pin)
VIL
—
—
0.8
0.8 VDD
—
VDD
3.0V VDD  5.5V
V
4.5V VDD  5.5V
Input High-Voltage
D041
Schmitt Trigger (GPIO)
TTL (RTS pin)
VIH
2.0
—
VDD
—
±50
±100
±50
±200
±50
±100
—
—
0.6
—
—
0.6
VDD – 0.7
—
—
VDD – 0.7
—
—
3.0V VDD  5.5V
V
4.5V VDD  5.5V
Input Leakage Current
GPIO, CTS
D060
RST
IIL
OSC1
VSS VPIN VDD, pin at Hi-Z
nA
Output Low-Voltage
D080
GPIO
VOL
V
IOL = 8.0 mA, VDD = 5.0V
IOL = 6.0 mA, VDD = 3.3V
Output High-Voltage
D090
GPIO
VOH
V
IOH = -3.5 mA, VDD = 5.0V
IOH = -3.0 mA, VDD = 3.3V
Capacitive Loading Specs on Output Pins
D101
OSC2
COSC2
—
—
15
pF
Note 1
D102
GPIO
CIO
—
—
50
pF
Note 1
Note 1:
This parameter is characterized, but not tested.
DS22228A-page 16
 2010 Microchip Technology Inc.
MCP2200
FIGURE 3-1:
POR AND POR REARM WITH SLOW RISING VDD
VDD
VPOR
VPORR
VSS
NPOR(1)
POR REARM
VSS
TPOR(3)
TVLOW(2)
Note 1:
2:
3:
TABLE 3-1:
USB MODULE SPECIFICATIONS
DC Characteristics
Param
No.
When NPOR is low, the device is held in Reset.
TPOR 1 s typical.
TVLOW 2.7 s typical.
Characteristic
Operating Conditions (unless otherwise indicated):
3.0V VDD  5.5V at -40C  TA  +85C (I-Temp)
Sym
Min
Typ
Max
Units
Conditions
VUSB
3.0
—
3.6
V
Voltage on VUSB pin must be in
this range for proper USB
operation
IIL
—
—
±1
μA
VSS VPIN VDD pin at
high-impedance
D313
USB Voltage
D314
Input Leakage on Pin
D315
Input Low Voltage
for USB Buffer
VILUSB
—
—
0.8
V
For VUSB range
D316
Input High Voltage
for USB Buffer
VIHUSB
2.0
—
—
V
For VUSB range
D318
Differential Input
Sensitivity
VDIFS
—
—
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
—
2.5
V
D320
Driver Output
Impedance(1)
ZOUT
28
—
44

D321
Voltage Output Low
VOL
0.0
—
0.3
V
1.5 kload connected to 3.6V
D322
Voltage Output High
VOH
2.8
—
3.6
V
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 MCP2200 family
device and the USB cable.
 2010 Microchip Technology Inc.
DS22228A-page 17
MCP2200
TABLE 3-2:
THERMAL CONSIDERATIONS
Standard Operating Conditions (unless otherwise stated)
Operating temperature -40C  TA  +85C (I-Temp)
Param
No.
Sym
TH01
θJA
Thermal Resistance Junction to
Ambient
TH02
θJC
Thermal Resistance Junction to
Case
TH03
TH04
TJMAX
PD
Maximum Junction Temperature
Power Dissipation
TH05
TH06
TH07
Legend:
Note 1:
2:
3:
Characteristic
PINTERNAL Internal Power Dissipation
PI/O
I/O Power Dissipation
Typ
Units
85.2
108.1
TBD
24
24
24
150
—
C/W
C/W
C/W
C/W
C/W
C/W
C
W
—
—
W
W
Conditions
20-pin SOIC package
20-pin SSOP package
20-pin QFN 5x5mm package
20-pin SOIC package
20-pin SSOP package
20-pin QFN 6x6mm package
PD = PINTERNAL + PI/O
PINTERNAL = IDD x VDD(1)
PI/O =  (IOL * VOL) +  (IOH * (VDD –
VOH))
PDER
Derated Power
—
W
PDER = PDMAX (TJ - TA)/θJA(2,3)
TBD = To Be Determined.
IDD is the current to run the chip alone without driving any load on the output pins.
TA = Ambient Temperature.
TJ = Junction Temperature.
DS22228A-page 18
 2010 Microchip Technology Inc.
MCP2200
3.2
AC Characteristics
3.2.1
TIMING PARAMETER SYMBOLOGY
The timing parameter symbols have been created in one of the following formats:
1. TppS2ppS
T
F
Frequency
E
Error
Lowercase letters (pp) and their meanings:
pp
io
Input or Output pin
rx
Receive
bitclk
RX/TX BITCLK
drt
Device Reset Timer
Uppercase letters and their meanings:
S
F
Fall
H
High
I
Invalid (high-impedance)
L
Low
3.2.2
2. TppS
T
Time
osc
tx
RST
Oscillator
Transmit
Reset
P
R
V
Z
Period
Rise
Valid
High-impedance
TIMING CONDITIONS
The operating temperature and voltage specified in
Table 3-3 apply to all timing specifications unless otherwise noted. Figure 3-2 specifies the load conditions for
the timing specifications.
TABLE 3-3:
TEMPERATURE AND VOLTAGE SPECIFICATIONS - AC
AC CHARACTERISTICS
FIGURE 3-2:
Standard Operating Conditions (unless otherwise stated)
Operating temperature -40C  TA  +85C
Operating voltage VDD range as described in DC spec Section 3.1 “DC Characteristics”.
LOAD CONDITIONS
FOR DEVICE TIMING
SPECIFICATIONS
Pin
50 pF (15 pF for OSC2)
 2010 Microchip Technology Inc.
DS22228A-page 19
MCP2200
3.2.3
TIMING DIAGRAMS AND
SPECIFICATIONS
TABLE 3-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
30
TRST
31
32
Characteristic
MCLR Pulse Width (low)
TPWRT Power-up timer
TOST
Oscillator startup time
Min
Typ†
Max
Units
2
—
—
μs
40
65
140
ms
—
1024
—
TOST
Conditions
* These parameters are characterized but not tested.
† Data in “Typ” column is at 5V, 25°C unless otherwise stated. These parameters are for design guidance
only and are not tested.
DS22228A-page 20
 2010 Microchip Technology Inc.
MCP2200
4.0
PACKAGING INFORMATION
4.1
Package Marking Information
20-Lead QFN
Example
XXXXX
XXXXXX
XXXXXX
YWWNNN
20-Lead SOIC
MCP2200
e3
I/MQ^^
1004256
Example:
MCP2200
e3
I/SO ^^
1004256
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
YYWWNNN
20-Lead SSOP
Example:
XXXXXXXXXXX
XXXXXXXXXXX
YYWWNNN
Legend: XX...X
Y
YY
WW
NNN
e3
*
Note:
MCP2200
I/SS^^
e3
1004256
Customer-specific information
Year code (last digit of calendar year)
Year code (last 2 digits of calendar year)
Week code (week of January 1 is week ‘01’)
Alphanumeric traceability code
Pb-free JEDEC designator for Matte Tin (Sn)
This package is Pb-free. The Pb-free JEDEC designator ( e3 )
can be found on the outer packaging for this package.
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.
 2010 Microchip Technology Inc.
DS22228A-page 21
MCP2200
20-Lead Plastic Quad Flat, No Lead Package (MQ) – 5x5x0.9 mm Body [QFN]
Note:
For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
Microchip Technology Drawing C04-120A
DS22228A-page 22
 2010 Microchip Technology Inc.
MCP2200
Note:
For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
 2010 Microchip Technology Inc.
DS22228A-page 23
MCP2200
!"#
$%
3&'!&"&
4#*!(
!!&
4
%&&#&
&&
255***'
'5
4
D
N
E
E1
NOTE 1
1 2 3
e
b
α
h
h
A
A2
c
φ
L
A1
6&!
'!7'&!
8"')%!
β
L1
77..
8
8
89
:
&
9 ;&
<
1,
<
##44!!
/
<
<
&#%%+
<
-
9 >#&
.
##4>#&
.
/1,
9 7&
1,
=/
-1,
,'%?
&@
/
<
/
3&7&
7
<
3&
&
7
.3
3&
I
A
<
A
7#4!!
<
--
7#>#&
)
-
<
/
#%&
D
/A
<
/A
#%&1&&'
E
/A
<
/A
$%
!"#$%&"' ()"&'"!&)&#*&&&#
+%&,&!&
- '!!#.#&"#'#%!
&"!!#%!
&"!!!&$#/''
!#
'!#&
.0/
1,2 1!'!&$& "!**&"&&!
.32 %'!("!"*&"&&(%%'&
"
!!
* ,1
DS22228A-page 24
 2010 Microchip Technology Inc.
MCP2200
Note:
For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
 2010 Microchip Technology Inc.
DS22228A-page 25
MCP2200
&'() #
$%
3&'!&"&
4#*!(
!!&
4
%&&#&
&&
255***'
'5
4
D
N
E
E1
NOTE 1
1 2
e
b
c
A2
A
φ
A1
L1
6&!
'!7'&!
8"')%!
L
77..
8
8
89
:
&
9 ;&
<
=/1,
<
##44!!
=/
/
/
&#%%
/
<
<
9 >#&
.
##4>#&
.
/
/-
/=
9 7&
=
/
3&7&
7
//
/
/
3&
&
7
/.3
7#4!!
<
3&
I
A
A
/
A
7#>#&
)
<
-
$%
!"#$%&"' ()"&'"!&)&#*&&&#
'!!#.#&"#'#%!
&"!!#%!
&"!!!&$#''
!#
- '!#&
.0/
1,2 1!'!&$& "!**&"&&!
.32 %'!("!"*&"&&(%%'&
"
!!
* ,1
DS22228A-page 26
 2010 Microchip Technology Inc.
MCP2200
Note:
For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
 2010 Microchip Technology Inc.
DS22228A-page 27
MCP2200
NOTES:
DS22228A-page 28
 2010 Microchip Technology Inc.
MCP2200
APPENDIX A:
REVISION HISTORY
Revision A (March 2010)
• Original Release of this Document.
 2010 Microchip Technology Inc.
DS22228A-page 29
MCP2200
NOTES:
DS22228A-page 30
 2010 Microchip Technology Inc.
MCP2200
PRODUCT IDENTIFICATION SYSTEM
To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office.
PART NO.
X
/XX
Device
Temperature
Range
Package
Device
MCP2200:
MCP2200T:
Examples:
a)
USB-to-UART serial converter
USB-to-UART serial converter (Tape and Reel)
Temperature Range
I
=
Package
MQ
= Plastic Quad Flat, No Lead Package
5x5x0.9 mm Body (QFN), 20-Lead
= Plastic Small Outline - Wide, 7.50 mm Body (SO),
20-Lead
= Plastic Shrink Small Outline - 5.30 mm Body (SS)
20-Lead
SO
SS
-40C to
 2010 Microchip Technology Inc.
+85C
(Industrial)
MCP2200- I/MQ:
b)
Industrial temperature,
20LD QFN Package.
MCP2200T- I/MQ: Tape and Reel,
Industrial temperature,
20LD QFN Package.
a)
MCP2200- I/SO:
b)
MCP2200T- I/SO:
a)
MCP2200- I/SS:
b)
MCP2200T- I/SS:
Industrial temperature,
20LD SOIC Package.
Tape and Reel,
Industrial temperature,
20LD SOIC Package.
Industrial temperature,
20LD SSOP Package.
Tape and Reel,
Industrial temperature,
20LD SSOP Package.
DS22228A-page 31
MCP2200
NOTES:
DS22228A-page 32
 2010 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,
KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART,
PIC32 logo, rfPIC and UNI/O are registered trademarks of
Microchip Technology Incorporated in the U.S.A. and other
countries.
FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor,
MXDEV, MXLAB, SEEVAL and The Embedded Control
Solutions Company are registered trademarks of Microchip
Technology Incorporated in the U.S.A.
Analog-for-the-Digital Age, Application Maestro, CodeGuard,
dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN,
ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial
Programming, ICSP, Mindi, MiWi, MPASM, MPLAB Certified
logo, MPLIB, MPLINK, mTouch, Octopus, Omniscient Code
Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit,
PICtail, REAL ICE, rfLAB, Select Mode, Total Endurance,
TSHARC, UniWinDriver, WiperLock 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.
All other trademarks mentioned herein are property of their
respective companies.
© 2010, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
ISBN: 978-1-60932-051-5
Microchip received ISO/TS-16949:2002 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.
 2010 Microchip Technology Inc.
DS22228A-page 33
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://support.microchip.com
Web Address:
www.microchip.com
Asia Pacific Office
Suites 3707-14, 37th Floor
Tower 6, The Gateway
Harbour City, Kowloon
Hong Kong
Tel: 852-2401-1200
Fax: 852-2401-3431
India - Bangalore
Tel: 91-80-3090-4444
Fax: 91-80-3090-4123
India - New Delhi
Tel: 91-11-4160-8631
Fax: 91-11-4160-8632
Austria - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark - Copenhagen
Tel: 45-4450-2828
Fax: 45-4485-2829
India - Pune
Tel: 91-20-2566-1512
Fax: 91-20-2566-1513
France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Japan - Yokohama
Tel: 81-45-471- 6166
Fax: 81-45-471-6122
Germany - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Cleveland
Independence, OH
Tel: 216-447-0464
Fax: 216-447-0643
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Farmington Hills, MI
Tel: 248-538-2250
Fax: 248-538-2260
Kokomo
Kokomo, IN
Tel: 765-864-8360
Fax: 765-864-8387
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Santa Clara
Santa Clara, CA
Tel: 408-961-6444
Fax: 408-961-6445
Toronto
Mississauga, Ontario,
Canada
Tel: 905-673-0699
Fax: 905-673-6509
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
China - Beijing
Tel: 86-10-8528-2100
Fax: 86-10-8528-2104
China - Chengdu
Tel: 86-28-8665-5511
Fax: 86-28-8665-7889
Korea - Daegu
Tel: 82-53-744-4301
Fax: 82-53-744-4302
China - Chongqing
Tel: 86-23-8980-9588
Fax: 86-23-8980-9500
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
China - Hong Kong SAR
Tel: 852-2401-1200
Fax: 852-2401-3431
Malaysia - Kuala Lumpur
Tel: 60-3-6201-9857
Fax: 60-3-6201-9859
China - Nanjing
Tel: 86-25-8473-2460
Fax: 86-25-8473-2470
Malaysia - Penang
Tel: 60-4-227-8870
Fax: 60-4-227-4068
China - Qingdao
Tel: 86-532-8502-7355
Fax: 86-532-8502-7205
Philippines - Manila
Tel: 63-2-634-9065
Fax: 63-2-634-9069
China - Shanghai
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
China - Shenyang
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
Taiwan - Hsin Chu
Tel: 886-3-6578-300
Fax: 886-3-6578-370
China - Shenzhen
Tel: 86-755-8203-2660
Fax: 86-755-8203-1760
Taiwan - Kaohsiung
Tel: 886-7-536-4818
Fax: 886-7-536-4803
China - Wuhan
Tel: 86-27-5980-5300
Fax: 86-27-5980-5118
Taiwan - Taipei
Tel: 886-2-2500-6610
Fax: 886-2-2508-0102
China - Xian
Tel: 86-29-8833-7252
Fax: 86-29-8833-7256
Thailand - Bangkok
Tel: 66-2-694-1351
Fax: 66-2-694-1350
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Spain - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
UK - Wokingham
Tel: 44-118-921-5869
Fax: 44-118-921-5820
China - Xiamen
Tel: 86-592-2388138
Fax: 86-592-2388130
China - Zhuhai
Tel: 86-756-3210040
Fax: 86-756-3210049
01/05/10
DS22228A-page 34
 2010 Microchip Technology Inc.