AN893

AN893
Low-Cost Bidirectional Brushed DC Motor Control
Using PIC16F684
Author:
Note:
Mike Rylee
Microchip Technology Inc.
This application note uses a Graphical
User Interface (GUI) which may no longer
work with new operating systems. This
application note remains online for
reference purposes only. It is being
provided for those interested in brushed
DC motor control on 8-bit devices. Users
may write their own GUIs or investigate
Microchip tools such as the Data Monitor
and Control Interface (DMCI) and Real
Time Data Monitoring (RTDM). The
contents of this application note and
related files are available in the current
form. For any new designs, please refer to
www.microchip.com/motor.
INTRODUCTION
This application note describes how to use the
Enhanced, Capture, Compare, PWM (ECCP) on
PIC16F684 for bidirectional, brushed DC (BDC) motor
control. Low-cost BDC motor control can be used in
applications such as intelligent toys, small appliances
and power tools. PIC16F684 takes Microchip’s
mid-range family of products to the next level with its
new ECCP peripheral. The ECCP peripheral builds on
the technology of the CCP module with added features
such as four PWM channels for easy bidirectional
motor control through the hardware. This application
note focuses on full-bridge configuration using the
ECCP in PWM mode. The ECCP allows easy
interfacing to a full-bridge configuration for bidirectional
BDC motor control.
This application note describes the following:
•
•
•
•
•
Calculating ECCP PWM Parameters
Initializing the ECCP in Full-Bridge PWM mode
Bidirectional BDC Motor Control
Sensorless Motor Control Feedback
Example Application
Note:
CALCULATING ECCP PWM
PARAMETERS
The PWM frequency, duty cycle and resolution need to
be calculated when working with the ECCP in PWM
mode.
Frequency
Selecting a PWM frequency for the motor control
application affects the sound of the motor and the
power transistor’s switching speed. The human ear can
detect frequencies ranging from 20 Hz to 20 kHz. In
this application note, the PWM for motor control
operates at 4 kHz.This results in less noise than even
lower PWM frequencies, such as 1 kHz. If the
application bandwidth can support higher frequencies
(especially those above the range of typical human
hearing), the motor will produce less audible noise. If
too much audible noise is heard, the PWM frequency
should be increased.
The PWM period and frequency can be calculated
using Equations A-1 and A-2.
Duty Cycle
Changing the PWM duty cycle will change the average
voltage across the motor, which in turn changes the
motor’s speed. The PWM duty cycle is calculated by
using Equation A-3. The average voltage across the
BDC motor is calculated using Equation A-4.
Resolution
The PWM duty cycle resolution determines the amount
of precision with which the duty cycle can be changed.
For example, a 10-bit resolution allows 1024 possible
values for the duty cycle, where an 8-bit resolution only
allows 256 values. The PWM frequency, the
PIC16F684 oscillator frequency and Timer2 prescaler
all affect the resolution value. The maximum resolution
is ten bits. The PWM duty cycle resolution is calculated
by using Equation A-5.
All equations referenced in this
application note can be found in
Appendix A.
 2003-2014 Microchip Technology Inc.
DS00000893B-page 1
AN893
INITIALIZING THE ECCP IN
FULL-BRIDGE PWM MODE
When initializing the ECCP in Full-Bridge PWM mode,
four registers need to be initialized:
PR2
The PR2 register affects the PWM frequency/period.
The value to use for the PR2 register is calculated
using Equation A-6.
CCPR1L:CCP1CON<5:4>
The PWM duty cycle has a full resolution of ten bits.
Since all registers on PIC16F684 are 8 bits wide, the
ten bits are spread over two registers. CCPR1L
contains the upper eight bits and CCP1CON<5:4>
contains the lower two bits. The 10-bit value for
CCPR1L:CCP1CON<5:4>
is
calculated
using
Equation A-7.
CCP1CON
In addition to storing the lower two bits of the 10-bit
PWM duty cycle, CCP1CON is used to set up the
ECCP in PWM mode using bits CCP1CON<3:0>. It can
also change the motor direction using bits
CCP1CON<7:6>. When setting up the ECCP in PWM
mode, there are four possible configurations. These
configurations
accommodate
H-bridges
with
MOSFETS that are active-high, active-low or a
combination of both active-high and active-low. Motor
direction can be changed in hardware by configuring
bits CCP1CON<7:6> to be ‘01’ for forward or ‘11’ for
reverse. The PIC16F684 ECCP hardware switches
channels for activating and modulating the appropriate
MOSFET drivers in the H-bridge.
T2CON
The T2CON register is used for setting up the Timer2
prescaler and turning on Timer2. The Timer2 prescaler
is contained in bits T2CON<1:0> and is used in
determining the PWM frequency, duty cycle and
resolution. Timer2 must be turned on by setting bit
T2CON<2> before the PWM signal starts. An algorithm
that calculates the Timer2 prescaler and PR2 values for
PWM frequencies is shown in Figure B-1.
DS00000893B-page 2
 2003-2014 Microchip Technology Inc.
