Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
176 views16 pages

USB-to-I C Bridging With USB47xx/USB49xx Hubs

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 16

AN2438

USB-to-I2C Bridging with USB47xx/USB49xx Hubs

Author: Mick Davis and Jeffrey Hunt


Microchip Technology Inc.

INTRODUCTION
The USB-to-I2C Bridging feature gives system designers using Microchip hubs expanded system control and potential
BOM reduction. The use of a separate USB-to-I2C device is no longer required and a downstream USB port is not lost
as occurs when a standalone USB-to-I2C device is implemented. This feature is available on the Microchip USB47xx/
USB49xx Automotive Hubs.
Commands may be sent from the USB host to the internal Hub Feature Controller device in the Microchip hub to perform
the following functions:
• Configure I2C Pass-Through Interface
• I2C Write
• I2C Read

SECTIONS
General Information
Part Number-Specific Information
Microchip Software Solutions
Manual Implementation
Examples
Clock Configuration

REFERENCES
Consult the following documents for details on the specific parts referred to in this application note:
• Microchip USB4712 Data Sheet
• Microchip USB4715 Data Sheet
• Microchip USB4912 Data Sheet
• Microchip USB4914 Data Sheet
• Microchip USB4916 Data Sheet
• Microchip USB4925 Data Sheet
• Microchip USB4927 Data Sheet
• Microchip Configuration Options for USB491x/492x/4715 Application Note

 2017-2018 Microchip Technology Inc. DS00002438C-page 1


AN2438
GENERAL INFORMATION
The USB-to-I2C Bridging features in Microchip hubs work via host commands sent to a Hub Feature Controller embed-
ded within the hub located on an additional internal USB port. For the bridging features to work correctly, this internal
Hub Feature Controller must be enabled by default. Table 1 provides details on default Hub Feature Controller setters
by device.

TABLE 1: DEFAULT SETTINGS FOR THE HUB FEATURE CONTROLLER ENABLE


Hub Feature Controller Default
Part Number Part Summary
Setting
USB4712 One USB upstream port and one USB Flex port Enabled by default
PID = 0x4940
USB4715 One USB upstream port and four USB Flex ports Enabled by default
PID = 0x4940
USB4912 One USB upstream port, one USB CarPlay port, and Enabled by default
one non-removable standard USB port PID = 0x4940
USB4914 One USB upstream port, two USB CarPlay ports, and Enabled by default
one non-removable standard USB port PID = 0x4940
USB4916 One USB upstream port, four USB CarPlay ports, and Enabled by default
one non-removable standard USB port PID = 0x4940
USB4925 One USB upstream port, one secondary USB down- Enabled by default
stream port, two USB CarPlay ports, and one non- PID = 0x4940
removable standard USB port
USB4927 One USB upstream port, one secondary USB down- Enabled by default
stream port, four USB CarPlay ports, and one non- PID = 0x4940
removable standard USB port
The Hub Feature Controller is a USB 2.0 WinUSB class device connected to an internal USB 2.0 port in the hub. For
example, in a four-port hub, the Hub Controller is connected to port 5 of the USB 2.0 portion of the hub. The Product ID
(PID) for the Hub Controller is 0x4940. All bridging commands are addressed to the Hub Controller and not the hub.
See Figure 1.

FIGURE 1: MICROCHIP HUB CONTROLLER EXAMPLE

USB Host

Upstream
Microchip Port
prt(x+1)
Hub Hub Feature GPIO
Controller I2C
VID = 0x0424 SPI
PID = (see Table 1)
UART
prt1 prt2 prt(x)
Downstream Downstream Downstream
Port Port Port

USB Devices

DS00002438C-page 2  2017-2018 Microchip Technology Inc.


AN2438
I2C Bridging Commands
The following I2C functions are supported:
• I2C Write
• I2C Read

I2C WRITE
The I2C interface works as a complete pass-through. This means that the host must properly arrange data payloads in
the appropriate I2C-compatible format and bit order, including the I2C slave device address. Up to 255 bytes of data
payload may be sent per I2C write command sequence.

I2C READ
The I2C interface works as a complete pass-through. This means that the host must properly arrange data payloads in
the appropriate I2C-compatible format and bit order, including the I2C slave device address. Up to 255 bytes of data
payload may be sent per I2C read command sequence.

