SlideShare a Scribd company logo
1 of 37
Power Management
     in Embedded
         Systems


                                                       Colin Walls
       colin_walls@mentor.com
                                                mentor.com/embedded


Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
Agenda
Introduction
Hardware choice
Use cases
Operating system
BSP and drivers
Hibernate/suspend
Application development
Measurement and testing
Conclusions
Agenda
Introduction
Hardware choice
Use cases
Operating system
BSP and drivers
Hibernate/suspend
Application development
Measurement and testing
Conclusions
Introduction
Importance of power steadily growing
Mainly complex battery-powered devices
Demand for connectivity
Power optimization often done late
Needs to be considered from the outset
Introduction
Choose hardware with right capabilities
Allow software to manage power
Choose OS and drivers
Define power usage profiles
Choose measurable goals
Use goals throughout development process
Introduction
               •   Choose appropriate
                   hardware
               •   Consider usage
               •   Select operating
                   system
               •   Address driver/BSP
                   issues
               •   Application code
                   has least influence
                   on power
Agenda
Introduction
Hardware choice
Use cases
Operating system
BSP and drivers
Hibernate/suspend
Application development
Measurement and testing
Conclusions
Hardware choice
Biggest influence on power consumption
  – Defines the very best case power saving
CPU features
  – Turn off blocks; e.g. Peripherals
  – Dynamic Voltage and Frequency Scaling (DVFS)
     –   Defines operating points
  – Low power modes
Need to look at wider design to ensure compatibility
with above
Agenda
Introduction
Hardware choice
Use cases
Operating system
BSP and drivers
Hibernate/suspend
Application development
Measurement and testing
Conclusions
Use cases
Function that a device performs
  – With or without user interaction
Hypothetical example:
  – Medical device
  – Battery powered
  – LCD display
  – Monitors vital signs
  – Uploads data via Wi-Fi
Use cases for example




1. Device takes a complete measurement
2. Device uploads a set of measured data
3. User checks his/her own vitals using a built in display
4. Device is idle awaiting the next measurement
Use cases for example
How much functionality needed for each use case?
  – Hence which drivers [hardware blocks] need to be enabled
    per use case?
Estimated energy for each use case:
  – Estimated power consumption
  – Estimated time in use case
Applying use case expected frequency as scaling
factor leads to energy breakdown showing battery
charge usage over time period
Use cases for example

        Use Case         Average Current   Duration   Frequency per   Total time   ENERGY USED
                              (mA)           (s)           day         (s/day)      (mAh/day)
      Vitals
      Measurement              158            1           288            288           13
      Data Upload              250            3           288            864           60
      User Vitals
      Check                    320           30            15            450           40
      Idle (Hibernate)          1                                      84798           24
      TOTAL                                                                            136




     Determine early whether estimated
     battery life is achievable
Use cases for example
Data Upload is highest use of energy
Maybe measure and upload every 5 minutes is too
costly
Perhaps measure every 5 minutes, but upload every
30 minutes
  – Also upload if there is a major change in vitals
User Vitals Check is second biggest
  – Assumes 30 second display timeout
  – Maybe it could be shorter
  – Most other hardware shut down in this use case
Agenda
Introduction
Hardware choice
Use cases
Operating system
BSP and drivers
Hibernate/suspend
Application development
Measurement and testing
Conclusions
Operating system
Significant impact on power saving
Must support low power features
  – DVFS
  – Idle/sleep modes
Native power framework most efficient
  – BSP must be written to address power issues
  – Each driver has well defined power states
Power framework


 = Hardware power management

 = Application Software

 = RTOS Power Mgmt Framework
Agenda
Introduction
Hardware choice
Use cases
Operating system
BSP and drivers
Hibernate/suspend
Application development
Measurement and testing
Conclusions
BSP and drivers
Define power requirements for each driver. Specify:
  – Which power states is supports
     –   ON, STANDBY, SLEEP, OFF
  – What operating points will the driver be used at. For
    example:
     –   While ON it must work at 200MHz and 100MHz
     –   SLEEP may result in 1MHz clock
  – DVFS participation
  – DMA transfer notification
