Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How to Select Hardware for Internet of Things Systems?

With the increasing commercial interest in Internet of Things (IoT) the question about a reasonable hardware configuration surfaces again and again.

Peter Aldworth, a hardware engineer with more than 19 years of experience, discusses this topic in a presentation given to the IETF community.

  • Login to see the comments

How to Select Hardware for Internet of Things Systems?

  1. 1. 1 How to Select Hardware forVolume IoT Deployment?
  2. 2. 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 2  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
  3. 3. What Does Processor Selection Impact?  HWproduct BOM 3  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  Modern development tools, languages, ease of code reuse, availability of comprehensive debug/trace features
  4. 4. 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 4  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
  5. 5. 8/16-bit vs ARM Cortex-M:Aren’t 8/16-bit More Efficient? 5  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 aARM Cortex-M core enables  Lower frequency (and lower voltage)  Higher (maximum) performance  Greater overall efficiency * Better code density
  6. 6. 8/16-bit vs ARM Cortex-M: 32-bit MCUs are more expensive?  Quick survey on (electronics component distributer): 6  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.
  7. 7. 8/16-bit vs Cortex-M:What About Power Consumption? 7  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  Few cycles and shorter execution time means that MCU spends more time in low power state
  8. 8. ARM® Cortex®-M Product Line 8 Lowest cost Low power Lowest power Outstanding energy efficiency Performance efficiency Feature rich connectivity Digital Signal Control (DSC) Processor with DSP Accelerated SIMD Floating point (FP) Digital Signal Control application space ‘16/32-bit’Traditional ‘8/16-bit’Traditional application space application space 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 32-bit RISC architecture High efficiency processor cores Integrated Interrupt Controller Thumb®-2 code density Area optimised designs CoreSight™ support
  9. 9. ARM® Cortex® Processor feature set comparison 9 Cortex-M0 Cortex-M0+ Cortex-M3 Cortex-M4 Instruction set architecture 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
  10. 10. ARM® Cortex ® -MTools Ecosystem  ARM has an exceptionally broad ecosystem of 3rd parties supporting the Cortex-M profile processor family.  Real-time Operating Systems 10  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. 11. 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: 11  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
  12. 12. 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 EmbeddedTrace Macrocell (ETM).  All vendors support debugging of code compiled usingARM’s RealView compiler.  Fully supported by key debug vendors in Japan.  Wide variety of price points: 12  Low-cost “wiggler” type devices  Mid-range full debug via JTAG  Full system debug and trace at higher price point
  13. 13. ARM® Cortex®-M Software interface standard specification  Abstraction layer for all Cortex-M processor based SoCs  Provide quick software enablement for your design 13  with CMSIS compliant firmware, RTOS or stacks  easy debug support of customer IC in tool chains CMSIS-CORE Abstraction Layer CMSIS-DSP 61 DSP functions CMSIS-RTOS Integration API CMSIS-SVD System Viewer CMSIS-DAP Std Debug IF Application/Firmware/Stacks DEBUG
  14. 14. ARM® Sensinode™ NanoStack  Field-proven communication stack for IP-based wireless sensor networks 14 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. 15. ARM® mbed™ - Accelerating IoT Deployment 15  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. 16. HW Prototyping Platforms for IoT Devices  NOTE:Cost of development systems is not representative of product costs!  Low costARM 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: 16 
  17. 17. 2014 ARMTechCon – 10thYear!  ExpectedAudience – 4500 people  Outstanding program agenda this year with more than 100 sessions  Keynotes: 17  ChrisAnderson,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  ARMAccredited Engineer Program  ARM mbed Zone  Expo floor features more than 90 exhibiting companies
  18. 18. 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 ARMTechCon 19
  19. 19. 20 End