UM1596 User manual. STM8 based universal motor control example software. Introduction

Similar documents
STEVAL-IHM043V1. 6-step BLDC sensorless driver board based on the STM32F051 and L6234. Features. Description

STEVAL-SPBT2ATV2. USB Dongle for the Bluetooth class 2 SPBT2532C2.AT module. Features. Description

Obsolete Product(s) - Obsolete Product(s)

STEVAL-ILL029V1. Front panel demonstration board based on the STLED325 and STM8S. Features. Description

STEVAL-ILL015V1. High brightness RGB LED array with LED error detection based on the STP24DP05 and STM32. Features. Description

STEVAL-ILL037V1. Demonstration board for the HVLED805 IC for LED power supply. Features. Description

Obsolete Product(s) - Obsolete Product(s)

STEVAL-ICB004V1. Advanced resistive touchscreen controller demonstration board based on the STMPE811. Features. Description

ROBOT-M24LR16E-A. Evaluation board for the M24LR16E-R dual interface EEPROM. Features. Description

STEVAL-ILH004V1. 70 W electronic ballast for metal halide lamp (HID) based on the L6382D5 and ST7FLITE49K2. Features. Description

EVALPM8803-FWD. EVALPM8803-FWD: IEEE802.3at compliant demonstration kit with synchronous active clamp forward PoE converter. Features.

STEVAL-CCH002V2. HDMI and video switches demonstration board. Features. Description

March 2012 Doc ID Rev 1 1/4

Multi-channel LED driver with integrated boost controller for medium, large LCD panel backlight based on LED7708 and STM32F103C6T6A

STEVAL-IHM021V W, 3-phase inverter based on the L6390 and UltraFASTmesh MOSFET for speed FOC of 3-phase PMSM motor drives. Features.

Obsolete Product(s) - Obsolete Product(s)

STEVAL-IHM024V W 3-phase inverter using the L6390 and STGDL6NC60DI for vector control. Features. Applications. Description

Obsolete Product(s) - Obsolete Product(s)

L7208. Portable consumer electronics spindle and VCM motor controller. General features. Spindle driver. Description. VCM driver.

IEC compliant smart meter system for AMI applications based on STM32, ST7570 PLM, and STPMC1/STPMS1 chipset

STEVAL-CCM003V1. Graphic panel with ZigBee features based on the STM32 and SPZBE260 module. Features. Description

STEVAL-ILH005V W electronic ballast for HID lamps based on the L6562A and ST7LITE39F2. Features. Description

STEVAL-ISB008V1. Standalone USB Li-Ion battery charger demonstration board based on the STw4102 and STM32F103C6. Features.

STEVAL-IME002V1. Multi-lead electrocardiogram (ECG) and body impedance demonstration board. Features. Description

STEVAL-IKR001V7D. Sub Ghz transceiver daughterboard with power amplifier based on the SPIRIT1. Features. Description

STEVAL-ILL043V1. High end, 75 W high power factor flyback LED driver based on the L6562A with two dimmable strings. Features.

STEVAL-CCA043V1. 25 Watt mono BTL class-d audio amplifier demonstration board based on the TDA7491MV. Features. Description

AN2421 Application note

STEVAL-IFN003V1. PMSM FOC motor driver based on the L6230 and STM32F103. Features. Description

PRODUCT INFORMATION LETTER

STEVAL-IHM025V1. 1 kw 3-phase motor control demonstration board featuring the IGBT SLLIMM STGIPL14K60. Features. Description

Obsolete Product(s) - Obsolete Product(s)

PRODUCT TERMINATION NOTIFICATION

Order code Package Connection. SPDC400FC12M0.60 Open frame Comb. October 2007 Rev 1 1/9

GM60028H. DisplayPort transmitter. Features. Applications

TN0885 Technical note

STEVAL-TDR007V1. 3 stage RF power amplifier demonstration board using: PD57002-E, PD57018-E, 2 x PD57060-E. Features. Description

Obsolete Product(s) - Obsolete Product(s)

STEVAL-IHM008V1. BLDC & AC motor control Power board SEMITOP 2 1kW. Features. Applications

IMPORTANT NOTICE. Company name - STMicroelectronics NV is replaced with ST-NXP Wireless.

M24LR04E-R, M24LR16E-R, M24LR64E-R Errata sheet