I2C INTERFACE SETUP REQUIREMENTS


The I2C interface operates at 100 kHz clock speed by default. Refer to Clock Configuration for other supported
speeds.The I2C interface is supported in all configuration options.

 2017-2018 Microchip Technology Inc. DS00002438C-page 3


AN2438
PART NUMBER-SPECIFIC INFORMATION

Part Summary
Table 2 and Table 3 display the I2C interface pins by part number.

TABLE 2: USB4712/USB4715/USB4912/USB4914/USB4925 I2C Interface Pins


Pin Number Name Notes
2
37 PROG_FUNC1 This pin is the I C Data, SMB1_DAT.
38 PROG_FUNC8 This pin is the I2C Clock, SMB1_CLK.

TABLE 3: USB4916/4927 I2C INTERFACE PINS


Pin Number Name Notes
26 PROG_FUNC17 This pin is the I2C Data, SMB1_DAT.
15 PROG_FUNC7 This pin is the I2C Clock, SMB1_CLK.

DS00002438C-page 4  2017-2018 Microchip Technology Inc.


AN2438
MICROCHIP SOFTWARE SOLUTIONS
Microchip currently offers two publicly available software solutions to facilitate USB-to-I2C Bridging in a USB47xx/
USB49xx series hub on Windows and Linux.

MPLAB® Connect Configurator Package (For Windows)


The MPLAB® Connect Configurator (MPLABC) package consists of both GUI-based and CLI-based tools which support
USB-to-I2C Bridging in a standalone form. In addition to these, it contains a Dynamically Linked Library (DLL) for Win-
dows which can be used for implementing USB-to-I2C Bridging feature in custom applications using C programming
language. The MPLABC DLL consists of the following:
• User's guide: A detailed description of how to use the DLL API to call each function
• Release notes
• Library files: A .dll and a .lib file
• Example code

Application Code Examples (For Linux)


For implementing USB-to-I2C Bridging on Linux, you can use the following USB47xx/USB49xx Linux Application Code
Example (ACE):
• ACE009 USB-to-I2C Bridging: This ACE demonstrates how to use the I2C Master interface of the hub to perform
read/write operations. It also allows the user to select from a range of I2C clock frequencies.
This application example uses libusb library for Linux to build and send USB packets as described in Manual Implemen-
tation. It is a full-feature code example that consists of:
• Example code with minimal abstraction and in-line comments describing the various steps involved
• A Makefile
• README
This ACE can be used as a standalone application and can be integrated into existing applications.

Note: Visit the product page on www.microchip.com for any of the hubs listed in this document to download the
software solution for the desired operating system.

 2017-2018 Microchip Technology Inc. DS00002438C-page 5


AN2438
MANUAL IMPLEMENTATION
The USB-to-I2C Bridging features may be implemented at the lowest level if you have the ability to build USB packets.
This approach is required if you are not using a Windows host system and cannot use the solutions specified in Micro-
chip Software Solutions.
The details of the I2C pass-through control packets are shown below. All USB-to-I2C Bridging commands must be sent
directly to Endpoint 0 of the Hub Feature Controller connected to the last downstream port of the Microchip hub (i.e.:
located on port 5 of a 4-port hub).

I2C Control Flags


Both the Read and Write commands have a special control flag parameter which is defined in Table 4:

TABLE 4: I2C CONTROL FLAGS


Bits Control Usage
2–7 Reserved N/A
2 SEND_NACK If asserted, NACK the last byte in the transfer.
1 SEND_START If asserted, send a Start condition as the first step in the I2C com-
mand.
0 SEND_STOP If asserted, send a Stop condition as the last step of this command.

I2C Write Command


This command is used to send data to an I2C peripheral connected to the USB hub. Both the I2C control flags (defined
in I2C Control Flags) and the I2C slave address are bundled into the wValue field. See Table 5.

TABLE 5: USB SETUP COMMAND


