Speaker: Skip Ashton
Vice President of Software, Silicon Labs
Skip has been working with low-power embedded mesh
networks since 2003 with Ember and now Silicon Labs. Skip is
on the Board of Directors for the ZigBee Alliance, Thread
Group and the Connected Lighting Alliance, and he chairs the
technical committee for ZigBee and Thread. Skip has been
involved in the development and deployment of low-power
mesh networking stacks in home and business applications
around the world.
The Internet of Things (IoT)
 Local and Remote Access
 Location Awareness
 Personalization
 Device Interoperability
 Simple Unified Control
The Challenge of IoT
Home Control Hub
Health &
Fitness
Lighting
Securit
y
Internet
Home
Appliances
Safety
P
Comfor
t
Wi-Fi Access Point
HVAC
Helping Designers Build Devices and Systems
 Engineers building products want to know what is possible and
how to optimize their devices and systems
 As part of our stack development, we work to publish metrics to
assist developers
 Device performance – sleep/wake times, battery consumption, performance
 System performance – latency, throughput, scalability
 As customers put applications on our stacks, they need to know
how loaded is the MCU and how much headroom does it have
Measuring MCU Loading
 Cortex-M class devices generally in use
 Do not have MCU monitoring capabilities of higher end
processors
 Instead use idle loop counter
 Baseline counter on unloaded chip
 Compare baseline to counter during operation in network
 Packet rate and packet size can vary
% 𝐶𝑃𝑈 𝑈𝑠𝑎𝑔𝑒 = 100(1 −
𝑏𝑎𝑠𝑒𝑙𝑖𝑛𝑒 − 𝑙𝑜𝑜𝑝𝑠 𝑟𝑢𝑛
𝑏𝑎𝑠𝑒𝑙𝑖𝑛𝑒
)
CPU Counter Implementation
 Created plugin that can be used within any project using Silicon
Labs Application Framework
 Incrementing loop counter
 Send debug message every 2.5 seconds out chip debug port
 Data collected over Ethernet backchannel from devices
 Graphics of usage over time in development tools to allow simple
visualization and analysis
Receiver CPU Usage of ZigBee Router
 ZigBee receiver
 Receiving at constant
packet rate
 Three different security
settings
 Increasing packet
length does increase
loading slightly
 Cortex-M3 at 12 MHz
CPU Loading with Increasing Packet Rate
 Fixed length
packet
 Decrease time
between packets
 Home automation
security
 Little impact until
hitting loading
point
CPU Loading with Packet Rate and Size
 Test to increase packet
rate and increase
packet length
 Able to load receiver to
near 100 percent at
longest packet and
highest rate
 Transmitting device
load is always lower
Time
between
messages
Packet Length Increasing
CPU Loading – BLE Advertisement
 Single packet with no
security
 CPU barely loaded
 This data using Cortex
M4 at 40 MHz
Summary and Follow On Testing
 ZigBee router CPU loading 50% at nominal packet rates and sizes
but can be increased to nearly 100% under heavy packet load on
Cortex-M3
 Bluetooth Smart advertising loading very low
 Follow on testing
 ZigBee testing on Cortex-M3 versus M4 core
 Thread testing
 Evaluate customer application loading
Thank-you
Skip Ashton, Vice President of Software
Silicon Labs
Special Thanks to Interns:
Emily Tumang - Olin and Daniel Benson - WPI
For underlying work on CPU loading
Abstract
 The growth of devices connected to each other and the internet
and the growth of wireless and security protocols means these
embedded ARM processors are doing more and more processing.
While developers and designers have focused on energy
efficiency, evaluation of processor loading can also reveal design
improvements and power savings.

Router CPU Load in Home Networks

  • 2.
    Speaker: Skip Ashton VicePresident of Software, Silicon Labs Skip has been working with low-power embedded mesh networks since 2003 with Ember and now Silicon Labs. Skip is on the Board of Directors for the ZigBee Alliance, Thread Group and the Connected Lighting Alliance, and he chairs the technical committee for ZigBee and Thread. Skip has been involved in the development and deployment of low-power mesh networking stacks in home and business applications around the world.
  • 3.
    The Internet ofThings (IoT)  Local and Remote Access  Location Awareness  Personalization  Device Interoperability  Simple Unified Control
  • 4.
    The Challenge ofIoT Home Control Hub Health & Fitness Lighting Securit y Internet Home Appliances Safety P Comfor t Wi-Fi Access Point HVAC
  • 5.
    Helping Designers BuildDevices and Systems  Engineers building products want to know what is possible and how to optimize their devices and systems  As part of our stack development, we work to publish metrics to assist developers  Device performance – sleep/wake times, battery consumption, performance  System performance – latency, throughput, scalability  As customers put applications on our stacks, they need to know how loaded is the MCU and how much headroom does it have
  • 6.
    Measuring MCU Loading Cortex-M class devices generally in use  Do not have MCU monitoring capabilities of higher end processors  Instead use idle loop counter  Baseline counter on unloaded chip  Compare baseline to counter during operation in network  Packet rate and packet size can vary % 𝐶𝑃𝑈 𝑈𝑠𝑎𝑔𝑒 = 100(1 − 𝑏𝑎𝑠𝑒𝑙𝑖𝑛𝑒 − 𝑙𝑜𝑜𝑝𝑠 𝑟𝑢𝑛 𝑏𝑎𝑠𝑒𝑙𝑖𝑛𝑒 )
  • 7.
    CPU Counter Implementation Created plugin that can be used within any project using Silicon Labs Application Framework  Incrementing loop counter  Send debug message every 2.5 seconds out chip debug port  Data collected over Ethernet backchannel from devices  Graphics of usage over time in development tools to allow simple visualization and analysis
  • 8.
    Receiver CPU Usageof ZigBee Router  ZigBee receiver  Receiving at constant packet rate  Three different security settings  Increasing packet length does increase loading slightly  Cortex-M3 at 12 MHz
  • 9.
    CPU Loading withIncreasing Packet Rate  Fixed length packet  Decrease time between packets  Home automation security  Little impact until hitting loading point
  • 10.
    CPU Loading withPacket Rate and Size  Test to increase packet rate and increase packet length  Able to load receiver to near 100 percent at longest packet and highest rate  Transmitting device load is always lower Time between messages Packet Length Increasing
  • 11.
    CPU Loading –BLE Advertisement  Single packet with no security  CPU barely loaded  This data using Cortex M4 at 40 MHz
  • 12.
    Summary and FollowOn Testing  ZigBee router CPU loading 50% at nominal packet rates and sizes but can be increased to nearly 100% under heavy packet load on Cortex-M3  Bluetooth Smart advertising loading very low  Follow on testing  ZigBee testing on Cortex-M3 versus M4 core  Thread testing  Evaluate customer application loading
  • 13.
    Thank-you Skip Ashton, VicePresident of Software Silicon Labs Special Thanks to Interns: Emily Tumang - Olin and Daniel Benson - WPI For underlying work on CPU loading
  • 14.
    Abstract  The growthof devices connected to each other and the internet and the growth of wireless and security protocols means these embedded ARM processors are doing more and more processing. While developers and designers have focused on energy efficiency, evaluation of processor loading can also reveal design improvements and power savings.