如何优化嵌入式DSP应用的功耗

嵌入式系统 时间:2011-06-06来源:网络

电源管理器位于内核之外,其不是系统中的一项任务,而是一系列可在应用控制线程以及器件驱动器环境中执行任务的 API。

这意味着无需修改内核。但在 CPU 时钟与操作系统定时器时钟相耦合的平台上,DSP/BIOS 时钟模块 (CLK) 需要补充例行程序,这对频率缩放非常重要,因为这些例行程序能够作为 PWRM 的客户端程序适应操作系统时钟。

电源管理器写入并读取时钟空闲配置寄存器,并通过控制 CPU 时钟速率及稳压电路的平台特定型功率扩展库 (PSL) [参考资料. 5]直接与 DSP 硬件相连接。PSL 将电源管理器及应用的其他部分与频率和电压控制硬件的低级实施细节相隔离。

电源管理器拥有若干个与应用相关的任务。由设计工程师对其进行静态配置,并在运行时进行动态调用:

电源管理器 API

表 4 对运行时应用编程接口进行了汇总。

PWRM_changeSetpoint

对最新的 V/F 设定点进行初始化更改

PWRM_configure

为 PWRM 设置新的配置参数

PWRM_getCapabilities

在该平台上获取有关 PWRM 性能的信息

PWRM_getCurrentSetpoint

获取当前的有效设定点

PWRM_getNumSetpoints

获取该平台上可用设定点的数量

PWRM_getSetpointInfo

获取设定点的相应频率及电压值

PWRM_getTransitionLatency

获取两个设定点之间比例缩放的时延

PWRM_idleClocks

使特定时钟域立即进入空闲模式

PWRM_registerNotify

注册可在发生特定功耗事件时进行调用的函数

PWRM_sleepDSP

将 DSP 转换至新的睡眠状态

PWRM_releaseDependency

解除此前声明的资源依赖性

PWRM_setDependency

声明对电源的可管理资源具有依赖性

PWRM_unregisterNotify

未注册来自 PWRM 的事件通知

表 4. 电源管理运行时 API 的汇总

战略实施

由于已经建立了提高电源效率的基础,下一步工作就应该进行战略定义,以便开发低功耗应用,并充分利用 OS 中的部分技术及支持。

所建议的策略包括以下 11 个步骤。该战略具有可重复性:
当无法满足电源管理目标,也就是说需要采用额外的运行时方案才能满足应用电源预算时,就可重复访问这些步骤。

  1. 从初始就考虑到电源效率;
  2. 选择低功耗组件;
  3. 对电源进行建模和估测,并进行相应的硬件测试;
  4. 针对电源管理和测量设计具备钩子机制的 HW;
  5. 构建可大幅提高工作效率的 SW;
  6. 启用简单的电源管理“开/关机切换”特性;
  7. 在无需电源管理的情况下也可率先进入工作;
  8. 重复开启“开机”特性,并测量功耗开销 (payoff);
  9. 开启代码生成优化功能、重置代码及数据,并调整 “热点” 监测;
  10. 进行校准,以实现频率及电压的最小化;
  11. 激活所有的电源管理特性,并进行相应部署。

表 5 对上述战略进行了非常详尽的汇总说明。我们将在下文讨论如何高效应用上述策略。

表 5. 低功耗应用开发的详细策略

音频应用范例

选用现成的 DSP 评估板 5509A EVM PLUS 板作为测试平台,该评估板不仅支持 V/F 缩放 ,还包含针对 DSP 内核与总体系统电源测量的钩子机制。

需要注意的是,EVM 作为易于使用的评估平台,并未在出厂时提供最佳功耗配置。另外,在评估效果时应谨记由于其易于配置,所以 EVM 上测量的总体系统电源数量就应多于通常情况下部署的平台。EVM 还能以 DSP 内核级与系统级两种方法测量各种技术的有效性。

步骤 1 无需解释。步骤 2 及 4 基本上都由这种特殊 EVM 完成,这充分表明了该平台的广泛适用性。步骤 3(试验)在 EVM 上进行,目的是测量各种技术的效果(如片上与片外存取的内核及系统电源、DMA 与 CPU 传输的比较、空闲外设及时钟域的作用等等)。

1 2 3

关键词: 应用 功耗 DSP 嵌入式 优化 如何

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版