SETUP Parameter Value Description
bmRequestType 0x41 Vendor-specific command, host-to-device data transfer
bRequest 0x71 Register read command: CMD_I2C_WRITE
wValue 0xXXYY MSB (XX): I2C Control Flags (See I2C Control Flags.)
LSB (YY): I2C Slave device address
wIndex 0x0000 Reserved
wLength 0xNN N bytes of data to be sent in the data stage 
(in the OUT EP0 control transfer packets)

I2C WRITE USB TRANSACTION SEQUENCE


Command Phase: The Hub Feature Controller receives the SETUP packet with the parameters specified above.
Data Phase: The host sends multiple EP0 OUT packets of 64 bytes each with a total length of N bytes.
Status Phase: If an IN-ZERO length packet is sent from the Hub Feature Controller, the transfer was a success. If an
IN-STALL packet is sent from the Hub Feature Controller, there was an error during the transfer, likely due to missing
ACK from the I2C slave.

DS00002438C-page 6  2017-2018 Microchip Technology Inc.


AN2438
I2C Read Command
This command is used to read data from an I2C peripheral connected to the USB hub. Both the I2C control flags (defined
in I2C Control Flags) and the I2C slave address are bundled into the wValue field. (See Table 6.)

TABLE 6: USB SETUP COMMAND


SETUP Parameter Value Description
bmRequestType 0xC1 Vendor-specific command, device-to-host data transfer
bRequest 0x72 Register read command: CMD_I2C_READ
wValue 0xXXYY MSB (XX): I2C Control Flags (See I2C Control Flags.)
LSB (YY): I2C Slave device address
wIndex 0x0000 Reserved
wLength 0xNN N bytes of data to be sent in the data stage 
(in the OUT EP0 control transfer packets)

I2C READ USB TRANSACTION SEQUENCE


Command Phase: The Hub Feature Controller receives the SETUP packet with the parameters specified above.
Data Phase: The Hub Feature Controller sends Multiple EP0 IN packets of 64 bytes each with a total length of N bytes.
Status Phase: The host sends an OUT-Zero length ACK packet to acknowledge receipt of data.

 2017-2018 Microchip Technology Inc. DS00002438C-page 7


AN2438
EXAMPLES

Sending an I2C Write to an attached Device


1. Command Phase (SETUP Transaction): I2C address 0x61: Write a value of 0x12 to Register 0x15. Send the
following SETUP Register Write command (See Table 7 and Figure 2.) to Endpoint 0 of the Hub Feature Con-
troller to send an I2C Write command to the attached I2C device with the I2C address as defined in the wValue
field:
TABLE 7: I2C WRITE SETUP PACKET EXAMPLE
Field Value Note
bmRequestType 0x41 —
bRequest 0x71 —
wValue 0x0362 I2C Control Flag 0x03, I2C address 0x62 (0110 0010b)
wIndex 0x0000 —
wLength 0x0002 2 bytes of data (Register address + 1 byte of data)

FIGURE 2: I2C WRITE SETUP TRANSACTION EXAMPLE

2. Data Phase (OUT Transaction): The host sends an OUT packet followed by the data bytes of length wLength
starting from the specified address after receiving an IN packet. In this instance, Register 0x12 is being written
to Register 0x15 (Data = 0x15, 0x12). The Hub Feature Controller responds with a NYET after receiving the data.
(See Figure 3).

FIGURE 3: I2C WRITE OUT TRANSACTION EXAMPLE

3. Status Phase (IN Transaction): The host sends an IN packet to complete the USB Transfer. The Hub Feature
Controller responds with a zero-length data packet. The host ACKs to complete the bridging command. (See
Figure 4).

FIGURE 4: I2C WRITE IN TRANSACTION EXAMPLE

DS00002438C-page 8  2017-2018 Microchip Technology Inc.


AN2438
Sending an I2C Read to an attached Device
A read requires two operations:
• Transaction 1: Write the register to be read using I2C Write
• Transaction 2: Read the register content(s), depending on length
1. Command Phase 1 (SETUP Transaction 1): I2C address 0x62: Read Register 0x15. Send the following SETUP
Register Read command to Endpoint 0 of the Hub Feature Controller to prepare the I2C device to return data.
(See Table 8 and Figure 5.)
TABLE 8: I2C READ SETUP COMMAND 1 EXAMPLE
SETUP Parameter Value Note
bmRequestType 0xC1 —
bRequest 0x72 —
wValue 0x0762 I2
Control Flag = 0x07, C address = 0x62 (01100010b)
wIndex 0x0000 —
wLength 0x0001 —

