Low Power System Techniques for Automotive Control ... - Freescale
Low Power System Techniques for Automotive Control ... - Freescale
Low Power System Techniques for Automotive Control ... - Freescale
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
June, 2010<br />
<strong>Low</strong> <strong>Power</strong> <strong>System</strong> <strong>Techniques</strong><br />
FTF-AUT-F0408<br />
Carl Culshaw<br />
<strong>System</strong> Architect<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
TM
►The lecture will:<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Introduction<br />
• Focus on key low power challenges <strong>for</strong> the automotive system designer<br />
• Describe the principal components of a microcontroller that help<br />
minimize power consumption<br />
• Describe techniques to optimize their usage<br />
• Discuss system partitioning approaches with a view to further reducing<br />
power<br />
• Provide references and concepts to address the challenges identified<br />
►Presenter: Carl Culshaw<br />
• <strong>System</strong> Architect <strong>for</strong> <strong>Automotive</strong> Microcontroller<br />
• Experience: <strong>Automotive</strong> Body, <strong>Low</strong> <strong>Power</strong>; 8, 16, and 32-bit<br />
2<br />
TM
►The lecture shall provide means to:<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Session Objectives<br />
• Identify the key microcontroller elements to implement low power<br />
strategies<br />
• Adopt technical approaches <strong>for</strong> their optimum usage<br />
• Make the system architect aware of low power developments within the<br />
<strong>Automotive</strong> arena<br />
3<br />
TM
Agenda<br />
►<strong>Low</strong> <strong>Power</strong> Challenges<br />
►Microcontroller <strong>Low</strong> <strong>Power</strong><br />
Mechanisms<br />
►<strong>Low</strong> <strong>Power</strong> <strong>System</strong><br />
<strong>Techniques</strong><br />
►Summary<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc. 4<br />
TM
<strong>Low</strong> <strong>Power</strong> Challenges<br />
5<br />
TM
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
6<br />
<strong>Power</strong> Trend<br />
TM
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Semiconductor Technology Trends<br />
Source: TSMC 2009<br />
As technology nodes increase<br />
more digital IP will be<br />
integrated but ….<br />
7<br />
TM
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Semiconductor Technology Trends<br />
Source: TSMC 2009<br />
…the impact of<br />
Per<strong>for</strong>mance vs. <strong>Power</strong><br />
trade-off is not to be<br />
underestimated.<br />
8<br />
TM
►<strong>Power</strong><br />
• Dynamic <strong>Power</strong> – MCU Run Current<br />
• Static <strong>Power</strong> – MCU Stop Current<br />
P<br />
P<br />
P<br />
TOTAL<br />
Where<br />
DYNAMIC<br />
STATIC<br />
= P<br />
= α ⋅CV<br />
= I<br />
DYNAMIC<br />
STATIC<br />
V<br />
+ P<br />
2<br />
f<br />
STATIC<br />
Computational Speed<br />
Supply Voltage<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
CMOS <strong>Power</strong> & Energy<br />
9<br />
TM
►When an MCU is running<br />
• Its transistors are switching<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Dynamic versus Static Mode Consumption<br />
• Current is consumed at the point where the transistor switches.<br />
� For example, in a CMOS inverter, at the point of switching both are on and an<br />
instantaneous current is drawn (crowbar effect)<br />
� CMOS circuits dissipate power by charging the various load capacitances<br />
when switched.<br />
• The more often the transistor switches, the more current is consumed.<br />
Dynamic current: Typically linear with operating frequency<br />
►When an MCU is stopped<br />
• Current is consumed due to leakage through the transistors.<br />
• Sub-threshold/Channel Leakage:<br />
� Occurs when the transistor gate is below the “on” threshold but a small current<br />
leaks from drain to source<br />
• Becomes worse with reduced transistor size & higher temperature<br />
• Drain to substrate leakage:<br />
� The drain <strong>for</strong>ms a diode with the substrate and there is a small leakage<br />
through this diode.<br />
P<br />
DYNAMIC<br />
= α ⋅<br />
Static current: Typically exponential with temperature<br />
10<br />
CV<br />
2<br />
f<br />
P<br />
1 0<br />
0<br />
0<br />
N<br />
1<br />
1<br />
i<br />
TM
Increase in<br />
number of<br />
• Number of Electronic <strong>Control</strong> Units<br />
(mostly MCUs) is increasing<br />
exponentially.<br />
ECU’s<br />
� Nodes requiring MCU functionality are<br />
replacing passive and mechanical<br />
systems throughout the vehicle.<br />
� Nodes include measurement points,<br />
actuation points, or control.<br />
� Often the vehicle architecture distributes<br />
some of the processing to local<br />
•<br />
distributed nodes.<br />
<strong>Power</strong> consumption requirement is<br />
either flat or decreasing.<br />
Example<br />
►The <strong>Low</strong> <strong>Power</strong> challenge:<br />
• <strong>Power</strong> allowed per Electronic <strong>Control</strong><br />
Unit (ECU) is decreasing.<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
<strong>Low</strong> <strong>Power</strong> Challenge – <strong>Automotive</strong><br />
11<br />
Total Sleep<br />
current<br />
requirement<br />
Source: J.Leohold, VW, 9 th International Automobile Electronics Conference, June 05<br />
Windows & Mirrors …………….14<br />
Security and Access …………..11<br />
Com<strong>for</strong>t & In<strong>for</strong>mation .……….18<br />
Lighting ………………………….22<br />
Total………….65<br />
TM
Microcontroller<br />
<strong>Low</strong> <strong>Power</strong> Mechanisms<br />
12<br />
TM
►Reduces leakage current in low power modes<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Reducing Leakage – Active Well Bias<br />
►Changing the well voltage can reduce channel leakage by 10X.<br />
(Effectively, it increases Vth <strong>for</strong> the transistors.)<br />
►Applicable to standard cell logic and RAM arrays<br />
13<br />
N-Well<br />
Bias<br />
P-Well<br />
Bias<br />
TM
►How it works:<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
State Retention <strong>Power</strong> Gating<br />
• Only D-Flip-Flops need to retain their state, all other logic can be powered<br />
down.<br />
• In D-Flip-Flops, only the state keeping latch needs to be powered.<br />
►Special power rail is only <strong>for</strong> retention latches<br />
►Example: S12X core<br />
• 15 µA consumption in state retention mode at 85C<br />
d<br />
clki<br />
pgb<br />
clkb<br />
clk<br />
VDDC VDD<br />
14<br />
qb<br />
q<br />
TM
► <strong>Power</strong> Domains<br />
• Individually disconnected from <strong>Power</strong><br />
• Eliminate leakage from areas that are<br />
turned off<br />
► <strong>Power</strong> Domain PD0:<br />
• Always on<br />
• Wakeup periphery, e.g., CAN sampler,<br />
RTC, API, etc.<br />
• Minimum RAM segment<br />
► <strong>Power</strong> Domain RD1<br />
• Contains an additional RAM segment<br />
• Remainder of the RAM is in the PD1<br />
domain<br />
► <strong>Power</strong> Domain PD1:<br />
• Contains all cores and the majority of<br />
peripherals<br />
• Can be turned off in STOP or STANDBY<br />
modes<br />
• Must be turned on in RUN modes<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
<strong>Power</strong> Segmentation – MCU Structure<br />
MPC5604B <strong>Power</strong> Domain Structure<br />
15<br />
TM
► <strong>Power</strong> consumption is directly linked to clock signal switching<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Managing Clock Distribution<br />
► Reducing the number of clocked lines directly reduces current consumption<br />
► Several methods are employed to avoid wasting power in clock edges,<br />
<strong>for</strong> example:<br />
P = a ClVdd ²f<br />
• Clock freeze mode<br />
� When CPU activity can be temporarily halted,<br />
e.g., while waiting <strong>for</strong> an Analog-to-Digital<br />
(ADC) conversion to complete<br />
• Peripheral bus division<br />
� Reduced local clock rates, e.g., <strong>for</strong> ADC and<br />
communication ports<br />
• Clock gating<br />
� Applied wherever possible and at the entry to<br />
each sub-module<br />
OSC<br />
4-<br />
16MHz<br />
IRC<br />
16MHz<br />
OSC 32KHz<br />
IRC 128KHz<br />
div 1 to<br />
32<br />
div 1 to<br />
32<br />
FMPLL<br />
irc_fast<br />
osca_cl<br />
ck<br />
oscb_clck<br />
irc_slow<br />
div 1 to<br />
32<br />
div 1 to<br />
32<br />
osca_clk_div<br />
irc_fast_div<br />
CMU<br />
osca_clk<br />
irc_fast<br />
fmplla_clk<br />
MPC5603B Intelligent Clock Tree architecture<br />
16<br />
<strong>System</strong><br />
Clock<br />
Selector<br />
(ME)<br />
irc_slow_div<br />
RESET<br />
SAFE<br />
INT<br />
CLKOUT<br />
Selector<br />
system_clk<br />
div 1 to<br />
15<br />
div 1 to<br />
15<br />
div 1 to<br />
15<br />
irc_fact_div<br />
oscb_clk_div<br />
div<br />
1/2/4/8<br />
Core<br />
Plat<strong>for</strong>m<br />
Peripheral Set 1<br />
Peripheral Set 2<br />
Peripheral Set 3<br />
API / RTC<br />
SWT<br />
(Watchdog)<br />
CLOCK OUT<br />
TM
►Fast Wake-Up:<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Intelligent Clocking – Typical Clock Sources<br />
• Increase the speed at which the device can recover from low power modes and start<br />
execution.<br />
• Reconfiguration and non-timing critical operations can start as soon as a clock is present.<br />
� main RAM/module registers can be re-initialized whilst the external (accurate) OSC clock is stabilizing<br />
• Very fast Wake-Up requires an on-chip RC oscillator<br />
� e.g., a 16 MHz Internal RC can provide Bus Clock in
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Dynamic Voltage Frequency Scaling (DVFS)<br />
► Devices typically do not require full per<strong>for</strong>mance all of the time<br />
• Reducing frequency directly reduces power consumption (already discussed)<br />
• But reducing frequency also allows the voltage to be reduced, further reducing power<br />
► Solutions can be via hardware, software or combination of both<br />
mA<br />
• <strong>System</strong> sophistication increases with DVFS<br />
� Typically PLL allows frequency scaling<br />
• Need to balance savings with complexity:<br />
100<br />
80<br />
60<br />
40<br />
20<br />
� Scalable regulator design, with fast switching behaviour<br />
� Peripherals require full scaling capability to ensure seamless switching<br />
� Synchronization handling during DVFS changes<br />
Full<br />
Run<br />
mode<br />
5V,<br />
120MHz<br />
<strong>Low</strong> Freq<br />
Run mode<br />
5V,<br />
60MHz<br />
<strong>Low</strong> Vdd<br />
Run mode<br />
2.5V,<br />
120MHz 1<br />
<strong>Low</strong> Vdd,<br />
<strong>Low</strong> Freq<br />
Run mode<br />
2.5V,<br />
60MHz<br />
Note 1: Assumption is that maximum frequency also achievable at lowest<br />
voltage, but this will not always be the case<br />
TM
► STANDBY – lowest power mode<br />
• <strong>Power</strong> supply is cut off from most devices<br />
• All clocks disabled<br />
• Longest wakeup time and some<br />
reconfiguration required<br />
• Most pins not powered (high impedance)<br />
► STOP<br />
• Advanced low-power mode during which the<br />
clock to the core and the PLL are disabled<br />
• Optionally switch off most peripherals<br />
• State of the output pins is kept<br />
► HALT – disable core clock<br />
• Reduced-activity mode during which the clock<br />
to the core is disabled<br />
• Optionally switch off analog peripherals (PLL,<br />
flash, main regulator, etc.)<br />
► RUN0-3<br />
• Software execution modes where most<br />
processing activity occurs.<br />
• Allows run-time customization of different clock<br />
& power configurations of the system<br />
SW request<br />
RESET<br />
Non<br />
recoverable<br />
HW failure<br />
SYSTEM MODES<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
SAFE<br />
DRUN<br />
TEST<br />
HW triggered transition<br />
SW triggered transition<br />
19<br />
<strong>Low</strong> <strong>Power</strong> Modes<br />
Recoverable<br />
HW failure<br />
RUN 0<br />
RUN 1<br />
RUN 3<br />
USER MODES<br />
LOW POWER<br />
MODES<br />
HALT<br />
STOP<br />
STANDBY<br />
TM
►General theme is to switch on as little as possible:<br />
• CPU is the most power hungry module on an MCU<br />
• Need to switch to OFF when possible<br />
• Put more intelligence into peripherals<br />
►Autonomous peripherals can help achieve this.<br />
• Typical Autonomous peripherals include:<br />
� API – Autonomous Periodic Interrupt<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Autonomous Operation<br />
– Allows device to recover from very low power state at selectable time intervals<br />
� RTC – Real Time Clock<br />
– Offers time keeping functionality in very low power states<br />
� DMA – Direct Memory Access<br />
– Allows data transfer between peripherals minimizing CPU activity<br />
� ADC – Analog Digital Converter<br />
– Continual conversion while running in low power<br />
– Triggers wake-up when signal reaches certain level<br />
� LINFlex – Intelligent LIN management, minimizing CPU interrupts<br />
20<br />
TM
<strong>Low</strong> <strong>Power</strong> <strong>System</strong> <strong>Techniques</strong><br />
21<br />
TM
<strong>Low</strong> <strong>Power</strong> <strong>System</strong> <strong>Techniques</strong> – Using the silicon<br />
► <strong>System</strong> solutions to achieve low power are based on several key principles:<br />
Reduce average power<br />
� Sleep as much as possible<br />
� Minimize RUN execution<br />
� Match speed against requirements<br />
Only power what is needed<br />
� Only switch on silicon portions<br />
� Completely power gate unused<br />
portions in many power modes<br />
Only clock what is required<br />
� Clock gating<br />
� Clock tree management<br />
� Peripheral grouping<br />
Employ intelligent autonomous<br />
operation<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
O<br />
S<br />
C<br />
4<br />
-<br />
1<br />
6I<br />
RM<br />
CH<br />
1z<br />
6<br />
M<br />
H<br />
z<br />
SW request<br />
RESET<br />
Non<br />
recoverable<br />
HW failure<br />
SYSTEM MODES<br />
SAFE<br />
DRUN<br />
TEST<br />
HW triggered transition<br />
SW triggered transition<br />
div<br />
1<br />
to<br />
32<br />
div<br />
1<br />
to<br />
32<br />
F<br />
M<br />
P<br />
L<br />
L<br />
irc_fast<br />
osc<br />
a_c<br />
lck<br />
osc<br />
b_c<br />
lck<br />
irc_slow<br />
Recoverable<br />
HW failure<br />
osca_clk_div<br />
irc_fast_div<br />
CM<br />
U<br />
Syste<br />
m<br />
Clock<br />
Selec<br />
tor<br />
(ME)<br />
RUN 0<br />
RUN 1<br />
RUN 3<br />
RESET<br />
SAFE<br />
INT<br />
USER MODES<br />
system_clk<br />
div<br />
1<br />
to<br />
15<br />
div<br />
1<br />
to<br />
15<br />
div<br />
1<br />
to<br />
15<br />
LOW POWER<br />
MODES<br />
HALT<br />
STOP<br />
STANDBY<br />
Core<br />
Plat<strong>for</strong>m<br />
Peripher<br />
al Set 1<br />
Peripher<br />
al Set 2<br />
Peripher<br />
al Set 3<br />
MPC5603B Intelligent Clock Tree architecture<br />
Design autonomous peripherals<br />
� e.g. DMA, RTC, API, ADC, LINFlex<br />
TM
Ef<strong>for</strong>t / Risks<br />
low<br />
high<br />
Local, internal optimization of Electronic <strong>Control</strong><br />
Units, actuators & sensors<br />
Deactivation of complete sub-busses<br />
B X<br />
CGW<br />
C<br />
Y<br />
Deactivation of individual ECUs<br />
C<br />
A<br />
D<br />
D<br />
A B X<br />
CGW<br />
Y<br />
Energy Saving Potential on the <strong>System</strong> Level<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Smart algorithms (PWM, motor control, and etc.)<br />
Loss minimation (DC/DC regulators, LEDs, and etc.)<br />
Smart activation of peripherals<br />
…<br />
Network topology change<br />
Traditional wake-up mechanism<br />
Slow reaction times<br />
Limited SW changes<br />
Flexible wake-up mechanism required<br />
Slow reaction times<br />
SW and HW changes<br />
� Industry standardization<br />
23<br />
high<br />
low<br />
Savings Potential<br />
TM
Vbat<br />
MC33905<br />
SBC<br />
Vdd<br />
MCU<br />
Osc Osc<br />
►SBC LPM VDD OFF, no osc no cyclic wake-up<br />
►MCU off<br />
I SBC = 15uA<br />
Wake up time: 2-5ms + MCU S/W start<br />
Vbat<br />
MC33905 Vdd<br />
SBC MCU<br />
Osc Osc<br />
Very low system consumption<br />
“longer” wake-up time<br />
►SBC LPM VDDOFF + osc (cyclic wake-up)<br />
►MCU off<br />
I SBC = 25uA<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
Electronic <strong>Control</strong> Unit low power modes<br />
Cyclic w/u allowed<br />
“longer” wake-up time<br />
Vbat<br />
MC33905<br />
SBC<br />
Vdd<br />
MCU<br />
Osc Osc<br />
►SBC LPM VDDON with osc<br />
►MCU powered, STDBY mode no osc.<br />
Vbat<br />
MC33905<br />
SBC<br />
I SBC = 40uA, I MCU = 30uA<br />
Vdd<br />
MCU<br />
Osc Osc<br />
►SBC LPM VDDON with osc<br />
►MCU powered, HALT mode with osc.<br />
I SBC = 40uA, I MCU < 350uA<br />
No MCU osc<br />
RAM content saved<br />
Fast wake-up time<br />
Faster w/u time<br />
Impact on cons.<br />
TM
1<br />
2<br />
50ms 50ms<br />
Example: Body <strong>Control</strong>ler Module Typical Scenario<br />
► MCU Mode: STANDBY<br />
- + 8K RAM<br />
1<br />
- + API/RTC (128K clock)<br />
- + Wake-up lines<br />
► MCU Mode: RUN<br />
► + Exec. from RAM<br />
- + IRC 16MHz<br />
700ms<br />
- + Polling of ~24 digital + 5<br />
analog inputs<br />
► Duration: ~667ms ► Duration: ~200µs<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
2<br />
► MCU Mode: RUN<br />
► + Exec. from RAM<br />
► + XTAL <strong>for</strong> IRC trimming<br />
- + IRC 16MHz<br />
3<br />
- + Polling of ~24 digital + 5<br />
analog inputs<br />
- + SPI: 1x16 @ 500Kbps<br />
- + LIN: 3 msg at 20kbps<br />
25<br />
► Duration: 32ms<br />
3<br />
TM
I[mA]<br />
I[mA]<br />
High speed CAN<br />
SBC wake-up<br />
Osc start<br />
MCU<br />
wake<br />
MCU behavior to process communication wake-up<br />
► SBC detects a wake up<br />
signal (3 dominant signals)<br />
► Triggers a wake-up<br />
procedure.<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
t[ms]<br />
► MCU Wakes up from<br />
an SBC signal.<br />
t[ms]<br />
Managing Communication Wake-Ups<br />
HW (fixed consumption) HW (fixed consumption)<br />
HW (fixed consumption) HW (fixed consumption)<br />
I[mA]<br />
I[mA]<br />
SBC wake-up<br />
Osc start<br />
MCU<br />
wake<br />
MCU behavior to process communication wake-up<br />
26<br />
t[ms]<br />
t[ms]<br />
TM
V<br />
► Scenario:<br />
• Measure 3 ‘fast’ analog inputs and check values<br />
(e.g., ‘fast’ temperature sensors)<br />
• read the state of 5 port inputs and check values<br />
• Only continue full power-up if values breech predefined<br />
conditions<br />
► Timing and absolute accuracy of initial<br />
measurements is not critical<br />
► ADC function is active <strong>for</strong> approximately 9us (3us<br />
per conversion) in every 10ms<br />
Analog input<br />
t[s]<br />
25<br />
20<br />
15<br />
10<br />
5<br />
40μA<br />
Run<br />
from<br />
RAM &<br />
enable<br />
sensor<br />
23mA<br />
18mA<br />
31μs 2ms<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
20μs<br />
1μs<br />
Monitoring Fast Analog Signals<br />
Standby Current<br />
(8KRAM, 32KHIRC, API)<br />
10μs<br />
Proposed solution:<br />
► Use approach: STANDBY → RUN →<br />
STANDBY → RUN<br />
► Utilize STANDBY and retain 8K of RAM<br />
► Utilize an API (Application Programming<br />
Interface) to wake-up periodically every 10ms<br />
and transition into RUN<br />
► Clock the API with the on-chip 128KHz IRC<br />
(very low power Internal RC ocsillator)<br />
► Use a 16MHz IRC <strong>for</strong> fast execution,<br />
accurate enough <strong>for</strong> this example application<br />
► Execute limited code from RAM at 16MHz<br />
bus speed<br />
Run Current range<br />
10ms<br />
Run<br />
from<br />
RAM &<br />
read<br />
sensor<br />
20μs<br />
10μs<br />
40μs<br />
27<br />
10μs<br />
Standby Current<br />
(8KRAM, 32KHIRC, API)<br />
7929μs<br />
Run<br />
from<br />
RAM &<br />
enable<br />
sensor<br />
20μs<br />
1μs<br />
31μs<br />
10μs<br />
TM
V<br />
► Scenario:<br />
• Measure 3 analog inputs and check values (<strong>for</strong><br />
example, ‘slow’ temperature sensors)<br />
• Sensors are not instantly available <strong>for</strong> reading<br />
• Sensor settling time: 2ms<br />
► Timing and absolute accuracy of initial<br />
measurements is not critical<br />
► ADC function is active <strong>for</strong> approximately 9us (3us<br />
per conversion) in every 10ms<br />
Analog input<br />
t[s]<br />
25<br />
20<br />
15<br />
10<br />
5<br />
300μA<br />
40μA<br />
Run<br />
from<br />
RAM &<br />
enable<br />
sensor<br />
31μs 2ms<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
20μs<br />
1μs<br />
23mA<br />
18mA<br />
Sensor stabilization<br />
10μs<br />
Monitoring Slow Analog Signals<br />
STOP Current<br />
Proposed solution:<br />
► This solution is identical as previous one,<br />
except the STOP state will be used instead of<br />
STANDBY during the ‘sensor stabilization’<br />
period<br />
• Use approach: STANDBY → RUN → STOP<br />
→ STANDBY → RUN<br />
• Return to STANDBY unless pre-defined<br />
conditions are exceeded<br />
Run Current range<br />
10ms<br />
Run<br />
from<br />
RAM &<br />
read<br />
sensor<br />
20μs<br />
40μs<br />
10μs<br />
28<br />
10μs<br />
Standby Current<br />
(8KRAM, 32KHIRC, API)<br />
7929μs<br />
Run<br />
from<br />
RAM &<br />
enable<br />
sensor<br />
20μs<br />
31μs<br />
1μs<br />
TM<br />
10μs
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
AUTOSAR<br />
► AUTOSAR 4.0 lacks specifications <strong>for</strong> ‘sleeping’ or functionally degraded ECUs.<br />
► Future AUTOSAR (AUTomotive Open <strong>System</strong> ARchitecture) enhancement:<br />
• Support of partial networking (some kind of system degradation)<br />
• Support of ECU degradation (implying MCU degradation)<br />
• Dynamic degradation by <strong>System</strong> and ECU configuration<br />
► Partial networking requirements<br />
• Flexible network management (Today: only synchronized fall asleep of all ECUs of one bus)<br />
• Specification <strong>for</strong> configuration of wake-up of a single ECU (avoiding wake-up of all connected ECUs)<br />
• Definition of configurable wake-up patterns<br />
• Transceiver enhancement<br />
• Configuration of partial networks and related signals<br />
► ECU degradation, a standardized approach <strong>for</strong>:<br />
• De-initialization, re-initialization and re-configuration of software modules<br />
• Adjustment on changed clock rates (of cores and/or other MCU blocks) which influences schedules<br />
(e.g., FlexRay).<br />
• Adjustment on reduced clock accuracy which affects functions like PWM or CAN communication.<br />
• Support of advanced low-power modes where some MCU blocks are still operative (e.g., PWM) while<br />
the rest of the MCU sleeps.<br />
29<br />
TM
►<strong>Low</strong> <strong>Power</strong> Challenges<br />
• <strong>Automotive</strong> market demands <strong>for</strong> low power are increasing:<br />
� More body nodes are appearing in every new generation of cars<br />
� Each body node has more functionality and features<br />
• More functionality demands more from the silicon:<br />
� Smaller geometries to meet increasing demands<br />
� Smaller technology drives the power curve<br />
►Microcontroller <strong>Low</strong> <strong>Power</strong> Mechanisms<br />
• Are there to make it easy<br />
• Software support<br />
►<strong>System</strong> <strong>Low</strong> <strong>Power</strong> <strong>Techniques</strong>:<br />
• <strong>Power</strong> up fast<br />
• Standby as much as possible<br />
• Intelligent use of available resources<br />
Attention to power is<br />
needed from the<br />
beginning of system<br />
design<br />
Accuracy<br />
<strong>Freescale</strong>, the <strong>Freescale</strong> logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, mobileGT, <strong>Power</strong>QUICC, StarCore, and Symphony are trademarks of <strong>Freescale</strong> Semiconductor, Inc.,<br />
Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Plat<strong>for</strong>m in a Package, Processor Expert, QorIQ, QUICC Engine, SMARTMOS, TurboLink<br />
and VortiQa are trademarks of <strong>Freescale</strong> Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2010 <strong>Freescale</strong> Semiconductor, Inc.<br />
low<br />
high<br />
Cicuit/Logic<br />
Technology<br />
<strong>System</strong><br />
Algorithm<br />
Architecture<br />
30<br />
Session Summary<br />
Partitioning, <strong>Power</strong> Down, <strong>Power</strong> States<br />
Complexity, Concurrency, Regularity, Locality<br />
Parallelism, Pipelining, Redundancy, Data Encoding<br />
Logic Styles & Manipulation, Transistor Sizing, Energy recovery<br />
Threshold Reduction, Double-Threshold Devices<br />
<strong>Power</strong> Savings<br />
high<br />
low<br />
TM