how to select hardware forvolume iot deployment?

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

Upload: vuduong

Post on 14-Feb-2017

226 views

Category:

Documents


1 download

TRANSCRIPT

1

How to Select HardwareforVolume IoT Deployment?

[email protected]

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

20

End