FIGURE 5: I2C READ SETUP TRANSACTION 1 EXAMPLE

2. Data Phase 1 (OUT Transaction 1): The host sends an OUT packet followed by the data. The data in this
instance is 0x15. The Hub Feature Controller responds with a NYET. (See Figure 6.)

FIGURE 6: I2C READ OUT TRANSACTION 1 EXAMPLE

 2017-2018 Microchip Technology Inc. DS00002438C-page 9


AN2438
3. Status Phase 1 (IN Transaction 1): The host sends an IN packet to complete the USB transfer. The Hub Feature
Controller responds with a zero-length data packet. The host sends an ACK. (See Figure 7.)

FIGURE 7: I2C READ IN TRANSACTION 1 EXAMPLE

4. Command Phase 2 (SETUP Transaction 2): Send the following SETUP Register Read command to Endpoint
0 of the Hub Feature Controller to retrieve the requested data. (See Table 9 and Figure 8.)
TABLE 9: I2C READ SETUP COMMAND 2 EXAMPLE
SETUP Parameter Value Note
bmRequestType 0xC1 —
bRequest 0x71 —
wValue 0x0763 Control Flag = 0x07, I2C address = 0x63 (01100011b)
wIndex 0x0000 —
wLength 0x0001 —

FIGURE 8: I2C ADDRESS DATA PHASE BYTE 3 TRANSACTION 2 EXAMPLE

5. Data Phase 2 (IN Transaction 2): The host sends an IN packet, and the Hub Feature Controller responds with
the register contents (0x12). The host responds with an ACK. (See Figure 9.)

FIGURE 9: I2C READ IN TRANSACTION 2 EXAMPLE

6. Status Phase 2 (OUT Transaction 2): The host sends an OUT packet followed by a zero-data length packet.
The Hub Feature Controller responds with an ACK to complete the bridging command. (See Figure 10.)

FIGURE 10: I2C READ OUT TRANSACTION 2 EXAMPLE

DS00002438C-page 10  2017-2018 Microchip Technology Inc.


AN2438
CLOCK CONFIGURATION
There is a register to control I2C clock frequency named bI2CInter128Delay located at Address 0xBFD23410. If the DLL
API is used, Register bI2CInter128Delay is written automatically. The value of bI2CInter128Delay is determined using
this formula:
bI2CInter128Delay = 2 * (Time period of the I2C bus clock in microseconds).
The default value is 0x14 for 100 kHz clock. A value of 0x5A creates a delay of 900 μs.
This value will be multiplied by 10 in the firmware to have some buffer time in order not to miss any byte when operating
at a lower speed, thereby ensuring data integrity.
The maximum value that can be programmed in bI2CInter128Delay is 0x63. 
(i.e. a maximum of 99 * 10 = 990 μs can be added as the maximum Inter-128Byte delay)
To configure the USB-to-I2C bridge for 40 kHz clock operation, it is only necessary to write a value of 0x32 to
bI2CInter128Delay after any other I2C bridge setups have been made. The bI2CInter128Delay and Bus Frequency Con-
trol register values are provided for various supported clock frequencies in Table 10.
The method for writing to registers (including bI2CInter128Delay) through the SMBus (slave) is explained in Section 2.4
of AN2439 Configuration of the USB491x/USB492x/USB4715. The method for writing to registers (including
bI2CInter128Delay) through the SDK (DLL) is explained in “MPLAB Connect Configurator DLL User Manual.” An exam-
ple clock configuration is provided in the Clock Configuration Example.

TABLE 10: BUS FREQUENCY CONTROL AND B12CINTER128DELAY REGISTER VALUES FOR
COMMON 12C CLOCK FREQUENCIES
Bus Frequency Register bI2CInter128Delay Value
Frequency (kHz)
Value (Hex) Decimal Hexadecimal
400 0A00 5 05
250 081B 8 08
200 1818 10 0A
100 (default) 3131 20 14
80 3D3E 25 19
50 6363 40 28
40 7C7C 50 32
25 C7C7 80 50
20 F9F9 100 64

