AVR(R) Functional Safety - Hardware User's Guide Introduction (R) This document is the hardware user's guide of AVR Functional Safety board based on ATtiny3217 microcontroller (MCU). It gives details about the overall board design and the hardware function blocks. The AVR Functional Safety board is designed to easily demonstrate and evaluate the safety and reliability peripherals on ATtiny3217 MCU and firmware based safety features, such as: * Watchdog Timer (WDT) * Cyclic Redundancy Check (CRC) * Brown-out Detection (BOD) * Voltage Level Monitoring (VLM) * Power-on Reset (POR) * Timer/Counter Type D (TCD) Fault Detection * Class B Self Tests (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 1 Features * * * * * * * * * Core Independent Operation Using Configurable Custom Logic (CCL) and 16-bit Timer/Counter Type A to Create a Heartbeat Signal Core Independent Cyclic Redundancy Check Memory Scan (CRCSCAN) Core Independent Operation Using 12-bit Timer/Counter Type D (TCD) to Drive a Fan Motor Core Independent TCD Fault Handling Using Event System (EVSYS), Analog Comparator (AC) and Digital-to-Analog Converter (DAC) Using Charlieplexing Technique to Drive a Large Number of LEDs with a Low Number of Pins, Using 16-bit Timer/Counter Type B (TCB) and Priority Interrupt Demonstrating Core Independent Watchdog Timer (WDT) in Window mode Demonstrating Real-Time Counter Periodic Interrupt (RTC) (PIT) Board Controller with (PTC) Touch Slider to Adjust the Voltage to ATtiny3217, Demonstrating Voltage Level Monitor (VLM) Interrupt, Brown-out Detector (BOD) and Power-on Reset (POR) On-board Mini Embedded Debugger (mEDBG) for Programming and Debugging. (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 2 Table of Contents Introduction......................................................................................................................1 Features.......................................................................................................................... 2 1. Overview....................................................................................................................4 1.1. 1.2. Block Diagram.............................................................................................................................. 4 Board Overview............................................................................................................................5 2. Design Documents and Related Links...................................................................... 6 3. Quick Start.................................................................................................................7 4. Hardware Blocks....................................................................................................... 8 4.1. 4.2. 4.3. Target MCU Peripherals............................................................................................................... 8 Board Controller Peripherals...................................................................................................... 11 Mini Embedded Debugger Implementation................................................................................ 16 5. Revision History.......................................................................................................19 The Microchip Web Site................................................................................................ 20 Customer Change Notification Service..........................................................................20 Customer Support......................................................................................................... 20 Microchip Devices Code Protection Feature................................................................. 20 Legal Notice...................................................................................................................21 Trademarks................................................................................................................... 21 Quality Management System Certified by DNV.............................................................22 Worldwide Sales and Service........................................................................................23 (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 3 Overview 1. 1.1 Overview Block Diagram There are three MCUs on this board: * * * Target MCU - ATtiny3217: - The main MCU that demonstrates the safety and reliability functions. Board controller - ATtiny1617: - It simulates external conditions to trigger the target MCU safety and reliability functions. Mini Embedded Debugger: - On-board debugger and programmer for target MCU and board controller. Depending on different safety and reliability functions, the hardware design can be divided into the following function blocks: * * * * * Reset Register and Class B status Operation Voltage Window Watchdog Timer Cyclic Redundancy Check Fault Detection Using Event System These function blocks are clearly noted on the top side of the AVR Functional Safety board. Refer to Figure 1-2 for more details. The block diagram of the AVR Functional Safety board can be seen below. Figure 1-1.AVR(R) Functional Safety Board Block Diagram UART mEDBG UPDI Push buttons FAN 5VDC Voltage Regulator DAC GPIO UPDI SPDT Analog Switch GPIO LEDs ADC ATtiny1617 2F3 Header SPI PTC PTC Slide (c) 2018 Microchip Technology Inc. Level shifter GPIO I 2C GPIO AC GPIO UART UPDI GPIO I 2C ATtiny3217 GPIO LEDs 2F3 Header User Guide DS40002013A-page 4 Overview 1.2 Board Overview Here is a brief overview of the AVR Functional Safety board. Figure 1-2.AVR(R) Functional Safety Board Overview - Top Side Figure 1-3.AVR(R) Functional Safety Board Overview - Bottom Side (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 5 Design Documents and Related Links 2. Design Documents and Related Links The design documents and relevant links are available here: * AVR Functional Safety website: Board information, the latest documents and design files. * microchipDIRECT: Where to buy this board online. * ATtiny3217 website: Target MCU information, documentation and development tools, etc. * ATtiny1617 website: Board controller MCU information, documentation and development tools, etc. (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 6 Quick Start 3. Quick Start The AVR Functional Safety boardis powered by a 5.0V USB voltage. The on-board programming and debugging function relies on the same USB connection. Refer to Mini Embedded Debugger Implementation for more information about programming and debugging. Steps to start exploring the AVR Functional Safety board: 1. Download and install Atmel Studio. 2. Launch Atmel Studio. 3. Connect a USB cable (Standard-A to Micro-B or Micro-AB) between the PC and the USB port on the board. When the AVR Functional Safety board is connected to the computer for the first time, the operating system will perform a driver software installation. The drivers for the board are included with Atmel Studio. Once the driver is successfully installed and the board is correctly powered, it will be automatically detected and recognized as a mEDBG tool by Atmel Studio. Before using the board with default firmware, calibrating the board first is recommended. The calibration steps are listed on the backside of the board as shown in Figure 1-3. (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 7 Hardware Blocks 4. Hardware Blocks In this chapter, the hardware designs are described in detail. There are three MCUs on this board and different hardware peripherals are built around them, so this chapter is further divided into three sections according to the MCU and peripheral connections. 4.1 Target MCU Peripherals ATtiny3217 is the target MCU on the AVR Functional Safetyboard. All the safety and reliability functions demonstrated on this board are from ATtiny3217 MCU. The hardware peripherals around the target MCU are designed for the user to trigger different abnormal conditions, so that the reaction of each safety and reliability module can be easily observed. 4.1.1 Charlieplexed LEDs On this board, there are 19 LEDs Charlieplexed and driven by only five I/O pins. On this board, PC0, PC1, PC2, PC3 and PC4 are used to drive these LEDs. Compared with traditional LED connection method, Charlieplexing saves a lot of I/O pins. In theory, five I/O pins can drive up to 20 LEDs. More details about Charlieplexing can be found here: https://en.wikipedia.org/wiki/Charlieplexing. Below are the names of 19 LEDs and their functions. Table 4-1.Charlieplexed LEDs LED Description LED Name LED Function LED1 D2 Power-on Reset LED2 D3 Brown-out Reset LED3 D5 External Reset LED4 D6 Watchdog Reset LED5 D9 Software Reset LED6 D10 UPDI Reset LED7 D15 Watchdog Timer Indicator LED8 D16 Watchdog Timer Indicator LED9 D7 Watchdog Timer Indicator LED10 D8 Watchdog Timer Indicator LED11 D14 Watchdog Timer Indicator LED12 D11 Watchdog Timer Indicator LED13 D20 Watchdog Timer Indicator LED14 D17 Watchdog Timer Indicator LED15 D12 Watchdog Timer Cleared LED16 D13 CRCSCAN Error LED17 D18 TCD Fault Detected (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 8 Hardware Blocks LED Description LED Name LED Function LED18 D19 Class B Fail LED19 D21 Class B OK The schematic of Charlieplexed LEDs is shown below. Figure 4-1.LED Charlieplexing PC0_CHARLIEPLEX_0 R10 2 TP68 D2 KPTRO3216SYCK LED 1O6 LED 7O14 LED 15 LED 16 LED 17 LED 18 LED 19 1 L ED2 TP69 D8 KPTRO3216SURCK D7 KPTRO3216SURCK L ED4 L ED9 L ED10 D12 KPTRO3216SYCK L ED11 L ED12 D13 KPTRO3216SURCK LED15 L ED16 2 1 2 PC3_CHARLIEPLEX_3 R13 TP15 100R 2 1 D14 KPTRO3216CGCK 1 L ED6 TP71 D11 KPTRO3216CGCK 1 2 L ED5 2 D10 KPTRO3216SYCK D9 KPTRO3216SYCK 1 1 PC2_CHARLIEPLEX_2 R12 TP12 100R 2 2 1 2 L ED3 2 D6 KPTRO3216SYCK D5 KPTRO3216SYCK CHARLIEPLEXED LEDS 4.1.2 1 2 1 D19 KPTRO3216SURCK 14 G L ED18 D21 KPTRO3216CGCK L ED19 2 1 13 G 2 8 R D17 KPTRO3216CGCK D18 KPTRO3216SURCK L ED14 L ED17 1 7 R L ED13 2 1 L ED8 2 L ED7 2 D16 KPTRO3216SURCK D20 KPTRO3216CGCK 1 2 1 TP72 D15 KPTRO3216SURCK PC4_CHARLIEPLEX_4 R17 TP16 100R = Reset cause = WDT = WDT resets = CRC error = Fault = CLASS B fail = CLASS B OK 1 1 PC1_CHARLIEPLEX_1 R11 TP10 100R 1 2 L ED1 D3 KPTRO3216SYCK 2 100R 1 TP9 TP73 1 Y 2 Y Y=Yellow 3 Y 4 Y 5 Y 6 Y 9 R 10 R 11 G 12 G 15 Y 16 R 17 R 18 R 19 G R= Red G= Green Heartbeat LED There is an LED on this board simulating a heartbeat pattern. It is connected to the Configurable Custom Logical (CCL) output pin, so that the heartbeat pattern is easily generated with the timer/counter and the CCL without the intervention of the CPU. This LED is ON when the connected I/O pin output is low. Table 4-2.Heartbeat LED ATtiny3217 Pin Pin Function Comment PB4 Heartbeat LED D4 LUT0-OUT on alternative pin (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 9 Hardware Blocks Figure 4-2.Heartbeat LED 2 V CC _TARGET D4 HLMP-3301 1 TP19 R14 560R PB4_CCL_HEARTBEAT TP11 4.1.3 Buttons There are three mechanical buttons on this board. They are used to trigger different target MCU actions. Their functions are listed below. Table 4-3.Buttons ATtiny3217 Pin Pin Function Button Function PB5 SW1 Clear Watchdog (WDT) PB6 SW2 Start/Stop Fan PB7 SW3 Modify Flash Memory Bit The buttons are implemented to be low active. When a button is pressed, a low level can be detected on the connected I/O pin. Their connection is shown below. Figure 4-3.Buttons VCC_TARGET R8 100k R15 100k R9 100k PB5_WDT_RUNAWAY PB7_TOGG_FLASH_BIT PB6_FAN_START_STOP TP8 2 1 SW1 EVQQ2203W SW2 EVQQ2203W SW3 EVQQ2203W 4 3 C6 100 nF 4 3 C5 100 nF 4 3 C4 100 nF 2 1 TP13 2 1 TP7 4.1.4 VCC_TARGET VCC_TARGET GND GND GND Fan A small DC fan is attached on this board. It is driven by a MOSFET via an I/O pin control. The fan motor current is amplified by an op amp MCP6002 and fed back to the ATtiny3217 Analog Comparator (AC) input. If the current is above safety value (For example, the fan motor is forced to stop by putting a finger on it) then the fan control signal will be stopped immediately thanks to a Timer/Counter Type D (TCD) (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 10 Hardware Blocks fault control function. According to different input modes, fault detection puts TCD outputs into a predefined state without CPU intervention. Please see below the table with details on the fan control pin and on the current detection pin connection. Table 4-4.FAN Control ATtiny3217 Pin Pin Function Comment PA4 Fan MOSFET control WOA of TCD0 PA7 Fan current detect AC0 positive input Below is the fan control schematic. Figure 4-4.Fan 4.2 Board Controller Peripherals The purpose of the board controller is to simulate different external conditions to trigger different safety and reliability functions of the target MCU. There are several hardware blocks built around the board controller to make this easier. On this board, an ATtiny1617 is used as the board controller. 4.2.1 Variable Target Voltage A simple variable voltage circuit is designed to generate the target MCU VCC. Ideally, it varies between 0~5V if the MOSFET on-resistance is considered as 0. The board controller, ATtiny1617, controls the ON/OFF and output level of this variable voltage. The pin functions are listed below. Table 4-5.Variable Target Voltage ATtiny1617 Pin Pin Function Comment PA6 Controls variable voltage level DAC output PA7 Controls ON/OFF of voltage I/O output (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 11 Hardware Blocks The controlled variable voltage circuit is shown below. Figure 4-5.Variable Target Voltage 2 R29 100k CTRL_5V 3 Q2 AO3401 C11 10 uF C12 100 nF GND R34 CTRL_REG_EN TP33 GND TP34 10k 5 + R36 6 - U2B MCP6002-I/SN 7 3 VCC_TARGET Q4 AO3401 C15 10 uF C16 100 nF 10k TP37 4 TP36 10k 2 1 CTRL_DAC_OUT R35 8 GND CONTROLLED POWER 4.2.2 TP31 1 VCC_5V GND GND GND Touch Slider A touch slider is implemented on this board for an easy user input. It is based on the Peripheral Touch Controller (PTC) module in ATtiny1617. On this board, the touch slider is implemented with four self(R) capacitance sensors (Y-line). For further information about PTC touch usage, refer to QTouch Modular Library User's Guide and Glossary of Touch Terms. In default firmware, this slider is used to control the output voltage of Variable Target Voltage. The connection of touch slider is shown below. Table 4-6.Touch Slider ATtiny1617 Pin Pin Function Comment PC0 Touch slider sensor 1 PTC Y6 PC1 Touch slider sensor 2 PTC Y7 PC2 Touch slider sensor 3 PTC Y8 PC3 Touch slider sensor 4 PTC Y9 (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 12 Hardware Blocks Figure 4-6.Touch Slider CTRL_SLIDER_CH_1 R46 CTRL_SLIDER_CH_2 0R R47 S2 CTRL_SLIDER_CH_3 0R R48 S3 CTRL_SLIDER_CH_4 0R R49 S4 S1 CS1 1 2 3 4 Slider 32 mm 0R SLIDER Figure 4-7.Touch Slider PCB Layout Pattern 4.2.3 Status LED Four LEDs are controlled by a board controller to indicate the target MCU voltage described in Variable Target Voltage. There are four segments of the target MCU voltage. These LEDs are designed to be low active. Table 4-7.Status LED ATtiny1617 Pin Pin Functions Target MCU Voltage PB2 D22 Normal voltage PB3 D23 15% above BOD level (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 13 Hardware Blocks ATtiny1617 Pin Pin Functions Target MCU Voltage PB4 D24 Below BOD level PB5 D25 Below POR level The schematic is shown below. Figure 4-8.Status LED VCC_5V TP74 D22 1 R37 2 KPTR-3216CGCK TP75 D23 1 R38 2 KPTR-3216SYCK TP76 D24 1 TP77 D25 1 2 KPTR-3216SYCK TP40 CTRL_LED_1 TP43 1k R39 2 KPTR-3216SYCK CTRL_LED_0 560R CTRL_LED_2 TP45 1k R40 CTRL_LED_3 1k TP48 STATUS LEDS 4.2.4 Level Shifter As the voltage of the target MCU is controlled by the board controller, the voltage between them can be different. Level shifters are used to make sure that the MCUs can talk to each other when they operate under different voltages. The UPDI pin and mEDBG UART pins are also connected via level shifter, thus the target MCU can be programmed and debugged under any working voltage. The following pins are connected via level shifters. Refer to the table below for more details. Table 4-8.Pin Connections via Level Shifter ATtiny1617 Pin ATtiny3217 Pin mEDBG Pin Pin Function PB0 PB0 -- I2C SCL PB1 PB1 -- I2C SDA PB6 PA6 -- Target BOD indicator PB7 PA2 -- Target VLM indicator -- PB2 PD2 UART Tx -- PB3 PD3 UART Rx -- PA0 PE6 mEDBG UPDI (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 14 Hardware Blocks Figure 4-9.Level Shifter Connections VCC_5V C8 100 nF C9 100 nF 1 GND U3 2 3 4 5 6 7 8 9 TAR_UPDI MEDBG_RXD MEDBG_TXD TP22 CTRL_VLM CTRL_BOD VCCB A0 A1 A2 A3 A4 A5 A6 A7 11 TP25 FXMA108BQX VCCA B0 B1 B2 B3 B4 B5 B6 B7 OE NC_PAD GND R27 10k 1 TP27 2 GND GND 19 18 17 16 15 14 13 12 PA0_UPDI PB3_UART_RX PB2_UART_TX TP28 TARGET_UPDI TARGET_PDI TARGET_RX TARGET_TX PA6_VLM_TINY3217 PA2_BOD_TINY3217 21 10 TP23 TP24 TARGET_DETEC TARGET_VLM T TARGET_BOD TARGET_UPDI TARGET_DETECT TP26 GND MEDBG_UPDI MEDBG_TX MEDBG_RX MEDBG_PDI MEDBG_TXD MEDBG_RXD MEDBG_UPDI VCC_5V U6 R28 6 1 0 MEDBG_UPDI VCC_5V 100k 5 V VCC CC GND GND 3 CTRL_UPDI TP21 TP20 20 GND TAR_UPDI VCC_TARGET TP29 TP30 4 FSA3157P6X GND VCC_5V VCC_TARGET C13 100 nF R30 4.7k R31 4.7k R18 100k C14 100 nF R32 4.7k GND 1 2 CTRL_I C_SCL 2 CTRL_I 2 C_SDA 3 5 U5 FXMA2102L8X VCCA VCCB A0 B0 A1 B1 OE GND GND 8 R33 4.7k TP32 7 PB0_I 2 C_SCL 6 PB1_I 2 C_SDA TARGET_I 2 C TARGET_SCL TARGET_SDA TARGET_I 2 C 4 TP35 GND LEVEL SHIFT & MEDBG SELECTOR 4.2.5 Reserved Interfaces The SPI and I2C pins are also reserved on two unmounted headers. The user can use them conveniently if such functions are necessary. Table 4-9.Reserved Interfaces ATtiny1617 Pin Pin Function Comment PA1 SPI MOSI Board controller SPI interface PA2 SPI MISO (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 15 Hardware Blocks ATtiny1617 Pin Pin Function PA3 SPI SCK PA4 SPI SS PB0 I2C SCL PB1 I2C SDA Comment Board controller I2C interface Figure 4-10.Reserved Interface TP38 TP39 TP41 CTRL_SPI_MISO CTRL_SPI_SCK CTRL_SPI_SS 1 3 5 J2 2 4 N.M. 6 SPI TP47 TP49 CTRL_I2C_SDA CTRL_I2C_SCL 1 3 5 J3 2 4 N.M. 6 I 2C VCC_5V CTRL_SPI_MOSI TP42 GND VCC_5V GND INTERFACE 4.3 Mini Embedded Debugger Implementation On the AVR Functional Safety board, the Mini Embedded Debugger (mEDBG) is used as an easy way to program and debug the target MCU. It features a virtual COM port for serial communication to a host PC. Atmel Studio can be used as a front end for the mEDBG. 4.3.1 Mini Embedded Debugger The AVR Functional Safety board contains the Mini Embedded Debugger (mEDBG) for on-board programming. The mEDBG is a composite USB device of two interfaces: a debugger and a virtual COM port. Together with Atmel Studio, the mEDBG debugger interface can program the ATtiny3217. On AVR Functional Safety board, the UPDI interface is connected between the mEDBG and the ATtiny3217. The virtual COM port is connected to a UART on the ATtiny3217 and provides an easy way to communicate with the target application through the terminal software. It offers variable baud rate, parity, and Stop bit settings. Note: The settings on the ATtiny3217 must match the settings given in the terminal software. Info: The virtual COM port in the mEDBG requires the terminal software to set the Data Terminal Ready (DTR) signal to enable the UART pins connected to the ATtiny3217. If the DTR signal is not enabled, the UART pins on the mEDBG are kept in high-z (tri-state) rendering the COM port unusable. The DTR signal is automatically set by some terminal software, but it may have to be manually enabled in the target terminal. (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 16 Hardware Blocks The mEDBG controls one status LED on the AVR Functional Safety board. The table below shows how the LED is controlled in different operation modes. Table 4-10.mEDBG LED Control 4.3.2 4.3.2.1 Operation mode Status LED Power-up LED is briefly lit Normal operation LED is not lit Programming Activity indicator; the LED flashes when programming/debugging with the mEDBG UPDI Interface The Unified Program and Debug Interface (UPDI) uses one pin to communicate with the target. The actual connection of UPDI line between mEDBG and MCU is decided by UPDI Selection. Table 4-11.UPDI Interface ATtiny3217 ATtiny1617 Function PA0 (default connection) PA0 UPDI/RESET UPDI Selection On this board, both the target MCU ATtiny3217 and the board controller ATtiny1617 use the same programming and debugging interface (UPDI). It is supported by the on-board program and debug chip mEDBG. An UPDI selection circuit is used to switch the UPDI lines between these two MCUs. By default, the mEDBG UPDI interface is connected to ATtiny3217. To program and debug ATtiny1617, the hardware has to be modified by the user. Table 4-12.UPDI selection UPDI Line Target Hardware Connection Comment ATtiny3217 TP29 and TP30 open circuit Default ATtiny1617 TP29 and TP30 short circuit Modified by user Figure 4-11.UPDI Selection MEDBG_UPDI 1 TAR_UPDI TP27 GND CTRL_UPDI TP28 2 3 U6 GND GND MEDBG_PDI VCC_5V 6 11 VV CCCC 00 5 4 R28 100k VCC_5V TP29 TP30 FSA3157P6X GND (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 17 Hardware Blocks 4.3.3 Virtual COM Port The Mini Embedded Debugger (mEDBG) acts as a virtual COM port gateway by using the ATtiny3217 UART pins. As the target MCU may work at different voltage with mEDBG, the pins are connected via a Level Shifter. Table 4-13.Virtual COM Port ATtiny3217 Pin Pin Function mEDBG Pin Function PB2 UART Tx mEDBG CDC Rx PB3 UART Rx mEDBG CDC Tx (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 18 Revision History 5. Revision History Doc Rev. Date Comments DS40002013A 2/2018 Initial document release. (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 19 The Microchip Web Site Microchip provides online support via our web site at http://www.microchip.com/. This web site is used as a means to make files and information easily available to customers. Accessible by using your favorite Internet browser, the web site 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 web site at http://www.microchip.com/. Under "Support", click on "Customer Change Notification" 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 web site at: http://www.microchip.com/support Microchip Devices Code Protection Feature 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. (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 20 * Neither Microchip nor any other semiconductor manufacturer can assure the security of their code. Code protection does not mean that we are assuring 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. Legal Notice 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 unless otherwise stated. Trademarks The Microchip name and logo, the Microchip logo, AnyRate, AVR, AVR logo, AVR Freaks, BeaconThings, BitCloud, CryptoMemory, CryptoRF, dsPIC, FlashFlex, flexPWR, Heldo, JukeBlox, KeeLoq, KeeLoq logo, Kleer, LANCheck, LINK MD, maXStylus, maXTouch, MediaLB, megaAVR, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, Prochip Designer, QTouch, RightTouch, 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, chipKIT, chipKIT logo, CodeGuard, CryptoAuthentication, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, EtherGREEN, In-Circuit Serial Programming, ICSP, Inter-Chip Connectivity, JitterBlocker, KleerNet, KleerNet logo, Mindi, MiWi, motorBench, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PureSilicon, QMatrix, RightTouch logo, 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. (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 21 (c) 2018, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: 978-1-5224-2734-6 Quality Management System Certified by DNV ISO/TS 16949 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 (R) (R) and India. The Company's quality system processes and procedures are for its PIC MCUs and dsPIC (R) 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. (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 22 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 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 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 Tel: 317-536-2380 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510 New York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Tel: 408-436-4270 Canada - Toronto Tel: 905-695-1980 Fax: 905-695-2078 Australia - Sydney Tel: 61-2-9868-6733 China - Beijing Tel: 86-10-8569-7000 China - Chengdu Tel: 86-28-8665-5511 China - Chongqing Tel: 86-23-8980-9588 China - Dongguan Tel: 86-769-8702-9880 China - Guangzhou Tel: 86-20-8755-8029 China - Hangzhou Tel: 86-571-8792-8115 China - Hong Kong SAR Tel: 852-2943-5100 China - Nanjing Tel: 86-25-8473-2460 China - Qingdao Tel: 86-532-8502-7355 China - Shanghai Tel: 86-21-3326-8000 China - Shenyang Tel: 86-24-2334-2829 China - Shenzhen Tel: 86-755-8864-2200 China - Suzhou Tel: 86-186-6233-1526 China - Wuhan Tel: 86-27-5980-5300 China - Xian Tel: 86-29-8833-7252 China - Xiamen Tel: 86-592-2388138 China - Zhuhai Tel: 86-756-3210040 India - Bangalore Tel: 91-80-3090-4444 India - New Delhi Tel: 91-11-4160-8631 India - Pune Tel: 91-20-4121-0141 Japan - Osaka Tel: 81-6-6152-7160 Japan - Tokyo Tel: 81-3-6880- 3770 Korea - Daegu Tel: 82-53-744-4301 Korea - Seoul Tel: 82-2-554-7200 Malaysia - Kuala Lumpur Tel: 60-3-7651-7906 Malaysia - Penang Tel: 60-4-227-8870 Philippines - Manila Tel: 63-2-634-9065 Singapore Tel: 65-6334-8870 Taiwan - Hsin Chu Tel: 886-3-577-8366 Taiwan - Kaohsiung Tel: 886-7-213-7830 Taiwan - Taipei Tel: 886-2-2508-8600 Thailand - Bangkok Tel: 66-2-694-1351 Vietnam - Ho Chi Minh Tel: 84-28-5448-2100 Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Denmark - Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 Finland - Espoo Tel: 358-9-4520-820 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Germany - Garching Tel: 49-8931-9700 Germany - Haan Tel: 49-2129-3766400 Germany - Heilbronn Tel: 49-7131-67-3636 Germany - Karlsruhe Tel: 49-721-625370 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Germany - Rosenheim Tel: 49-8031-354-560 Israel - Ra'anana Tel: 972-9-744-7705 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Italy - Padova Tel: 39-049-7625286 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 Norway - Trondheim Tel: 47-7289-7561 Poland - Warsaw Tel: 48-22-3325737 Romania - Bucharest Tel: 40-21-407-87-50 Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Sweden - Gothenberg Tel: 46-31-704-60-40 Sweden - Stockholm Tel: 46-8-5090-4654 UK - Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 (c) 2018 Microchip Technology Inc. User Guide DS40002013A-page 23