PIC单片机低功耗设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PIC单片机低功耗设计
吴清荣;丁跃军
【摘要】本文主要从实际应用出发,针对单片机内部模块选择、工作条件和振荡方式的选择、I/O管脚处理、Timerl异步时钟方式的使用、休眠模式的应用等几个
方面的问题进行了讨论,阐述了PIC单片机在低功耗应用系统中,硬件设计和软件方案所采取的具体措施.
【期刊名称】《制造业自动化》
【年(卷),期】2011(033)005
【总页数】3页(P140-142)
【关键词】PIC单片机;低功耗;睡眠状态;振荡方式;硬件设计
【作者】吴清荣;丁跃军
【作者单位】河南工业技师学院,郑州,450007;河南工业技师学院,郑州,450007【正文语种】中文
【中图分类】TP311
0 引言
目前,电子产品的日趋小型化和智能化,对单片机的低功耗应用提出了更高的要求,尤其是便携式产品、野外检测仪器仪表、海河航标灯和玩具产品,对低功耗的要求更为突出。

设计一个性能良好的低功耗产品,需要从硬件设计、软件设计等多方面综合考虑,是一项较为复杂的系统工作,本文阐述了低功耗设计的几种具体措施。

1 系统设计方面
1.1 选择合适的模块
PIC系列单片机虽然功耗都很低,但不同的模块电能消耗仍然不同,既便是在同一
个系列里,选择的芯片型号不同,它们的电能消耗量也不同! 选型时,要注意资料中详细的参数说明,一般型号后缀为LC的芯片能耗比后缀为C的能耗要小,目前,Microahip公司最新推出了18个引脚的低功耗芯片,如PIC18F1220、
PIC18F1320和nW级的芯片如PIC16F627A等,可以根据产品的实际需求,合
理地来选择芯片的型号。

1.2 选择合适的工作条件
一般单片机睡眠模式下运行要比正常模式下运行耗电小得多,所以如果其它条件允许,应尽量让芯片处于睡眠状态;单片机在低电压下工作时比较省电,在选用单片机时尽可能选择较低的工作电压;另外,单片机MCU的电流和振荡频率成正比,所以,在速度允许的情况下,应尽可能选择振荡频率比较低的芯片。

1.3 选择合适的振荡方式
晶体振荡器、谐振器和RC振荡器,有着不同的唤醒时间。

一般来说,晶体振荡器的唤醒时间最长为8.5mS左右,谐振器的唤醒时间约为390µS,而RC振荡器的
唤醒时间最短,约为1.15µS左右。

单片机在工作时,如果唤醒时间过长,在唤醒过程中存在一个预工作阶段,此时处理器已经开始消耗电能,但是还没有运行程序,这就会带来更多的电能消耗。

如果所设计的产品,唤醒后的工作时间很短,一般应采用RC振荡器较为合理。

晶体振荡器、谐振器和RC振荡器,有着不同的电耗,即使在相同频率下,它们的电耗也不同。

一般说来,晶体振荡器的工作电耗最小,RC振荡的工作电耗最大。

三者比较结果如表1所示。

表1 晶体振荡器、谐振器和RC振荡器的比较
在不能长期工作在休眠状态的场合,如计时时钟,一般应采用晶体振荡器以获得节能效果。

为了节能我们有时候还在晶体振荡器的回路中串上一个小电阻RS,如图1所示,这是因为晶体的驱动功率为: P= U2/Re,U:芯片向晶体提供的电压;Re:晶体的等效电阻;在晶体振荡器回路中串上一个小电阻RS后,加大晶体的等效电阻。

这样,不仅可以减少在晶体上的功率消耗、还可以防止晶体过驱动、稳定晶体的振荡频率以及延长晶体寿命。

RS的取值范围是0~10KΩ,主要基于Timer1振荡器,所有内建Timer1芯片都可以用外部晶体来实现RTC。

如:PIC16F72、PIC16F73、PIC16F877、PIC18F452和PIC18F85等。

图1 晶体振荡器
1.4 合理处理I/O管脚
I/O 管脚的处理,在低功耗系统里非常重要。

设置为输出的管脚可以驱动
20~25mA电流。

所以检查你的设计,优化每个输出管脚上的电流消耗是非常重要的,即使是弱上拉的管脚,依然可以输出 400uA电流,为达到节能目的,可以禁止内部上拉,使用外部较大的电阻做上拉。

必要时还可以用一个I/O口来控制外部上拉,以便在不需要检测输入时或在休眠状态下进一步节能。

如图二中的输入口I1、I2和I3的外部电路。

I/O口管脚可以吸收1uA电流,而MCLR,RA4/T0CKI 和OSC1可能吸收5uA电流。

在干扰的环境下,让I/O管脚悬空(输入、高阻),可能因内部锁存器频繁翻转,极大地增加电流消耗,所以对于没有用的管脚,都设置为输出(高或者低均可)。

1.5 Timer1异步时钟方式下使用
在需要实时时钟的场合,在Timer1上接入一个32.768kHz 晶振,就可以实现成本低和电耗低。

Timer1可以在不用外部时钟芯片、允许芯片进入睡眠模式下,继续走时钟(时间/日期)。