Clock Configuration Example


An example clock configuration for 40 kHz operation is provided below.
1. Write bI2CInter128Delay located at 0xBFD23410 with a value of 0x32 (40 kHz per Table 10). (See Table 11.)
TABLE 11: CLOCK CONFIGURATION COMMAND 1 EXAMPLE
SETUP Parameter Value Note
bmRequestType 0x40 Host-to-device data transfer
bRequest 0x03 CMD_MEMORY_WRITE
wValue 0x3410 Least-significant 16 bits of memory address in little-endian
format
wIndex 0xBFD2 Most-significant 16 bits of memory address in little-endian
format
wLength 0x0001 Number of data bytes to write
Data to be written: 0x32

 2017-2018 Microchip Technology Inc. DS00002438C-page 11


AN2438
2. Enable I2C pass-through and set frequency. (See Table 12.)
TABLE 12: CLOCK CONFIGURATION COMMAND 2 EXAMPLE
SETUP Parameter Value Note
bmRequestType 0x41 Host-to-device data transfer
bRequest 0x70 CMD_I2C_ENTER_PASSTHRU
wValue 0x7C7C I2C Clock Frequency: 40 kHz
wIndex 0x0000 —
wLength 0x0000 —

3. Write the start address from which data needs to be read. (See Table 13.)
TABLE 13: CLOCK CONFIGURATION COMMAND 3 EXAMPLE
SETUP Parameter Value Note
bmRequestType 0x41 Host-to-device data transfer
bRequest 0x71 CMD_I2C_WRITE
wValue 0x03A0 03: I2C Control Flags (START, STOP)
A0: Slave address
wIndex 0x0000 —
wLength 0x0001 1 byte of data
Data to be written: 0x00

4. Read 2 bytes of data. (See Table 14.)


TABLE 14: CLOCK CONFIGURATION COMMAND 4 EXAMPLE
SETUP Parameter Value Note
bmRequestType 0xC1 Host-to-device data transfer
bRequest 0x72 CMD_I2C_READ
wValue 0x07A1 07: I2C Control Flags (NACK, START, STOP)
A1: Slave address
wIndex 0x0000 —
wLength 0x0002 2 bytes of data

DS00002438C-page 12  2017-2018 Microchip Technology Inc.


AN2438
APPENDIX A: APPLICATION NOTE REVISION HISTORY
TABLE A-1: REVISION HISTORY

Section/Figure/
Revision Level & Date Correction
Entry

DS00002438C (10-11-18) Title Changed the document title from “USB to I2C Bridging with
USB491x/USB492x/USB4715” to “USB-to-I2C Bridging with
USB47xx/USB49xx Hubs”

Microchip Soft- This section replaced the MPLAB Connect Configuration sec-
ware Solutions tion.

All Added specifications for USB4917 and USB4712.


Made minor text and formatting changes

DS00002438B (05-18-18) Figure 1 Added UART.

I2C Interface Added sentence: “Refer to Clock Configuration for other sup-
Setup Require- ported speeds.”
ments

MPLAB Connect Replaced “PT2 DLL” reference with “MPLABConnect.dll”.


Configuration Clarified that the MPLAB package is for the Windows operating
system. Removed mention of .lib file from section.

Table 4 Corrected table title to “I2C Control Flags”.

Table 6, Table 8, Corrected bmRequestType value from 0x41 to 0xC1.


Table 9

Figure 2, Updated figures to match table updates.


Figure 5

Table 9 Corrected bRequest value from 0x71 to 0x72.


Corrected wValue value from 0x0762 to 0x0763.

Figure 8 Changed figure name to “I2C Address Data Phase Byte 3


Transaction 2 Example”

Sending an I2C Added “I2C Address 0x61: Write a value of 0x12 to Register
Write to an 0x15.” to Command Phase step.
attached Device

Sending an I2C Added additional context to beginning of section, before steps.


Read to an Added “I2C Address 0x62: Read Register 0x15.” to Command
attached Device Phase step.

Clock Configura- Moved section to end of document, added new clock configura-
tion tion example and updated Table 10 with frequency configura-
tion register values.