GM68020H. DisplayPort receiver. Features. Applications

Obsolete Product(s) - Obsolete Product(s)

STEVAL-ISA121V1. Wide range single-output demonstration board based on the VIPER37LE. Features. Description

STEVAL-IHT005V2. Demonstration board with full 3.3 V ACS/Triac control using the STM32F100. Description. Features

2 x 58 W high frequency ballast for T8 fluorescent tubes based on L6562A, L6569, and STL11NM60N in PowerFlat HV package

Mechanical specification. October 2010 Doc ID Rev 1 1/10

STEVAL-ILL019V1. 32 W offline RGGB LED driver with individual LED channel brightness regulation. Features. Description

AN3075 Application note

STV6110A. 8PSK/QPSK low-power 3.3 V satellite tuner IC. Description. Features

STEVAL-TDR020V1. Portable UHF 2-way radio demonstration board based on the PD84006L-E. Features. Description

STM32-PRIMER/LAB. Raisonance EvoPrimer-LAB to monitor STM32 applications and standalone STM32 Flash programming. Features

GM69010H DisplayPort, HDMI, and component input receiver Features Applications

UM0534 User manual. STEVAL-MKI014V1 demonstration kit for the LIS344ALH. Introduction

STEVAL-MKI126V2. MEMS microphone system evaluation board based on the STA321MPL and MP34DB01. Description. Features

STEVAL-MKI126V3. STSmartVoice demonstration board based on MP34DT01. Description. Features

STEVAL-TDR021V1. Demonstration board using the PD84008L-E for 900 MHz 2-way radio. Features. Description

STEVAL-ISA050V1. Monolithic VR for chipset and DDR2/3 demonstration board based on the PM6641. Features. Application. Description

Obsolete Product(s) - Obsolete Product(s)

BAL-NRF01D3. 50 ohm balun transformer for 2G45 ISM matched Nordic s chipset: nrf24le1 QFN32, nrf24ap2-1ch and nrf24ap2-8ch. Features.

STV6417 R/C/Pr, G/C, B/Pb Switches + Filter. C, Y, CVBS/Y Switches + Filter. Audio Switches Volume Control AUDIO R SLOW BLANK

SPC564A80CAL176 SPC564A70CAL176

EVAL-RHF1009A. EVAL-RHF1009A product evaluation board. Description. Features

Main components Proximity and ambient light sensing (ALS) module

Main components Narrow-band OFDM power line networking PRIME compliant system-on-chip

Very low-noise, high-efficiency DC-DC conversion circuit

IMPORTANT NOTICE. Company name - STMicroelectronics NV is replaced with ST-NXP Wireless.

STW High voltage fast-switching NPN power transistor. Features. Application. Description

Obsolete Product(s) - Obsolete Product(s) UM0223 User manual STEVAL-IFS001V1 evaluation kit with MEMS Introduction

ST10F273M Errata sheet

STDP2650 Advanced DisplayPort to HDMI converter Features Applications

PRODUCT INFORMATION LETTER

FLI30x02 Single-chip analog TV processor Features Application

Description. Table 1. Device summary. Order codes Temperature range [ C] Package Packing. LPS2HBTR -30 to +105 HLGA - 10L

VT5365. Single-chip optical mouse sensor for wireless applications. Features. Applications. Technical specifications. Description.

STEVAL-IHM034V2. Dual motor control and PFC evaluation board featuring the STM32F103 and STGIPS20C60. Features

Main components Proximity and ambient light sensing (ALS) module

STEVAL-IHM038V1. BLDC ceiling fan controller based on the STM32 and SLLIMM-nano. Description. Features

PRODUCT/PROCESS CHANGE NOTIFICATION

STDP4020. DisplayPort receiver. Features. Applications

EVLHVLED815W8CV. 8 W - high power factor - constant voltage regulation based on HVLED815PF. Features. Description

EVAL6208Q. Stepper motor driver mounting the L6208Q. Features. Description

STi5105 High-performance advanced SD decoder for set-top box Features

STANC0. Stereo HD-PA digitally programmable active noise cancelling audio engine. Features. System. Input and output.

Obsolete Product(s) - Obsolete Product(s)

STEVAL-ILL031V1. Digital constant-current controller for LED driving based on the STM8S208x. Features. Description

