资料介绍
随着电池供电系统应用的日趋广泛,许多系统特别是便携式产品都面临低功耗设计的问题,以DSP为核心的应用系统当然也不例外。本文就TMS320系列定点DSP器件为例,介绍一些行之有效的降低功耗的设计方法。
一、合理选择DSP器件
应根据系统要求来选择合适的DSP器件。在典型的DSP应用系统中,通常其核心是由一片或多片DSP构成数据处理模块,由于系统运算量大且速度要求高,因此DSP内部的部件开关状态转换十分频繁,这使得DSP器件的功耗在应用系统的功耗中占有相当的比例,所以设计人员在进行电路低功耗设计时要熟悉DSP及其相关产品的情况。DSP器件的功耗与该系统的电源电压有关,同一系列的产品,其供电电压也可能不同,如TMS320C2XX系列中供电电压就有5V和3.3V两种,在系统功耗是系统设计首要目标的情况下,应尽可能地选择低电压供电的DSP器件。选择3.3V低电压供电的DSP除了能减小DSP本身的功耗以降低系统的总功耗外,还可以使外部逻辑电路功耗降低,这对实现系统低功耗有着重要的作用。DSP生产厂家也比较注重系统功耗的问题,德州仪器公司(TI)为实现低功耗应用系统而设计了一批新型的DSP器件,以其中的TMS320C55X为例, C55X可以在0.9V和0.05mW/MIPS环境下运行,传输速率可达800MIPS,其功耗相当于TI上一代芯片C54X功耗的15%左右,非常适合应用于电池供电系统。此外,TI公司还充分考虑 DSP电源供电设计的问题,为支持DSP设计的TPS767D3XX将两个1-A线性稳压器和两个上电复位开关封装在一起,它不仅降低组件数量和电路板大小,使系统的成本降低,对于系统降低功耗也有重要的作用。
TPS767D3XX在全部1-A输出范围内提供极快的瞬态响应、低压差和几乎恒定的低静态电流(典型值为85μA),压差在1A时的典型值为350mV。可以说,选择何种器件基本上就决定了系统功耗的大小。
二、让DSP以适当的速度运行
TMS320系列的DSP一般采用CMOS工艺,CMOS电路的静态功耗极小,而其动态功耗的大小与该电路改变逻辑状态的频率和速度密切相关。TMS320系列应用系统的功耗与工作频率即系统时钟(CLKOUT1)成正比。在不需要DSP的全部运算能力时,可以适当地降低TMS320的系统时钟频率令DSP适速运行以降低系统功耗。当时钟频率增加时,电流也相应地增加,执行同样程序代码的时间会相应缩短。例如,以1.2mA/MHz运行一段500个时钟周期代码,当CLKOUT1为10MHz时,DSP执行该段代码用时50μs,所需电流为12mA;当CLKOUT1增加到20MHz时,所需电流增加到24mA,执行时间缩短为25μs。TMS320系列执行一段用户程序所耗能量与器件执行快慢无关,因为该能量仅仅取决于DSP器件内部逻辑状态转换的数目。如此看来,似乎DSP的功耗并未降低,那为什么不让DSP全速运行呢?原来,DSP以全速运行完代码后使用IDLE指令,进入降功耗模式后,仍然是要消耗能量的。尽管DSP全速运行和适速运行该段代码所耗电能是相同的,但是在前一种情况下,DSP在空闲状态还要消耗能量,而后一种情况,将节省这部分的能量。因此,在实际应用系统中并不需要DSP的最高MIPS运算能力时,适当降低系统的时钟频率能有效地降低系统功耗。
三、在软件设计中降低功耗
CPU内部执行不同的指令时所消耗的电流是不同的,在软件编程时如果能充分考虑到这一因素,在允许的情况下尽可能多使用低功耗指令,可以降低系统功耗。TMS320C55X有几种降功耗模式,这些降功耗模式中最常用的是IDLE和IDLE2指令。IDLE指令将CPU内部操作挂起,但是仍保留内部各部件逻辑的时钟,允许串口等片内外设继续工作。在使用20MHz的系统时钟时,使用IDLE指令所需电流的典型值为10mA。在相同的系统时钟下,执行IDLE2指令只需要3mA的电流;若关闭内部部件的输入时钟时执行IDLE2指令,这时电流值不超过5μA,CPU所消耗的电能将大大降低。
对诸如NOP(空操作)这类简单的指令而言,使用RTP(重复指令)将节省约12mA的电流;但是对MACD(相乘、累加及数据块移动指令)这类比较复杂而且所需电流较大的指令来说,使用重复指令反而会增加大约14mA的电流,达到90mA,这个数值是在所有数据并行处理的时候得到的,这里的并行处理是指MACD的操作数存放在不同的数据块中,对它们进行操作的时候,两块数据将被同时选中。因此为了降低系统功耗,在软件设计时应尽可能地将所要操作的数据存储在同一个数据块中,比如TMS320C209可将MACD的操作数一同存储在其片内4K的SARAM中。
四、存储器类型对功耗的影响
前文已经提到,在DSP器件按某一算法对数据进行处理时,DSP片内的CPU将消耗大部分的能量。但是,数据处理所在的存储环境也就是存储器的类型对系统功耗有着较大的影响。以TMS320C2XX为例,片内的存储器有单访问RAM(SARAM),双访问RAM(DARAM)和ROM三种,TMS320C206还有闪速存储器。DSP应用系统可用片内的SARAM、DARAM、ROM或片外扩展的ROM来存储用户指令代码,由于DARAM仅有256字节的容量,因此在一般情况下它被设置为数据RAM。在相同的条件下执行一段测试代码,程序在片内的ROM运行要比在SARAM中运行节省10%的能量。这是因为SARAM不能存储用户代码,断电后程序丢失,它只能将程序从ROM中加载后运行。在将代码用BLPD(从程序存储器到数据存储器的块移动)、TBLR(表读)和RPT(重复下一条指令)等指令从程序区传送到数据区的过程中要消耗部分能量,而在片内的ROM中运行代码则可节省这部分能量。执行存放在片内存储器的用户代码所耗能量要比执行存放在片外的存储器低,其原因是程序在片内ROM中运行可省去驱动外部程序存储器接口电路所需要的电流。
五、正确处理外围电路
外围电路包括输入和输出两部分。从输出部分来看,外部电路的驱动要消耗一部分能量,除在DSP系统中使用的逻辑电路采用CMOS器件外,应尽可能地选用低功耗的外围器件,例如系统的显示部分应选用LCD(液晶显示器)等。当外部接口中逻辑电路所用的门电路较多时,应使用单片的PAL或ASIC来完成。从输入部分来看,DSP芯片中未使用的输入引脚应接地或接电源电压,若将这些引脚悬空,在引脚上很容易积累电荷,产生较大的感应电动势,使输入引脚电位处于0与1间的过渡区域。这时反相器上、下两个场效应管都会导通,使系统功耗大大增加。
结束语
除前面所提影响DSP应用系统功耗的几个因素以外,还有很多其他因素,比如DSP应用系统所处环境的温度等。具体到任何一个实际的应用系统,在达到设计指标的前提下应细致地对硬件、软件进行多方面的优化,从而有效地降低系统功耗。
一、合理选择DSP器件
应根据系统要求来选择合适的DSP器件。在典型的DSP应用系统中,通常其核心是由一片或多片DSP构成数据处理模块,由于系统运算量大且速度要求高,因此DSP内部的部件开关状态转换十分频繁,这使得DSP器件的功耗在应用系统的功耗中占有相当的比例,所以设计人员在进行电路低功耗设计时要熟悉DSP及其相关产品的情况。DSP器件的功耗与该系统的电源电压有关,同一系列的产品,其供电电压也可能不同,如TMS320C2XX系列中供电电压就有5V和3.3V两种,在系统功耗是系统设计首要目标的情况下,应尽可能地选择低电压供电的DSP器件。选择3.3V低电压供电的DSP除了能减小DSP本身的功耗以降低系统的总功耗外,还可以使外部逻辑电路功耗降低,这对实现系统低功耗有着重要的作用。DSP生产厂家也比较注重系统功耗的问题,德州仪器公司(TI)为实现低功耗应用系统而设计了一批新型的DSP器件,以其中的TMS320C55X为例, C55X可以在0.9V和0.05mW/MIPS环境下运行,传输速率可达800MIPS,其功耗相当于TI上一代芯片C54X功耗的15%左右,非常适合应用于电池供电系统。此外,TI公司还充分考虑 DSP电源供电设计的问题,为支持DSP设计的TPS767D3XX将两个1-A线性稳压器和两个上电复位开关封装在一起,它不仅降低组件数量和电路板大小,使系统的成本降低,对于系统降低功耗也有重要的作用。
TPS767D3XX在全部1-A输出范围内提供极快的瞬态响应、低压差和几乎恒定的低静态电流(典型值为85μA),压差在1A时的典型值为350mV。可以说,选择何种器件基本上就决定了系统功耗的大小。
二、让DSP以适当的速度运行
TMS320系列的DSP一般采用CMOS工艺,CMOS电路的静态功耗极小,而其动态功耗的大小与该电路改变逻辑状态的频率和速度密切相关。TMS320系列应用系统的功耗与工作频率即系统时钟(CLKOUT1)成正比。在不需要DSP的全部运算能力时,可以适当地降低TMS320的系统时钟频率令DSP适速运行以降低系统功耗。当时钟频率增加时,电流也相应地增加,执行同样程序代码的时间会相应缩短。例如,以1.2mA/MHz运行一段500个时钟周期代码,当CLKOUT1为10MHz时,DSP执行该段代码用时50μs,所需电流为12mA;当CLKOUT1增加到20MHz时,所需电流增加到24mA,执行时间缩短为25μs。TMS320系列执行一段用户程序所耗能量与器件执行快慢无关,因为该能量仅仅取决于DSP器件内部逻辑状态转换的数目。如此看来,似乎DSP的功耗并未降低,那为什么不让DSP全速运行呢?原来,DSP以全速运行完代码后使用IDLE指令,进入降功耗模式后,仍然是要消耗能量的。尽管DSP全速运行和适速运行该段代码所耗电能是相同的,但是在前一种情况下,DSP在空闲状态还要消耗能量,而后一种情况,将节省这部分的能量。因此,在实际应用系统中并不需要DSP的最高MIPS运算能力时,适当降低系统的时钟频率能有效地降低系统功耗。
三、在软件设计中降低功耗
CPU内部执行不同的指令时所消耗的电流是不同的,在软件编程时如果能充分考虑到这一因素,在允许的情况下尽可能多使用低功耗指令,可以降低系统功耗。TMS320C55X有几种降功耗模式,这些降功耗模式中最常用的是IDLE和IDLE2指令。IDLE指令将CPU内部操作挂起,但是仍保留内部各部件逻辑的时钟,允许串口等片内外设继续工作。在使用20MHz的系统时钟时,使用IDLE指令所需电流的典型值为10mA。在相同的系统时钟下,执行IDLE2指令只需要3mA的电流;若关闭内部部件的输入时钟时执行IDLE2指令,这时电流值不超过5μA,CPU所消耗的电能将大大降低。
对诸如NOP(空操作)这类简单的指令而言,使用RTP(重复指令)将节省约12mA的电流;但是对MACD(相乘、累加及数据块移动指令)这类比较复杂而且所需电流较大的指令来说,使用重复指令反而会增加大约14mA的电流,达到90mA,这个数值是在所有数据并行处理的时候得到的,这里的并行处理是指MACD的操作数存放在不同的数据块中,对它们进行操作的时候,两块数据将被同时选中。因此为了降低系统功耗,在软件设计时应尽可能地将所要操作的数据存储在同一个数据块中,比如TMS320C209可将MACD的操作数一同存储在其片内4K的SARAM中。
四、存储器类型对功耗的影响
前文已经提到,在DSP器件按某一算法对数据进行处理时,DSP片内的CPU将消耗大部分的能量。但是,数据处理所在的存储环境也就是存储器的类型对系统功耗有着较大的影响。以TMS320C2XX为例,片内的存储器有单访问RAM(SARAM),双访问RAM(DARAM)和ROM三种,TMS320C206还有闪速存储器。DSP应用系统可用片内的SARAM、DARAM、ROM或片外扩展的ROM来存储用户指令代码,由于DARAM仅有256字节的容量,因此在一般情况下它被设置为数据RAM。在相同的条件下执行一段测试代码,程序在片内的ROM运行要比在SARAM中运行节省10%的能量。这是因为SARAM不能存储用户代码,断电后程序丢失,它只能将程序从ROM中加载后运行。在将代码用BLPD(从程序存储器到数据存储器的块移动)、TBLR(表读)和RPT(重复下一条指令)等指令从程序区传送到数据区的过程中要消耗部分能量,而在片内的ROM中运行代码则可节省这部分能量。执行存放在片内存储器的用户代码所耗能量要比执行存放在片外的存储器低,其原因是程序在片内ROM中运行可省去驱动外部程序存储器接口电路所需要的电流。
五、正确处理外围电路
外围电路包括输入和输出两部分。从输出部分来看,外部电路的驱动要消耗一部分能量,除在DSP系统中使用的逻辑电路采用CMOS器件外,应尽可能地选用低功耗的外围器件,例如系统的显示部分应选用LCD(液晶显示器)等。当外部接口中逻辑电路所用的门电路较多时,应使用单片的PAL或ASIC来完成。从输入部分来看,DSP芯片中未使用的输入引脚应接地或接电源电压,若将这些引脚悬空,在引脚上很容易积累电荷,产生较大的感应电动势,使输入引脚电位处于0与1间的过渡区域。这时反相器上、下两个场效应管都会导通,使系统功耗大大增加。
结束语
除前面所提影响DSP应用系统功耗的几个因素以外,还有很多其他因素,比如DSP应用系统所处环境的温度等。具体到任何一个实际的应用系统,在达到设计指标的前提下应细致地对硬件、软件进行多方面的优化,从而有效地降低系统功耗。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 浅析在低功耗应用中克服低IQ挑战 2次下载
- 嵌入式单片机应用系统的低功耗技术 12次下载
- 实时多任务机制在低功耗单片机系统中的最小实现 27次下载
- 低功耗LCD驱动芯片VKL060原理图下载 26次下载
- 探索低功耗IoT系统资料下载
- DSP不同层次的低功耗设计研究思路综述 19次下载
- 集成电路中低功耗乘法器的实现与设计 36次下载
- 低功耗嵌入式系统在智能计量终端中的应用案例 5次下载
- 水雷引信控制系统的低功耗设计详析 7次下载
- DSP应用系统中的低功耗设计解析 0次下载
- DSP应用系统中的低功耗设计方案解析 0次下载
- 基于面向SDR应用的多核DSP低功耗设计 3次下载
- 面向SDR应用的多核DSP低功耗设计 3次下载
- DSP访问片外SDRAM的低功耗设计
- 嵌入式系统面向低功耗的协同设计
- 低功耗蓝牙技术的特点 低功耗蓝牙如何实现低功耗? 1474次阅读
- FSMs低功耗设计 558次阅读
- 低功耗系统在降低功耗的同时保持精度所涉及的时序因素和解决方案 559次阅读
- 在RTL设计中如何做到低功耗设计 1918次阅读
- FPGA功耗的详细介绍让你实现FPGA的低功耗设计 6396次阅读
- 如何使用Freeze技术实现低功耗设计 1983次阅读
- FPGA低功耗的设计技巧详细介绍 3066次阅读
- 浅谈十个关于低功耗同步通道的常见问题 995次阅读
- 低功耗MCU系统的关键是什么?软硬兼施! 1250次阅读
- 低功耗32位MCU在无线联网报警系统中的应用 1783次阅读
- 便携式、低功耗体电信号采集存储系统研究 1407次阅读
- 设计低功耗MCU系统,软硬兼施是关键 1132次阅读
- 超低功耗的锂电池管理系统设计 1479次阅读
- 基于DSP和CPLD的低功耗多路数据处理系统设计 1087次阅读
- 基于DSP和Cygnal单片机的移动数据处理传输系统 1249次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1489次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 91次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 9次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 3次下载 | 免费
- 8基于单片机的红外风扇遥控
- 0.23 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30319次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多