DS00002438A (08-22-17) Initial release.

 2017-2018 Microchip Technology Inc. DS00002438C-page 13


AN2438
THE MICROCHIP WEBSITE
Microchip provides online support via our WWW site at www.microchip.com. This website is used as a means to make
files and information easily available to customers. Accessible by using your favorite Internet browser, the website
contains the following information:
• Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s
guides and hardware support documents, latest software releases and archived software
• General Technical Support – Frequently Asked Questions (FAQ), technical support requests, online discussion
groups, Microchip consultant program member listing
• Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listing of
seminars and events, listings of Microchip sales offices, distributors and factory representatives

CUSTOMER CHANGE NOTIFICATION SERVICE


Microchip’s customer notification service helps keep customers current on Microchip products. Subscribers will receive
e-mail notification whenever there are changes, updates, revisions or errata related to a specified product family or
development tool of interest.
To register, access the Microchip website at www.microchip.com. Under “Support”, click on “Customer Change Notifi-
cation” and follow the registration instructions.

CUSTOMER SUPPORT
Users of Microchip products can receive assistance through several channels:
• Distributor or Representative
• Local Sales Office
• Field Application Engineer (FAE)
• Technical Support
Customers should contact their distributor, representative or Field Application Engineer (FAE) for support. Local sales
offices are also available to help customers. A listing of sales offices and locations is included in the back of this
document.
Technical support is available through the website at: http://microchip.com/support

DS00002438C-page 14  2017-2018 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 Micro-
chip 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 unless otherwise stated.

Trademarks
The Microchip name and logo, the Microchip logo, AnyRate, AVR, AVR logo, AVR Freaks, BitCloud, chipKIT, chipKIT logo, CryptoMemory,
CryptoRF, dsPIC, FlashFlex, flexPWR, Heldo, JukeBlox, KeeLoq, Kleer, LANCheck, LINK MD, maXStylus, maXTouch, MediaLB, megaAVR,
MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, Prochip Designer, QTouch, SAM-BA, SpyNIC, SST, SST
Logo, SuperFlash, tinyAVR, UNI/O, and XMEGA are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other
countries.
ClockWorks, The Embedded Control Solutions Company, EtherSynch, Hyper Speed Control, HyperLight Load, IntelliMOS, mTouch, Precision
Edge, and Quiet-Wire are registered trademarks of Microchip Technology Incorporated in the U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, BodyCom, CodeGuard, CryptoAuthentication,
CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, EtherGREEN,
In-Circuit Serial Programming, ICSP, INICnet, Inter-Chip Connectivity, JitterBlocker, KleerNet, KleerNet logo, memBrain, Mindi, MiWi,
motorBench, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM,
PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, SAM-ICE, Serial Quad I/O, SMART-I.S., SQI,
SuperSwitcher, SuperSwitcher II, Total Endurance, TSHARC, USBCheck, VariSense, ViewSpan, WiperLock, Wireless DNA, and ZENA are
trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
Silicon Storage Technology is a registered trademark of Microchip Technology Inc. in other countries.
GestIC is a registered trademark 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.
© 2018, Microchip Technology Incorporated, All Rights Reserved.
ISBN: 978-1-5224-3643-0

QUALITY MANAGEMENT SYSTEM 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
CERTIFIED BY DNV and India. The Company’s quality system processes and procedures
are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping

== ISO/TS 16949 ==
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.

 2017-2018 Microchip Technology Inc. DS00002438C-page 15


