STM32 Nucleo Pack FOC and 6-step motor control platform for 3-phase low voltage motor
User Manual UM1945
Introduction
The NUCLEO Pack (P-NUCLEO-IHM001) is a motor control kit based on X-NUCLEO-IHM07M1 and NUCLEO-F302R8 boards. The power board with ST L6230 DMOS driver, belonging to STPIN family, provides a motor control solution for low voltage 3-phase DC brushless motor with the addition of STM32 NUCLEO board through the ST morpho connector.
The driver used on power board is the L6230, a DMOS fully integrated driver for 3-phase brushless PMSM motor, assembled in PowerSO36 package, with overcurrent and thermal protection. The NUCLEO-F302R8 provides an affordable and flexible way for users to try out new ideas and build prototypes with STM32 MCU. It does not require any separate probe as it integrates the ST-LINK/V2-1 debugger and programmer.
This document describes the procedure to configure this P-NUCLEO-IHM001 kit to run the low voltage motor included in the package. The evaluation board is fully configurable and ready, to support different closed loop controls based on sensorless or sensored mode, and it is compatible with 3-shunt or 1-shunt current sense measuring. The Figure 1 shows the motor control kit assembled.
Figure 1. P-NUCLEO-IHM001 Pack: A photograph of the P-NUCLEO-IHM001 motor control kit assembled, showing the NUCLEO-F302R8 board stacked on the X-NUCLEO-IHM07M1 expansion board, with a 3-phase motor connected. (Note: Image is illustrative; 'Picture not contractual').
Contents
List of tables
List of figures
- Figure 1. P-NUCLEO-IHM001 Pack
- Figure 2. System architecture
- Figure 3. X-NUCLEO-IHM07M1 and NUCLEO-F302R8 assembled
- Figure 4. Motor connection with X-NUCLEO-IHM07M1
- Figure 5. Power supply connection for X-NUCLEO-IHM07M1
- Figure 6. X-NUCLEO-IHM07M1 – top layer with silk-screen
- Figure 7. X-NUCLEO-IHM07M1 connectors view
- Figure 8. ST-LINK utility tool
- Figure 9. ST-LINK utility tool programming environment
- Figure 10. 6-step firmware – Project workspace on IAR
- Figure 11. Generic firmware architecture
- Figure 12. X-CUBE-SPN7 software architecture
- Figure 13. Current sense conditioning circuit
- Figure 14. Sensors and shunt resistor circuit
- Figure 15. L6230 driver and BEMF detection circuit
- Figure 16. STM32 MCU pin assignment
1 Features
The information listed below shows the main board specification data and parameters set for the X-NUCLEO-IHM07M1 expansion board included in the P-NUCLEO-IHM001 kit:
- 3-phase driver board for BLDC/PMSM Motors
- Nominal operating voltage range from 8 V to 48 V DC
- 2.8 A output peak current (1.4 A RMS)(a)
- Operating frequency up to 100 kHz
- Non dissipative overcurrent detection and protection
- Cross conduction protection
- Thermal measuring and overheating protection
- Full compatible with ST 6-Step or ST FOC control algorithm
- Full support for sensorless and sensor mode
- 3-shunt and 1-shunt configurable jumpers for motor current sensing
- Hall / encoder motor sensor connector and circuit
- Debug connector for DAC, GPIOs, etc.
- Potentiometer available for speed regulation
- Fully populated board conception with test points
- User LED
- Compatible with STM32 Nucleo boards
- Equipped with ST morpho connector
- PCB type and size:
- Material of PCB - FR-4
- 4 layers layout
- Copper thickness: 70 µm (external layer), 35 µm (internal layer)
- Total dimensions of the expansion board: 70 mm x 66 mm
(a) Device characteristic
2 Ordering information
To order the motor control kit based on X-NUCLEO-IHM07M1 and NUCLEO-F302R8, use the order code: P-NUCLEO-IHM001.
3 Basic user - Getting started
3.1 System architecture
A generic motor control system can be basically schematized as the arrangement of three main blocks (see Figure 2):
- Control block: its main task is to accept user commands and configuration parameters to drive a motor. The P-NUCLEO-IHM001 is based on NUCLEO-F302R8 board that provides all digital signals to perform the proper motor driving control algorithm (for instance 6-step or FOC).
- Power block: the X-NUCLEO-IHM07M1 is based on 3-phase inverter topology. The core of the power block embedded on board is the driver STSPIN L6230, which contains all the necessary active power and analog components to perform a low voltage PMSM motor control.
- PMSM Motor: low voltage 3-phase brushless motor.
Figure 2. System architecture: A block diagram illustrating the motor control system architecture, comprising a Control block (NUCLEO-F302R8), a Power block (X-NUCLEO-IHM07M1 with L6230 driver), and a PMSM Motor.
3.2 Building and run the motor control Nucleo Pack
The P-NUCLEO-IHM001 is a complete hardware development platform (Power & Control block + Motor) for STM32 Nucleo ecosystem to evaluate a motor control solution for single motor.
For a regular board operating, follow the hardware configuration shown below:
3.3 Hardware settings
1. The X-NUCLEO-IHM07M1 must be stacked on a NUCLEO-F302R8 board through the ST morpho connector. There is only one position allowed for this connection, in particular the two buttons on NUCLEO-F302R8 board (blue B1 and black B2) must be kept out, as shown in Figure 3.
Figure 3. X-NUCLEO-IHM07M1 and NUCLEO-F302R8 assembled: A photograph showing the X-NUCLEO-IHM07M1 expansion board physically connected and stacked onto the NUCLEO-F302R8 board via the ST morpho connector. Key buttons (B1, B2) on the NUCLEO board are visible.
The interconnection between the X-NUCLEO-IHM07M1 with STM32 NUCLEO board has been designed for a full-compatibility with a lot of control board and no modification of solder bridges is required.
2. Connect the three motor wires U,V,W at J2 connector as shown in the Figure 4: Motor connection with X-NUCLEO-IHM07M1: it is mandatory to connect the white or yellow wire to OUT1, the black one to OUT2 and the red one to OUT3, to respect clockwise and counterclockwise motor rotation, according to the firmware implementation.
Figure 4. Motor connection with X-NUCLEO-IHM07M1: A close-up photograph of the J2 motor connector on the X-NUCLEO-IHM07M1 board. Three wires from a 3-phase motor are shown connected, with labels indicating the expected wire colors and their corresponding OUT terminals: Red wire to OUT3, Black wire to OUT2, and White or Yellow wire to OUT1.
3. Select the jumper configuration on the power board to choose the desired control algorithm (6-step or FOC) as described below:
- On NUCLEO-F302R8 board, check jumper setting: JP1 open, JP5 (PWR) on E5V side, JP6 (IDD) closed.
- On X-NUCLEO-IHM07M1 expansion board:
- Check jumper settings: J9(b) closed, JP3 closed
- For 6-step control set jumper settings as: JP1 and JP2 open, J5&J6 on 1Sh side(b)
- For FOC control set jumper settings as: JP1 and JP2 closed, J5&J6 on 3Sh side
(b) It is important that supply voltage is powered off before control mode changing.
4. Connect DC supply voltage on J1(c) connector and power-on (up to 12 V DC for BR2804 motor included in the Pack, as shown in Figure 5: Power supply connection for X-NUCLEO-IHM07M1).
Figure 5. Power supply connection for X-NUCLEO-IHM07M1: A diagram illustrating the power supply connection to the X-NUCLEO-IHM07M1 board via the J1 connector. Two terminals are shown, labeled '+Vdc' and 'Gnd', with wires connected.
5. At power-on (or reset) led D11 on X-NUCLEO-IHM07M1 board starts to blink according to the control algorithm choice:
- 2 times for FOC mode control
- 4 times for 6-step mode control
After the confirmation of control algorithm selected, the system is ready to start.
6. Push the blue button on NUCLEO-F302R8 (B1) and the motor starts to spin.
7. Rotate the potentiometer on X-NUCLEO-IHM07M1 board in order to regulate the motor speed.
The Table 1 shows the jumper configuration on X-NUCLEO-IHM07M1 board (see also Figure 6: X-NUCLEO-IHM07M1 – top layer with silk-screen and Figure 7: X-NUCLEO-IHM07M1 connectors view). According to the jumpers selection, it is possible to choose the
Jumper | Permitted configurations | Default condition |
---|---|---|
JP1(1) | Selection for FOC current sensing circuit. The default condition is for 6-Step control algorithm | OPEN |
JP2(1) | Selection for FOC current sensing circuit. The default condition is for 6-Step control algorithm | OPEN |
JP3 | Selection for pull-up enabling in hall/encoder detection circuit | CLOSED |
J9 | Selection to supply the Nucleo board through the X-NUCLEO-IHM07M1(2)* | CLOSED |
J5(3) | Selection for 1-shunt or 3-shunt configuration (single shunt by default) | 2-3 CLOSED |
J6(3) | Selection for 1-shunt or 3-shunt configuration (single shunt by default) | 2-3 CLOSED |
J7 | Debug connector for DAC | OPEN |
(1) JP1 and JP2 selection between FOC or 6-step current sensing circuit. It must be both closed (FOC selection) or both open (6-step selection - default setting)
(2) It is recommended to verify that power supply voltage is not higher than 12V dc, in order to avoid damaging on NUCLEO-F302R8 board. For further details on Nucleo settings refer to UM1724 available from ST web site www.st.com.
(3) J5 and J6 must have both the same configuration. Both 1-2 for three shunt configuration. Both 2-3 for single shunt configuration. On the silkscreen the correct position for three and for single shunt is indicated. Also the default position is indicated.
The Table 2 shows the main connector on X-NUCLEO-IHM07M1 board.
Screw terminal | Function |
---|---|
J1 | Motor power supply input (8V÷48V) |
J2 | 3-phase motor connector (U,V,W) |
The X-NUCLEO-IHM07M1 is based on ST morpho connector, male pin headers (CN7 and CN10) accessible on both sides of the board. They can be used to connect this power board to NUCLEO-F302R8 board. All signals and power pins for MCU are available on ST morpho connector. For further details refer to UM1724 document (section 5.12 ST morpho connector) available on website www.st.com.
Figure 6. X-NUCLEO-IHM07M1 – top layer with silk-screen: A diagram of the top layer of the X-NUCLEO-IHM07M1 board, showing the placement of components, connectors (CN5, CN10, CN6, CN7, CN8, CN9), jumpers (JP1, JP2, JP3, J5, J6, J7, J9), potentiometer (SPEED), and integrated circuits (U11, U10).
Part reference | Description |
---|---|
CN7 | ST morpho connector |
CN6 | Arduino UNO connector |
CN8 | Arduino UNO connector |
U11 | L6230 driver |
U10 | TSV994IPT op. amp. |
J1 | Power supply connector |
Table 3. Connectors description (continued)
Part reference | Description |
---|---|
J9 | Enable VIN supply voltage |
JP1, JP2 | Jumpers for FOC |
SPEED | Potentiometer |
CN10 | ST morpho connector |
CN5 | Arduino UNO connector |
CN9 | Arduino UNO connector |
J2 | Motor connector |
J3 | Hall/Encoder sensor connector |
J7 | Debug connector |
JP3 | External pull-up for sensors |
J5, J6 | Current measure mode (1Sh/3Sh) |
D11 | LED status indicator |
Figure 7. X-NUCLEO-IHM07M1 connectors view: A photograph of the X-NUCLEO-IHM07M1 board with specific connectors and jumpers highlighted and labeled, including JP1, JP2, J5, JP6, JP3, J9, SPEED, CN10, CN5, CN6, CN8, CN7, CN9, J2, J3, J7, and D11 (LED status indicator).
3.4 Upload the firmware example
The motor control Nucleo Pack example firmware is pre-loaded in NUCLEO-F302R8 board. As described in the previous section, it performs two different algorithms to run the motor, 6-step (trapezoidal control) or FOC (Field Oriented Control). This chapter describes the procedure to reload the firmware demonstration inside the NUCLEO-F302R8 board, in order to restart by default condition. There are two ways to do it: one is through ST-LINK tool (free download available from ST web site: www.st.com), and one with drag & drop function (suggested).
3.4.1 Drag & drop procedure:
- Install ST-LINK drivers from www.st.com website.
- On the NUCLEO-F302R8 board put JP5 jumper in U5V position.
- Plug the NUCLEO-F302R8 Board to the host PC using a micro USB cable. If the ST-LINK driver is correctly installed, it will be recognized as an external memory device called "NUCLEO" or similar.
- Take the binary file of the firmware demonstration (P-NUCLEO-IHM001.bin) and drag and drop the file into the "NUCLEO" device listed inside the disk drives list (this is showed by clicking the Start button of Windows OS interface), contained into X-CUBE-SPN7 firmware pack.
- Wait until flashing is complete.
3.4.2 ST-LINK tool:
- Open "ST-LINK tool".
- Connect NUCLEO-F302R8 board to PC with a USB type A to Mini-B cable through USB connector (CN1) on NUCLEO-F302R8 board.
- Make sure that the embedded ST-LINK/V2 is configured for in-system programming on NUCLEO-F302R8 board (both CN2 jumpers ON).
- Use “P-NUCLEO-IHM001.bin“ binary file to upload the code inside STM32, the window will appear as shown in Figure 8.
Figure 8. ST-LINK utility tool: A screenshot of the STM32 ST-LINK Utility software displaying the memory display window, showing the loaded firmware file 'P-NUCLEO-IHM001.hex' and its memory address range.
5. Click on Target and Program buttons (see Figure 9: ST-LINK utility tool programming environment).
Figure 9. ST-LINK utility tool programming environment: A screenshot of the STM32 ST-LINK Utility software in programming mode, showing the interface for selecting and uploading firmware to the target microcontroller.
6. Click on Start and the firmware will be uploaded successfully.
4 Advanced user - 6-step and FOC control algorithm settings
4.1 6-step firmware based on X-CUBE-SPN7
4.1.1 Firmware architecture overview
The firmware example in X-CUBE-SPN7 is provided for three different IDE tools, in this case the IAR™ IDE workspace appears as shown in Figure 10.
Figure 10. 6-step firmware – Project workspace on IAR: A screenshot of the IAR Embedded Workbench IDE, displaying the project workspace for the 6-step firmware, including the project tree, source files, and code editor.
The firmware solution is built around three independent levels that can easily interact with each others as described in the below Figure 11: Generic firmware architecture:
Figure 11. Generic firmware architecture: A layered diagram illustrating the generic firmware architecture. Level 2 represents applications and demonstrations. Level 1 includes middleware components and examples. Level 0 comprises HAL Peripheral Drivers and BSP Drivers, interacting with the low-level driver core and hardware components.
Level 0:
This level is divided into three sub-layers:
- Board Support Package (BSP): this layer offers a set of APIs relative to the hardware components in the hardware boards (Audio codec, IO expander, Touchscreen, SRAM driver, LCD drivers. etc...) and composed of two parts:
- Component: is the driver relative to the external device on the board and not related to the STM32. The component driver provides specific APIs to the BSP driver external components and could be portable on any other board. In this case (X-NUCLEO-IHM07M1) the ST L6230 driver has been provided inside the firmware package.
- BSP driver: it allows to link the component driver to a specific board and provides a set of friendly used APIs. The APIs naming rule is BSP_FUNCT_Action(): ex. BSP_LED_Init(),BSP_LED_On().
- Hardware Abstraction Layer (HAL): this layer provides the low level drivers and the hardware interfacing methods to interact with the upper layers (application, libraries and stacks). It provides a generic, multi instance and functionalities oriented APIs which permit to offload the user application implementation, by providing ready to use process. For example, for the communication peripherals (I2S, UART...) it provides APIs allowing to initialize and configure the peripheral, manage data transfer based on polling, interrupt or DMA process, and manage communication errors that may raise during communication. The HAL drivers APIs are splitted in two categories: generic APIs which provides common and generic functions to all the STM32 series and extension APIs, which provides specific and customized functions for a specific family or a specific part number.
- Basic peripheral usage examples: this layer encloses the examples built over the STM32 peripheral using only the HAL and BSP resources.
Level 1:
This level is divided into two sub-layers:
- Middleware components: set of Libraries covering USB Host and device libraries, STemWin, FreeRTOS, FatFS, LwIP, and PolarSSL. Horizontal interactions between the components of this layer is done directly by calling the feature APIs, while the vertical interaction with the low level drivers is done through specific callbacks and static macros, implemented in the library system call interface. For example, the FatFs implements the disk I/O driver to access microSD drive or the USB Mass Storage Class. The middleware components provided with the X-CUBE-SPN7 package contain the core of the motor control algorithm: 6-step library (6Step_Lib.c/h) and interface files (stm32f302_ihm07m1.c/h). The interface file includes the map of STM32 MCU peripherals used (for instance, advanced TIMx, general TIMx, ADCx, DACx, UART etc.) to operate with the MC SixStep library. This file must be updated according with the modification done by the user through STM32CubeMX software, if channels or peripherals will be modified respect to the default configuration. At middleware level a serial communication based on UART with external PC terminal emulator has been included in X-CUBE-SPN7 package (see the UART_UI.c/h).
- Examples based on the middleware components: each middleware component comes with one or more examples (called also Applications), showing how to use it. Integration examples that use several middleware components are provided as well. This folder is created with STM32CubeMX software and it contains the main file for firmware initialization (peripherals, MC_6Step and UART communication). In addition a specific file (MC_SixStep_param.h) has been added to provide the complete list of parameters for MC-6Step library at application level. Inside the stm32fxxx_it.c file all interrupt handlers are defined and in particular it contains the starting point for UART communication.
Level 2:
This level is composed of a single layer which is global real-time and graphical demonstration based on the middleware service layer, the low level abstraction layer and the basic peripheral usage applications for board based functionalities.
The Figure 12: X-CUBE-SPN7 software architecture shows the firmware architecture of X-CUBE-SPN7 package, including also the HW components level.
Figure 12. X-CUBE-SPN7 software architecture: A block diagram showing the X-CUBE-SPN7 software architecture, detailing layers such as Utilities, CMSIS, Middleware (MC 6-Step library, User Interface), Drivers (Hardware Abstraction Layer API, Boards Support Packages), and HW Components (STM32, L6230, TSV994IPT, BAT30KFILM) on the STM32 Nucleo Board and X-NUCLEO-IHM07M1 Expansion Board.
4.1.2 Firmware parameter settings to spin different BLDC motors
The firmware example provided for P-NUCLEO-IHM001 kit is tuned for low inductance/high speed motor (reference part: Bull-Running model BR2804-1700kV, 11.1Vdc, 5A, 7 pole pairs, 19000 MaxRPM speed). The X-CUBE-SPN7 firmware package is developed to simplify the way to spin a different kind of motors with only few changes. In this case, a header file (MC_SixStep_param.h) contained inside X-CUBE-SPN7, includes several parameters organized in two sections: basic and advanced. In the first section it is possible to change the main parameters: for instance, motor pole pairs, clockwise or counter clockwise motor direction, target speed or potentiometer selection. In the advanced section, it is possible to set the PI parameters, define the alignment time or the acceleration rate during startup, change the zero crossing threshold and a lot of parameters usefully for system fine tuning.
In case of different motor connected or different load condition, after the reset or power-on, the firmware is able to reduce the acceleration rate if startup fails and, at the next push button event (on NUCLEO-F302R8 board), a new value speed profile will be generated.
After this changes the firmware is ready to be recompiled with IDE tool and uploaded in NUCLEO-F302R8 board.
4.1.3 Inside the 6-step firmware
The main.c file contains the starting point of 6-step library for motor control, in particular the MC_SixStep_INIT() configures the basic structure of MC driver based on 6-step control algorithm and the header file (6Step_Lib.h) provides the connection between the application layer with this driver. The stm32f3xx_it.c file includes the entry point for UART communication and the handling code for BKIN interrupt. Inside the example folder the stm32F302_nucleo_ihm07m1.c contains all the MCU related functions, header files and the complete list of the peripherals used.
4.1.4 DAC settings for debug
For debug purpose it is possible to use the DAC peripheral and configure the 6-step library, in order to drive the signal. The function SET_DAC_value(dac_value) allows to convert the variable "dac_value” in 16-bit format (with no sign) in analog signal so it is possible to monitor for instance the motor speed (set by default) or the potentiometer value through an external oscilloscope attached at configured pin. By default PA4 pin is configured and it is accessible through the ST morpho connector and it is typically connected to DAC_CH1 (NUCLEO-F302R8 board). Other pin are available at J7 connector according with the NUCLEO-F302R8 board used. For pin modification remember to modify also the stm32F302_nucleo_ihm07m1.h file. The DAC peripheral is on by default but it is possible to disable it through the MC_SixStep_param.h.
4.2 ST FOC SDK – Configuration guide for P-NUCLEO-IHM001
The demonstration board supports also the ST FOC library and no hardware modification is needed to run the motor with this control algorithm. In this case it is only needed to configure the board for current sensing (1-shunt or 3-shunt mode) and select the JP1, JP2 jumpers, according to the jumper settings shown on Table 1: Jumper settings. It is also available the support of MC Workbench software through the USB cable used for the NUCLEO programming. In this case it is recommended to configure the FOC SDK for USART2 on PA2 and PA3 pin.
For further information about ST FOC SDK library refer to STSW-STM32100 document on ST website: www.st.com.
5 Electrical schematics
Figure 13. Current sense conditioning circuit: An electrical schematic depicting the current sense conditioning circuit, utilizing TSV994IPT operational amplifiers to process voltage signals (Vshunt_1, Vshunt_2, Vshunt_3) from shunt resistors and outputting feedback signals (Curr_fdbk1, Curr_fdbk2, Curr_fdbk3).
Figure 14. Sensors and shunt resistor circuit: An electrical schematic illustrating the sensors and shunt resistor circuit. It shows the VBUS sensor, Hall/Encoder sensor connections (J3), speed regulation potentiometer (R42), and shunt resistors (R43, R44, R45).
Figure 15. L6230 driver and BEMF detection circuit: An electrical schematic of the L6230 DMOS driver and BEMF detection circuitry for 6-step control. It includes the L6230 chip, motor output connections (OUT1, OUT2, OUT3), BEMF detection signals, and current sense inputs (Vshunt_1, Vshunt_2, Vshunt_3).
Figure 16. STM32 MCU pin assignment: A detailed pin assignment diagram for the STM32 MCU, showing connections to various peripherals, the Arduino/Morpho connector (CN7, CN10, CN5, CN6, CN8, CN9), and specific functions like PWM, Currents, Hall/Encoder, DAC/REF, RING, and Speed. It also details the STM32 Nucleo part usage for buttons.
Appendix A Federal Communications Commission (FCC) and Industry Canada (IC) Compliance Statements
A.1 FCC Compliance Statement
A.1.1 Part 15.19
This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) this device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation.
A.1.2 Part 15.105
This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference's by one or more of the following measures:
- Reorient or relocate the receiving antenna.
- Increase the separation between the equipment and the receiver.
- Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
- Consult the dealer or an experienced radio/TV technician for help.
A.1.3 Part 15.21
Any changes or modifications to this equipment not expressly approved by STMicroelectronics may cause harmful interference and void the user's authority to operate this equipment.
A.2 IC Compliance Statement
A.2.1 Compliance Statement
Industry Canada ICES-003 Compliance Label: CAN ICES-3 (B)/NMB-3(B)
A.2.2 Declaration of Conformity
Industry Canada NMB-003 Compliance Label: CAN ICES-3 (B)/NMB-3(B)
6 Revision History
Date | Version | Revision Details |
---|---|---|
22-Sep-2015 | 1 | Initial version |
Important Notice
STMicroelectronics NV and its subsidiaries ("ST") reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST's terms and conditions of sale in place at the time of order acknowledgement.
Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of Purchasers' products.
No license, express or implied, to any intellectual property right is granted by ST herein.
Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
ST and the ST logo are trademarks of ST. All other product or service names are the property of their respective owners.
Information in this document supersedes and replaces information previously supplied in any prior versions of this document.
© 2015 STMicroelectronics - All rights reserved