无线系统及有线系统设计师均必须重视电源效率问题,尽管双方的出发点不尽相同:对于移动设备而言,更长的电池使用寿命、更长的通话时间或更长的工作时间都是明显的优势,降低电源要求意味着使用体积更小的电池或选择不同的电池技术,这在一定程度上也缓解了电池发热问题;对于有线系统而言,设计师可通过减小电源体积、减少冷却需求以及降低风扇噪声来提高电池效率。人们很少会提到这样一个事实:提高电源效率还可节省空间,而节省的空间可以用来增加能够提高系统性能的组件,尤其是设计小组希望添加一个以上处理器时,这一点非常重要。
设计嵌入式DSP处理器或系统功耗要求严格的系统时,采用DSP专用技术、操作系统及其支持软件可以降低功耗。超越传统技术的DSP或双处理器设计在节约能量方面表现出色。
功耗基础知识
互补金属氧化物半导体(CMOS)电路的总功耗是动态功耗与静态功耗之和:
当门发生逻辑状态转换并产生内部结点充电所需的开关电流以及P通道及N通道同时暂态开启引起直通电流时,就会出现动态功耗。通过以下公式可以估算其近似值:
其中,Cpd为动态电容,F为开关频率,Vcc为电源电压,而Nsw为转换的比特数。另外,电压(Vcc)决定着稳定工作状态下的最大开关频率(F)。上述关系中包含两个重要概念:动态功耗与开关频率呈线性关系,与电源电压呈二次关系;最大安全开关频率取决于电源电压。为便于本文讨论,将特定的频率及电压对称为“设定点”。
很显然,降低CPU时钟速率将相应成比例地降低动态功耗,由于动态功耗与电源电压成二次关系,在不影响系统性能的前提下,通过降低电压就可能大大降低功耗。不过,对于特定任务集,降低CPU时钟速率也会成比例地延长执行该任务集的时间,因此必须仔细分析应用以确保满足其实时需求。
静态功耗主要是由于晶体管漏电流造成的。一般说来,CMOS电路的静态功耗很低,与其动态功耗相比可以忽略不计。嵌入式应用在不工作期间通常会“闲置”CPU时钟以减少动态功耗,从而显著降低总体功耗。而在未来的设计中必须特别关注静态功耗问题,因为更高性能的新型晶体管的漏电流将显著提高。
嵌入式系统常用技术
常用电源管理技术可以分为两类:通过早期硬件设计决策时实现,或在系统运行时实现。设计早期的决策对满足性能及功耗至关重要,下面列出了设计中需要考虑的十大要素,其中包括硬件选择、设计策略及架构选择。大多数要素都是嵌入式系统的基本要求,其他要素则需要单独考虑。尽管下列决策是在设计早期制定的,但有些仍需在整个设计周期中进行再验证。如下所列:
1. 选择低功耗组件;
2. 分割电压与时钟域;
3. 支持电压及频率调节功能;
4. 启用保持电压门控功能;
5. 通过软件利用中断减少轮询;
6. 采用分级存储器模型;
7. 降低输出负载;
8. 系统启动时关闭非关键资源供电;
9. 尽量减少活动PLL数量;
10. 使用时钟分频器快速变换频率。
确定系统架构以后,设计团队需要将注意力转向系统运行时环境。以下列出的14项,在设计过程中要始终关注其中大部分内容:
1. 不需要时则关闭门控时钟;
2. 引导过程中主动关闭不必要的功耗;
3. 仅在需要时用向子系统供电;
4. 激活外设低功耗模式;
5. 充分利用外设活动状态检测器;
6. 使用自动刷新模式;
7. 对应用进行基准测试来确定必需的最小频率及电压;
8. 根据总体活动情况调整CPU频率及电压;
9. 动态调节CPU频率及电压以匹配预计的工作负载;
10. 优化代码的执行速度;
11. 使用低功耗代码序列及数据模式;
12. 使用代码覆盖技术减少对高速内存的需求;
13. 更换电源时进入简化功能模式;
14. 平衡精确度与功耗的关系。
有经验的设计团队必须至少在概念上熟悉上述嵌入式系统应用设计要点(其中部分与DSP电路有关)。任何降低功耗的设计都有可能对性能产生负面影响或导致系统不稳定。