Worldwide Sales and Service
AMERICAS ASIA/PACIFIC ASIA/PACIFIC EUROPE
Corporate Office Australia - Sydney India - Bangalore Austria - Wels
2355 West Chandler Blvd. Tel: 61-2-9868-6733 Tel: 91-80-3090-4444 Tel: 43-7242-2244-39
Chandler, AZ 85224-6199 China - Beijing India - New Delhi Fax: 43-7242-2244-393
Tel: 480-792-7200 Tel: 86-10-8569-7000 Tel: 91-11-4160-8631 Denmark - Copenhagen
Fax: 480-792-7277 Tel: 45-4450-2828
China - Chengdu India - Pune
Technical Support: Fax: 45-4485-2829
Tel: 86-28-8665-5511 Tel: 91-20-4121-0141
http://www.microchip.com/
China - Chongqing Japan - Osaka Finland - Espoo
support
Tel: 86-23-8980-9588 Tel: 81-6-6152-7160 Tel: 358-9-4520-820
Web Address:
www.microchip.com China - Dongguan Japan - Tokyo France - Paris
Tel: 86-769-8702-9880 Tel: 81-3-6880- 3770 Tel: 33-1-69-53-63-20
Atlanta Fax: 33-1-69-30-90-79
Duluth, GA China - Guangzhou Korea - Daegu
Tel: 678-957-9614 Tel: 86-20-8755-8029 Tel: 82-53-744-4301 Germany - Garching
Tel: 49-8931-9700
Fax: 678-957-1455 China - Hangzhou Korea - Seoul
Austin, TX Tel: 86-571-8792-8115 Tel: 82-2-554-7200 Germany - Haan
Tel: 512-257-3370 Tel: 49-2129-3766400
China - Hong Kong SAR Malaysia - Kuala Lumpur
Boston Tel: 852-2943-5100 Tel: 60-3-7651-7906 Germany - Heilbronn
Tel: 49-7131-67-3636
Westborough, MA China - Nanjing Malaysia - Penang
Tel: 774-760-0087 Tel: 86-25-8473-2460 Tel: 60-4-227-8870 Germany - Karlsruhe
Fax: 774-760-0088 Tel: 49-721-625370
China - Qingdao Philippines - Manila
Chicago Tel: 86-532-8502-7355 Tel: 63-2-634-9065 Germany - Munich
Itasca, IL Tel: 49-89-627-144-0
China - Shanghai Singapore
Tel: 630-285-0071 Fax: 49-89-627-144-44
Tel: 86-21-3326-8000 Tel: 65-6334-8870
Fax: 630-285-0075 Germany - Rosenheim
China - Shenyang Taiwan - Hsin Chu
Tel: 49-8031-354-560
Dallas Tel: 86-24-2334-2829 Tel: 886-3-577-8366
Addison, TX Israel - Ra’anana
China - Shenzhen Taiwan - Kaohsiung
Tel: 972-818-7423 Tel: 86-755-8864-2200 Tel: 886-7-213-7830 Tel: 972-9-744-7705
Fax: 972-818-2924 Italy - Milan
China - Suzhou Taiwan - Taipei
Detroit Tel: 39-0331-742611
Tel: 86-186-6233-1526 Tel: 886-2-2508-8600
Novi, MI Fax: 39-0331-466781
Tel: 248-848-4000 China - Wuhan Thailand - Bangkok
Tel: 86-27-5980-5300 Tel: 66-2-694-1351 Italy - Padova
Houston, TX Tel: 39-049-7625286
Tel: 281-894-5983 China - Xian Vietnam - Ho Chi Minh
Tel: 86-29-8833-7252 Tel: 84-28-5448-2100 Netherlands - Drunen
Indianapolis Tel: 31-416-690399
Noblesville, IN China - Xiamen Fax: 31-416-690340
Tel: 86-592-2388138
Tel: 317-773-8323 Norway - Trondheim
Fax: 317-773-5453 China - Zhuhai Tel: 47-7288-4388
Tel: 317-536-2380 Tel: 86-756-3210040
Poland - Warsaw
Los Angeles Tel: 48-22-3325737
Mission Viejo, CA
Romania - Bucharest
Tel: 949-462-9523 Tel: 40-21-407-87-50
Fax: 949-462-9608
Tel: 951-273-7800 Spain - Madrid
Tel: 34-91-708-08-90
Raleigh, NC Fax: 34-91-708-08-91
Tel: 919-844-7510
Sweden - Gothenberg
New York, NY Tel: 46-31-704-60-40
Tel: 631-435-6000
Sweden - Stockholm
San Jose, CA Tel: 46-8-5090-4654
Tel: 408-735-9110
Tel: 408-436-4270 UK - Wokingham
Tel: 44-118-921-5800
Canada - Toronto Fax: 44-118-921-5820
Tel: 905-695-1980
Fax: 905-695-2078

DS00002438C-page 16  2017-2018 Microchip Technology Inc.


08/15/18

You might also like