AN893
BIDIRECTIONAL BDC MOTOR
CONTROL
The ECCP makes changing the motor direction easy
by configuring CCP1CON<7:6> to be ‘01’ for forward
(Figure 1) or ‘11’ for reverse (Figure 2).
FIGURE 1:
FULL-BRIDGE FORWARD CURRENT FLOW DIAGRAM
V+
PIC16F684
P1A
P1B
Logic ‘1’
FET
Driver
QC
QA
Logic ‘0’
BDC
I
FET
Driver
P1C
FET
Driver
Logic ‘0’
FET
Driver
QD
QB
P1D
CCP1CON<3:0> = 1100
CCP1CON<7:6> = 01
FIGURE 2:
FULL-BRIDGE REVERSE CURRENT FLOW DIAGRAM
V+
PIC16F684
P1A
Logic ‘0’
FET
Driver
I
FET
Driver
P1D
FET
Driver
BDC
P1B
P1C
QC
QA
Logic ‘1’
QB
FET
Driver
QD
Logic ‘0’
CCP1CON<3:0> = 1100
CCP1CON<7:6> = 11
 2003-2014 Microchip Technology Inc.
DS00000893B-page 3
AN893
LOW COST SENSORLESS MOTOR
CONTROL FEEDBACK
Sensorless Current Measurement
Low-cost current measurements can be performed by
using a current sensing resistor between the
MOSFETS and ground (see Figure 4). To select a
value appropriate for the resistance, consider the
maximum amount of current allowed to flow through
the resistor and the maximum amount of power
dissipation.
Sensorless RPM Measurement
Low-cost RPM measurement can be performed with a
BDC motor by measuring the back EMF voltage from
the motor (see Figure 3). The BDC RPM is directly
proportional to the back EMF voltage. Since a BDC
motor can be modeled as an inductive load, the voltage
across the motor is equivalent to the inductance
multiplied by dI/dt. In this application, a 12V, 9600 max
RPM BDC motor was used. To measure the back EMF
voltage, turn off the modulated FET. This will cause the
current to flow in the opposite direction. After initially
shutting off the FET, dI/dt must stabilize before taking
the measurement. In order to use the PIC®
microcontroller A/D converter, the measured voltage
must be between 0V and VDD. Since the back EMF
voltage can be between 0V-12V, a voltage divider
circuit is used to scale the back EMF voltage between
0V and VDD. Using Microchip’s MSP6S26
Programmable Gain Amplifier (PGA), a gain of 1 is
used for buffering the scaled voltage that is being
measured by the PIC16F684 A/D channel (see
Equation A-8 for calculating RPM).
FIGURE 3:
In this application, a 0.1 ohm, 1W current sensing
resistor was used with a maximum current of 3A. When
3A flow through the resistor, the ideal power dissipated
in the resistor is 0.9W (see Equation A-9) and the
voltage across the resistor is 0.3V (see Equation A-10).
In order to get the most resolution from the 10-bit A/D
converter, the voltage across the resistor at 3A must be
amplified as close as possible to the PIC16F684 VDD,
which is 5V in this application. Using Microchip’s
MSP6S26 PGA, a gain of 16 will ideally give 4.8V, at
the
maximum
3A
specified
current
(see
Equation A-11). A gain of 16 gives a 9.94-bit A/D
resolution for measuring current (see Equations A-12
and A-13). The current through the resistor can then be
computed using Equations A-14, A-15 and A-16.
Since a PWM signal is used to drive the BDC motor,
the H-bridge circuit only draws current during the
high pulse-width of the PWM period. To obtain a
current measurement, the voltage across the current
sensing resistor is sampled over a PWM period. A
sampling and averaging algorithm of taking
measurements over multiple PWM periods is shown
in Figure B-2.
FULL-BRIDGE FORWARD CONFIGURATION WITH BACK EMF MEASUREMENT
V+
PIC16F684
P1A
Logic ‘1’
FET
Driver
QC
QA
FET
Driver
I
P1B
Logic ‘0’
VBACKEMF
BDC
FET
Driver
P1C
P1D
FET
Driver
Logic ‘0’
QB
QD
Logic ‘0’
CCP1CON<3:0> = 1100
CCP1CON<7:6> = 01
DS00000893B-page 4
 2003-2014 Microchip Technology Inc.
