how to select hardware for internet of things systems?

19
1 How to Select Hardware forVolume IoT Deployment? [email protected]

Upload: hannestschofenig

Post on 01-Dec-2014

504 views

Category:

Science


0 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: How to Select Hardware for Internet of Things Systems?

1

How to Select HardwareforVolume IoT Deployment?

[email protected]

Page 2: How to Select Hardware for Internet of Things Systems?

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

Page 3: How to Select Hardware for Internet of Things Systems?

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?

Page 4: How to Select Hardware for Internet of Things Systems?

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

Page 5: How to Select Hardware for Internet of Things Systems?

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

Page 6: How to Select Hardware for Internet of Things Systems?

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?

Page 7: How to Select Hardware for Internet of Things Systems?

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

Page 8: How to Select Hardware for Internet of Things Systems?

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

Page 9: How to Select Hardware for Internet of Things Systems?

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

Page 10: How to Select Hardware for Internet of Things Systems?

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

Page 11: How to Select Hardware for Internet of Things Systems?

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

Page 12: How to Select Hardware for Internet of Things Systems?

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

Page 13: How to Select Hardware for Internet of Things Systems?

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

Page 14: How to Select Hardware for Internet of Things Systems?

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

Page 15: How to Select Hardware for Internet of Things Systems?

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

Page 16: How to Select Hardware for Internet of Things Systems?

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

Page 17: How to Select Hardware for Internet of Things Systems?

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!

Page 18: How to Select Hardware for Internet of Things Systems?

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

Page 19: How to Select Hardware for Internet of Things Systems?

20

End