Agenda
Introduction
Hardware choice
Use cases
Operating system
BSP and drivers
Hibernate/suspend
Application development
Measurement and testing
Conclusions
Hibernate/suspend
Some hardware facilitates very low power consumption
modes
  – Suspend: all hardware switched off, except for RAM, the
    contents of which are protected
  – Hibernate: RAM contents are stored in non-volatile
    memory and everything switched off
Hibernate/suspend
Cost to enter/exit these modes
  – Power
  – Time – device responsiveness
Depends on how much of the system is ON when
mode is entered
  – Need to save state and reinitialize
Hibernate also has cost of storing RAM, which varies
with the amount of RAM in use
  – Also potentially reduces system lifetime
Hibernate/suspend
Does power benefit offset costs?
For example device, depends on:
  – Measurement interval
  – How often wake up is required
Adjusting measurement interval might make suspend
or hibernate efficient or expensive
Agenda
Introduction
Hardware choice
Use cases
Operating system
BSP and drivers
Hibernate/suspend
Application development
Measurement and testing
Conclusions
Application development
Last layer of software
Badly written code can very adversely affect power
performance
An OS with built-in power features [a framework]
simplifies matters
  – Application code writer is then less concerned with details
Application development
Application consists of a number of independent
tasks/threads
Each task [or group of tasks] registers its power needs:
  – Which peripherals are used
  – Minimum operating point
OS takes care of power management along with
context switch
Agenda
Introduction
Hardware choice
Use cases
Operating system
BSP and drivers
Hibernate/suspend
Application development
Measurement and testing
Conclusions
Measurement and testing
Power should be measured from day #1
Possible by planning:
  – Setting power requirements for drivers
  – Defining use cases
  – Mapping use cases to applications
All software engineers should be equipped to measure
power
Measurement and testing
Meeting power requirements should be regarded as
part of code functionality
For example:
  – A Wi-Fi driver may work well with all wireless networks
  – Must be able to be turned off and reduce power to [near]
    zero
  – Must turn back on and be fully functional
  – Functionality must be repeatable [say, 100,000 times]
Measurement and testing
Drivers should have power functionality thoroughly
tested:
  – Properly enable/disable hardware
  – Participate in DVFS
  – Inform the OS of DMA requirements
Power Consumption at Various
OPs
Operating Point     Hibernate        0
   voltage
    (1.5V)            Standby            38

                  OP#0   1 MHz                        200

                  OP#1 63 MHz                             230

                  OP#2 297 MHz                                        370

                  OP#3 454 MHz                                              470


                                 0            100   200         300   400   500

                                          SOC Current Consumption
                                                        (mA)
                                                    i.MX28 Board
Impact on Battery Life …

             mAh      Percentage   mAh   Battery
            (Board)   Usage per           (hrs)
                          hr

OP #3        470        10%        47
OP #2        370         5%        19
OP #1        230        10%        23
OP #0        200        15%        30
Standby       38        20%         8

Hibernate     0         40%         0

Total                              126    19
                                                             mAh      Battery
                                                            (Board)    (hrs)
  Nucleus Power Management Framework
                                                   OP #3     470
                                                   Total                5

                                                     No Power Management
Final optimizations
The approach discussed should yield power
performance on spec.
There may be room for more optimization
Do final review of use cases
Possible changes:
  – Different operating parameters
  – New use cases
Agenda
Introduction
Hardware choice
Use cases
Operating system
BSP and drivers
Hibernate/suspend
Application development
Measurement and testing
Conclusions
Conclusions
Power will continue to be a challenge for embedded
developers
  – No longer a “hardware issue”
Support for new power saving hardware features is
essential
With complex software, it is not possible to ignore up-
front power planning
  – Power optimization at the end is impractical
