消费者对采用多媒体嵌入式处理器的产品的快速增长需要高性能和低功耗。但是使用战术节能设计方案很难实现高性能处理所需的增加的计算复杂度和更快的时钟速率。我们需要的是一种管理功耗的战略方法,以优化特定嵌入式应用的性能与功耗。这种方法可以通过Blackfin处理器系列固有的动态电源管理功能实现。
Blackfin DSP是定点双16位MAC /双40 -bit-ALU数字信号处理器。它们是功耗敏感多媒体应用的理想选择,因为它们支持多层次的电源管理方法,可根据系统需求调整性能。让我们来看看嵌入式系统中的一些关键功耗考虑因素,看看Blackfin系列如何使用动态电源管理来解决这些问题。
现代DSP通常采用CMOS FET开关设计,完全 on (并且负载非常轻)或完全 off (漏电流除外)在稳定状态下。静态功耗(处理器空闲时的静态功耗)通常远低于在器件主动切换和电压摆动时,在非常高的开关频率下FET负载电容的充电和放电所引起的动态功耗。
存储在器件等效负载电容中的电荷(Q)等于电容乘以其上存储的电压(这是DSP的核心电源电压,V core ),
Q = CV core
由于设备电流对此电容充电被定义为充电变化率关于时间,动态电流 I dyn 由
给出I dyn = dQ / dt = C(dV core / dt)
电容器电压的比率相对于时间的变化, dV core / dt ,衡量电容器充电和放电的速度。对于给定的时钟频率 F ,完成充电或放电的最快时间是一个时钟周期。因此,
dV core / dt = V core (F)
I dyn = C(dV core / dt)= CV core F
< p>最后,动态功耗与 V core × I dyn 或因此,很明显,动态功耗与工作电压的平方成正比,与工作频率成线性比例。因此,降低 F 会线性降低动态功耗,而降低 V 核心 会降低指数(见图1)。
考虑图1中结合的三种不同的DSP功能,所有这些功能都有非常不同的性能需求:
F0(x) | 1.5 V | 300 MHz |
F1(y) | 1.0 V | 100 MHz |
F2(z) | 1.3 V | 225 MHz |
例如,F0(x)可能是视频处理算法, F1(y)可以是监控模式(DSP正在收集数据并进行最少的处理),而F2(z)可能是从串行端口流出压缩视频的过程。
当DSP具有延长的监视活动时间时,仅更改功耗敏感应用中的频率(而非电压)非常有用。也就是说,如果DSP正在等待外部触发,则不需要以最大频率运行。
然而,在某些电池供电的应用中,仅仅改变频率可能不足以节省功率。例如,如果应用程序运行三段代码,则降低这些段中任何一段的操作频率意味着特定的代码段将花费更长的时间来执行。但是如果DSP运行时间更长,则当三个部分完成时将消耗相同的功率。例如,如果频率降低了两倍,则代码执行时间将缩短两倍,因此无法实现净功耗节省。
另一方面,可节省大量功耗通过降低电压和频率来实现。这种功耗节省可以通过以下等式建模:
P R / P N =(F CR / F CN )(V <子> DDR / V <子> DDN ) 2 (T <子> FR / T <子> FN )
其中
例如,图2显示了具有以下特征的场景:
因此
( P R / P N ) =(100/300)(1.0 / 1.5) 2 ×(3/1)= 0.44 →节省56%!
由于Blackfin处理器不仅具有可编程工作频率,而且还允许核心电压随频率变化而变化,因此在以较低频率和较低频率运行一段代码时将消耗更少的功率电压,即使执行时间较长。电压 - 频率转换在ADSP-BF532上自动处理,而对于ADSP-BF535,则遵循简单的序列。当然,重要的是要记住开发人员必须确保在任何系统时钟频率变化期间连接到外部系统的外围通道的完整性。
可视电话应用说明了如何利用改变工作频率和工作电压的能力来大大延长电池寿命。例如,如果仅在视频连接期间需要最大性能(最大核心时钟频率),则当使用电话进行仅语音事务时,核心频率可以降低到某个预设值。对于仅操作时间不敏感的增值特征(例如,个人管理器),可以进一步降低频率。在Blackfin处理器上,每个PLL频率转换都可以在不到40微秒的时间内完成。
时钟 - 生成 单元,其中包含锁相环(PLL)和相关的控制电路,是Blackfin处理器中动态电源管理的一个组成部分。 PLL具有高度可编程性,允许用户动态控制处理器的性能特性和功耗。
图3显示了ADSP-BF532时钟发生单元的简化框图。输入晶振或振荡器信号(10至33 MHz)施加于CLKIN引脚。然后,PLL将该信号乘以1×至31×的可编程因子。然后,独立的A和B分频器独立地产生核心时钟(CCLK)和系统/外设时钟(SCLK)频率。控制逻辑确保系统时钟频率不会超过核心时钟频率。
这种方法的最大优点是CCLK和SCLK可以“在运行中”进行更改,而且周期开销非常小。因此,设计人员无需再考虑改变时钟频率,以满足不同代码段的不同性能要求。从设计人员的角度来看,动态功耗的线性节省没有实现成本。
时钟发生单元的另一个特点是它可以被旁路以允许CLKIN信号直接通过CCLK 。此功能允许在非活动操作间隔期间使用极低频率CCLK,以进一步降低总功耗。
许多应用程序涉及一组在处理需求方面明显不同的操作模式。考虑图4的系统,其中电池供电的传感器包含充当中央处理器的DSP。其中一个DSP外围设备可用于采样周围环境的参数。在这种需要非常低处理能力的“模式A”中,DSP可能正在读取偶发的遥测数据包。当它已经读取足够的数据来调用计算算法时,DSP将进入“模式B”,这是一种处理密集型计算模式。可能存在“模式C”,以在没有预期的传感器信息且不需要处理时提供超低功耗。
Blackfin处理器具有四种不同的工作模式(对应于四种不同的电源配置文件),可提供可选的性能和功耗特性。表1总结了每种模式的操作特性。
表1.操作特性
< td style =“padding:10px 7px; border-top:2px solid #ffffff; border-right:2px solid #ffffff; color:#ffffff; font-weight:bold; text-align:center; vertical-align:middle;background-color:#acacac;“>省电操作模式 | 核心时钟 | System Clock | |
Full-on | 已启用 | 已启用 | Minimum |
Active(PLL绕过 | 启用 | Enabled | Medium |
睡眠 | 已禁用 | 已启用 | High |
Deep-Sleep | 已禁用 | 已禁用 | 最大 |
全开是Blackfin的最高性能模式。在此执行状态下,处理器和所有使能的外设都以全速运行.PLL使能,因此CCLK以CLKIN的倍数运行。
在活动模式下,PLL已启用但被旁路,因此CCLK直接来自CLKIN。由于CLKIN来自不超过33 MHz的外部振荡器输入,因此该模式可显着节省功耗。系统时钟(SCLK)频率也会降低,因为它永远不会超过CCLK。在此模式下绕过PLL,可以安全地改变PLL倍频比;但是,在DSP返回 Full-on 模式之前,更改才会生效。在活动模式下,不仅可以旁路PLL,还可以禁用它,以实现增量节能。
睡眠模式显着降低通过禁用CCLK来消耗功耗,CCLK使DSP内核空闲。但是,SCLK保持启用状态,因此数据传输仍然可以在L2存储器和外设中进行。要退出休眠模式,Blackfin提供DSP内核唤醒功能,独立于内核的事件控制器运行。
深度睡眠模式通过禁用PLL,CCLK和SCLK最大限度地节省功耗。在此模式下,处理器内核和除实时时钟(RTC)之外的所有外设均被禁用。在深度睡眠模式下,DEEP_SLEEP输出引脚置位,以允许外部电源模式控制。深度睡眠模式只能通过RTC 中断或硬件复位事件退出。 RTC中断使处理器转换到活动模式;硬件复位启动硬件复位序列。
Blackfin处理器支持多个电源域,包括专用的锁相环(PLL)电源域,实时时钟 (RTC)可由小型外部纽扣电池供电,并为各种外围设备提供独立的域。核心处理器也有自己的电源域。使用多个电源域可最大限度地提高灵活性,同时保持与各种商用设备(如SDRAM和SRAM存储器)的直接连接。如图5所示,独立的电源域可以改变Blackfin的核心电压,而不会中断与外部设备的连接。这是一个关键优势,因为 - 如上所述 - 处理器消耗的功率与其工作电压的平方成正比。
另一种经常被忽视的降低给定应用程序功耗的方法是为该应用程序选择高效的处理器架构。诸如专用指令和快速存储器结构之类的特征可以通过减少整体算法执行时间而显着降低功耗。此外,功耗敏感的应用程序使得必须有效地构建算法,利用本机架构特性,例如硬件循环缓冲区和指令/数据高速缓存。这很重要 - 复杂的算法通常会消耗更多的功率,因为它们使用更多的资源。如果优化算法,则执行的指令较少。越早完成所有步骤,核心电压和频率就越快降低。
在支持选择性禁用未使用功能模块的架构中,可以进一步优化功耗(例如,片上存储器,外围设备,钟表等。)
Blackfin处理器允许动态调度每个外设的时钟输入,从而提供额外的功率控制功能。这样可以更好地控制功耗。此外,内部时钟仅路由到设备的启用部分。例如,在ADSP-BF535上,256KB片上L2存储器由8个32KB存储区组成。这些银行只有在访问时才会计时,这一功能可以显着节省电力。
Blackfin VisualDSP ++工具套件提供了另一种优化功耗的方法,可以分析应用程序以确定算法每个部分的确切处理要求。这些工具允许系统设计人员实时量化任何给定代码段花费的时间。在电池供电的应用中使用这种技术,可以修改核心和系统频率以及核心电压,以“匹配”执行任务所需的最小值。
从ADSP-BF532开始,Blackfin处理器提供片上核心电压调节。第一款Blackfin处理器ADSP-BF535需要一个外部电源管理芯片,以便动态控制核心电压电平。 ADP3053是一款配套芯片,支持ADSP-BF535的电源管理。 DSP将使用多达3个引脚来控制ADP3053提供的功率电平。该器件允许100毫伏的核心电压增量,从0.9 V到1.5 V.此外,ADP3053还提供低噪声PLL电源。
使用DSP的设计人员不必牺牲功率来提高性能。有许多替代方案可以帮助他们平衡这些经常相互冲突的需求。通过战略性地查看电源管理,而不是在战术上,可以实现显着的节省。 Blackfin处理器系列为实现低功耗,高性能嵌入式应用提供了一个出色的平台。
全部0条评论
快来发表一下你的评论吧 !