Ultra Low Power Microcontroller - Design Criteria - June 2017
Agenda 1. Low power technology features 2. Intelligent Clock Generator 3. Short wake-up times 4. Intelligent memory access 5. Use case scenario influence -> Impact of power-save and operation modes 6. Software development efficiency
Technology Features Low power consumption - Three Core Technologies Low current leakage process Eco-friendly power algorithm Low power analog IP IDD VDD * DC-DC case Regulator or DC-DC * Example of graphic display controller circuit Internal Circuit VD1 Power (IDD x VDD) Regulator power-loss Internal Circuit Power (IDD x VDD) DC-DC power-loss Internal Circuit 3 VDD Regulator VDD DC-DC converter *
Basic block diagram of an microcontroller system MCU *Intelligent memory accesses *Clocking circuits Epson 32.768kHz crystal *Use case scenario dependent FLASH OSC1 Internal OSC RESET SVD/ADC 1Hz CPU Real-Time clock Timer GPIO SPI / I²C / UART RAM RFC/ADC U P M U X *1 *Use case scenario dependent Thermistor Humidity sensor Key input Supply Voltage Detector LCD Driver with internal booster circuit *Use case scenario dependent Monitoring voltage level Select detect voltage by S/W LCD panel 7-segment Dot-matrix *MCU circuits mainly contributing to get an ultra low power design
Intelligent clock generator (1) Optimal clock frequency can be selected from different clock sources for each circuit RESET Low Power oscillation circuit for timepiece 32.768kHz crystal oscillation High accuracy built-in oscillation circuit 700kHz±3% accuracy OSC1 IOSC OSC3 External Clock Input Support rectangular wave or sign wave EXOSC High speed oscillation circuit Crystal/Ceramic oscillation, internal oscillation, external resistance CR oscillation changeable by software System clock can be chosen from 4 sources! 5 Internal Oscillator Low Speed Clock High Speed Clock External Clock Dividing Dividing Dividing Dividing CPU BUS Timer UART SPI I²C ADC USB LCD driver SVD
Intelligent clock generator (2) 1. Flexible Clock Generator operates as a backbone of a microcontroller -> all synchronous peripherals are connected 2. Trade off between flexibility and accuracy of internal clocks -> more flexibility because different frequencies can be used, but accuracy is often temperature dependent 3. Temperature compensation -> most microcontrollers offer precise external clock source to achieve higher accuracy by calibration 4. For exact time measurement external clock source is recommendable
Short wake-up times Example for an inflexible clock generator system Inflexible clock generator systems require much longer wake-up times to switch between different power save modes. OSC stabilization times are wasted times for applications and burn just energy SLEEP Port interrupt System CLK (CPU, BUS, Memory) RTC/LCD Driver CLK High Speed Clock Low Speed Clock Example for an flexible clock generator system OSC stabilisation time High Speed Clock OSC stabilisation time Low Speed Clock Flexible clock generator systems offer clock selections which are still available in power save modes, e.g. RTC/LCD driver clock could be still available in SLEEP mode. No OSC stabilization times waste time and energy SLEEP Port or RTC/LCD interrupt System CLK (CPU, BUS, Memory) High Speed Clock High Speed Clock RTC/LCD Driver CLK Low Speed Clock RTC/LCD can be used in sleep mode Flexible clock generator systems offer very short wake-up times, where e.g. CPU could run immediately by internal OSC by interrupt when clocks are available in power save modes SLEEP Port or RTC/LCD interrupt System CLK (CPU, BUS, Memory) RTC/LCD Driver CLK High Speed Clock Low Speed Clock Short wake-up time Internal OSC
Intelligent memory access Example: Improvement of display performance CPU Flash RAM Display Driver CPU Flash RAM Custom Circuit + Display Driver Standard system: CPU read out / write display data to memory -> Result: high CPU workload and high power consumption 8 Intelligent system: Only Custom circuit is handling display data -> no CPU workload and no flash memory involvement -> Result: much lower power consumption
Use case scenario Active Operation Mode (1) Example: Sensor Hub System 1. Processing high performance functions Acceleration Gyro Compass N I²C Dead Reckoning Moving / Rest detection Motion detection Vehicle detection Steps, calorie measurement Sensor data detection Azimuth detection FLASH OSC1 Internal OSC AFE SVD/ADC 1Hz MCU CPU Real-Time clock Timer GPIO SPI / I²C / UART LCD Driver with internal booster circuit RAM RESET U P M U X *1 2. Usually characteriszed by current consumption in µa/mhz LCD
Use case scenario Active Operation Mode (2) Coremark value: In ULP (Ultra Low Power) designs µa/mhz has only limited relevance, because processing power must be considered too to get total overview -> therefore Coremark is a useful indication about MCU performance Example: An 16-bit MCU achieves a benchmark value of 0.6 Coremark/MHz while an 32-bit MCU achieves 2.9 Coremark/MHz -> 32-bit processor can execute same task five times faster than 16-bit processor -> total power consumption is reduced if MCU active time is short! -> Result: An intelligent processor core architecture, in this case a 32-bit MCU could be more energy efficient than a 16-bit MCU
Use case scenario Power Save Mode (1) 1. Important when CPU workload is small and applications are battery powered 2. Sleep Mode is most energy-efficient power save mode of a processor 3. Some MCU`s offer various Sleep Modes where different peripheral circuits remain (non-)active -> Caution: many power save modes are unrealistic for the application! 4. Many applications can be kept for a long time in Sleep Mode which made Sleep Mode value important -> some time keeping function in Sleep Mode is benefitial to wake-up MCU by event (RTC, Timer etc.) FLASH OSC1 Internal OSC AFE SVD/ADC 1Hz MCU CPU Real-Time clock Timer GPIO SPI / I²C / UART LCD Driver with internal booster circuit LCD RAM RESET U P M U X *1
Use case scenario Power Save Mode (2) IDD VDD * DC-DC case Regulator or DC-DC * Internal Circuit VDD Regulator 1. Supply voltage conditions have big influence on MCU operation conditions and some energy efficient power save modes 2. MCU`s operating below 1.8V could bring some benefits VD1 3. Integrated DC/DC converter technology can be key to achieve attractive power consumption values -> e.g. Sleep Mode: 32-bit ARM Cortex M0+: 800nA or 16-bit MCU: 150nA -> e.g. Run Mode: 16-bit MCU only 4µA in active mode still driving a LCD Power (IDD x VDD) Regulator power-loss Internal Circuit Power (IDD x VDD) DC-DC power-loss Internal Circuit VDD DC-DC converter *
Use case scenario High performance appl. Example: Multi functional non-rechargeable watch Acceleration Gyro Compass N Expected functions: Display driving Sensor data processing Wireless function Long battery lifetime Important MCU functions/circuits: Lowest possible total power consumption during active mode operation (High Coremark benchmark or low µa/mhz) Low power LCD driver Intelligent memory access options Intelligent MCU power save modes 13
Use case scenario Low performance appl. Buzzer, Alarm Example: Heat Cost Allicator 32.768kHz crystal FLASH ROM OSC1 Internal OSC Sound Generator SVD 1Hz MCU 4-bit 16-bit 32-bit CPU RTC PWM/Capture GPIO SPI / I²C / UART LCD Driver with internal booster circuit RAM 24bit RFC U P M U X *1 Thermistor Humidity sensor 14 7-segment Key input LCD panel Dot-matrix Expected functions: Display driving Temperature/Humidity Measurement Long battery lifetime Important MCU functions/circuits: Lowest possible power consumption during Sleep Mode Low power LCD driver Short wake-up times Special circuits (RFC, SVD) *Important MCU functions circuits
Software development efficiency GNU17 Eclipse Compiler: GNU17 USB PC On chip debugging ARM Debugger Tool Target board Evaluation board Evaluation board IDE Emulator
32.768kHz FLASH 128KB OSC1 1Hz S1C17W18 RAM 8KB RTC SVD 12bit ADC 3.6V Humidity Pi Thermistor Sound Gen. RFC UPMUX SPI / I²C /UART OSC3 Cera / Int. Temp. sensor / Ref. voltage gen. LCD Driver 48 x 4/44 x 8 GPIO VREFA 7-segment LCD panel Dot-matrix 32.768kHz Pi CASH S1C31W74 FLASH RAM 512KB 128KB OSC1 1Hz RTC X`tal/Int. OSC3 DMA Cera / Int. Sound SPI / I²C Gen. /UART LCD Driver (1/5 or 1/4B) 72x32 / 80x24 / 88x16 ARM Cortex -M0+ SVD IOSC USB Device QSPI GPIO 3.6V Flash