您好,欢迎访问三七文档
SoC的功耗陈虎博士Tommychen74@yahoo.com.cn31984767内容简介CMOS电路中功耗、频率、电压的关系控制CPU运行主频关闭不工作部件的时钟控制嵌入式处理器的运行模式功耗问题功耗问题是嵌入式系统设计的重要主题。功率(Power)vs.能量(energy):•处理器系统发热取决于功率大小;•电池供电的时间取决于能量消耗大小。功率是单位时间内消耗的能量大小。功耗分为:•动态功耗•静态功耗动态功耗在状态转移过程中为电容充电所消耗的能量。将容量为C的电容充电到VDD所需要的能量为CVDD2如果电路运行的频率为f,并且所有的电容都从1变化到0(或者相反),则每秒钟电容充电的次数为f/2次。因此,总的动态功耗为:Pdynamic=½CVDD2f静态功耗在没有门转换时的功耗。由漏电流IDD引起静态功耗为:Pstatic=IDDVDD电压和频率的关系工作频率和电压,门限电压的关系要提高工作频率,就需要:•提高工作电压•减少门限电压门限电压减少,将导致漏电流增加2max()thresholdVVfVexp()()thresholdleakqVIkT降低功耗的主要方法降低运行主频;关闭暂时不运行部件的时钟或供电;调整处理器工作状态;降低供电电压;时钟系统锁相环:提供嵌入式处理器和其他部件时钟。时钟电源管理器:主频时钟按照设定的分频模式被输送到各个硬件部件,以达到使能/禁能各个功能部件以及节省功耗的目的。锁相环(PhaseLockLoop,PLL)锁相环是一种基于闭环控制系统的窄带跟踪系统,广泛应用于频率合成、调制解调、同步提取、测距测量等。在嵌入式微处理器中,需要使用PLL合成指定频率的时钟信号。S3C44B0X的锁相环电路方框图S3C44B0X的PLL输出的时钟受控于PLLCON设置分频器P相位差别检测器PFD分频器M电荷泵PUMP电压控制振荡器VCO分频器S环路滤波器CRInternalExternalPLLCAP700pFFpllo电压下降FvcoFrefFinP[5:0]M[7:0]S[1:0]锁相环输出时钟输入时钟(PLLCON)锁相环控制寄存器S3C44B0X锁相环输出时钟的频率锁相环输出Fpllo与锁相环输入Fin的关系S3C44B0X的PLL模块的输出时钟频率Fpllo和输入参考时钟频率fin的关系由下式决定:Fpllo=(mxFin)/(px2s)m=M+8,也就是分频器M的分配值+8p=P+2,也就是分频器P的分频值+2规定:Fpllo大于20MHz,并且小于66MHzS3C44B0X的锁相环控制寄存器PLLCON位定义寄存器名称地址读写寄存器功能初值PLLCON0x01D80000可读可写锁相环控制寄存器0x38080PLLCON寄存器字段字段位置字段描述初值MDIV[19:12]主分频控制值,M分频系数0x38PDIV[9:4]预分频控制值,P分频系数0x08SDIV[1:0]后分频控制值,S分频系数0x0S3C44B0X锁相环输出时钟设置举例假定PLL的输入时钟是Fin=14.318MHz要求PLL的输出时钟是Fout=60MHz则设定PLLCON的三个分频系数字段值为:MDIV=59,即M分频系数为59PDIV=6,即P分频系数为6SDIV=1,即S分频系数为1验算如下Fout=((59+8)*14,318,000)/((6+2)*21)=59,956,625=60MHzS3C44B0X的时钟电源管理器下图是S3C44B0X的时钟电源管理器内部结构。由端口E的PE0引脚控制MCLK的输出,PCONE的[1:0]=10选择输出时钟为经过PLL的外部时钟Fpllo,[1:0]=11选择输出时钟为Fout,也就是MCLK。晶振器锁相环时钟控制逻辑XTAL0EXTAL0EXTCLKOM[3:2]MUX5forTimer50001FinTestModeonly(10,11)powerdownPWRDN多路选择器00,01FplloCLKout(External)端口E控制(MCLK)多路选择器多路选择器FoutS3C44B0X的电源管理嵌入式处理器的电源管理与它的时钟控制关系密切。S3C44B0X中的电源管理提供如下5种模式,其中有4种与时钟有关。•正常模式(NormalMode)•空闲模式(IdleMode)•低速模式(SlowMode)•停止模式(StopMode)•液晶屏的SL_IDLE模式(SLIdleMode)S3C44B0X的正常电源模式时钟电源管理器提供时钟信号给CPU和各种外设。当所有的外设都开启工作时,处理器所消耗的功耗最大。用户可以通过对CLKCON寄存器的设置来控制外设的操作模式。•例如,如果定时器和DMA不需要时钟,则用户可以断开定时器和DMA的时钟供给以降低功耗。S3C44B0X电源管理下的省电数据I/O部件IISIICADCRTCUART电流节省1.3%1.6%0.7%0.8%3.8%I/O部件ZDMA0/1Timer0/5LCDTotalSIO电流节省2.2%2.2%3.2%16.70.9%关闭I/O模块时,S3C44B0X典型的功耗节省数据(66MHz主频):S3C44B0X的时钟控制寄存器CLKCON位定义(上)S3C44B0X的时钟控制寄存器CLKCON位定义(下)S3C44B0X的空闲模式停止对CPU内核的时钟供给总线控制器、存储控制器、中断控制器和电源管理模块继续正常运行。保留所有对外部设备的时钟信号供给。在空闲模式下,总功耗不包含CPU内核的功耗。任何中断请求都能够把CPU从空闲模式中唤醒。S3C44B0X的低速模式直接采用外部时钟作为S3C44B0X的主工作时钟,而不使用内部倍频器。在这种情况下,功耗的大小仅依赖于外部时钟的频率的大小。PLL部件所消耗的功耗不包含在内。Fout=Fin/(2xSLOW_VAL)当LOW_VAL0Fout=Fin当LOW_VAL=0S3C44B0X的时钟低速控制寄存器(CLKSLOW)位定义S3C44B0X的停止模式禁止锁相环(PLL)以冻结CPU内核和所有外设的时钟。功耗最低,功耗大小仅由S3C44B0X内部的漏电流大小决定,一般小于10uA。•可以通过外部中断把CPU从停止模式中唤醒。•刚退出停止模式时,只会进入THAW状态(解冻状态,过渡状态)。换句话说,用户不可能直接从停止模式返回到正常模式,如下一幅幻灯片所示。S3C44B0X的停止模式(续1)时钟控制逻辑输出Fin时钟,替代Fpllo时钟。经过16个Fin时钟之后,Fout停止,S3C44B0X完全进入停止模式。从停止模式发布断电命令到实际进入断电模式的时延可以用以下公式计算:断电时延=Fin(晶振时钟或者外部时钟)*16如果S3C44B0X处于低速模式,那么S3C44B0X可立即进入停止模式,因为低速模式的时钟频率比Fin低。S3C44B0X的停止模式(续2)S3C44B0X可以通过外部中断或者RTC告警(闹钟)中断退出停止模式。唤醒过程中,晶体振荡器和PLL可能开始运行。同时需要锁定时间来稳定Fout。锁定时间是自动插入的,由电源管理逻辑来设置。锁定期间不提供时钟。进入和退出停止模式的时序典型的locktime将大于208us液晶屏慢空闲模式(SL_IDLE模式)LCD控制器工作。CPU内核和其他外设的时钟都停止。SL_IDLE模式比空闲模式功耗低。进入SL_IDLE模式之前:•必须进入低速模式•PLL必须关闭。•进入低速模式关闭PLL之后,要向CLKCON寄存器写入0x46(LCDC使能,IDLE使能,SL_IDLE使能),然后进入SL_IDLE模式。退出液晶屏慢空闲模式ENIT[7:0],或者RTC告警中断必须激活。这种情况处理器将会自动进入低速模式,如前图所示。为回到正常模式,用户必须等locktime结束,然后清除SL_IDLE位,禁止低速模式。在PLL锁时内,只提供低速时钟信号。DRAM在SL_IDLE模式下,必须保持在自刷新模式。液晶屏慢空闲模式的工作时序下面是进入和退出SL_IDLE模式的时序图S3C44B0X的电源管理状态机动态电压调度动态电压调度(DynamicVoltageSchedule)是根据当前系统的状态动态调整当前处理器系统的工作电压和频率。关键问题在于如何在保证性能的前提下,系统以最低的电压/频率方式运行。功耗问题的一个实例图为Samsung2410的主频与电压的关系。系统有3种操作模式:1)Speedup:2.0V,266MHZ2)Normal:1.9V,200MHZ3)Slow:1.65V,50MHZ某程序在Normal模式下需要执行1ms,其平均功率为250mW。同时假设程序运行的时间和主频成反比,且仅考虑动态功耗。请问:1)Normal模式下该程序所需要的能量?2)Speedup和Slow模式下的功率?3)Speedup和Slow模式下程序的执行时间,以及需要的能量?解答1)Normal模式下该程序所需要的能量E=P*T=250mW*1ms=0.25mJ2)Speedup和Slow模式下的功率3)Speedup和Slow模式下程序的执行时间分别为0.75ms和4ms4)需要的能量分别为0.75ms*368mW=0.28mJ,4ms*47.1mW=0.19mJ222(),()250*1.47368,250*0.1947.1speedupspeedupslowslowspeedupnormalslownormalnormalnormalnormalnormalspeedupslowPACVfVfVfPPPPVfVfPmWPmW
本文标题:6SoC的功耗
链接地址:https://www.777doc.com/doc-1236257 .html