Thank you

                                                               Colin Walls
                     colin_walls@mentor.com
http://blogs.mentor.com/colinwalls

                                                  mentor.com/embedded


  Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
  Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.

More Related Content

What's hot

Msp 430 architecture module 1
Msp 430 architecture module 1Msp 430 architecture module 1
Msp 430 architecture module 1SARALA T
 
System On Chip
System On ChipSystem On Chip
System On ChipA B Shinde
 
Project Report on Embedded Systems
Project Report on Embedded Systems Project Report on Embedded Systems
Project Report on Embedded Systems Suhani Singh
 
wireless E notice board
wireless E notice boardwireless E notice board
wireless E notice boardGanesh Gani
 
Design challenges in embedded systems
Design challenges in embedded systemsDesign challenges in embedded systems
Design challenges in embedded systemsmahalakshmimalini
 
wireless notice board
 wireless notice board wireless notice board
wireless notice boardAnmol Purohit
 
Arm Processor Based Speed Control Of BLDC Motor
Arm Processor Based Speed Control Of BLDC MotorArm Processor Based Speed Control Of BLDC Motor
Arm Processor Based Speed Control Of BLDC MotorUday Wankar
 
Arduino and its hw architecture
Arduino and its hw architectureArduino and its hw architecture
Arduino and its hw architectureZeeshan Rafiq
 
Introduction to embedded systems
Introduction  to embedded systemsIntroduction  to embedded systems
Introduction to embedded systemsRAMPRAKASHT1
 
Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)Aarav Soni
 
Microcontrollers 8051 MSP430 notes
Microcontrollers 8051 MSP430 notesMicrocontrollers 8051 MSP430 notes
Microcontrollers 8051 MSP430 notesNiteesh Shanbog
 

What's hot (20)

Msp 430 architecture module 1
Msp 430 architecture module 1Msp 430 architecture module 1
Msp 430 architecture module 1
 
System On Chip
System On ChipSystem On Chip
System On Chip
 
Project Report on Embedded Systems
Project Report on Embedded Systems Project Report on Embedded Systems
Project Report on Embedded Systems
 
wireless E notice board
wireless E notice boardwireless E notice board
wireless E notice board
 
Embedded systems basics
Embedded systems basicsEmbedded systems basics
Embedded systems basics
 
Design challenges in embedded systems
Design challenges in embedded systemsDesign challenges in embedded systems
Design challenges in embedded systems
 
wireless notice board
 wireless notice board wireless notice board
wireless notice board
 
Arm Processor Based Speed Control Of BLDC Motor
Arm Processor Based Speed Control Of BLDC MotorArm Processor Based Speed Control Of BLDC Motor
Arm Processor Based Speed Control Of BLDC Motor
 
Arduino and its hw architecture
Arduino and its hw architectureArduino and its hw architecture
Arduino and its hw architecture
 
Introduction to embedded systems
Introduction  to embedded systemsIntroduction  to embedded systems
Introduction to embedded systems
 
Scada System
Scada  SystemScada  System
Scada System
 
embedded system and AVR
embedded system and AVRembedded system and AVR
embedded system and AVR
 
STM32 MCU Family
STM32 MCU FamilySTM32 MCU Family
STM32 MCU Family
 
Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)Timer counter in arm7(lpc2148)
Timer counter in arm7(lpc2148)
 
Unit2 arm
Unit2 armUnit2 arm
Unit2 arm
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Microcontrollers 8051 MSP430 notes
Microcontrollers 8051 MSP430 notesMicrocontrollers 8051 MSP430 notes
Microcontrollers 8051 MSP430 notes
 
Arduino uno
Arduino unoArduino uno
Arduino uno
 
SoC Design
SoC DesignSoC Design
SoC Design
 

Similar to Power Management in Embedded Systems

Power optimization for Android apps
Power optimization for Android appsPower optimization for Android apps
Power optimization for Android appsXavier Hallade
 