M24SR-DISCOVERY. Discovery kit for the M24SR series Dynamic NFC/RFID tag. Features

STA3005. Dual-IF AM/FM digital radio receiver. Feature summary. Order codes

Order code Marking Package Packing. STA5630TR STA5630 VFQFPN32 Tape and reel STA5630ATR (1) September 2013 Doc ID Rev 4 1/8

PRODUCT/PROCESS CHANGE NOTIFICATION

PRODUCT/PROCESS CHANGE NOTIFICATION

EVAL6474PD. Stepper motor driver mounting the L6474 in a high power PowerSO package. Features. Description

USBLC6-4SC6Y. Automotive very low capacitance ESD protection. Features. Applications. Description. Benefits. Complies with the following standards

EVLHVLED815W10F. 10 W wide-range high power factor isolated LED driver based on HVLED815PF. Description. Features

ST-LINK/V2 in-circuit debugger/programmer for STM8 and STM32

STDP2500. Mobility DisplayPort (MyDP) to DP converter. Features. Applications

STEVAL-ISA001V1. 6W Dual Output Supply using VIPer12A. Features. Blue angel. Applications

USBLC6-2SC6Y. Automotive very low capacitance ESD protection. Features. Applications. Description. Benefits. Complies with the following standards

AN4178 Application note

STDP4320 DisplayPort 1.2a splitter Features Applications

Transcription:

User manual STM8 based universal motor control example software Introduction The STM8 based universal motor controller example software is written in the C programming language and provides the main functions of line synchronization, synchronized Triac gate pulse generation, tachometer interface, and speed regulation. January 2013 Doc ID 024038 Rev 1 1/12 www.st.com

Contents UM1596 Contents 1 Theory of operation......................................... 3 2 Zero cross state machine pseudocode.......................... 4 3 Gating state machine pseudocode............................. 5 4 64 microsecond heartbeat interrupt pseudocode // hallstate state machine.................................................... 6 5 Background loop pseudocode................................. 7 6 Run push-button state machine............................... 8 7 Variable descriptions........................................ 9 8 Compile time settings (#defines).............................. 11 9 Revision history........................................... 11 2/12 Doc ID 024038 Rev 1

Theory of operation 1 Theory of operation The line synchronization is received at the Timer1 channel 3 input capture pin. A rising edge at TIM1- CH3 triggers a capture of the present value of TIM1 and also generates the execution of the interrupt service routine which hosts the Zero Cross State Machine. TIM1 is a 16-bit timer which is allowed to free run. The TIM1 input clock is prescaled so that each timer tick represents 0.5 microseconds. This scaling allows easy scheduling of time intervals up to 32,767 microseconds or 32.767 milliseconds. Since the longest nominal time period that a phase controller such as this would need to deal with is 20 milliseconds (the period of a 50 Hz AC line), this provides a good compromise between range and resolution. The captured value of TIM1 is stored as the global variable zctime and all gating events are scheduled relative to the latest zctime. The enabling and disabling of Triac gating pulses are scheduled using the output compare functionality of TIM1. The channel 1 output compare function is used and these events trigger the interrupt that hosts the gating state machine. The output compare event does not directly trigger any hardware outputs, just the interrupt. Aside from the input capture and the output compare interrupts, the program also employs a fixed frequency 64 microsecond heartbeat interrupt. This interrupt hosts the Hallstate state machine and the state variable speed observer. The purpose to the hallstate state machine is to poll the state of the tachometer signal and detect all rising and falling edges (with digital noise filtering). Whenever an edge is detected, the global variable position is incremented. Position gives a running indication of the rotational position of the motor starting from the time it is started. Position is cleared with each motor start. The speed observer takes position as its input and generates positionest, which tracks position. Positionest is generated within the observer by integration of another variable called speedest. So long as positionest continues to track position, speedest is a faithful estimate of motor speed. The reason for using the observer method to derive motor speed from the tachometer signal rather than the more straight forward methods of either counting tachometer edges in a fixed time interval (frequency measurement) or capturing the interval between edges (period measurement) is that the observer does an excellent job of rejecting noise regenerated by actual electrical noise in the tachometer signal and also time jitter noise caused by inconsistencies in the rotational interval between tachometer edges. Cheap tachs usually have this sort of edge jitter and it is difficult to eliminate when using an input capture technique. The direct frequency measurement technique is not very susceptible to noise but this method tends to generate a very low effective bandwidth (update rate) for the speed estimate since low pulse rate tachs must be counted over a relatively long interval in order to get sufficient resolution, especially at lower speeds. A potentiometer provides a scaled speed command for the motor. The speed command is processed by an acceleration/deceleration control block to produce a speed reference. The speed reference is presented to a more or less conventional PI regulator which generates the gatedelay. The gatedelay is used as the command input to the zero cross and gating state machines to control Triac gate timing relative to the line zero crossing. Doc ID 024038 Rev 1 3/12