AN893
FIGURE 4:
FULL-BRIDGE FORWARD WITH CURRENT-SENSING RESISTOR
V+
PIC16F684
P1A
Logic ‘1’
FET
Driver
QC
QA
FET
Driver
I
P1B
BDC
Logic ‘0’
FET
Driver
P1C
FET
Driver
Logic ‘0’
QD
VACTUAL
0.1 Current Sensing
Resistor
QB
P1D
CCP1CON<3:0> = 1100
CCP1CON<7:6> = 01
EXAMPLE APPLICATION
This example application demonstrates a low-cost
BDC motor control system using the ECCP configured
in Full-Bridge PWM mode (see Figure 5). The user
interface allows the user to easily configure a BDC
motor with PIC16F684, adjust the PWM frequency and
FIGURE 5:
duty cycle, change the PIC16F684 internal oscillator
frequency in real-time, and view RPM and current
measurements. This application source code was
written using the HI-TECH C® compiler, MPLAB® IDE,
and the Microsoft Visual C++® 6.0 development
platform.
MECHATRONICS BLOCK DIAGRAM
Windows® GUI
PIC16F684
Sensorless
RPM and
Current
Measurements
BDC
Motor
Physical Process
 2003-2014 Microchip Technology Inc.
DS00000893B-page 5
AN893
Firmware
Software
The example firmware is responsible for many
operations:
The Windows® user interface provides the user a
friendly environment for interfacing the BDC motor. The
user interface allows the user to adjust the PWM
frequency, duty cycle, motor direction and internal
oscillator frequency. The user interface also displays
the PWM frequency, duty cycle, resolution, RPM and
current. The PC software is the host and sends
commands to the PIC16F684 using RS-232. The
Windows user interface source code can also be
downloaded from www.microchip.com. The Windows
user interface example is shown in Figure 6.
•
•
•
•
•
•
•
Initializing the PIC16F684
Sending bit-banged SPI commands to the PGA
Receiving commands from the PC
Modifying the PWM frequency and duty cycle
Changing the motor’s direction
Changing the internal oscillator frequency
Taking A/D converter measurements for RPM and
current
The PIC16F684 firmware implements a bit-banged
RS-232 USART running at 9600 bps. See Appendix C
for the RS-232 serial protocol used in this application
note. The C source code can be downloaded from
www.microchip.com. See Figure B-3 for the main
program flow.
FIGURE 6:
WINDOWS® USER INTERFACE SCREEN
Hardware
The hardware used in this application note contains
three major sections:
• Power stage for motor control
• Communication for RS-232
• Measurement for RPM and current
The power stage consists of a full H-bridge used for
bidirectional BDC motor control. PIC16F684 uses
RC2-RC5 as the four ECCP pins that interface with the
full H-bridge circuit.
The communication section consists of an RS-232
serial communication configuration. PIC16F684 uses
RA5 for sending and receiving RS-232 data.
DS00000893B-page 6
The measurement section consists of Microchip’s
MSC6S26 multi-channel PGA and a voltage divider
circuit for scaling the back EMF voltage, as discussed
in Section “Sensorless RPM Measurement”.
PIC16F684 communicates to the PGA via a 3-wire
bit-banged SPI interface. The CS pin is connected to
RA1. The SCK pin is connected to RA2. The SI pin is
connected to RC0. The VREF pin is connected to GND.
The RA0 pin is used as an analog input for measuring
RPM and current. The RA0 pin is connected to the
VOUT pin on the PGA. Channel 0 on the PGA is used
for RPM measurements. Channel 1 on the PGA is used
for current measurements. See Figure D-1 for the
schematic diagram of the hardware.
 2003-2014 Microchip Technology Inc.