How to achieve 95%+ Accurate power measurement during architecture exploration?
How to achieve 95%+ Accurate power measurement during architecture exploration? How to achieve 95%+ Accurate power measurement during architecture exploration?
How to achieve 95%+ Accurate power measurement during architecture exploration? Deepak Shankar
 
참여기관_발표자료-국민대학교 201301 정기회의
참여기관_발표자료-국민대학교 201301 정기회의참여기관_발표자료-국민대학교 201301 정기회의
참여기관_발표자료-국민대학교 201301 정기회의DzH QWuynh
 
arc-flash-analysis-done-right.pdf
arc-flash-analysis-done-right.pdfarc-flash-analysis-done-right.pdf
arc-flash-analysis-done-right.pdfssusera5c9a31
 
ETAP - Arc flash analysis etap
ETAP - Arc flash analysis etapETAP - Arc flash analysis etap
ETAP - Arc flash analysis etapHimmelstern
 
ETAP - Arc flash analysis done Right
ETAP - Arc flash analysis done RightETAP - Arc flash analysis done Right
ETAP - Arc flash analysis done RightHimmelstern
 
Relay Setting Calculation For REF615/ REJ601
Relay Setting Calculation For REF615/ REJ601Relay Setting Calculation For REF615/ REJ601
Relay Setting Calculation For REF615/ REJ601SARAVANAN A
 
2012 ICONE20 Power Conference Developing Nuclear Power Plant TPMS Specificati...
2012 ICONE20 Power Conference Developing Nuclear Power Plant TPMS Specificati...2012 ICONE20 Power Conference Developing Nuclear Power Plant TPMS Specificati...
2012 ICONE20 Power Conference Developing Nuclear Power Plant TPMS Specificati...Komandur Sunder Raj, P.E.
 
Intel speed-select-technology-base-frequency-enhancing-performance
Intel speed-select-technology-base-frequency-enhancing-performanceIntel speed-select-technology-base-frequency-enhancing-performance
Intel speed-select-technology-base-frequency-enhancing-performanceVijaianand Sundaramoorthy
 
CPU Subsystem Total Power Consumption: Understanding the Factors and Selectin...
CPU Subsystem Total Power Consumption: Understanding the Factors and Selectin...CPU Subsystem Total Power Consumption: Understanding the Factors and Selectin...
CPU Subsystem Total Power Consumption: Understanding the Factors and Selectin...CAST, Inc.
 
Exitation System By Aqeel
Exitation System By AqeelExitation System By Aqeel
Exitation System By AqeelIEEEP Karachi
 
All (that i know) about exadata external
All (that i know) about exadata externalAll (that i know) about exadata external
All (that i know) about exadata externalPrasad Chitta
 
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013Amazon Web Services
 
Energy Efficiency in Large Scale Systems
Energy Efficiency in Large Scale SystemsEnergy Efficiency in Large Scale Systems
Energy Efficiency in Large Scale SystemsJerry Sheehan
 

Similar to Power Management in Embedded Systems (20)

ps_guidelines.pdf
ps_guidelines.pdfps_guidelines.pdf
ps_guidelines.pdf
 
Power optimization for Android apps
Power optimization for Android appsPower optimization for Android apps
Power optimization for Android apps
 
How to achieve 95%+ Accurate power measurement during architecture exploration?
How to achieve 95%+ Accurate power measurement during architecture exploration? How to achieve 95%+ Accurate power measurement during architecture exploration?
How to achieve 95%+ Accurate power measurement during architecture exploration?
 
참여기관_발표자료-국민대학교 201301 정기회의
참여기관_발표자료-국민대학교 201301 정기회의참여기관_발표자료-국민대학교 201301 정기회의
참여기관_발표자료-국민대학교 201301 정기회의
 
arc-flash-analysis-done-right.pdf
arc-flash-analysis-done-right.pdfarc-flash-analysis-done-right.pdf
arc-flash-analysis-done-right.pdf
 
