How to Select Hardware forvolume IoT Deployment? Peter.Aldworth@arm.com 1
How to Select Hardware forvolume IoT Deployment 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 2
What Does Processor Selection Impact? 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 required performance/latency, power management features, MCU parts available with appropriate integrated features Lifetime costs Operation period between battery replacement/recharge Ability to adapt to mid-life upgrade/update (firmware updates needing increased performance/memory) Development and Deployment costs 3 Modern development tools, languages, ease of code reuse, availability of comprehensive debug/trace features
8/16-bit vs ARM Cortex-M:Aren t 32-bit Instruction Bigger? Most architectures have a range of instruction sizes For Dhrystone:Average Cortex-M0 instructions size is only 17-bits Application code density depends on richness 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 4
8/16-bit vs ARM Cortex-M:Aren t 8/16-bit More Efficient? 8/16-bit processors require more clock cycles 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 5
8/16-bit vs ARM Cortex-M: 32-bit MCUs are more expensive? 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 or cheaper than 8/16-bit devices Lowest IoT product BOM will use modern MCUs integrating radio etc. 6
8/16-bit vs Cortex-M:What About Power Consumption? Cortex-M processors have architecturally defined 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 to execute application Cortex-M + cache saves more power 7 Few cycles and shorter execution time means that MCU spends more time in low power state
ARM Cortex -M Product Line Low power implementation Sleep mode support Wake-up Interrupt Controller Increased intelligence at node Broad tools and OS support Binary compatible roadmap CMSIS support Pure C target Performance efficiency Feature rich connectivity Digital Signal Control (DSC) Processor with DSP Accelerated SIMD Floating point (FP) 32-bit RISC architecture High efficiency processor cores Integrated Interrupt Controller Lowest cost Low power Lowest power Outstanding energy efficiency Digital Signal Control application space Thumb -2 code density Area optimised designs CoreSight support 8/16-bit Traditional application space 16/32-bit Traditional application space 8
ARM Cortex Processor feature set comparison Instruction set architecture Cortex-M0 Cortex-M0+ Cortex-M3 Cortex-M4 Thumb, Thumb-2 System Instructions Thumb, Thumb-2 System Instructions 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 9
ARM Cortex -M Tools Ecosystem ARM has an exceptionally broad ecosystem of 3rd parties supporting the Cortex-M profile 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 10
RTOSs IDEs and Compilers Cortex-M profile cores are supported by all of the world s major Real-time Operating System vendors Many of these have uitron-compliant interfaces Many certified to international standards Many of these also sell software stacks covering USB, CAN,TCP/IP, File Systems, GUI Available at a variety of price points and business models: Free, open source Royalty-free Royalty per product family Safety-certified, safety-critical Cortex-M profile cores are supported by all of the world s major vendors of IDEs, including C/C++ compilers, debuggers etc. Variety of C and C++ compilers targeting and optimising for the Thumb-2 instruction set. Some based on Eclipse IDE, some proprietary GUIs. Available at a variety of price points and business 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 11
Debug and Trace 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 Embedded Trace 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 12
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 Application/Firmware/Stacks CMSIS-CORE Abstraction Layer CMSIS-DSP 61 DSP functions CMSIS-RTOS Integration API CMSIS-SVD System Viewer CMSIS-DAP Std Debug IF D E B U G 13
ARM Sensinode NanoStack http://www.sensinode.com/ Field-proven communication stack for IP-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 linklocal operation modes 14 14
ARM mbed - Accelerating IoT Deployment http://mbed.org/ Rapid, professional IoT device development An open source platform and libraries for Cortex -M MCUs microcontrollers Modern C/C++ platform and ecosystem for developers Consolidating fundamental embedded building blocks radios Microcontrollers, Radios, Sensors, Software stacks Bluetooth, 802.15.4/6LoWPAN,WiFi, Cellular Open Hardware reference designs sensors 15 Enable transitioning from prototype form factor to custom product
HW Prototyping Platforms for IoT Devices 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/ 16
2014 ARM TechCon 10th Year! http://www.armtechcon.com/ Expected Audience 4500 people Outstanding program agenda this year with more than 100 sessions Keynotes: 17 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 Developers Workshop ARM Accredited Engineer Program ARM mbed Zone Expo floor features more than 90 exhibiting companies
Questions and Next Steps 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 19
End 20