|
利用CoolRunner CPLD降低处理器功耗
|
Reduce Processor Power Consumption Using CoolRunner
CPLD
|
■Xilinx公司应用工程师 Jennifer Jenkins
Xilinx亚太区产品营销经理 莫柱昌
|
在当今便携式电子产品设计中最关键的因素之一就是降低系统功率消耗。目前设计人员广泛采用一些设计技巧来大幅降低总体系统功耗,如: 降低工作电压;
优化系统和CPU时钟频率; 避免上电过程中的大电流脉冲; 有效地管理系统电池运转; 有效地管理系统设备的工作模式; 尽可能降低总线活动;
降低总线电容; 降低转换噪声。其中最重要的功耗降低技巧之一就是管理系统器件的工作模式。目前,许多器件都具有节约功耗的工作模式。即器件不活动时,可关闭电源或转换到非工作状态。
降低功耗不仅涉及器件工作模式管理,还需要设计的系统能够充分发挥器件工作模式所提供的能力。将微处理器操作分流能够使其有更多时间处于低功率状态。降低系统功耗的方法之一就是利用低功率器件,如CoolRunner
CPLD来管理这些从处理器分流出来的操作。
微处理器工作模式
在一些便携式应用中,CPU消耗的功率可占到系统总功率的30%。在正常工作状态下,微处理器的功耗范围可从720 W 到 1W。微处理器的工作模式包括正常、运行、睡眠、挂起、闲置、停止和空闲状态等。
图1显示了Intel StrongARM SA-1110处于3.3v额定外部供电电压和1.8V内部额定供电电压并工作于206MHz时钟时微处理器工作模式与功耗之间的关系。
具有节电模式的微处理器都具有电源管理控制器。操作系统或软件应用可暂时挂起CPU。微处理器执行一系列指令,然后进入节电状态。一旦进入节电模式,微处理器的几个部件仍可响应系统中断。
处理器要从节电模式返回正常工作模式,需要一个事件唤醒。下列事件可以唤醒处理器:硬件复位; 系统中断; 通用I/O中断; 实时时钟中断;
操作系统定时器中断; 外设中断; 外部唤醒信号等。
一旦确认出现外部唤醒事件,微处理器将开始一系列步骤以从节电状态中苏醒。
CPLD 设计
当微处理器在一段时间内空闲时可利用节电工作模式。当处理器接收到激活中断时,处理器将响应该中断请示。在响应中断的过程中,微处理器工作于运行或正常模式。减少发送给处理器的中断的数量将可增加处理器处于节电状态的时间。理想状态下,如果微处理器没有任何指令需要执行,那么它将永远处于节电模式。加入外部器件来响应和处理系统中断可减少处理器的工作。通过将微处理器尽可能长地置于节电或关闭模式,可极大地节约系统功耗。
利用一块低功耗可编程逻辑器件做为微处理器的补充将可节约系统功耗并延长系统电池寿命。CoolRunner CPLD同时具有高性能和低功耗特点。CoolRunner
CPLD的闲置电流小于100uA。图2示意出了如何利用可编程CPLD实现系统中断进入接口。利用外部数据采集器件分流需要微处理器的中断请求可降低整体系统功率。
系统中断
根据处理器所在的最终应用不同,能够向处理器发出中断的外部器件也不同。这些中断包括数据采集和数据处理请求。通过区别这两种请求,在系统设计中可将数据处理中断交给微处理器处理,而将数据采集中断交由外部CPLD处理。利用CPLD处理数据采集中断可减少需要微处理器处理的中断请求,从而节约功耗。
需要CPLD处理的数据采集中断的类型依赖于最终应用。需要响应的外部设备或输入数据请求可归入数据采集中断请求。数据采集中断包括:
● 存储器访问中断
● 通信接口,如 I2C、 UART、 SPI、或ISA
● 通用I/O 中断
● LCD 接口中断
图3给出了CoolRunner CPLD设计的主要流程。
功能
CoolRunner CPLD设计包括一个处理中断请求的中断接口和控制器,以及处理中断所需要的功能以及一个处理器接口。我们将CoolRunner
CPLD的主要功能分成以下几类进行讨论:
● 系统设备中断接口
● 中断控制器
● 用于中断处理的外设接口
● 微处理器中断接口
● 微处理器工作模式接口
系统设备中断接口
CPLD的中断接口接收原来由微处理器确认的所有外部设备中断请求。中断接口决定CPLD是否可处理中断请求。CPLD处理请求数据接收和处理的数据采集中断。如果CPLD不能处理某个中断,则将该中断递交给微处理器。
CPLD中断接口提供了屏蔽所有中断源的功能和确定中断源的能力。可编程逻辑提供了改变触发模式的灵活性,可支持高或低电压触发和上升或下降沿触发。CPLD中断控制寄存器与微处理器的相应寄存器类似。
中断控制器
CPLD中断控制器模仿系统微处理器中的功能。中断控制器解释接收到的数据采集中断来自那个设备,并启动中断处理。CPLD处理数据采集中断请求,而原来这些中断也由微处理器处理。
外设接口
CPLD提供了处理中断请求所需要的系统设备接口。需要的设备接口与最终应用相关。当外部设备中断CPLD来读取或写入数据到存储器器件时,CPLD设计中就需要特定的存储器接口。所需要的接口类型可能包括存储器接口,直到LCD接口和通信接口,如PCI、UART、SPI和ISA。
微处理器中断接口
与任何需要请求处理器服务的外部设备一样,CPLD也具有中断微处理器的能力。一旦数据采集操作结束,CPLD必须能够中断微处理器。设计人员可以选择设定CPLD中断请求的优先级别,同时还可决定CPLD中断是否应该将处理器从节电状态中唤醒。
微处理器工作模式接口
根据系统微处理器,CPLD必须能够识别处理器的工作状态。一些微处理器提供可指示当前工作模式的外部引脚。根据CPLD和微处理器设计情况,CPLD可识别处理器的当前工作状态,并决定是否插入一个处理器中断以执行等待处理的中断。例如,如果CPLD接收到一个低优先级的中断,处理器不需要从低功率模式下唤醒,CPLD可以创建一个标志待处理中断的寄存器。然后在处理器唤醒时,微处理器可读取待处理中断寄存器。
优点
图4和图5示意出,对典型的电池工作设备,采用CoolRunner CPLD的设计(图5)与仅采用处理器的设计(图4)相比可实现的功耗节约。与微处理器长时间处于节电模式所带来的功率节约相比,CoolRunner
CPLD的功率要求是很小的。CoolRunner CPLD的闲置电流仅100uA量级。工作时的功耗依赖于应用和时钟频率。对于全部用做16位计数器,工作在50MHz时钟的64宏单元CPLD,其ICC约10mA。请注意实际实现的功率节约将依赖于系统设计,包括微处理器类型和CPLD设计。
除了采用CoolRunner CPLD能够节约功耗以外,中断的响应时间也缩短了。外设设备不再需要等待微处理器从节电状态中唤醒。此外还可实现以下设计节约:
● 减少处理器中断数量
● 减少一段时间中处理器唤醒的次数
● 降低时钟频率而不会影响处理能力
● 处理器进行数据处理操作时可运行于更低的频率
● CoolRunner CPLD运行于较高的频率进行数据采集操作。
|
|