ETAP - Arc flash analysis etap
ETAP - Arc flash analysis etapETAP - Arc flash analysis etap
ETAP - Arc flash analysis etap
 
ETAP - Arc flash analysis done Right
ETAP - Arc flash analysis done RightETAP - Arc flash analysis done Right
ETAP - Arc flash analysis done Right
 
Altera trcak g
Altera  trcak gAltera  trcak g
Altera trcak g
 
Relay Setting Calculation For REF615/ REJ601
Relay Setting Calculation For REF615/ REJ601Relay Setting Calculation For REF615/ REJ601
Relay Setting Calculation For REF615/ REJ601
 
E3 s binghamton
E3 s binghamtonE3 s binghamton
E3 s binghamton
 
BHAVESH AGRAWAL.pptx
BHAVESH AGRAWAL.pptxBHAVESH AGRAWAL.pptx
BHAVESH AGRAWAL.pptx
 
2012 ICONE20 Power Conference Developing Nuclear Power Plant TPMS Specificati...
2012 ICONE20 Power Conference Developing Nuclear Power Plant TPMS Specificati...2012 ICONE20 Power Conference Developing Nuclear Power Plant TPMS Specificati...
2012 ICONE20 Power Conference Developing Nuclear Power Plant TPMS Specificati...
 
Intel speed-select-technology-base-frequency-enhancing-performance
Intel speed-select-technology-base-frequency-enhancing-performanceIntel speed-select-technology-base-frequency-enhancing-performance
Intel speed-select-technology-base-frequency-enhancing-performance
 
Arm7 architecture
Arm7 architectureArm7 architecture
Arm7 architecture
 
CPU Subsystem Total Power Consumption: Understanding the Factors and Selectin...
CPU Subsystem Total Power Consumption: Understanding the Factors and Selectin...CPU Subsystem Total Power Consumption: Understanding the Factors and Selectin...
CPU Subsystem Total Power Consumption: Understanding the Factors and Selectin...
 
Exitation System By Aqeel
Exitation System By AqeelExitation System By Aqeel
Exitation System By Aqeel
 
All (that i know) about exadata external
All (that i know) about exadata externalAll (that i know) about exadata external
All (that i know) about exadata external
 
Soc.pptx
Soc.pptxSoc.pptx
Soc.pptx
 
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
 
Energy Efficiency in Large Scale Systems
Energy Efficiency in Large Scale SystemsEnergy Efficiency in Large Scale Systems
Energy Efficiency in Large Scale Systems
 

More from mentoresd

Getting Your Medical Device FDA Approved
Getting Your Medical Device FDA ApprovedGetting Your Medical Device FDA Approved
Getting Your Medical Device FDA Approvedmentoresd
 
Security for io t apr 29th mentor embedded hangout
Security for io t apr 29th mentor embedded hangoutSecurity for io t apr 29th mentor embedded hangout
Security for io t apr 29th mentor embedded hangoutmentoresd
 
Internet of Things Connectivity for Embedded Devices
Internet of Things Connectivity for Embedded DevicesInternet of Things Connectivity for Embedded Devices
Internet of Things Connectivity for Embedded Devicesmentoresd
 
Technology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected CarTechnology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected Carmentoresd
 
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...mentoresd
 
How to Measure RTOS Performance
How to Measure RTOS Performance How to Measure RTOS Performance
How to Measure RTOS Performance mentoresd
 
Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization mentoresd
 
Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs mentoresd
 
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System mentoresd
 

More from mentoresd (9)

Getting Your Medical Device FDA Approved
Getting Your Medical Device FDA ApprovedGetting Your Medical Device FDA Approved
Getting Your Medical Device FDA Approved
 
Security for io t apr 29th mentor embedded hangout
Security for io t apr 29th mentor embedded hangoutSecurity for io t apr 29th mentor embedded hangout
Security for io t apr 29th mentor embedded hangout
 
