Ahumi Rel
Ahumi Rel
Ahumi Rel
Detecting Small Capacitive Sensors Using the MCP6291 and PIC16F690 Devices
Author: Kumen Blake and Steven Bible Microchip Technology Inc.
INTEGRATOR SOLUTION
This section describes a design that accurately measures small capacitances. It uses dual slope integration to measure the sensors capacitance. Using an integrator for measuring small capacitive sensors has three main advantages: Any sensor parasitic capacitance (i.e., case-toground stray) is forced to the correct voltage by the op amp. The parasitic capacitance in parallel is much smaller than other methods. The measured waveform has a constant slope, which improves the timing accuracy.
INTRODUCTION
Target Audience
This application note is intended for hardware and firmware design engineers that need to accurately detect small capacitance values.
Goals
Detect small capacitances (e.g., 0.5 pF to 6.5 nF) Use minimal number of external components Give simple firmware solution Highlight design tradeoffs and alternatives
Block Diagram
Figure 1 shows the block diagram of the integrator solution. The Square Wave Source voltage (VINT) is converted to a square wave current (IINT). IINT is then passed to an integrator comprised of an op amp and the sensor capacitor (CSEN). The Integrator outputs a voltage triangle wave (VSEN) whose slope depends on CSEN. The Threshold Crossing Detector tells when VSEN is above or below two reference voltages: a lower voltage (VRL) and a higher voltage (VRH). The Magnitude Control firmware routine changes the polarity of VINT so that VSEN goes past both VRL and VRH by the desired amount. The Timing Count firmware routine counts the time elapsed for VSEN to go from VRL to VRH (t1), and to go from VRH to VRL (t2). The Calculations firmware routine calculates CSEN then the relative humidity (RH) from that capacitance.
Description
This application note shows how to use a PICmicro microcontroller and minimal external circuitry to detect small capacitances. The design is based on an operational amplifier (op amp) integrator. A capacitive humidity sensor is used to illustrate this type of application. The design is measured to verify the theory and design choices. Alternatives and modifications to this design are briefly discussed. References to documents that treat these subjects in more depth and breadth have been included in the References section. The appendices give detailed information that supports the text of this application note.
DS01016A-page 1
AN1016
Square Wave Source VINT (square wave) is a triangle wave whose slope depends on CSEN. The firmware, comparator and reference (VREF) in U1 control the circuit as described before. The power supply voltages (VDD_DIG and VDD) were assumed to vary between 3.0V and 5.5V. This design uses 1% resistors for low cost. The SR latch and Timer1 in U1 time the rise and fall times of the VSEN triangle wave. VDD_DIG
Integrator VSEN (triangle wave) Threshold Crossing Detector Magnitude Control Timing Counter Calculations P3
C1 100 nF
U1 PIC16F690 P4 Timer1
P1
RINT VINT 6.65 M IINT VSEN CSEN VCM CCG C2 100 nF VDD RCM1 20 k RCM2 20 k
P2
FIGURE 1:
Figure 2 shows the timing of the main waveforms. The supply voltages are VDD and ground (0V). The current IINT has a positive value of IINTP, and a negative value of IINTM (IINTP and IINTM are nearly equal magnitudes). VDD 0V IINTP IINTM VDD VSEN 0V t1 VDD VREF 0V VRH VRL
VINT
FIGURE 3:
IINT
VRH VRL
Note 1: CCG is the sensors case-to-ground parasitic capacitance. CCG should be placed at the op amps inverting input pin to improve the op amps stability and eliminate any dynamic current through CCG. 2: RINT is chosen to minimize the effort to calculate CSEN. The voltage VSEN will have a constant positive (negative) slope when VINT is 0V (VDD):
t2
EQUATION 1:
V INT V CM I INT = ---------------------------R INT V SEN I INT - , I INT is constant ---------------- = -----------t C SEN V INT V CM I INT = ----------------------------, RINT C SEN V INT is constant
FIGURE 2:
Timing Diagram.
Circuit
Figure 3 shows the circuit. The PICmicro microcontroller (U1) outputs a logic level at pin P1, making the voltage, VINT, either 0V or VDD. The components external to U1 form an inverting (Miller) integrator. VSEN
The voltage reference, VREF, is set to one of two levels: a lower reference voltage, VRL (0.125VDD), and an upper reference voltage, VRH (0.500VDD). VRL was selected to be within the op amps output voltage
DS01016A-page 2
AN1016
range. VRH was selected to be within the comparators common mode input voltage range when VDD goes as low as 3.0V. The comparator detects where VSEN is located relative to VRH and VRL. The voltage, VSEN, is a triangle waveform that goes outside the levels, VRL and VRH; this allows the circuit to settle after changing directions, and gives time for code overhead. The firmware sets the logic level at pin P1 low (VINT = 0V) when VSEN needs to increase, and sets it high (VINT = VDD) when VSEN needs to decrease. During measurements, the microcontroller pins are put into the states shown in Table 1.
EQUATION 4:
1 C SEN -------------------------------------------2 R INT f GBWP LG = = op amps Gain Bandwidth Product allowable error due to loop-gain
Where: fGBWP
LG
For instance, given a 0.5% accuracy requirement, and using the MCP6291 for U2, gives: LG = 0.005 fGBWP = 10 MHz CSEN > 0.6 pF
TABLE 1:
PIN STATES
Pin States P1 0 1 P2 input input
Measurement Steps Positive Slope (measure t1) Negative Slope (measure t2) Note 1:
EQUATION 5:
Timer Counts: t1 V RH VRL C SEN R INT - = ------------------------- -----------------------k 1 = -----------V CM T CLK T CLK t2 VRH V RL C SEN RINT k 2 = ------------ = --------------------------- -----------------------VDD VCM T CLK T CLK Where: TCLK = microcontrollers instruction period
The IINT values shown in Figure 2 (IINTP and IINTM) have opposite signs and approximately equal magnitudes. The magnitudes are not always equal because VCM is not always equal to VDD_DIG/2. This produces elapsed times (t1 and t2) that are only approximately equal as show in Equation 2.
EQUATION 2:
V RH V RL V RH VRL t1 = ---------------------------- C SEN R INT - = ------------------------ VSEN t V CM V RH V RL V RH V RL t2 = ---------------------------- = --------------------------- C SEN R INT VSEN t V DD V CM
The measurement timer counts will be averaged together before calculating CSEN; the reason why is illustrated in Equation 6. Since the error in VCM is in the denominator of the k1 and k2 equations, and the nominal VCM is VDD/2, we have:
EQUATION 6:
VCM Error Analysis Equations: k k 1 = ----------1+ k k 2 = ---------1 k k 1 + k 2 = ------------2 1 Where: k = ideal count (when VCM = VDD/2 exactly) VCM_Error VCM VCM_Error VDD / 2 VCM_Error VDD VCM
EQUATION 3:
2 C SEN ---------------------------------2 RINT f GBWP Where: fGBWP = op amps Gain Bandwidth Product
To maintain accuracy, the op amp feedback loop needs sufficient loop-gain. This translates to the following requirement on CSEN:
DS01016A-page 3
AN1016
For instance, a +5% error in k1 (a -5% error in k2) becomes a -0.25% error in the average ((k1 + k2)/2); this is a very significant improvement in accuracy. Greater accuracy can be achieved by reducing the original error in k1. For example, reducing the k1 error to +2% gives a -0.04% error in (k1 + k2)/2. The extraction equations are below in Equation 7. These equations assume CSEN is constrained as described in Equation 3 and Equation 4. The constant, B1, is the circuits resolution in units of pF / count. RINT (see Figure 3) was chosen to make it easy to convert k1 and k2 into CSEN (making B1 = 0.100 pF / count).
FIRMWARE
This algorithm is implemented in the firmware for the Humidity Sensor PICtail Demo Board [15]. The firmware can be downloaded from Microchips website (www.microchip.com).
Additional Requirements
The circuit and microcontroller need to be initialized. It is necessary to drive VSEN to a known point before starting the capacitance measurements; it could be either above or below VRL when starting. Averaging (8 times) is included in this algorithm. The timer counts need to be converted to CSEN, then to RH. Extra delay before starting each measurement improves the accuracy. It gives the op amp time to settle, and allows the firmware time to prepare for the next measurement.
EQUATION 7:
Pre-calculated Constant: VDD 2 T CLK - -----------B1 = ------------------------V RH V RL RINT Extraction Equation: k1 + k 2 - B1 C SEN ---------------2 B 1% - , ( k 1 + k 2 ) $ ----" 2#
Modular Code
( coded form ) The following assembly code modules (for the PIC16F690) make up the Humidity Sensor project: main.inc - contains I/O port and global defines used throughout the project main.asm - contains the main executive routine including configuration bit assignments initialize_f690.asm - initializes the PIC16F690 to known initial values capacitance.asm - reads capacitance using a dual slope integration technique; Table 2 shows the algorithm for this module humidity.inc - contains PwLI table segment values humidity.asm - contains PwLI routine to convert capacitance to %RH humidity ssc.asm - contains Synchronous Serial Communications (SSC), a synchronous serial communications protocol between a target PICmicro microcontroller unit and the PICkit 1 Flash Starter Kit or PICkit 2 Starter Kit. 16f690.lkr - linker script for Humidity Sensor project These files can be downloaded from the Microchip web site (www.microchip.com); and are contained in the 00084R1.zip file.
The firmware actually multiplies the sum (k1 + k2) by the pre-calculated constant B1/2.
HUMIDITY SENSOR
The HS1101LF humidity sensor from Humirel is described in detail in its data sheet [1]. It has a relative humidity (RH) accuracy of about 2%, and its nominal capacitance ranges from 162 pF to 193 pF.
195 190 185 CSEN (pF) 180 175 170 165 160 0 10 20 30 40 50 60 RH (%) 70 80 90 100
AN1016
Top Level Algorithm
Figure 5 shows the flow chart for the top level program. This implementation includes averaging eight CSEN readings together. Main
Capacitance Module
Table 2 shows the algorithm for the capacitance module, and includes the PICmicro microcontrollers pin states. The pin assignments on the Humidity Sensor PICtail Demo Board [15] used for the measurements in this application note are: P1 = RC2 (VINT) P2 = RC1 (VSEN) P3 = RA4/T1G P4 = RC4/C2OUT
Initialize
Call capacitance.asm Accumulate CSEN Is count = 8 ? Yes Divide Accumulated CSEN by 8 Call humidity.asm
Pin P2 is configured as the comparators input during the measurements. This gives the comparator time to settle before the measurements are made.
TABLE 2:
CAPACITANCE ALGORITHM
Pin States P1 1 P2 input
Algorithm Steps Initialize VSEN (Note 1) (Move VSEN to < VRL) Set VREF to VRL Detect when VSEN < VRL Delay Positive VSEN Slope (Note 2) (Move VSEN from < VRL to > VRH) Start count k1 when VSEN = VRL Set VREF to VRH Stop count k1 when VSEN = VRH Delay Negative VSEN Slope (Move VSEN from > VRH to < VRL) Start count k2 when VSEN = VRH Set VREF to VRL Stop count k2 when VSEN = VRL Delay Note 1:
No
input
FIGURE 5:
The algorithm shown does not include any accuracy improvements. The user can add code to either correct the reference levels (VRL and VRH), using the internal ADC, or calibrate the entire circuits errors (including temperature drift).
input
2:
VRL = 0.125VDD and VRH = 0.500VDD. These are lower range levels in the PIC16F690s VREF (CVREF). The counts k1 and k2 increment once for each PICmicro instruction cycle (TCLK = 0.5 !s)
DS01016A-page 5
AN1016
DESIGN MODIFICATIONS AND ALTERNATIVES
Possible Modifications
SIMPLE MODIFICATIONS
To produce different resolutions (pF / count), change the RINT value. It makes the code simpler when the resolution is a simple multiple of 1 pF. One possible set of values is: RINT = 6.65 M for 0.1 pF / count RINT = 665 k for 1 pF / count RINT = 66.5 k for 10 pF / count More than one resolution in the same circuit can be obtained by switching between several RINT resistors on the Printed Circuit Board (PCB). It is also possible to use multiple microcontroller pins, one for each RINT on the PCB. The RINT values not being used would have their pins set to hi-Z. The parasitic capacitance (CPAR) in parallel with CSEN is caused by board and op amp package stray capacitances. It is typically about 0.5 pF; the calculated CSEN should be corrected (have CPAR subtracted) by this amount. CPAR can be measured by leaving having CSEN open (0 pF). Many of the errors over relative humidity, supply voltage and temperature will be consistent over time. This makes it possble to calibrate out these errors; see Error Analysis. C1 100 nF P1 U1 PIC16F690 P4 Timer1 P3 SR Latch Comparator VREF P2 VSEN VDD_DIG RA2 20 k RA3 20 k CSEN CCG C2 100 nF U2 MCP6291 CCM 100 nF IINT VCM VDD RCM1 20 k RCM2 20 k
RA1 VA 1M
Other Ciruits
A quick overview of different methods to measure capacitance is found in AN990, Analog Sensor Conditioning Circuits - An Overview (AN990) [5]. Those designs include an R-C decay and an oscillator. The R-C decay method [6, 8] is very low cost and easy to implement. It is difficult to use this method for small capacitive sensors because of the microcontrollers parasitic pin capacitance and leakage currents. It is quite popular to use a 555 timer and the capacitive sensor to form an oscillator circuit, which works well for larger capacitors. Smaller capacitors see greater inaccuracies due to the 555 timers parasitic pin capacitance and leakage currents. Also, 555 timers from different vendors behave quite differently. It is also possible to create other oscillator circuits [7]. They can be quite accurate with proper calibration, and they can be either simple or complicated.
DS01016A-page 6
AN1016
ERROR ANALYSIS
The design in this application note is accurate enough to make a detailed error analysis worth the effort. The dominant error sources are covered in this section. They will be covered in the same sequence they propagate through the circuit and algorithm. Their impact on RH accuracy, and possible improvements, will be sumarized at the end. The op amps gain-bandwidth product can have a significant effect on the errors for small CSEN values; see Equation 4. The smaller CSEN is, the larger this error is.
Ratiometric Design
The circuit was designed to be ratiometric. This is accomplished by making IINT, VCM, VRL and VRL proportional to VDD. Using a ratiometric design makes the measurement times independent of power supply voltage (VDD), eliminating one source of measurement error.
Errors in Calculating RH
Humidity Sensor gives basic information on the Humirels HS1101LF capacitive RH sensor. As explained there, the circuit in Figure 3 has a RH resolution of about 0.32% / count (3.2% / pF). Also, a 1% error in measuring CSEN produces a 6% RH error. In addition, there is a 2% error in the nominal RH value, and a 6% error due to temperature variations (at -40C and +85C). RH is calculated from CSEN using a piece-wise linear (PWL) lookup table [11]. This table has been designed to make the firmware simple and quick by using 64 lookup table rows. This has the added benefit of producing a very accurate estimate of RH (better than 0.01% error).
Overview of Errors
Table 3 includes all of the errors mentioned in this section. These errors are at room temperature (+25C). It also shows how the errors propagate through the circuit and the algorithm. The dominant errors are: VREF accuracy: (VRH VRL) / (VDD/2) RINT The internal oscillator frequency The op amp Gain-Bandwidth Product (fGBWP) for very small CSEN values The nominal sensor (HS1101LF) error
Note that when we subtract VRL from VRH, the comparators offset voltage is cancelled (because it is constant).
DS01016A-page 7
AN1016
TABLE 3: ERROR ANALYSIS AT ROOM TEMPERATURE
Error Sources Cause Current (IINT) Imbalance RCM1 and RCM2 VOS_OA IB_OA (Note 4) Average Count (k) VRH VRL (Note 5) RINT Comparator CMRR Comparator VOS Oscillator fGBWP Calculating CSEN CPAR B1 Quantization Error Calculating RH HS1101LF, Nominal Error HS1101LF, Drift per Year PWL Lookup Table Note 1: 2: 3: 3% 1% 0.01% 3% 1% 0.01% not corrected corrected 0.5 pF 0.1 pF 0.25% 0.05 pF 0.5 pF 0.1 pF 0.25% 0.05 pF 1.6% 0.3% 1.5% 0.3% internal external for HS1101LF at CSEN = 0.6 pF 4% 1% 0.18% 10 mV 1% 0.01% 0.002% 0.5% 4% 1% 0.18% 0% 1% 0.01% 0.002% 0.5% 4% 1% 0.18% 0% 1% 0.01% 0.002% 0.5% 24% 6% 1.1% 0% 6% 0.1% 0.01% N/A 1% 3 mV 20 pA 2.0% 0.2% 0.004% 0.05% 0.05% 0.3% Special Conditions Effects Worst Case Imbalance Error in k Error Error in CSEN Error in RH (Note 2) (Note 3) (Note 1)
4: 5:
It is assumed that VDD is at its lowest value (3.0V for this design) when converting errors in mV to percentage errors. The error in VCM is given as a percentage of VDD/2, which is the same as the relative error . The error magnitudes are calculated one at a time, except when converting from to 2 (Error in k column) for the current imbalance. In the latter case, the relative errors are added together before squaring. This error becomes bigger as the ambient temperature increases. At +125C, IB_OAs contribution to the imbalance is 5 nA or 1.1%, causing the RH error to be 0.6%. Both VRL and VRH have a maximum specified error of 0.0104VDD. Since (VRH VRL) has a nominal value of 0.375VDD, each error becomes 0.0278(VRH VRL). The two errors were added in the RMS sense to obtain the 4% value shown above. Most of the remaining errors can be corrected with appropriate calibration procedures and calculations. The calculated RH can be corrected for errors across temperature; both the sensor and the circuit can be calibrated at the same time. Once the decision is made to calibrate the errors, there is no need to correct the VREF levels using the internal ADC.
Possible Improvements
The VREF levels (VRH and VRL) can be corrected, in some microcontrollers, by internally connecting an ADC to the VREF output. Since the ADC has better accuracy than the VREF ladder, the measurement can be improved. Components with tighter tolerance will directly improve the RH accuracy. The resistor, RINT, and the oscillator are two important examples.
DS01016A-page 8
AN1016
MEASURED RESULTS
The basic circuits in Figure 3 and Figure 6 were measured with different RINT values. First, known capacitors were measured to validate the accuracy of these designs. Then the HS1101LF relative humidity sensor was measured and compared to another, calibrated humidity sensor. The measurements were made on the Humidity Sensor PICtail Demo Board, which is discussed in the users guide (DS51594) [15]. This board is further described by: Order Number: PIC16F690DM-PCTLHS Assembly Number: 102-00084R1
FIGURE 7:
Figure 8 shows the measurement discrepancy between the values read from an HP4285A LCR meter and the circuit in Figure 6. These measurements were taken across a range of allowed CSEN values. The parasitic capacitance CPAR was measured by leaving CSEN open; the value for the Humidity Sensor PICtail Demo Board [15] turned out to be approximately 0.27 pF.
100p 1.E+02
FIGURE 8: Discrepancy.
CSEN Measurement
DS01016A-page 9
AN1016
Normal Resolution Measurements
The circuit in Figure 3 does not attenuate the square wave, making it possible to measure larger capacitors. The CSEN resolution is 0.1 pF / count. Figure 9 shows the measurement discrepancy between the values read from an HP4285A LCR meter and the circuit in Figure 3. These measurements were taken across a range of allowed CSEN values.
10% 8% 6% 4% 2% 0% -2% -4% -6% -8% -10% 1p 1.E+00
LESSONS LEARNED
Several important lessons were learned in the process of building, measuring and debugging this design.
Ratiometric Design
This design assumes VDD ranges from 3.0V to 5.5V (e.g., two lithium batteries). To avoid supply rejection errors, and to make the design simpler to implement, a ratiometric approach was very helpful. The implementation is as follows: The square wave VINT is ratiometric VCM is ratiometric VCM and RINT make the current IINT ratiometric, so the voltage VSEN is ratiometric CVREF reference (used for VRH and VRL) is ratiometric (the other internal reference is not)
Not Corrected
Corrected: CPAR = 0.270 pF B1 = 0.09987 pF / count 10p 1.E+01 100p 1.E+02 CSEN (F) 1n 1.E+03 10n 1.E+04
FIGURE 9: Discrepancy.
CSEN Measurement
HS1101LF Impulse
DS01016A-page 10
AN1016
Calibration
Capacitive relative humidity sensors are quite sensitive to capacitive measurement errors. It can be costly to use components with tighter tolerances. The designs in this application note are a big help because they have low parasitic capacitance in parallel with the sensor, and they are immune to sensor case to ground capacitances. The most effective way to overcome the sensitivity problem is to calibrate the errors in production. All of the errors can be corrected in the same step.
REFERENCES
Humidity Sensors
[1] Humirel, Relative Humidity Sensor HS1100LF / HS1101LF, Data Sheet, Rev. C, Sept. 2004.
General Sensors
[2] The OMEGA Made in the USA Handbook, Vol. 1, OMEGA Engineering, Inc., 2002. [3] The OMEGA Made in the USA Handbook, Vol. 2, OMEGA Engineering, Inc., 2002. [4] AN866, Designing Operational Amplifier Oscillator Circuits For Sensor Applications, Jim Lepkowski; Microchip Technology Inc., DS00866, 2003. [5] AN990, Analog Sensor Conditioning Circuits An Overview, Kumen Blake, Microchip Technology Inc., DS00990, 2005. [6] AN512, Implementing Ohmmeter/Temperature Sensor, Doug Cox; Microchip Technology Inc., DS00512, 1997. [7] AN895 Oscillator Circuits For RTD Temperature Sensors, Ezana Haile and Jim Lepkowski; Microchip Technology Inc., DS00895, 2004.
Miscellaneous
Using dual slope integration minimizes errors due to the VCM error (IINT imbalance). The op amps gain-bandwidth product affects the relative error for small CSEN values. Select an op amp that gives an acceptable error at the smallest CSEN value that will be measured. RINT is selected last to make the code simpler to implement. It is chosen so that B1 becomes a convenient number (e.g., 0.1 pF / count). It is important to use a greater number of bits for the averaging (accumulation) of CSEN. The counter in this design is a 16-bit value, and the accumulator is a 24-bit value. This avoids truncation errors, and can prevent counter results being interpreted as negative values.
Capacitive Sensors
[8] AN611, Resistance and Capacitance Meter Using a PIC16C622, Rodger Richey; Microchip Technology Inc., DS00611, 1997. [9] Ricardo Jimenez and Claudia Angulo, Measure Relative Humidity With a PIC MCU, Design Briefs, Electronic Design, March 17, 2005, p. 7980. [10] AN1014, Measuring Small Changes in Capacitive Sensors, Kumen Blake and Steven Bible; Microchip Technology Inc., DS01014, 2005.
SUMMARY
This application note shows hardware and firmware design engineers how to use a PICmicro microcontroller and an op amp integrator to accurately measure small capacitances. Simple firmware is included that produces capacitance and relative humidity values for the HS1101LF relative humidity sensor. Measurements verify the theory and design choices. An error analysis points to possible improvements in the design. Other alternatives and modifications to this design are also covered. Key lessons learned help the user focus on the important aspects of the given design. The references and appendices give detailed information that supports the text of this application note.
Related Literature
[11] AN942, Piecewise Linear Interpolation on PIC12/ 14/16 Series Microcontrollers, John Day and Steven Bible; Microchip Technology Inc., 2004. [12] MCP6291/2/3/4/5 Data Sheet, 1.0 mA, 10 MHz Rail-to-Rail Op Amp, Microchip Technology Inc., DS21812, 2004. [13] PIC16F685/687/689/690 Data Sheet, 20-Pin Flash-Based, 8-Bit CMOS Microcontrollers with nanoWatt Technology, Microchip Technology Inc., DS41262, 2005. [14] PIC16C745/765 Data Sheet, 8-Bit CMOS Microcontrollers with USB, Microchip Technology Inc., DS41124, 2000. [15] Humidity Sensor PICtail Demo Board Users Guide, Microchip Technology Inc., DS51594, 2005.
DS01016A-page 11
AN1016
APPENDIX A: PIECEWISE LINEAR INTERPOLATION TABLE
TABLE A-1:
INTRVL 0 1 17 18 C SEN < 130.0 pF C SEN > 232.3 pF 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 62 63
In order to convert CSEN to RH, the firmware uses a piecewise linear interpolation table [11]. This table is designed specifically for Humirels HS1101LF relative humidity sensor [1]. First, the calculated CSEN value is limited in range and converted to a 10-bit integer:
EQUATION A-1:
CSN = 0, = 1023,
C SEN 130.0 pF = ----------------------------------------, otherwise 0.1 pF The top 6 bits of CSN are used as a pointer (INTRVL) to the correct row of the table. The bottom 4 bits of CSN (CSN ACSN, interpreted as integers between 0 and 15) are the input to the linear interpolation formula using the coefficients for the current row. The entries in the table give errors less than 0.01%.
EQUATION A-2:
X = A RHO + A RH 1 ( CSN ACSN ) RH = max { min { X, 100% } , 0% }
DS01016A-page 12
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 Microchips 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 Microchips 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 Microchips products as critical components in life support systems is not authorized except with express written approval by Microchip. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.
Trademarks The Microchip name and logo, the Microchip logo, Accuron, dsPIC, KEELOQ, microID, MPLAB, PIC, PICmicro, PICSTART, PRO MATE, PowerSmart, rfPIC, and SmartShunt are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. AmpLab, FilterLab, Migratable Memory, MXDEV, MXLAB, PICMASTER, SEEVAL, SmartSensor 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, dsPICDEM, dsPICDEM.net, dsPICworks, ECAN, ECONOMONITOR, FanSense, FlexROM, fuzzyLAB, In-Circuit Serial Programming, ICSP, ICEPIC, Linear Active Thermistor, MPASM, MPLIB, MPLINK, MPSIM, PICkit, PICDEM, PICDEM.net, PICLAB, PICtail, PowerCal, PowerInfo, PowerMate, PowerTool, Real ICE, rfLAB, rfPICDEM, Select Mode, Smart Serial, SmartTel, Total Endurance, UNI/O, 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. 2005, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. Printed on recycled paper.
Microchip received ISO/TS-16949:2002 quality system certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona and Mountain View, California in October 2003. The Companys quality system processes and procedures are for its PICmicro 8-bit MCUs, KEELOQ code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchips quality system for the design and manufacture of development systems is ISO 9001:2000 certified.
DS01016A-page 13
ASIA/PACIFIC
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-8676-6200 Fax: 86-28-8676-6599 China - Fuzhou Tel: 86-591-8750-3506 Fax: 86-591-8750-3521 China - Hong Kong SAR Tel: 852-2401-1200 Fax: 852-2401-3431 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-8203-2660 Fax: 86-755-8203-1760 China - Shunde Tel: 86-757-2839-5507 Fax: 86-757-2839-5571 China - Wuhan Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 China - Xian Tel: 86-29-8833-7250 Fax: 86-29-8833-7256
ASIA/PACIFIC
India - Bangalore Tel: 91-80-2229-0061 Fax: 91-80-2229-0062 India - New Delhi Tel: 91-11-5160-8631 Fax: 91-11-5160-8632 India - Pune Tel: 91-20-2566-1512 Fax: 91-20-2566-1513 Japan - Yokohama Tel: 81-45-471- 6166 Fax: 81-45-471-6122 Korea - Gumi Tel: 82-54-473-4301 Fax: 82-54-473-4302 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934 Malaysia - Penang Tel: 60-4-646-8870 Fax: 60-4-646-5086 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-572-9526 Fax: 886-3-572-6459 Taiwan - Kaohsiung Tel: 886-7-536-4818 Fax: 886-7-536-4803 Taiwan - Taipei Tel: 886-2-2500-6610 Fax: 886-2-2508-0102 Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350
EUROPE
Austria - Wels Tel: 43-7242-2244-399 Fax: 43-7242-2244-393 Denmark - Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 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
10/31/05
DS01016A-page 14