TI DSP应用系统低功耗设计方案
4. 电源管理运行时 API 的汇总
战略实施
由于已经建立了提高电源效率的基础,下一步工作就应该进行战略定义,以便开发低功耗应用,并充分利用 OS 中的部分技术及支持。
所建议的策略包括以下 11 个步骤。该战略具有可重复性:
当无法满足电源管理目标,也就是说需要采用额外的运行时方案才能满足应用电源预算时,就可重复访问这些步骤。- 从初始就考虑到电源效率;
- 选择低功耗组件;
- 对电源进行建模和估测,并进行相应的硬件测试;
- 针对电源管理和测量设计具备钩子机制的 HW;
- 构建可大幅提高工作效率的 SW;
- 启用简单的电源管理“开/关机切换”特性;
- 在无需电源管理的情况下也可率先进入工作;
- 重复开启“开机”特性,并测量功耗开销 (payoff);
- 开启代码生成优化功能、重置代码及数据,并调整 “热点” 监测;
- 进行校准,以实现频率及电压的最小化;
- 激活所有的电源管理特性,并进行相应部署。
表 5 对上述战略进行了非常详尽的汇总说明。我们将在下文讨论如何高效应用上述策略。
表 5. 低功耗应用开发的详细策略
音频应用范例
选用现成的 DSP 评估板 5509A EVM PLUS 板作为测试平台,该评估板不仅支持 V/F 缩放 ,还包含针对 DSP 内核与总体系统电源测量的钩子机制。
需要注意的是,EVM 作为易于使用的评估平台,并未在出厂时提供最佳功耗配置。另外,在评估效果时应谨记由于其易于配置,所以 EVM 上测量的总体系统电源数量就应多于通常情况下部署的平台。EVM 还能以 DSP 内核级与系统级两种方法测量各种技术的有效性。
步骤 1 无需解释。步骤 2 及 4 基本上都由这种特殊 EVM 完成,这充分表明了该平台的广泛适用性。步骤 3(试验)在 EVM 上进行,目的是测量各种技术的效果(如片上与片外存取的内核及系统电源、DMA 与 CPU 传输的比较、空闲外设及时钟域的作用等等)。
架构
应用范例如图 2 所示。如欲获得该应用的详细信息(包括独立的应用手册及源代码),请查阅参考资料 15。
图 2. 音频应用
音频信号经过采样通过多信道缓冲串行端口 (McBSPs) 回放到 DSP。DSP DMA 引擎向McBSP 输入或读出采样信号。立体声音频数据通过 RxSplit 任务与 Processing Task(正在处理的任务)分离为两个数据流。DIP 开关用于选择 G726 编码/解码处理或简单音量控制。两个通道随后在 TxJoin 任务中组合,然后输出至扬声器。
Control(控制)任务被周期性触发,检查 DIP 开关以确定是否需要进行模式切换(如改变处理模式或进入睡眠状态)。根据应用模式的不同,Control(控制)任务可能会检查 CPU 负载,如果合适还会更改 V/F 设定点。
与电源相关的关键设计决定包括:
- 使用 OS 线程及阻塞原语 (blocking primitive) 空闲时钟;
- 使用 DMA 提高后台数据 (background data) 传输效率。在 DMA 块中完成传输(而不是每次数据采样都从串行端口导入或读出)后即中断 CPU;
- 使用共享的外部时钟控制串行端口(无需对串行端口进行重新编程,即可进行 DSP CPU 的频率缩放);
- 注册回叫以便为编解码器驱动程序设定钩子机制,当应用进入深度睡眠模式时关断编解码器;
- 在音频质量下降前使用校准功能恢复设定点频率(及电压);
- 使用电源管理器的时钟适应功能,使周期函数在频率缩放后继续以特定速率工作;
- 使用 DSP 再引导间的电源管理器“深度睡眠”接口。
结论
总体效果总结如表 6 所示。前后模式的主要差异用黑体表示。
设置
DSP 内核 (mW)
DSP 节省 (%)
电路板 (mW)
电路板节省 (%)
1. CPU 工作频率为 192MHz、电压为1.6v
均为片外代码
降低引导功耗功能:关闭
空闲环路:域处于活动状态207.8
--
2219
--
2. CPU 工作频率为192MHz、电压为 1.6v
均为片上代码
降低引导功耗:关闭
空闲环路:域处于活动状态203.3
2.17
1789
3. CPU 工作频率为192MHz、电压为1.6v
均为片上代码
降低引导功耗:开启
空闲环路:域处于空闲状态155.2
1663
25.1
4. CPU 工作频率为144MHz、电压为 1.4v
均为片上代码
降低引导功耗:开启
空闲环路:域处于空闲状态99.5
1605
27.7
5. DSP 处于深度睡眠(完全空闲)状态
休眠前电压值最小时频率达到最大
编解码器断电0.361
1352
表 6. 节电效果
- 模式 #1 为基准测量,全部使用片外代码。
- 模式 #2 消除所有片上代码,DSP 级节电效果较小,但板级节电达到 19%。
- 模式 #3 包括一些引导时间节电配置(如关闭 DSP 的 CLKOUT 信号、未用计时器的自动空闲配置以及关闭板上 LED)及在 BIOS 空闲环路中的闲置,从而可实现25% 的 DSP 内核级节电。
- 模式 #4 为设定点在 1.4v 下降至 144MHz 时的功耗,在该模式下可进
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)