Internet of Things Connectivity for Embedded Devices
Internet of Things Connectivity for Embedded DevicesInternet of Things Connectivity for Embedded Devices
Internet of Things Connectivity for Embedded Devices
 
Technology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected CarTechnology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected Car
 
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...
Meeting SEP 2.0 Compliance: Developing Power Aware Embedded Systems for the M...
 
How to Measure RTOS Performance
How to Measure RTOS Performance How to Measure RTOS Performance
How to Measure RTOS Performance
 
Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization
 
Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs
 
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
 

Recently uploaded

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Recently uploaded (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

Power Management in Embedded Systems

  • 1. Power Management in Embedded Systems Colin Walls colin_walls@mentor.com mentor.com/embedded Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
  • 2. Agenda Introduction Hardware choice Use cases Operating system BSP and drivers Hibernate/suspend Application development Measurement and testing Conclusions
  • 3. Agenda Introduction Hardware choice Use cases Operating system BSP and drivers Hibernate/suspend Application development Measurement and testing Conclusions
  • 4.
  • 5. Introduction Importance of power steadily growing Mainly complex battery-powered devices Demand for connectivity Power optimization often done late Needs to be considered from the outset
  • 6. Introduction Choose hardware with right capabilities Allow software to manage power Choose OS and drivers Define power usage profiles Choose measurable goals Use goals throughout development process
  • 7. Introduction • Choose appropriate hardware • Consider usage • Select operating system • Address driver/BSP issues • Application code has least influence on power
  • 8. Agenda Introduction Hardware choice Use cases Operating system BSP and drivers Hibernate/suspend Application development Measurement and testing Conclusions
  • 9. Hardware choice Biggest influence on power consumption – Defines the very best case power saving CPU features – Turn off blocks; e.g. Peripherals – Dynamic Voltage and Frequency Scaling (DVFS) – Defines operating points – Low power modes Need to look at wider design to ensure compatibility with above
  • 10. Agenda Introduction Hardware choice Use cases Operating system BSP and drivers Hibernate/suspend Application development Measurement and testing Conclusions
  • 11. Use cases Function that a device performs – With or without user interaction Hypothetical example: – Medical device – Battery powered – LCD display – Monitors vital signs – Uploads data via Wi-Fi
  • 12. Use cases for example 1. Device takes a complete measurement 2. Device uploads a set of measured data 3. User checks his/her own vitals using a built in display 4. Device is idle awaiting the next measurement
  • 13. Use cases for example How much functionality needed for each use case? – Hence which drivers [hardware blocks] need to be enabled per use case? Estimated energy for each use case: – Estimated power consumption – Estimated time in use case Applying use case expected frequency as scaling factor leads to energy breakdown showing battery charge usage over time period
  • 14. Use cases for example Use Case Average Current Duration Frequency per Total time ENERGY USED (mA) (s) day (s/day) (mAh/day) Vitals Measurement 158 1 288 288 13 Data Upload 250 3 288 864 60 User Vitals Check 320 30 15 450 40 Idle (Hibernate) 1 84798 24 TOTAL 136 Determine early whether estimated battery life is achievable
  • 15. Use cases for example Data Upload is highest use of energy Maybe measure and upload every 5 minutes is too costly Perhaps measure every 5 minutes, but upload every 30 minutes – Also upload if there is a major change in vitals User Vitals Check is second biggest – Assumes 30 second display timeout – Maybe it could be shorter – Most other hardware shut down in this use case
  • 16. Agenda Introduction Hardware choice Use cases Operating system BSP and drivers Hibernate/suspend Application development Measurement and testing Conclusions
  • 17. Operating system Significant impact on power saving Must support low power features – DVFS – Idle/sleep modes Native power framework most efficient – BSP must be written to address power issues – Each driver has well defined power states
  • 18. Power framework = Hardware power management = Application Software = RTOS Power Mgmt Framework
  • 19. Agenda Introduction Hardware choice Use cases Operating system BSP and drivers Hibernate/suspend Application development Measurement and testing Conclusions
  • 20. BSP and drivers Define power requirements for each driver. Specify: – Which power states is supports – ON, STANDBY, SLEEP, OFF – What operating points will the driver be used at. For example: – While ON it must work at 200MHz and 100MHz – SLEEP may result in 1MHz clock – DVFS participation – DMA transfer notification
  • 21. Agenda Introduction Hardware choice Use cases Operating system BSP and drivers Hibernate/suspend Application development Measurement and testing Conclusions
  • 22. Hibernate/suspend Some hardware facilitates very low power consumption modes – Suspend: all hardware switched off, except for RAM, the contents of which are protected – Hibernate: RAM contents are stored in non-volatile memory and everything switched off
  • 23. Hibernate/suspend Cost to enter/exit these modes – Power – Time – device responsiveness Depends on how much of the system is ON when mode is entered – Need to save state and reinitialize Hibernate also has cost of storing RAM, which varies with the amount of RAM in use – Also potentially reduces system lifetime
  • 24. Hibernate/suspend Does power benefit offset costs? For example device, depends on: – Measurement interval – How often wake up is required Adjusting measurement interval might make suspend or hibernate efficient or expensive
  • 25. Agenda Introduction Hardware choice Use cases Operating system BSP and drivers Hibernate/suspend Application development Measurement and testing Conclusions
  • 26. Application development Last layer of software Badly written code can very adversely affect power performance An OS with built-in power features [a framework] simplifies matters – Application code writer is then less concerned with details
  • 27. Application development Application consists of a number of independent tasks/threads Each task [or group of tasks] registers its power needs: – Which peripherals are used – Minimum operating point OS takes care of power management along with context switch
  • 28. Agenda Introduction Hardware choice Use cases Operating system BSP and drivers Hibernate/suspend Application development Measurement and testing Conclusions
  • 29. Measurement and testing Power should be measured from day #1 Possible by planning: – Setting power requirements for drivers – Defining use cases – Mapping use cases to applications All software engineers should be equipped to measure power
  • 30. Measurement and testing Meeting power requirements should be regarded as part of code functionality For example: – A Wi-Fi driver may work well with all wireless networks – Must be able to be turned off and reduce power to [near] zero – Must turn back on and be fully functional – Functionality must be repeatable [say, 100,000 times]
  • 31. Measurement and testing Drivers should have power functionality thoroughly tested: – Properly enable/disable hardware – Participate in DVFS – Inform the OS of DMA requirements
  • 32. Power Consumption at Various OPs Operating Point Hibernate 0 voltage (1.5V) Standby 38 OP#0 1 MHz 200 OP#1 63 MHz 230 OP#2 297 MHz 370 OP#3 454 MHz 470 0 100 200 300 400 500 SOC Current Consumption (mA) i.MX28 Board
  • 33. Impact on Battery Life … mAh Percentage mAh Battery (Board) Usage per (hrs) hr OP #3 470 10% 47 OP #2 370 5% 19 OP #1 230 10% 23 OP #0 200 15% 30 Standby 38 20% 8 Hibernate 0 40% 0 Total 126 19 mAh Battery (Board) (hrs) Nucleus Power Management Framework OP #3 470 Total 5 No Power Management
  • 34. Final optimizations The approach discussed should yield power performance on spec. There may be room for more optimization Do final review of use cases Possible changes: – Different operating parameters – New use cases
  • 35. Agenda Introduction Hardware choice Use cases Operating system BSP and drivers Hibernate/suspend Application development Measurement and testing Conclusions
  • 36. Conclusions Power will continue to be a challenge for embedded developers – No longer a “hardware issue” Support for new power saving hardware features is essential With complex software, it is not possible to ignore up- front power planning – Power optimization at the end is impractical
  • 37. Thank you Colin Walls colin_walls@mentor.com http://blogs.mentor.com/colinwalls mentor.com/embedded Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.