Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Aaron Xu
Hem Dutt Dabral
Mridupawan Das
STM32 Open Development Environment
Agenda• STM32 Open Development Environment
• The Environment
• Overview of Boards
• Key Benefits
• Software Architecture• X-Nucleo Solutions
• BLE
• MEMS
• BlueMicrosystem1 Application
• Demo & Code Walkthrough• Takeaways• Q&A
2
Agenda• STM32 Open Development Environment
• The Environment
• Overview of Boards
• Key Benefits
• Software Architecture• X-Nucleo Solutions
• BLE
• MEMS
• BlueMicrosystem1 Application
• Demo & Code Walkthrough• Takeaways• Q&A
3
The needs of developers• A microcontroller is usually the first choice of
developers when designing a new application
• Need to pick from low power to high performance microcontroller based on application needs
• A set of extra functions are keys to implement the system
• Sensing, data conversion, processing, connectivity, power management, …
• Easy to use Integrated Development Environment to allow fast development and production
• Support of multiple IDE• Free of charge tools and embedded software to
enable fast and easy development
4
Environmental Sensors
Audio
Motion Sensors
Dual Interface
Security
RF link
Motor Control
STM32 Nucleodevelopment boards
STM32 Open Development Environment 5
The STM32 Open Development Environment consists of a set of modular developer boards and a SW environment designed around the STM32
microprocessor family
STM32Cube software
STM32Cube expansion software
STM32 X-Nucleoboards
Developer community and supportCompatibility with multiple Development Environments
STM32 Open Development Environment Hardware Components
STM32 Nucleo Development Boards• Based on ST’s 32-bit ARM Cortex-M based
STM32 microprocessors• Development boards for all STM32 families
available or planned
STM32 X-Nucleo Boards• Boards with additional functionality: sensing,
connectivity, power, analog• Plugged on top of the STM32 Nucleo developer
board or stacked on top of other expansion boards
• Leverage ST wide product portfolio
6
STM32 Open Development Environment Software Components
• STM32Cube• A set of free of charge tools and embedded Software bricks to
enable fast and easy development on the STM32• PC-based STM32CubeMX for graphical configuration of the STM32• Hardware Abstraction Layer for easy porting from one STM32 device to
another• Middleware bricks for the most common functions• Hundreds of code use examples are also included.
• STM32Cube Expansion software• Free of charge for every STM32 X-Nucleo boards
• Multiple Development Environments• Compatible with a number of Development Environments
including IAR EWARM, Keil MDK, mbed and AtollicTrueSTUDIO
7
STM32 Wide Product Offer 8
Ultra-low-power Mainstream High-performance
72 CoreMark▬
26 DMIPS
93 CoreMark▬
33 DMIPS
106 CoreMark▬
38 DMIPS
177 CoreMark▬
61 DMIPS
245 CoreMark*▬
90 DMIPS*
398 CoreMark▬
150 DMIPS
608 CoreMark▬
225 DMIPS
1000 CoreMark▬
428 DMIPS
32 MHz 32 MHz 48 MHz72 MHz
72 MHz
120 MHz
180 MHz
200 MHz
• Based on ST’s 32-bit ARM Cortex-M based STM32 microprocessors
• A Boards with 1 MCU and hardware to program/debug
• Two connectors to connect to companion chips boards
• For all STM32 families
• >60K Boards sold
STM32 Nucleo Development Board 9
Arduino UNO extension connectors easy access to add-ons (*)
Integrated Debugging and programming probe
Morpho extension headers: Direct access to all STM32 I/Os
STM32 Microcontroller
Flexible board power supplythrough USB or external source
(*) thanks to the electrical compatibility iit can be used as a shield for Arduino UNO R3 or similar
complete product range from ultra-low power to high-performance
10X-Nucleo Boards leverage ST Breadth and
Depth Product Portfolio
Microcontroller
Secure MCU
MemoryRFConnectivity
Analog & Mixed Signal ICs
MEMS & SensorsPower Discrete & Modules
Industrial Analog ASSP
Power Conversion
Automotive
Imaging
Digital Consumer& ASICs
A unique portfolio with all the key technologies and products
Increasing semiconductor content per application
Move
Power Interact
Connect
Sense
STM32 X-Nucleo Boards• STM32 X-Nucleo boards allow to add a
function to STM32 Nucleo boards
• It is stacked on the STM32 Nucleo
• >6K Boards “sold”
11
(*) thanks to the electrical compatibility it can be used as a shield for Arduino UNO R3 or similar
Arduino UNO extension connectors easy access to add-ons (*)
BlueNRG
Connect X-NUCLEO-IDB04A1,Bluetooth low energyexpansion board based onBlueNRG for STM32 Nucleo.
STM32 X-Nucleo Boards How to address the Functional Needs 12
What do you want to do? What you need Board
Process Ultra Low power STM32 L0
Ultra Low power STM32 L1
Mainstream STM32 F1
Mixed signal +DSP STM32 F3
High performance STM32 F2
High performance + DSP STM32 F4 – (F7 Planned)
Sensemotion, pressure, humidity, light, gas, location
Motion Sensors Motion + Environmental
Environmental Sensors Motion + Environmental
Proximity Sensors FlightSense
OpAmp OpAmp
Connect wireless or wired
Bluetooth Low Energy BlueNRG
Wi-Fi
Sub-GHz radio SPIRIT1
NFC M24SR
Translate Motor Driver xSPIN (easySPIN, dSPIN,..)
Move/Activate Audio amplifier Audio-Out
Audio Microphone Audio-in
Power Energy management & Battery Energy management
(EnFILM) Thin film battery
STM32 X-Nucleo Boards Roadmap 13
Bluetooth Low EnergyX-NUCLEO-IDB04A1
Motion & Environ. Sensors
X-NUCLEO-IKS01A1
Power StepperX-NUCLEO-IHM03A1 (Stand-
by for device issues)
20152014
Motor control easySPIN
X-NUCLEO-IHM01A1
NFC M24SRX-NUCLEO-NFC01A1
Battery managementX-NUCLEO-IKC01A1
(On HOLD for PTN of STC3115)
Audio INX-NUCLEO-CCA02M1
Programmable logic controlX-NUCLEO-PLC01A1
Sub GHz SPIRIT1 moduleX-NUCLEO-IDS01A4/5
Available
On Going
Roadmap as of March. 6, 2015Q1 Q2
BLE ModuleX-NUCLEO-IDB05A1
(If Matching OK)
Q3
NFC M24LRX-NUCLEO-NFC02A1
Low Voltage Power BoardPower (F7 MOSFET)X-NUCLEO-IHM08M1
3-ph Motor L6230X-NUCLEO-IHM07M1
DC Motor L6206X-NUCLEO-IHM04A1
OpAmpX-NUCLEO-IKA01A1
(Board Re-Design for cost)
Audio OUTX-NUCLEO-CCA01M1
(HW Package not compliant)
Wi-Fi Module
Stepper L6208X-NUCLEO-IHM05A1
FlightSenseX-NUCLEO-6180XA1(Not yet Check List
Compliant)
NFC 95HFX-NUCLEO-NFC03A1
Q4
Motor ControlAdapter Board
X-NUCLEO-IHM09M1
• A strong commitment to expand the number of ST products supported through the X-Nucleo Program
X-Nucleo Boards 14
X-NUCLEO-IDB04A1
Bluetooth Low Energy Expansion Board based on
BlueNRG
AvailableNow
X-NUCLEO-NFC01A1
Dynamic NFC tag Expansion Board based on
M24SR
AvailableNow
X-NUCLEO-IHM01A1
Stepper motor driver expansion board based on
easySPIN™ L6474
AvailableNow
X-NUCLEO-IKS01A1
MEMS Inertial and Environmental expansion
board
AvailableNow
Product offering organized by function 15
Motor Control
Connectivity
Power Management
Processing
Sensing
Power conversion
Lighting
Positioning
Key Function in the application
Emerging Function in the applicationVertical Market
Func
tions
Appliance Robotics Building AutomationWearable Automotive
Ready to Use Solutions for Vertical Markets 16
Expa
nsio
n bo
ards
A wide offer of evaluation boards (STEVAL) to address Vertical Markets
Rapid Prototyping with STM32 Open Development Environment
Automation9%
Lighting13%
Sensors (MEMS)
16%
Motor Control
6%
Power Management
26%
Home Consumer
12%
Others18%
>410 Evaluation Boards
• Modular hardware enables broad deployment through a standardized development framework
• Stack multiple expansion boards to add power management, sensors, connectivity and more to the STM32 Nucleo development boards
• Intuitive software tools offer code examples and documentations to get up and running quickly
• Price competitive boards
Agenda• STM32 Open Development Environment
• The Environment
• Overview of Boards
• Key Benefits
• Software Architecture• X-Nucleo Solutions
• BLE
• MEMS
• BlueMicrosystem1 Application
• Demo & Code Walkthrough• Takeaways• Q&A
17
STM32CubeTM V1 Introduction• STM32CubeTM Version 1 includes:
• A configuration tool, STM32CubeMX generating initialization code from user choices• A full embedded software offer, delivered per series (like STM32CubeF4) with:
• An STM32 Abstraction Layer embedded software: STM32Cube HAL• A consistent set of Middlewares: RTOS, USB, TCP/IP, Graphics, …
18
STM32CubeMX
STM32CubeF3
STM32CubeF2
STM32CubeF4
STM32CubeF1
STM32CubeF0
STM32CubeL1
STM32Cube Technical Update (Part1)
http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1533/PF259242
• X-CUBE FW Portability across STM32 portfolio
• Firmware + Software integrated in STM32CubeMX
• X-CUBE FW include• Plug-in directory structure compatible with
Cube SDK [Roadmap feature]• Cube-compatible drivers• Middleware libraries to support developers,
tailored to the components capabilities• e.g. Bluetooth profiles, 6LowPAN, sensor
fusion • STM32CubeMX plug-ins (to configure and
generate initialization C code) [Roadmap feature]
SW Compatibility with STM32Cube 19
STM32CubeMX
Nucleo Boards STM32 Fx/Lx
X-Nucleo board(s)
STM32Cube Fx/Lx HAL
STM32Cube middleware
X-Cube Drivers plug-ins
X-Cube extended
middleware
X-Cube sample applications and verticals prototypes
IAR, Keil, …..CubeMX
Har
dwar
eH
AL,
BS
P a
nd M
WA
pplic
atio
nsID
E/T
ools
mbed.org
Mbed HAL
Mbed Shield Drivers & Mware
STM32Cube FW package block view 20
Hardware Abstraction Layer API Boards Support Packages
Drivers
HAL level examples
Board Demonstrations
Evaluation boards Discovery boards Nucleo boards
NetworkingLwIP TCP/IP & Polar SSL
File systemFATFS
GraphicsSTemWin
USBHost & Device
Middleware level examples
Middleware
RTOSFreeRTOS
F4 Family
STM32F401
CMSIS
Utilities
STM32F405/7 STM32F429 STM32F439
STM32Cube Technical Update (Part1)
Middleware modules features summaryMiddleware module Features
RTOS FreeRTOS open source RTOS CMSIS-RTOS wrapper
FAT file-system FatFS open source file-system Ready to use Disk I/O interface for SD card, USB
mass-storage flash-disk or RAMDISK RTOS support
Graphics STemWin library based on SEGGER emWin Full-featured graphical library Optimized LCD controller drivers RTOS support
USB ST Host and Device USB libraries Multiple class support: MSC, HID, AUDIO, CDC,
MTP,DFU RTOS support
TCP/IP stack lwIP open source TCP/IP stack Protocols supported: DHCP, DNS, ICMP, TCP, UDP,
TFTP, HTTP,... RTOS support
21
Middleware modules license modelMiddlewaremodule Features
FreeRTOS • Modified GPL license• Can be used on commercial product without
restrictionFatFS • BSD like license
STemWin • Provided as object code library locked to STM32 MCUs
USB libraries • ST Liberty license
lwIP TCP/IP stack • BSD license
22
Agenda• STM32 Open Development Environment
• The Environment
• Overview of Boards
• Key Benefits
• Software Architecture• X-Nucleo Solutions
• BLE
• MEMS
• BlueMicrosystem1 Application
• Demo & Code Walkthrough• Takeaways• Q&A
23
BlueNRG BLE Solution 24
24
SINGLE MODE BLUETOOTH® SMART WIRELESS NETWORK PROCESSOR
Integration
• 2.4GHz RF transceiver • Cortex-M0 microcontroller (running the BT Single
Mode protocol)• AES 128-bit co-processor
Flexibility• Master and Slave Single Mode BLE (4.0) Network
Processor.• On chip non-volatile Flash memory allows OTA BLE-
stack upgrade. Stack qualified.
Low power
• ICCRX 7.3mA• ICCTX 8.2mA @ 0 dBm• ICCSleep 1.7µA• ICCShutdown 2.5nA
Small size • QFN32: 5x5x1mm• Flip chip: 2.66x2.56x0.56mm
All trademarks and logos are the property of their respective owners. All rights reserved. They are used here only as conceptualexamples
BlueNRG overviewBluetooth® Smart Network Processor
RF Features
• Complete PHY, link layer and Host providing GATT level interfaces
• Air data rate up to 1 Mbps
• Operating voltage from 2.0V to 3.6V, integrated SMPS
• Clocking f lexibility
• Low power (32kHz): Integrated Ring oscillator or external crystal Oscillator.
• Main (16MHz or 32MHz): External Crystal Oscillator.
• Input voltage monitoring and temperature sensor.
• Support Master or Slave mode of operations (up to 8 slaves)
• Other features• AES 128-bit encryption co-processor
• Qualified as a Bluetooth sub-system (Oct 2013)• RF, LL, HCI
• Host stack qualification
• Master & Slave support
QFN32 5x5x0.9mmWCSP36 2.6X2.6mm
25
BlueNRG - Key PerformancesParameter Typ. Value
No DCDCTyp. ValueWith DCDC
Unit
Reset 5 5 nA
Stand-by (Slave & Master) 1.4 (S) – 2 (M) 1.3 (S) - 2(M) µA
Sleep (pending XO/role conditions) 1.7 ~ 3.5 1.7 ~ 3.5 µA
Active (CPU, flash and RAM) 3.5 3.3 mA
TX @ +2dBm 17.2 8.3 mA
RX 14.3 7.7 mA
Config. Parameter Typ. Value Unit
High Power
Output power for the lowest power setting -15 dBm
Output power for the highest power setting +8 dBm
Standard Power
Output power for the lowest power setting -18 dBm
Output power for the highest power setting +5 dBm
Parameter Typ. value Unit
Sensitivity level for 0.1 % BER -88 dBmIn band blocking C/I for an wanted signal level of -67 dBm:• Co-channel interference• Interference at frequency offset │foffs│ = 1 MHz• Interference at frequency offset │foffs│ = 2 MHz• Interference at frequency offset │foffs│ ≥ 3 MHz• Interference at frequency offset │foffs│ ≥ 6 MHz
128
-21-30-40
dBdBdBdBdB
26
TX performance
RX performance
Power performance
BlueNRG Shield• FEATURES:
• Ultra-low-power Bluetooth low-energy connectivity
• Compatible with both STM32-Nucleo and Arduino development kits
• Self-consistent RF design (includes antenna, balun filter, etc.)
• SPI communication interface with host MCU
• OUT-OF-THE-BOX:• Ready-to-use shield-plugin for RF BLE connectivity• Application examples, quick starting guide and tutorials
• SOFTWARE DEVELOPMENT KIT (X-CUBE-BLE1 SDK):• Extensive examples (source-code and application notes) and API
documentation
• Support both ACI and HCI control interfaces over SPI
27
http://www.st.com/web/en/catalog/tools/PF260517
X-NUCLEO-IDB04A1
STM32 Nucleo and BlueNRG Shield 28
BlueNRG Shield
STM32 NUCLEO
Arduino Connectors
X-NUCLEO-IDB04A1
X-CUBE-BLE1Software Overview
• The X-CUBE-BLE1 is an expansion software packagefor STM32Cube. This software provides drivers runningon STM32 for STM's BlueNRG Bluetooth Low Energydevice. It is built on top of STM32Cube softwaretechnology that ease portability across different STM32microcontrollers.
• Examples implementation available for X-NUCLEO-IDB04A1 STM32 expansion board plugged on top ofone NUCLEO-F401RE or NUCLEO-L053R8.
29
MajorSoftware Features:
• Complete middleware to build applications usingBlueNRGnetwork processor.• Easy portability acrossdifferent MCU families thanks to STM32Cube.• Sample applications that the developer can use to start experimentingwith the code.• References to free Android and iOS App that can be used along with the sample applications.• Free user-friendly license terms.
http://www.stmicroelectronics.com.cn/web/en/catalog/tools/PF261442
7/29/2015
Agenda• STM32 Open Development Environment
• The Environment
• Overview of Boards
• Key Benefits
• Software Architecture• X-Nucleo Solutions
• BLE
• MEMS
• BlueMicrosystem1 Application
• Demo & Code Walkthrough• Takeaways• Q&A
30
Key products on Sensor X-Nucleo board 31
X-NUCLEO-IKS01A1Capability of expanding Sensors with Add-on daughterboard
32
First add-on available by CES’15 : LSM6DS3
iNEMO™ Ultra - LSM6DS3The 6X Ultra
Ideal companion for the ultra-low power STM32 family of microcontrollers
The best combination of 6-axis sensor plus sensor hub
33
Ultra scalable
Ultra low power
Embedded efficient and reliable motion tracking, pedometer and context awareness
Saving power and enabling faster system reaction time
Industry leading low power performance for 3A+3G combo Down to 0.6mA in always-on mode
20% better than the best alternative solution
Tiny size to fit in the smallest, slimmest mobile, wearable and Internet of Things devices
2.5mm x 3.0mm x 0.8mm
Industry-best resolution for gyroscope and accelerometer
Gyroscope rate noise down to 0.007 dps / √Hz typical
8kbytes “smart” FIFO memory to batch more data before system wake-up
2 times larger than the best alternative solution
Ultra performing
Ultra smart
Ultra capable
Ultra small size
X-CUBE-MEMS1• The X-CUBE-MEMS1 is an expansion software package
for STM32Cube. It provides Temperature, Humidity, Pressure and Motion sensors drivers for the HTS221, LPS25H, LSM6DS0 and LIS3MDL devices, running on STM32.
• Example implementation is available for X-NUCLEO-IKS01A1 plugged on top of NUCLEO-F401RE or NUCLEO-L053R8.
34
MajorSoftware Features:
• Complete middleware to build applications using Temperature and Humidity sensors(HTS221), Pressure sensor (LPS25H) and Motion sensors (LIS3MDLand LSM6DS0)
• Easy portability acrossdifferent MCU families thanks to STM32Cube• Sample application to transmit real time sensors data to a PC• PC-based application (Windows) to log sensors data
http://www.st.com/web/en/catalog/tools/PF261412
Agenda• STM32 Open Development Environment
• The Environment
• Overview of Boards
• Key Benefits
• Software Architecture• X-Nucleo Solutions
• BLE
• MEMS
• BlueMicrosystem1 Application
• Demo & Code Walkthrough• Takeaways• Q&A
35
BlueMicrosystem1 Software Architecture 36
Hardware Abstraction Layer API Boards Support Packages
Drivers
Board Demonstrations
X-NUCLEO-IDB04A1 Expansion BoardSTM32 Nucleo Board
Bluetooth LE
MiddlewareCMSIS
Utilities
HW Components
STM32 BlueNRG
Applications
Sample Application
X-NUCLEO-IKS01A1 Expansion Board
HTS221 LPS25H LSM6DS0 LIS3MDL
Osx.MotionFX(iNemoEngine PRO)
Agenda• STM32 Open Development Environment
• The Environment
• Overview of Boards
• Key Benefits
• Software Architecture• X-Nucleo Solutions
• BLE
• MEMS
• BlueMicrosystem1 Application
• Demo & Code Walkthrough• Takeaways• Q&A
37
Demo• BlueMicrosystem1 vertical application demo
38
Code Walkthrough• BlueMicrosystem1 vertical application code walkthrough
39
Agenda• STM32 Open Development Environment
• The Environment
• Overview of Boards
• Key Benefits
• Software Architecture• X-Nucleo Solutions
• BLE
• MEMS
• BlueMicrosystem1 Application
• Demo & Code Walkthrough• Takeaways• Q&A
40
TakeawaysNucleo and X-Nucleo Boards
• Nucleo boards are based on ST’s 32-bit ARM Cortex-M based STM32 microprocessors
• STM32 X-Nucleo boards are:• Boards with additional functionality: sensing, connectivity, power, analog• Plugged on top of the STM32 Nucleo developer board or stacked on top of other
expansion boards• Leveraging ST wide product portfolio
41
TakeawaysSTM32 Open Development Environment
• The STM32 Open Development Environment is an open, flexible, easy and affordable way to develop innovative applications
• Based on the STM32 microcontroller family• Ready to use expansion boards with state-of-the-art components (sensors,
connectivity, motor control, …)
• STM32 Open Development Environment enables fast prototyping with leading-edge components that can quickly be transformed into final designs
• Support of multiple IDE• Fast prototyping of user applications, start hands-on coding in 1-day• Development tools, software, documentation, user’s guides and online support • Open-sourced software– offered through collaborative platforms• No specialized know-how required
42
TakeawaysSTM32Cube Software
• The STM32Cube includes:• The STM32CubeMX, a graphical software configuration tool that allows to generate
C initialization code using graphical wizards• A comprehensive embedded software platform, delivered per series (such as
STM32CubeF4 for STM32F4 series)• The STM32Cube HAL, ensures maximized portability across STM32 portfolio• A consistent set of middleware components such as RTOS, USB, TCP/IP, Graphics• Software for each X-Nucleo board is based on STM32Cube HAL
• All embedded software utilities coming with a full set of examples
43
Agenda• STM32 Open Development Environment
• The Environment
• Overview of Boards
• Key Benefits
• Software Architecture• X-Nucleo Solutions
• BLE
• MEMS
• BlueMicrosystem1 Application
• Demo & Code Walkthrough• Takeaways• Q&A
44
Q & A
45
Thank You