作者:中南大学 肖 旭 樊晓平 来源:【单片机及嵌入式系统应用】
前言
80C51单片机由于功能全面、开发工具较为完善、衍生产品丰富、大量的设计资源可以继承和共享,得到广泛的应用。我们设计的一款手持线PDA产品,也选择80C51单片机作为主、辅CPU,还具备点阵液晶显示屏、导电橡胶键盘、双IC卡接口、EEPROM存储器、实时时钟和串行通信口。由于使用80C51单片机开发,高级语言编程,大大降低了设计的技术风险,产品在较短的时间内就推向了市场。
但是,同一些低速的微控制器(如4位单片机)和高速的RISC处理器相比,80C51单片机在功耗上没有优势。为了在PDA类产品中发挥80C51单片机的上述特长,我们通过采取软、硬件配合的一系列措施,加强低电压、低功耗设计,取得了良好的效果。该机使用一颗3V钮扣式锂电池,开机时工作电池小于4mA,瞬间最大工作电流小于20mA,瞬间最大工作电流小于20mA,关机电流小于2μA。一颗电池可以使用较长的时间,达到满意的设计指标。
一、低电压低功耗设计理论
在一个器件中,功耗通常用电流消耗来表示。下式表明消耗的电池与器件特性之间的关系:
Icc=C∫Vda≈ΔV·C·f (1)
式中:Icc是器件消耗的电流;Δ是电压变化的幅值;C是器件电容和输出容性负载的大小;f是器件运行频率。
从公式(1)可以得到降低系统功耗的理论依据。将器件供电电压从5V降低3V,可以至少降低40%的功耗。降低器件的工作频率,也能成比例地降低功耗。
80C51的器件电流包括两部分:核心电流和I/O电流,即:
Icc=ICORE+II/O (2)
核心电流是内部晶体管开关和内部电容充放电所消耗的电流,占有器件电流的较大比例。
ICORE=Vcc·CEQ·f (3)
式中:Vcc是器件工作电压;CEQ是内部结点和走线的电容,它是器件的固有属性,可由式(3)在一定的电流、电压和频率测试值下计算出来;f是核心工作频率。
I/O电流主要是地址/数据总线、RD、WR和ALE信号消耗的电流,在器件电流中占的比例较小,其数值有以下经验公式:
II/O=IREAD·(0.8)+IWRITE·(0.2)+ICONTROL (4)
IREAD、IWRITE分别是读写状态的I/O电流;ICONTROL是控制信号RD、WR、ALE的电流。以写状态I/O电流为例:
IWRITE=(V·C·f)·(1/n)·(X+Y) (5)
式中:V=Vcc;C是每个引脚的负载电容和电路板的线路电容,大约2pF/in(in为英寸);f是CPU工作频率;n=24,每个总线周期所花费的机器周期数;X是寻址阶段变化的引脚数;Y是传输数据阶段变化引脚数。
二、PDA类产品中CPU的选择
近年来80C51衍生产品涌现出许多低电压、低功耗品种,各具特色。如:ATMEL公司AT89LV5X系列,程序存储器4KB~20KB;PHILIPS公司LPC系列,高速低耗,片内集成的多种低功耗功能,极有阶段,但程序存储器空间只有2KB或4KB;台湾华邦公司W78LE和W77LE系列,有8~64KB程序空间和普通/高速多种型号可以选择。选择合适的CPU还有与后介绍的各项低功耗设计技术的使用有关,与软件规划和正确编程有关。
在开发过程中,我们经过试用和比较,发现适合PDA类产品应用、性能价格比最高的选择是华邦公司的W78LE516。W78LE516是华邦公司2000年发由的新产品,它有以下特点适合PDA类产品:
·工作电压2.4~5.5V,适合便携式产品的供电方式;
·全静态设计,工作频率从0到最大40MHz,适合低功耗产品的特殊要求;
·64KB可多次编程的片内应用程序存储器,非常适合于较大的程序和高级语言编程;
·4KB片内引导程序存储器,用于实现应用程序的在线编程;
·比80C52多一倍的512字节片内RAM,其有256字节AUX RAM;
·PLCC和QFP封装比通常的80C51多4个I/O口,P4口具有多种功能;
·完善的低功耗模式,特别是中断能够唤醒掉电模式;
·可靠的加密编程,保护开发者的知识产权和劳动成果。
三、晶振频率是决定功耗的基本环节
在5V电压下运行于12MHz的80C51,工作电流达到十几mA,无论如何难以在电流供电环境中使用。从公式(3)和图1可以看出,工作电流与晶振频率成严格的线性关系,空闲、掉电模式的电流也有类似的线性关系。因此,尽可能地降低晶振频率能够有效地降低整机电流;但是,降低晶振频率往往会受到系统运行速度的制约,需要综合考虑各部分的工作速度和整机信息算是的速度,选择一个合适的最小晶振频率。例如,128X64点阵液晶采用并行总线访问时,整屏汉字显示刷新需要80C51单片机2MHz的时钟频率才不会感觉响应迟钝;如果采用串行方式,显示还会更慢;串行EEPROM是串行访问数据的,还有起始停止位、地址选择、应答位等开销,读写时间较长;复杂算法对系统运行速度也有较高要求。考虑到串行通信波特率精确计算,我们最终确定晶振频率为3.686MHz,最大通信波特率可达到19200bps。在这一时钟频率下,78LE516的运行电流大约为3mA。
四.电压与CPU功耗成正比