Section 32. High-Level Device Integration HIGHLIGHTS 32 This section of the manual contains the following topics: Introduction .................................................................................................................. 32-2 Device Configuration.................................................................................................... 32-2 Device Identification..................................................................................................... 32-6 On-Chip Voltage Regulation ........................................................................................ 32-7 Related Application Notes............................................................................................ 32-9 Revision History ......................................................................................................... 32-10 © 2010 Microchip Technology Inc. DS39719D-page 32-1 High-Level Device Integration 32.1 32.2 32.3 32.4 32.5 32.6 PIC24F Family Reference Manual 32.1 INTRODUCTION At their highest level of functionality, PIC24F devices integrate several features that affect the entire device as a whole. They add convenience and flexibility of design for the user, and allow the devices to be incorporated into a wider range of designs. These include: • Flexible Configuration Options – Allowing users to select a wide range of basic microcontroller operating options and changing them if needed during run time. • Device Identification – Allowing electronic confirmation of a device part number and revision level in the target application. • On-Chip Voltage Regulator – Allowing the device to be used over a range of application voltage levels. 32.2 DEVICE CONFIGURATION The basic behavior and operation of PIC24F devices are set by the device Configuration bits. These allow the user to select a wide range of options and optimize the microcontroller’s operation to the application’s requirements. In all PIC24F family devices, device Configuration bits are mapped to the device’s program memory space, starting at location F80000h. This is beyond the user program memory space and belongs to the configuration memory space (800000h-FFFFFFh). The method by which the Configuration bits are programmed differs between major device families. The details are discussed in Section 32.2.1 “PIC24F J-Series Flash Devices” and Section 32.2.2 “PIC24F K-Series Flash Devices”. Table 32-1 provides a list of the most common Configuration bit options. Note that this is not a comprehensive list; certain device families will have unique configuration options that are specific to its peripheral set. Each Configuration bit and its operation is described in the relevant section of the “PIC24F Family Reference Manual”. For more information on Configuration bit mapping of a particular device, refer to the specific device data sheet. Note: DS39719D-page 32-2 All the bits that are described here are not available on all the devices. © 2010 Microchip Technology Inc. Section 32. High-Level Device Integration Table 32-1: Common PIC24F Device Configuration Bits Configuration Bit Function Enables boot segment and sets security level (3 bits, up to 8 configuration options). BWRP Enables boot segment write protection DEBUG Enables background debugger operation with external device control. DISUVREG Disables internal USB 3.3V regulator. FCKSM Configures device clock switching and Fail-Safe Clock Monitor (2 bits, 3 configuration options). FNOSC Selects initial (default) device oscillator (3 bits, up to 8 configuration options). FWDTEN Enables Watchdog Timer. FWPSA Selects WDT prescaler. GCP or GSS0 Enables code protection for the program memory space. GWRP Enables write/erase protection for program memory. I2CxSEL Selects standard or alternate I/O pin mapping of SCLx and SDAx. ICS or FICD Selects the ICSP™ port used with ICD (2 bits, up to 4 options). IESO Enables Two-Speed Start-up. IOL1WAY Selects one-time or unrestricted run-time changes to peripheral mapping. JTAGEN Enables dedicated JTAG port and disables corresponding I/O ports on designated pins. OSCIOFCN Selects function of OSC2 pin (I/O port or CLKO) in certain external oscillator modes. POSCMD Selects primary (external) oscillator configuration (2 bits, 4 configurations). PL96DIS Bypasses 96 MHz PLL. PLLDIV Selects USB 96 MHz PLL prescaler (3 bits, up to 8 options). SOSCEL Selects secondary oscillator power option. WDTPS Selects WDT postscaler (4 bits, up to 16 configuration options). WINDIS Selects Windowed Operation mode for Watchdog Timer. WPCFG Protects or unprotects write and erase of last (upper most) page, regardless of the selection of the write-protect segment. WPFP The start/end page address of the write-protect segment. If WPEND = 0, the WPFP bits are the start page address, and if WPEND = 1, the WPFP bits are the end page address (7 to 9 bits, device dependent). WPEND Selects the write-protect segment to start from page 0 and end at the page defined by the WPFP bits; or start from the page defined by the WPFP bits and end at user program memory upper boundary. WPDIS Protects or unprotects the selected write-protect segment and last page if WPCFG is cleared. © 2010 Microchip Technology Inc. DS39719D-page 32-3 32 High-Level Device Integration BSS PIC24F Family Reference Manual 32.2.1 PIC24F J-Series Flash Devices For PIC24F devices with J-series Flash memory, the Configuration bits are implemented as volatile memory; that is, the configuration data must be loaded each time the device is powered up. The actual configuration data is stored in the last several words at the end of the on-chip program memory space, known as the Flash Configuration Words (abbreviated as CW). During all types of device Resets, the configuration data is automatically loaded from the Flash Configuration Words to the proper Configuration registers. The CWs are 16-bit, packed representations of the actual device Configuration bits; the actual locations of which are distributed among several locations in configuration space. The number of CWs implemented for a particular device family depends on the device’s feature set and configuration options; there are always at least two and occasionally as many as four. They are numbered sequentially, starting from the last address in program memory and working towards lower addresses. Table 32-2 provides the CW address for common program memory sizes. Refer to the device data sheet for part-specific implementation. The Configuration bits can be programmed (read as ‘0’), or left unprogrammed (read as ‘1’), to select various configuration options. To prevent inadvertent configuration changes during code execution, all programmable device Configuration bits are write-once. After a bit is initially written during a power cycle or any Reset, it cannot be written to again. Any change of a Configuration bit (not a change to a Flash Configuration Word) causes a Configuration Mismatch (CM) Reset, which then forces a reload of the original values. Table 32-2: Flash Configuration Word Addresses for Typical Program Memory Sizes Memory Size Configuration Word Addresses Kbytes K words CW1 CW2 CW3(1) 16 5.5 002BFEh 002BFCh 002BFAh 32 11 0057FEh 0057FCh 0057FAh 64 22 00ABFEh 00ABFCh 00ABFAh 128 44 0157FEh 0157FCh 0157FAh 87.5 02ABFEh 02ABFCh 02ABFAh 256 Note 1: Only implemented in some device families. CW4, if implemented, is located at the address ([CW3]-2). 32.2.1.1 CONSIDERATIONS WHEN USING FLASH CONFIGURATION WORDS When creating applications for J-series Flash devices, always specifically allocate the location of the Flash Configuration Word for configuration data. This is to ensure that the program code is not stored in this address when the code is compiled. The upper byte of all the Flash Configuration Words in the program memory should always be ‘1111 1111’. This makes them appear to be NOP instructions in the remote event that their locations are ever executed by accident. Since the Configuration bits are not implemented in the corresponding locations, writing ‘1’ to these locations has no effect on device operation. As mentioned before, changes to the actual device Configuration bits during run time would cause a Configuration Mismatch Reset. This does not prevent changes to Flash Configuration Words during normal operation. This also makes it possible for an application to change its hardware configuration by writing new data to these Flash Configuration Words, and then executing a RESET command, which results in reloading the new values. DS39719D-page 32-4 © 2010 Microchip Technology Inc. Section 32. High-Level Device Integration 32.2.2 PIC24F K-Series Flash Devices For PIC24F devices with K-series Flash memory, the Configuration bits are implemented as a physically separate block of nonvolatile memory. Once programmed, configuration data is maintained indefinitely. Although they act like fuses, the Configuration bits are freely reprogrammable. Since they lie inside the configuration memory space, the Configuration bits are not directly accessible; they can only be written and read using table read and table write instructions. Like J-series Flash devices, the Configuration bits can be programmed (read as ‘0’), or left unprogrammed (read as ‘1’), to select various configuration options. Changes to Configuration bits during programming take effect immediately and do not require a device Reset. The implementation of the Configuration bits in K-series devices makes a Configuration Mismatch (CM) error and Reset during full-speed operation virtually impossible. However, a severe device disturbance (such as an ESD event) during Sleep or Deep Sleep may disrupt the configuration safety check, resulting in a CM Reset. Table 32-3: Typical PIC24F K-Series Configuration Registers Register Name Primary Function Address FBS Boot Segment Protect F80000h FGS General Segment Protect F80004h FOSCEL Oscillator Select F80006h FOSC Oscillator Configure F80008h FWDT Watchdog Timer Configure F8000Ah FPOR Reset Configure F8000Ch FICD Debug Configure F8000Eh FDS Deep Sleep Configure F80010h © 2010 Microchip Technology Inc. DS39719D-page 32-5 32 High-Level Device Integration Unlike the Flash Configuration Words in J-series devices, the Configuration bits in K-series devices are organized into 8-bit registers, always the Least Significant Byte (LSB) of a program memory address. These Configuration registers are symbolically named according to their primary function (i.e., General Segment Protection, Oscillator Selection, etc.). Table 32-3 shows the typical names and addresses of Configuration registers in K-series devices. Note that not all Configuration registers are implemented on all devices, and certain devices with extended feature sets, may have additional registers. In addition, there may be variations in naming or location of registers in certain devices. Refer to the device data sheet for specific information. PIC24F Family Reference Manual 32.3 DEVICE IDENTIFICATION PIC24F devices have two read-only registers that provide device-specific identification information. These are located near the end of the device configuration space, starting at FF0000h. Like the Flash Configuration Words, the Device ID registers are 24 bits wide and the upper 8 bits are unimplemented. Both registers can be read using table read instructions. The DEVID register at FF0000h (Register 32-1) identifies the Microchip microcontroller architectural family and the specific part number. The DEVREV register at FF0002h (Register 32-2) identifies the particular silicon revision for that device in terms of major and minor revision levels (“letter and dot revision” format). For any given family of PIC24F devices, the corresponding device data sheet provides a list of values for DEVID and the corresponding part numbers for that family. The association of the value of DEVREV to a silicon revision level is different for each part number. The translation of a DEVREV value to a revision level can be found in part-specific literature, such as device errata, or through Microchip’s development tools, such as MPLAB® IDE. For assistance with interpreting values of DEVREV, contact Microchip technical support or your local Microchip representative. Register 32-1: DEVID: Device ID Register U — bit 23 U — U — U — U — U — U — R FAMID7 bit 15 R FAMID6 R FAMID5 R FAMID4 R FAMID3 R FAMID2 R FAMID1 R FAMID0 bit 8 R DEV7 bit 7 R DEV6 R DEV5 R DEV4 R DEV3 R DEV2 R DEV1 R DEV0 bit 0 Legend: R = Readable bit bit 23-16 bit 15-8 bit 7-0 U — bit 16 U = Unimplemented bit, read as ‘0’ Unimplemented: Read as ‘0’ FAMID<7:0>: Device Family Identifier bits DEV<7:0>: Individual Device Identifier bits Register 32-2: DEVREV: Device Revision Register U — bit 23 U — U — U — U — U — U — U — bit 16 U — bit 15 U — U — U — U — U — U — U — U — U — bit 8 U — U — R DOT3 R DOT2 R DOT1 bit 7 Legend: R = Readable bit bit 23-4 bit 3-0 R DOT0 bit 0 U = Unimplemented bit, read as ‘0’ Unimplemented: Read as ‘0’ DOT<3:0>: Revision Identifier bits DS39719D-page 32-6 © 2010 Microchip Technology Inc. Section 32. High-Level Device Integration 32.4 ON-CHIP VOLTAGE REGULATION The PIC24FJ family powers its core digital logic at a nominal 2.5V. This may create an issue for designs that are required to operate at a higher typical voltage, such as 3.3V. To simplify system design, all PIC24FJ family devices incorporate an on-chip regulator that allows the device to run its core logic from VDD. PIC24FJ family devices use two different control systems to control the on-chip regulators. In some devices, the regulator is enabled by supplying VDD to the control pin, while in some devices, the regulator is disabled when the control pin is supplied with VDD. If the regulator is enabled when VDD is supplied, the control pin is named ENVREG. If the regulator is disabled when VDD is supplied, the control pin is named DISVREG. Note: When enabled, the regulator draws power from the VDD pins to provide power to the digital logic. When disabled, power for the core logic must be supplied to the device on the VDDCORE/VCAP pin. This can be done by supplying separate VDD and VDDCORE voltage to allow the I/O pins to run at higher voltage levels (nominal 2.5V and 3.3V for VDDCORE and VDD, respectively). If the higher voltage is not required, the VDDCORE/VCAP and VDD pins can be tied together to operate at a lower nominal voltage. Refer to the device data sheet for device-specific voltage limitations. If the regulator is enabled, a capacitor with a low, effective, series resistance (made of tantalum or ceramic) must be connected to the VDDCORE/VCAP pin. This helps maintain the stability of the regulator. The recommended values for the filter capacitor and its ESR (Equivalent Series Resistance) are provided in the Electrical Characteristics section of the specific device data sheet. Possible configurations for both positive enable and positive disable regulators are provided in Figure 32-1. 32.4.1 On-Chip Regulator and Power-on Reset (POR) When the voltage regulator is enabled, it takes approximately 20 s for it to generate output from the point where VDD attains the stability. During this time, designated as TSTARTUP, code execution is disabled. TSTARTUP is applied every time the device resumes operation after any Power-Down modes and Sleep mode. If the regulator is disabled, a separate Power-up Timer (PWRT) is automatically enabled. The PWRT adds a fixed delay of 64 ms nominal delay at device start-up. 32.4.2 On-Chip Regulator and Brown-out Reset (BOR) When the on-chip regulator is enabled, the PIC24F family devices also have a simple brown-out capability. If the voltage supplied to the regulator is inadequate to maintain device operation, the regulator Reset circuitry will generate a Brown-out Reset. This event is captured by the BOR flag bit (RCON<1>). The brown-out voltage levels are listed in the specific device data sheet. 32.4.3 Voltage Regulator Tracking Mode When the on-chip regulator is enabled, the regulator provides a constant voltage of 2.5V nominal to the digital core logic. The regulator can provide this level from a VDD of about 2.7V all the way up to the device’s VDDMAX. It does not have the capability to rise the regulator output voltage to 2.5V when the VDD drops below 2.5V. In order to prevent “brown-out” conditions when the voltage drops too low for the regulator, devices with the Low-Voltage Detect (LVD) feature enter a Tracking mode. In Tracking mode, the regulator output follows VDD, with a typical voltage drop of 100 mV. © 2010 Microchip Technology Inc. DS39719D-page 32-7 32 High-Level Device Integration The ENVREG/DISVREG pins are not available on all devices. Please refer to the specific device data sheet for more information. PIC24F Family Reference Manual When the device enters Tracking mode, it is no longer possible to operate at full speed. To provide information on when the device enters Tracking mode, the on-chip regulator includes a simple, Low-Voltage Detect circuit. When VDD drops below full-speed operating voltage, the circuit sets the Low-Voltage Detect Interrupt Flag, LVDIF. This can be used to generate an interrupt and put the application into a low-power operational mode or trigger an orderly shutdown. Low-Voltage Detection is only available when the regulator is enabled. If VDD drops below minimum Tracking mode voltage, a Brown-out Reset will be generated. Refer to the Electrical Characteristics section of the specific device data sheet to find the LVD trip point and the BOR trip point. Figure 32-1: Connections for On-Chip Regulator (Positive Enable and Positive Disable) Positive Enable (ENVREG) Devices Regulator Enabled (ENVREG tied to VDD): Positive Disable (DISVREG) Devices Regulator Enabled (DISVREG tied to VSS): 3.3V 3.3V PIC24F PIC24F VDD VDD ENVREG DISVREG VDDCORE/VCAP CEFC (10 F typ) VSS Regulator Disabled (ENVREG tied to ground): 2.5V(1) VDDCORE/VCAP CEFC (10 F typ) 3.3V(1) VSS Regulator Disabled (DISVREG tied to VDD): 2.5V(1) 3.3V(1) PIC24F PIC24F VDD VDD ENVREG DISVREG VDDCORE/VCAP VDDCORE/VCAP VSS VSS Regulator Disabled (VDD tied to VDDCORE): Regulator Disabled (VDD tied to VDDCORE): 2.5V(1) 2.5V(1) PIC24F PIC24F Note 1: VDD VDD ENVREG DISVREG VDDCORE/VCAP VDDCORE/VCAP VSS VSS These are typical operating voltages. Refer to the Electrical Characteristics in the specific device data sheet for the full operating ranges of VDD and VDDCORE. DS39719D-page 32-8 © 2010 Microchip Technology Inc. Section 32. High-Level Device Integration 32.5 RELATED APPLICATION NOTES This section lists application notes that are related to this section of the manual. These application notes may not be written specifically for the PIC24F device family, but the concepts are pertinent and could be used with modification and possible limitations. The current application notes related to the High-Level Device Integration are: Title Application Note # No related application notes at this time. © 2010 Microchip Technology Inc. Please visit the Microchip web site (www.microchip.com) for additional application notes and code examples for the PIC24F family of devices. DS39719D-page 32-9 32 High-Level Device Integration Note: PIC24F Family Reference Manual 32.6 REVISION HISTORY Revision A (January 2007) This is the initial released revision of this document. Revision B (March 2008) Minor edits to text throughout document. Revision C (January 2010) Updated Section 32.2 “Device Configuration” with new information on device configuration for K-series Flash devices, and reorganization of information on J-series Flash devices. Minor re-ordering of other topics. Revision D (May 2010) This revision includes the following updates: • Added a shaded note to the second paragraph of 32.4 “On-Chip Voltage Regulation” regarding availability of the ENVREG/DISVREG pins DS39719D-page 32-10 © 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: 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. DS39719D-page 32-11 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 DS39719D-page 32 -12 2010 Microchip Technology Inc.