AN893
CONCLUSION
PIC16F684 is well suited for low-cost bidirectional BDC
motor control. This application note demonstrates how
easy it is to calculate the necessary parameters for
using the ECCP in PWM mode, to initialize the
necessary ECCP registers, use the ECCP for
bidirectional BDC motor control and implement
sensorless RPM and current measurements. This
application note concludes by showing a full application
implementation using PC Windows software,
PIC16F684 firmware and motor control hardware.
REFERENCES
1.
2.
3.
PIC16F684 14-Pin, Flash-Based 8-Bit CMOS
Microcontrollers with nanoWatt Technology
Data
Sheet
(DS41202):
www.microchip.com/PIC16F684
MCP6S21/2/6/8 Single-Ended, Rail-to-Rail I/O,
Low Gain PGA Data Sheet (DS21117):
www.microchip.com/MCP6S26
MPLAB® IDE: www.microchip.com/archives
 2003-2014 Microchip Technology Inc.
DS00000893B-page 7
AN893
APPENDIX A:EQUATIONS
EQUATION A-1:
PWM FREQUENCY (HZ)
1
Frequency = -----------------Period
EQUATION A-2:
PWM PERIOD (SECONDS)
Period =   PR2 + 1    4  T OSC  TMR2Prescaler
EQUATION A-3:
DUTY CYCLE (SECONDS)
DC = CCPR1L:CCP1CON<5:4>  T OSC  TMR2Prescaler
EQUATION A-4:
VOLTAGE ACROSS BDC MOTOR (VOLTS)
DC
V BDC = V DD   ------------------
 Period
EQUATION A-5:
RESOLUTION (BITS)
F OSC
log  ------------------------------------------------------------------------
  FPWM  TMR2Prescaler 
Resolution = -------------------------------------------------------------------------------------log  2 
EQUATION A-6:
PR2
Period
PR2 =  ----------------------------------------------------------------------- – 1
 4  T OSC  TMR2Prescaler
EQUATION A-7:
CCPR1L:CCP1CON<5:4>
DC
CCPR1L:CCP1CON<5:4> = -------------------------------------------------------------T OSC  TMR2Prescaler
EQUATION A-8:
RPM
ADRESH:ADRESL
RPM =  1 –  ------------------------------------------------   RPM MAX



1024
DS00000893B-page 8
 2003-2014 Microchip Technology Inc.
AN893
EQUATION A-9:
POWER (W)
2
2
P = I MAX  R = 3  0.1 = 0.9W
EQUATION A-10:
MAXIMUM VOLTAGE ACROSS RESISTOR (VOLTS)
V NOMINALMAX = I MAX  R = 3  0.1 = 0.3V
EQUATION A-11:
MAXIMUM VOLTAGE AFTER AMPLIFICATION (VOLTS)
V GAINMAX = V NOMINALMAX  Gain = 0.3  16 = 4.8V
EQUATION A-12:
BITS OF RESOLUTION
2
EQUATION A-13:
X
V GAINMAX
= ---------------------------  1024 , where X is bits of resolution
V DD
BITS OF RESOLUTION SOLVED FOR X
GAINMAX
4.8
V
---------------------------  1024
log  -------  1024
 V DD

 5.0

X = log --------------------------------------------------- = --------------------------------------- = 9.94 bits
log  2 
log  2 
EQUATION A-14:
GAIN VOLTAGE MEASURED (VOLTS)
 ADRESH:ADRESL
V GAIN =  ------------------------------------------------  V GAINMAX
X


2
EQUATION A-15:
ACTUAL VOLTAGE ACROSS RESISTOR (VOLTS)
V GAIN
V ACTUAL = ---------------Gain
EQUATION A-16:
CURRENT THROUGH RESISTOR (VOLTS)
V ACTUAL
I = ----------------------R
 2003-2014 Microchip Technology Inc.
DS00000893B-page 9
AN893
APPENDIX B:
FIGURE B-1:
FLOWCHARTS
CALCULATING TIMER2 PRESCALER AND PR2 ALGORITHM GIVEN A PWM
FREQUENCY
Start
i=0
PR2 = 1000
Prescaler = 1
Is PR2 > 255?
No
Done
Yes
Is Prescaler > 16?
No
Prescaler = 2i
Yes
Is Prescaler > 16?
Yes
Calculate PR2
Equation A-6
No
i=i+2
Legend: PR2 = unsigned int.
Prescaler = unsigned char.
i = unsigned char.
DS00000893B-page 10
 2003-2014 Microchip Technology Inc.