Zero cross state machine pseudocode UM1596 2 Zero cross state machine pseudocode Case 0: Wait 30 line cycles for system to settle, then advance to case 4 Case 4: Zctime = captured tim1 Advance to case 10 Case 10: Lineperiod = new caputed tim1 - zctime Lineperiodsum = lineperiodsum + lineperiod If (16 lineperiods have been accumulated) { Halfperiod = lineperiodsum/32 Usablehalfperiod = 85% of halfperiod Gatedelay = usablehalfperiod Advance to case 15 } Case 15: Zctime = captured tim1 Gatetime = zctime + halfperiod -500 Set gstate to 100 Schedule next gstate interrupt at gatetime Advance to case 20 Case 20: Zctime = captured tim1 Gatetime = zctime + gatedelay Schedule next gstate interrupt at gatetime Set gstate to 0 // end of zero cross state machine (state stays at case 20 until motor is re-started) 4/12 Doc ID 024038 Rev 1

Gating state machine pseudocode 3 Gating state machine pseudocode Note: Very first case to run is 100, which runs only once. Case 0:// first gating pulse If (run) take gate pins low to trigger Triac Gateon = TRUE Regulate = TRUE Gatetime = gatetime + 1000 // turn off time Schedule next gstate interrupt at gatetime Advance to case 10 Case 10: // first turn off If (run) take gate pins high to turn off gating Gateon = FALSE Gatetime = zctime + halfperiod + gatedelay // turn on time for second gate Schedule next gstate interrupt at gatetime Advance to case 20 Case 20:// second gate If (run) take gate pins low to trigger Triac Gateon = TRUE Regulate = TRUE Gatetime = gatetime + 1000 // turn off time Schedule next gstate interrupt at gatetime Advance to case 30 Case 30:// second turn off If (run) take gate pins high to turn off gating Gateon = FALSE Advance case to 0 // state set for first gating, to be scheduled by zero cross state machine Case 100: // very first gating pulse (get output high safely) If (run) take gate pins high to turn off gating Gateon = FALSE Firstgate = FALSE Gatetime = gatetime + 100 Schedule next gstate interrupt at gatetime Advance case to 10 // end of gating state machine Doc ID 024038 Rev 1 5/12

64 microsecond heartbeat interrupt pseudocode // hallstate state machine UM1596 4 64 microsecond heartbeat interrupt pseudocode // hallstate state machine Case 0:// looking for new rising edge If( tacho signal high) advance case to 2 Case 2: // looking for second consecutive high If( tacho signal high) advance case to 4 Else back to case 0 Case 4: // looking for third consecutive high If( tacho signal high) advance case to 10 and increment position Else back to case 0 Case 10: // looking for new falling edge If( tacho signal low) advance case to 12 Case 12:// looking for second consecutive low If( tacho signal low) advance case to 14 Else back to case 10 Case 14: // looking for third consecutive low If( tacho signal low) advance case to 0 and increment position Else back to case 10 // end of hallstate state machine // state variable speed observer Unionlong0 = positionest / 4096 Slong0 = position - unionlong0 Speedest = slong0 // scale estimate to match position // calculate observer error // observer error used as speed estimate Positionest = positionest + speedest // integrate speed estimate into position estimate // catch eventual rollover of positionest (and position) and prevent // after adjustment position error will not change so there will be no disturbance If (positionest > ½ of full numerical range) { positionest = positionest - ½ of full scale Position = position - 524288 // half of full scale divided by 4096 } // end of state variable observer 6/12 Doc ID 024038 Rev 1

