Upload
vuduong
View
229
Download
1
Embed Size (px)
Citation preview
2
Very broad topic!
Let’s start by focusing on MCU selection: 8/16-bit vs ARM Cortex-M processors
We need to think beyond the processor HW Think at the IoT product level and consider complete BOM costs including sensors, radio and PSU
Consider tools/ecosystem too
I’m hoping that this presentation is a starting point for our conversation on this topic Material presented here is preliminary/incomplete
Please ask questions
If there is interest I can run another presentation in the future to focus on your areas of interest
How to Select Hardware forVolume IoT Deployment
3
HW product BOM Direct cost of silicon area to implement 8/16-bit or 32-bit processor gives tiny contribution to BOM
Indirect costs more important: Code density, Clock speed needed to meet requiredperformance/latency, power management features, MCU parts available with appropriate integratedfeatures
Lifetime costs Operation period between battery replacement/recharge
Ability to adapt to mid-life upgrade/update (firmware updates needing increasedperformance/memory)
Development and Deployment costs Modern development tools, languages, ease of code reuse, availability of comprehensive debug/trace
features
What Does Processor Selection Impact?
4
8/16-bit vs ARM Cortex-M:Aren’t 32-bit Instruction Bigger?
Most architectures have a range ofinstruction sizes
For Dhrystone:Average Cortex-M0instructions size is only 17-bits
Application code density depends onrichness of instruction set & CPU arch Multi-transfer data operations
Rich set of addressing modes
Rich set of arithmetic operations
Size of internal register bank
Conditional execution
Combined compare and branch
Automated function entry/exit (stack)
Size of directly addressable memory
Example of Dhrystone code size in bytes 8051 3186 bytes vs M3 900 bytes
5
8/16-bit vs ARM Cortex-M:Aren’t 8/16-bit More Efficient?
8/16-bit processors require more clockcycles to perform an equivalent operation More cycles to fetch instructions
More instructions to perform an operation*
More cycles for multiplies, divides etc
More cycles to transfer data (narrower bus)
Using a ARM Cortex-M core enables Lower frequency (and lower voltage)
Higher (maximum) performance
Greater overall efficiency
* Better code density
6
Quick survey on http://www.newark.com/ (electronics component distributer): Search for 8, 16, and ARM MCUs with
◦ 128KB – 256 KB of “Program Memory”
◦ 16KB – 32KB of “SRAM”
◦ Results only show prices for low volume purchase so not representative of high volume BOM cost
22 results for 8-bit MCU: Price range $3.40 - $9
120 results for 16-bit MCU: Price range $3 - $40
370 results for ARM MCUs: Price range $1.80 - $19
If you compare MCUs with similar features ARM based designs are the same price orcheaper than 8/16-bit devices
Lowest IoT product BOM will use modern MCUs integrating radio etc.
8/16-bit vs ARM Cortex-M: 32-bit MCUs are more expensive?
7
8/16-bit vs Cortex-M:What About Power Consumption?
Cortex-M processors have architecturallydefined power modes Complete operation then sleep
Code density saves power NOR Flash reads are a large part of power
budget
Better code density means fewer reads toexecute application
Cortex-M + cache saves more power
Few cycles and shorter execution timemeans that MCU spends more time in lowpower state
8
ARM® Cortex®-M Product Line
Lowest costLow power
Lowest powerOutstanding energy efficiency
Performance efficiencyFeature rich connectivity
Digital Signal Control (DSC)Processor with DSPAccelerated SIMDFloating point (FP)
‘16/32-bit’Traditional application space‘8/16-bit’ Traditional application space
Digital Signal Control application space
Low power implementationSleep mode supportWake-up Interrupt ControllerIncreased intelligence at node
Broad tools and OS supportBinary compatible roadmapCMSIS supportPure C target
32-bit RISC architectureHigh efficiency processor cores
Integrated Interrupt Controller
Thumb®-2 code densityArea optimised designsCoreSight™ support
9
ARM® Cortex® Processor feature set comparisonCortex-M0 Cortex-M0+ Cortex-M3 Cortex-M4
Instruction set architecture Thumb, Thumb-2 SystemInstructions
Thumb, Thumb-2 SystemInstructions
Thumb + Thumb-2 Thumb + Thumb-2,DSP, SIMD, FP
DMIPS/MHz 0.84-1.21 0.93-1.31 1.25-1.89 1.25-1.95
CoreMark/MHz 2.33 2.42 3.32 3.40
Bus interfaces 1 1 (+1 opt.) 3 3
Integrated NVIC Yes Yes Yes Yes
Number interrupts 1-32 + NMI 1-32 + NMI 1-240 + NMI 1-240 + NMI
Interrupt priorities 4 4 8-256 8-256
Breakpoints, Watchpoints 4-0, 2-0 4-0, 2-0 8/2/0, 4/1/0 8/2/0, 4/1/0
Memory Protection Unit (MPU) No Yes (Option) Yes (Option) Yes (Option)
Integrated trace option (ETM or MTB) No MTB (Option) ETM (Option) ETM (Option)
Single Cycle Multiply Yes (Option) Yes (Option) Yes Yes
Hardware Divide / Saturated Math No No Yes Yes
WIC Support Yes Yes Yes Yes
Bit banding support System option System option Yes (Option) Yes (Option)
Single cycle DSP/SIMD No No No Yes
Floating point hardware No No No Yes(Option)
Bus protocol AHB Lite AHB Lite AHB Lite, APB AHB Lite, APB
Systick Timer Option Option Yes Yes
CMSIS Support Yes Yes Yes Yes
10
ARM® Cortex ® -M Tools Ecosystem
ARM has an exceptionally broad ecosystem of 3rd parties supporting the Cortex-Mprofile processor family.
Real-time Operating Systems 26+ of the world’s leading vendors
IDEs and C/C++ compilers 13+ of the world’s leading vendors
Debugger vendors 21+ of the world’s leading vendors
… and these numbers are growing all the time
11
RTOSs IDEs and Compilers
Cortex-M profile cores are supported by all ofthe world’s major Real-time Operating Systemvendors
Many of these have uITRON-compliantinterfaces
Many certified to international standards
Many of these also sell software stacks coveringUSB, CAN,TCP/IP, File Systems, GUI…
Available at a variety of price points andbusiness models:
Free, open source
Royalty-free
Royalty per product family
Safety-certified, safety-critical
Cortex-M profile cores are supported by all ofthe world’s major vendors of IDEs, includingC/C++ compilers, debuggers etc.
Variety of C and C++ compilers targeting andoptimising for the Thumb-2 instruction set.
Some based on Eclipse IDE, some proprietaryGUIs.
Available at a variety of price points andbusiness models: Low-cost, based on open source
Atollic, Code Red, CodeSourcery, Coocox,Crossware, Raisonance, Rowley Associates
Higher price, proprietary:
Altium, GreenHills, IAR, Keil, Mentor,Wind River
12
Cortex-M profile cores are supported by all of the world’s major debugger vendors
Most of these support low-cost solutions using 2-pin SerialWire Debug (SWD).
Many also support non-intrusive program trace using the EmbeddedTrace Macrocell(ETM).
All vendors support debugging of code compiled using ARM’s RealView compiler.
Fully supported by key debug vendors in Japan.
Wide variety of price points: Low-cost “wiggler” type devices
Mid-range full debug via JTAG
Full system debug and trace at higher price point
Debug and Trace
13
ARM® Cortex®-M Software interface standard specification Abstraction layer for all Cortex-M processor based SoCs
Provide quick software enablement for your design with CMSIS compliant firmware, RTOS or stacks
easy debug support of customer IC in tool chains
CMSIS-CORE
Abstraction LayerCMSIS-DSP
61 DSP functionsCMSIS-RTOS
Integration API
CMSIS-DAP
Std Debug IF
CMSIS-SVD
System Viewer
Application/Firmware/Stacks
D
E
B
U
G
14
ARM® Sensinode™ NanoStackhttp://www.sensinode.com/
Field-proven communication stack forIP-based wireless sensor networks
Key Features
RF interface support 2.4 GHz (IEEE 802.15.4)
Sub-1GHz (IEEE 802.15.4g)
Supported IEEE and IETF standards 6LoWPAN (ND, HC, RPL), UDPv6, ICMPv6,TCP
Self-healing Mesh network
Self-configurable
Support for Multicast forwarding
128-bit AES security support
Network processor and library versions
Support for 6LoWPAN Bootstrap and link-local operation modes
14
15
ARM® mbed™ - Accelerating IoT Deploymenthttp://mbed.org/
Rapid, professional IoT device development An open source platform and libraries for Cortex® -M
microcontrollers
Modern C/C++ platform and ecosystem for developers
Consolidating fundamental embedded building blocks Microcontrollers,Radios, Sensors, Software stacks
Bluetooth®, 802.15.4/6LoWPAN,WiFi, Cellular
Open Hardware reference designs Enable transitioning from prototype form
factor to custom product
MCUs
radios
sensors
16
NOTE: Cost of development systems is not representative of product costs!
Low cost ARM based boards are available (e.g. FRDM-KL25Z ~$13 low volume)
Increasing availability of MCU dev boards with integrated radio (e.g. Arch BLE ~$40)
Higher end development boards also available (e.g. SAM4C-EK, STK3700)
A good place to start: http://mbed.org/platforms/
HW Prototyping Platforms for IoT Devices
17
http://www.armtechcon.com/
Expected Audience – 4500 people
Outstanding program agenda this year with more than 100 sessions
Keynotes: Chris Anderson, CEO of 3D Robotics
Erica Kochi, founder of the Innovation Labs at UNICEF
ARM CEO Simon Segars
ARM CTO and co-founder Mike Muller
ARM EVP and President of Product Groups Pete Hutton
75 technical sessions
Software DevelopersWorkshop
ARM Accredited Engineer Program
ARM mbed Zone
Expo floor features more than 90 exhibiting companies
2014 ARM TechCon – 10th Year!
19
Why on earth would anyone want to develop IoT products with 8/16-bit MCUs?
I’m very happy to follow up in more detail and respond to your questions/issues
Please do come along to ARM TechCon
Questions and Next Steps