AN893
FIGURE B-2:
PWM SAMPLING AND
AVERAGING ALGORITHM
FIGURE B-3:
MAIN ROUTINE
Start
Start
Initialize
PIC16F684
Measure PWM
Period
All samples
taken?
Yes
Average
Samples
Is command
received?
No
Yes
No
Done
Synchronize on
PWM High-Edge
Is command
valid?
No
Yes
Process
Command
Delay
Start A/D
Conversion
Is A/D
conversion
complete?
Send Response
No
Yes
Log Sample
Increment Delay
 2003-2014 Microchip Technology Inc.
DS00000893B-page 11
AN893
APPENDIX C:
RS-232 SERIAL
COMMUNICATIONS
PROTOCOL
Since one-wire communication is being implemented,
the command sent from the PC to PIC16F684 will be
echoed back. An example of this can be seen on the
firmware version box in the Windows GUI. The
firmware version box contains (f)[F1.0]. The PC
command sent is (f). The PIC16F684 firmware
response is [F1.0]. The general form of the
command and response are described below as well
as the commands implemented in the example
application.
C.1
General Form
PC Command:
<command start><command><data> <command end>
Ex: (f).
C.2
Example Application Command
Set
PR2 Command: Loads data into the PR2 register.
PC Command: (aAF)
PIC16F684 Response: [A]
CCPR1L Command: Loads data into the CCPR1L
register.
PC Command: (b1F)
PIC16F684 Response: [B]
CCP1CON<5:4>
CCP1CON<5:4>.
Command:
Loads
data
into
PC Command: (c3)
PIC16F684 Response: [C]
Timer2 Prescaler Command: Loads data into
T2CON<1:0>.
PC Command: (d0)
PIC16F684 Response:
<response start><response><data><response end>
Ex: [F1.0]
PIC16F684 Response: [D]
FOSC Command: Loads data into OSCCON<6:4>.
PC Command: (e6)
PIC16F684 Response: [E]
Note 1: The <command> is lower case.
2: The <response> is the upper case of
the <command>.
3: If there is no <data> to be sent, the
<command
end> can be the next
character sent.
4: All <data> is sent in Hex format.
5: All <data> is sent Most Significant Byte
first.
6: Invalid commands are ignored and
responded with a [?].
7: Invalid <command start> is ignored
and not responded to.
8: Commands and responses are currently
set to ten characters each, this can be
adjusted in the source code on both the
Windows software and PIC16F684
firmware.
DS00000893B-page 12
FW Command: Requests the PIC16F684 firmware
version.
PC Command: (f)
PIC16F684 Response: [F1.0]
Motor Control
CCP1CON<7:6>.
Command:
Loads
data
into
PC Command: (g3)
PIC16F684 Response: [G]
RPM Measurement Command: Requests a RPM
measurement.
PC Command: (h)
PIC16F684 Response: [H3FF]
Current Measurement
Current measurement.
Command:
Requests
a
PC Command: (i)
PIC16F684 Response: [I2BC]
 2003-2014 Microchip Technology Inc.
AN893
APPENDIX D:
HARDWARE SCHEMATIC
PIC16F684
FIGURE D-1:
SCHEMATICS
 2003-2014 Microchip Technology Inc.
DS00000893B-page 13
AN893
FIGURE D-2:
BDC MOTOR CONTROL SCHEMATIC
DS00000893B-page 14
 2003-2014 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, KEELOQ, KEELOQ logo, MPLAB, mTouch, PIC,
PICmicro, PICSTART, PIC32 logo, rfPIC, SST, SST Logo,
SuperFlash 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,
MTP, SEEVAL and The Embedded Control Solutions
Company are registered trademarks of Microchip Technology
Incorporated in the U.S.A.
Silicon Storage Technology is a registered trademark of
Microchip Technology Inc. in other countries.
Analog-for-the-Digital Age, Application Maestro, BodyCom,
chipKIT, chipKIT logo, CodeGuard, dsPICDEM,
dsPICDEM.net, dsPICworks, dsSPEAK, ECAN,
ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial
Programming, ICSP, Mindi, MiWi, MPASM, MPF, MPLAB
Certified logo, MPLIB, MPLINK, Omniscient Code
Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit,
PICtail, REAL ICE, rfLAB, Select Mode, SQI, Serial Quad I/O,
Total Endurance, TSHARC, UniWinDriver, WiperLock, ZENA
and Z-Scale 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.
GestIC and ULPP are 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.
© 2003-2014, Microchip Technology Incorporated, Printed in
the U.S.A., All Rights Reserved.
Printed on recycled paper.
QUALITY MANAGEMENT SYSTEM
CERTIFIED BY DNV
== ISO/TS 16949 ==
 2003-2014 Microchip Technology Inc.