Background loop pseudocode 5 Background loop pseudocode If (run) { If (gateon) toggle gate pins Else force gating pins high } If (regulate) { Regulate = FALSE Read pot ADC channel and store as 255 - value ( reverse direction sense of pot) If (openloop ) long0 = usablehalfperiod Else long0 = maxrpm Long0 = (long0 * potvalue)/256 Rpmcmd = long0 Sword0 = rpmcmd - rpmref // accel/decel block error calculation If (sword0>acclin) sword0 = acclim // limit positive delta If (sword0<-declim) sword0 = -declim // limit negative delta Rpmref = rpmref + sword0 // integrate delta to generate output Rpm = speedest * 228 / tachoppr // calculate rpm Sword0 = rpmref - rpm // speed error calculation If (sword0>errorlim) sword0=errorlim // clamp speed error to prevent math problems If (sword0<-errorlim) sword0 = -errorlim Errorintegral = errorintegral + sword0 // error integration If (errorintegral<0) errorintegral=0 // clamp error integral If (errorintegral>erintlim) errorintegral = erintlim Slong0 = sword0 * propgain / 256 Execute filter1, input = slong0 : output = propterm intterm = errorintegral * intgain / 256 sword0 = usablehalfperiod -propterm-intterm If (sword0<1000) sword0=1000 // clamp gate delay If (sword0>usablehalfperiod) sword0 = usablehalfperiod If (run is FALSE) sword0 = usablehalfperiod If (openloop ) sword0 = usableperiod - rpmref Gatedelay = sword0 Doc ID 024038 Rev 1 7/12

Run push-button state machine UM1596 6 Run push-button state machine Case 0: // looking for falling edge of pushbutton signal If (pushbutton signal low) advance to case 2 Case 2: // confirm logic low If (pushbutton signal low) advance to case 4 Else return to case 0 Case 4: // confirm low again If (pushbutton signal low) advance to case 10 Else return to case 0 Case 10:// now looking for rising edge If (pushbutton signal high) advance to case 12 Case 12: // confirm logic high If (pushbutton signal high) advance to case 14 Else return to case 10 Case 14: // confirm logic high If (pushbutton signal high) advance to case 20 Else return to case 10 Case 20: // full pushbutton cycle confirmed If (run) { run = FALSE turn LED off Else { Initialize all run variables Run = TRUE Turn LED on } Return to case 0 to await next pushbutton press // end of pushbutton state machine } // end of if (regulate) section // end of background loop 8/12 Doc ID 024038 Rev 1

Variable descriptions 7 Variable descriptions Table 1. Variable descriptions Variable Type Description Openloop 8-bit logic flag If true, pot controls gating delay instead of speed regulator command. Run 8-bit logic flag Flag is true when the motor is running and false otherwise. Runstate 8-bit unsigned Reflects the current state of the runstate state machine. Zcstate 8-bit unsigned Reflects the current state of the zero crossing interrupt state machine. Cyclecounter 8-bit unsigned Used to count AC line cycles during an initial stabilizing delay of 30 cycles and to count out 16 cycles as line period is averaged and measured. Gstate 8-bit unsigned Reflects current state of Triac gating interrupt. Gateon Firstgate 8-bit logic flag 8-bit logic flag Flag is true when background toggling of Triac gate is enabled and false otherwise. Flag is initialized true to prevent background loop from starting. After line synchronization has been established (and gating signal set high), flag is cleared to allow background to run. Potvalue 8-bit unsigned 0 to 255 represents 0 to 5 V at pot wiper. Read once per half line cycle. Regulate Hallstate Halfperiod 8-bit logic flag 8-bit unsigned 16-bit unsigned Set in gating interrupt at each gating to trigger background to run regulator routine. Flag is cleared in background when the regulator routine is run. Reflects the current state of the hallstate state machine. This state machine manages the variable position based on current value and history of the tacho signal. Measured time length of an AC line half period. This value is measured once at power up based on the average value of 16 line cycles. Units are in 0.5 μs timer ticks. Nominal 16667 at 60 Hz. Usablehalfperiod 16-bit unsigned 85% of halfperiod. Used as the practical limit for phase delay (50 or 60 Hz). Gatedelay 16-bit unsigned Zctime 16-bit unsigned Commanded time delay (in 0.5 μs timer ticks) from zero crossing to Triac gating. Most recently captured value of free running Timer1 at AC mains rising edge zero crossing. Lineperiod 16-bit unsigned Most recently calculated AC mains line period (in timer ticks). Gatetime 16-bit unsigned Most recently calculated Triac gating time referred to Timer1. Propterm 16-bit signed Proportional term of PI speed regulator. Intterm 16-bit signed Integral term of PI speed regulator. Speedest Rpmcmd 16-bit signed 16-bit signed Raw speed estimate which is integrated in 64 μs interrupt to generate the position estimate positionest. Each count of speedest represents 15625/4096 or 3.8147 position counts per second. For a typical tacho providing 8 pulses per rotation, this is 3.8147/8 or 0.4768 revolutions per second or 28.61 RPM. A speed of 10,000 RPM (not uncommon for a universal motor) gives a speedest of 350. Scaled speed command derived from potvalue units are revolutions per minute. Doc ID 024038 Rev 1 9/12

Variable descriptions UM1596 Table 1. Variable descriptions (continued) Variable Type Description Rpmref 16-bit signed Rpm 16-bit signed Lineperiodsum 32-bit unsigned Position 32-bit unsigned Positionest 32-bit unsigned Filter1int 32-bit signed Errorintegral 32-bit signed Output of accel/decel control block. Follows rpmcmd but slews to respect accel/decel limits. Current measured motor speed expressed in revolutions per minute. Feedback for regulator. Sum of first 16 measured line periods used to calculate average. Unit is Timer1 ticks. Initialized to zero, this variable accumulates all tacho pulses (rising and falling edges). This variable is adjusted whenever it crosses half of full scale (by subtracting half of full scale) so that it does not ever overflow. This variable is the input to the state variable speed observer, which calculates estimated speed. The speed estimating state variable observer constantly compares this variable with variable position and generates an error term which is ultimately used as the speed estimate. This speed estimate is integrated in the 64 μs interrupt to generate positionest positionest is scaled to be 4096 times bigger than position This is done in order to increase the resolution of the speed estimate variable. This is the integral term associated with filter1. Filter1 is a low pass filter used to smooth the proportional term of the PI speed regulator the regulator is thus a modified proportional plus integral algorithm. This is the raw time integral of speed error used by the PI speed regulator units are RPM-ticks where the time tick is a half line cycle. 10/12 Doc ID 024038 Rev 1

Compile time settings (#defines) 8 Compile time settings (#defines) Table 2. Compile time settings (#defines) Setting Type Description Maxrpm Numeric Full scale RPM setting. Acclim Numeric Acceleration limit. Units are RPM per half line cycle. Declim Numeric Deceleration limit. Units are RPM per half line cycle. Propgain Intgain Filter1tc Tachoppr Numeric Numeric Numeric Numeric Proportional gain for PI speed regulator. Scaling is such that a value of 256 will imply a gating time advance of 0.5 microseconds per RPM of speed error. Integral gain for PI speed regulator. Scaling is such that a value of 256 will imply a gating time advance of 0.5 microseconds per RPM of speed error per half line cycle. Controls the time constant of the low pass filter which is cascaded with the proportional path of the PI speed regulator. The total number of edges (rising and falling) presented by the tachometer in each rotation of the motor. This is used to calculate RPM. 9 Revision history Table 3. Document revision history Date Revision Changes 15-Jan-2013 1 Initial release. Doc ID 024038 Rev 1 11/12

Please Read Carefully: Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries ( ST ) reserve the right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any time, without notice. All ST products are sold pursuant to ST s terms and conditions of sale. Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no liability whatsoever relating to the choice, selection or use of the ST products and services described herein. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such third party products or services or any intellectual property contained therein. UNLESS OTHERWISE SET FORTH IN ST S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS EXPRESSLY APPROVED IN WRITING BY TWO AUTHORIZED ST REPRESENTATIVES, ST PRODUCTS ARE NOT RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY, DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER S OWN RISK. Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any liability of ST. ST and the ST logo are trademarks or registered trademarks of ST in various countries. Information in this document supersedes and replaces all information previously supplied. The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners. 2013 STMicroelectronics - All rights reserved STMicroelectronics group of companies Australia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan - Malaysia - Malta - Morocco - Philippines - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America www.st.com 12/12 Doc ID 024038 Rev 1