2 应用休眠省电模式
执行一条SLEEP指令后,便进入了休眠(SLEEP)方式。

在这种方式中,为了使耗电量降至最低,把所有I/O引脚接至VDD或VSS,以确保没有外部电路从I/O 引脚上引出电流,关闭A/D转换,禁止使用外部时钟,引脚必须处于一个逻辑高电平状态。

单片机从耗电的角度出发常常会进入休眠状态,但由于某个特殊的原因,又会及时从休眠状态中唤醒。

1)如果芯片出现以下事件,单片机便可以从休眠状态进入唤醒状态:
(1)将外部的复位信号输入到引脚;
(2)监视定时器激活(如果WDT使能);
(3)来自引脚INT的中断,RB端口的电平变位,或者其他一些外围设备中断。

外部复位将引起器件复位,而其他事件都被认为是程序正常运行的继续。

通过查询STATUS寄存器中的位和位,可用来确定器件复位的原因。

当休眠状态被唤醒,设置成电源开启标志位被清零。

如果WDT发生了定时时间到而引起唤醒状态,位被清零。

2)如果以下外围设备出现中断请求,也可使单片机从休眠状态中唤醒:
(1)并行从动端口读/写操作;
(2)在异步计数方式下,定时器TMR1中断;
(3)CCP捕捉方式中断;
(4)特殊事件触发在异步方式下,定时器1采用外部时钟;
(5)SSP(起始/停止)位探测中断;
(6)在从动方式下,SSP发送或接收中断(SPI/I2C);
(7)USAR的RX/TX(同步从动方式);
(8)当A/D时钟源为RC时,A/D转换中断;(9)EEPROM写入操作完成。

当执行SLEEP指令时,下一个指令(PC+1)被预先取出。

为了使器件能通过某一
中断事件而激活,与之对应的中断允许位必须被置位。

唤醒状态与GIE位的状态
无关,如果GIE位被清零,器件将继续执行SLEEP指令后面的指令;如果GIE位
被置位,器件将执行SLEEP指令后面的指令,然后转移到中断地址(0004H)。

若用户不希望执行SLEEP指令后面的指令,那么在SLEEP指令后面必须要有一个NOP指令。

3 案例分析
设计一个低功耗系统产品,是一个综合规划的内容,需要考虑的因素很多。

如图2所示,给出了一个具体硬件实施方案:
单片机的系统时钟采用外接R1、C1阻容振荡方式提供。

既可以节省成本,又可以快速启动单片机,减少唤醒时的能耗。

日期、小时、分钟、秒的计时采用定时器/计数器TMR1完成。

TMR1是具有独立的低功耗、低频率振荡器,既便是在单片机处于睡眠状态,TMR1依然可以精确
计时并能在计时溢出时产生中断请求,唤醒单片机。

石英晶体XTL采用32768Hz 的低频晶体,在晶体回路中串有电阻R5,以便进一步降低能耗。

图2 低功耗硬件设计方案
芯片采用5V电源供电,掉电保持电源BT1采用2.4V的锂电池。

BT1接在一个模拟I/O口上,R6为充电限流电阻。

单片机可以通过该电阻以脉冲方式对电池充电,而停止充电时,可以通过该口以模拟输入方式,检测电源电压并调整充电脉冲的宽度,即通过软件实现智能PWM充电。

在外部电源掉电时,电池BT1可以经电阻
R6和I/O口输入端保护二极管D向单片机供电。

由于这时的供电电流仅为微安级,因此电阻R6上的压降可以忽略不计,D1的作用是防止电池BT1向其它芯片或电路放电。

如果掉电时间不是很长的话,可用漏电较小的胆电容代替电池;如果掉电时间较长的话,可用CSC-4法拉级大电容代替电池,持续时间可以从几分钟到几天。

输入口I1、I2、I3均接有120KΩ的上拉电阻R2、R3、R4,但该上拉电阻不是接到电源正极,而是接到输出端口O1上。

单片机处于工作状态时,O1口输出高电平;单片机进入睡眠状态时,将O1口置成低电平或高阻状态。

注意,在这里一定要把内部上拉屏蔽掉。

输出口O2接有一只二极管D2。

二极管D2的作用是防止在系统掉电后高电平输出时,消耗较多的维持电能。

当O2口输出低电平时,二极管D2导通,三极管基极被嵌位而截止;当O2口输出高电平时,二极管D2截止,电源经R7向三极管提供基极偏流,三极管饱和导通,继电器线圈得电,常开触点闭合。

4 结论
总之,PIC单片机工作时要最大限度地降低功耗,就要根据具体的应用场合,从硬件设计和软件设计上综合考虑,并采用相应的措施,以达到降低功耗之目的。

参考文献:
[1] 刘启中,李荣正.PIC单片机原理及应用[M].北京:航空航天大学出版社,2003.
[2] 丁跃军,来清民.PIC单片机基础教程[M].北京:航空航天大学出版社,2005.
[3] 张明峰.PIC单片机入门与实战[M].北京:航空航天大学出版社,2004.
[4] 李建忠.单片机原理及应用[M].西安:电子科技大学出版社,2006.。

相关文档
最新文档