ISBN: 978-1-63276-321-1
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.
DS00000893B-page 15
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
Web Address:
www.microchip.com
Asia Pacific Office
Suites 3707-14, 37th Floor
Tower 6, The Gateway
Harbour City, Kowloon
Hong Kong
Tel: 852-2943-5100
Fax: 852-2401-3431
India - Bangalore
Tel: 91-80-3090-4444
Fax: 91-80-3090-4123
Austria - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark - Copenhagen
Tel: 45-4450-2828
Fax: 45-4485-2829
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Austin, TX
Tel: 512-257-3370
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
Novi, MI
Tel: 248-848-4000
Houston, TX
Tel: 281-894-5983
Indianapolis
Noblesville, IN
Tel: 317-773-8323
Fax: 317-773-5453
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
New York, NY
Tel: 631-435-6000
San Jose, CA
Tel: 408-735-9110
Canada - Toronto
Tel: 905-673-0699
Fax: 905-673-6509
DS00000893B-page 16
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
China - Beijing
Tel: 86-10-8569-7000
Fax: 86-10-8528-2104
China - Chengdu
Tel: 86-28-8665-5511
Fax: 86-28-8665-7889
China - Chongqing
Tel: 86-23-8980-9588
Fax: 86-23-8980-9500
China - Hangzhou
Tel: 86-571-8792-8115
Fax: 86-571-8792-8116
China - Hong Kong SAR
Tel: 852-2943-5100
Fax: 852-2401-3431
China - Nanjing
Tel: 86-25-8473-2460
Fax: 86-25-8473-2470
China - Qingdao
Tel: 86-532-8502-7355
Fax: 86-532-8502-7205
China - Shanghai
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
China - Shenyang
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
China - Shenzhen
Tel: 86-755-8864-2200
Fax: 86-755-8203-1760
China - Wuhan
Tel: 86-27-5980-5300
Fax: 86-27-5980-5118
China - Xian
Tel: 86-29-8833-7252
Fax: 86-29-8833-7256
India - New Delhi
Tel: 91-11-4160-8631
Fax: 91-11-4160-8632
France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
India - Pune
Tel: 91-20-3019-1500
Japan - Osaka
Tel: 81-6-6152-7160
Fax: 81-6-6152-9310
Germany - Dusseldorf
Tel: 49-2129-3766400
Germany - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Japan - Tokyo
Tel: 81-3-6880- 3770
Fax: 81-3-6880-3771
Germany - Pforzheim
Tel: 49-7231-424750
Korea - Daegu
Tel: 82-53-744-4301
Fax: 82-53-744-4302
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
Italy - Venice
Tel: 39-049-7625286
Malaysia - Kuala Lumpur
Tel: 60-3-6201-9857
Fax: 60-3-6201-9859
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Malaysia - Penang
Tel: 60-4-227-8870
Fax: 60-4-227-4068
Poland - Warsaw
Tel: 48-22-3325737
Philippines - Manila
Tel: 63-2-634-9065
Fax: 63-2-634-9069
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
Taiwan - Hsin Chu
Tel: 886-3-5778-366
Fax: 886-3-5770-955
Spain - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
Sweden - Stockholm
Tel: 46-8-5090-4654
UK - Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820
Taiwan - Kaohsiung
Tel: 886-7-213-7830
Taiwan - Taipei
Tel: 886-2-2508-8600
Fax: 886-2-2508-0102
Thailand - Bangkok
Tel: 66-2-694-1351
Fax: 66-2-694-1350
China - Xiamen
Tel: 86-592-2388138
Fax: 86-592-2388130
China - Zhuhai
Tel: 86-756-3210040
Fax: 86-756-3210049
03/25/14
 2003-2014 Microchip Technology Inc.