PIC单片机:一步一步学习怎样完成低功耗计划(上)
学习PIC单片机低功耗之前,先简便过一下低功耗的一些基本知识和头脑。
功率(瓦特)= U(伏特)I(安培)
能量(焦耳)= U(伏特)I(安培)t(秒)
电量(库伦)= I(安培)t(秒)
功耗可以分为动态(活动)功耗和静态(就寝)功耗。
均匀功耗=(动态功耗x动态时间+静态功耗x静态时间)/(动态时间+静态时间)
由此得出一些结论,低落均匀功耗,可以从底下几个方面动手
低落动态(运转)功耗;
低落动态(运转)时间;
低落静态(休眠)功耗;
增长静态(休眠)时间。
简便了解这么多,在最初另有一些我本人的积累的履历分享。底下优秀入正式的PIC单片机低功耗学习。
PIC16F184xx有3种省电形式:打盹,空闲,休眠。功耗:打盹>空闲>休眠。
打盹形式
经过变小CPU利用和存储器拜候来节能,外设和体系时钟都坚持运转。经过DOZEN=1来进入打盹形式,经过DOZE[2:0]存放器确定N个周期实行一个指令。
空闲形式
空闲形式和打盹不同之处在于,CPU和存储器均关闭。经过IDLEN=1,再实行SLEEP指令进入空闲形式。此处回忆一下第一篇时钟的内容,当实行SLEEP指令,就不再有体系时钟了,CPU中止事情;而打盹形式没有实行SLEEP指令,以是有体系时钟,CPU可以了解为处于低速形式。
休眠形式
CPU和大局部外设被关闭,是最省电的形式。经过IDLEN=0,然后实行SLEEP指令进入休眠形式。
实战
在MCC中找了找,没有找到低功耗干系的设置选项卡,看来只能在步骤中利用。在之前IO的步骤中举行,时钟LFINTOSC,512分频,RA2S输入。步骤如下。征象为LED闪灼两次,坚持熄灭,分析进入就寝形式。SLEEP();指令也可用asm(“sleep”);。
接下去测就寝时的功耗。必要评价板做一些窜改,起首割开J100,这是给MCU供电的线路。如图篮筐地点
然后为MCU供电,并将电流表串入电路中。
实践测出,在进入就寝后功耗为29uA,手册上声称的但是nA级别的,相差甚远。
起首思索到IO口上约莫产生的电流,有毗连的IO有RA0、RA1、RA2、RA3、RA4、RA5、RB4、RB6、RC2,此中RA2接LED以前设置输入高,不会产生电流;RC2毗连按键,是断开的也不会产生电流;RA3是重启,有外部上拉10k电阻,在引脚为低时会产生电流,正常情况下没有,即使有也时nA级别的。这3个引脚毗连保存,其他的IO毗连全部切断,基本上都是和调试器毗连的。如下图篮筐线全部切断。
然后丈量电流,令人扫兴的是,并没有厘革。接下去思索约莫哪些外设没有关闭。反省MCC设置发觉,看门狗WDT没有开,但是欠压复位BOR是开着的,将BOR关闭,测得电流为24uA,下降了一些,BOR的确有一定影响,但另有一定差距,持续排查。
仔细阅读手册,发觉这段形貌,在PIC16F18446中包含一个LDO,可以让IO使用最高5.5v高电压,内里使用较低电压事情。LDO一定会有一定的静态电流的。下一段提到将VREGPM置位可以进入低功耗休眠形式。
存放器的具体形貌
步骤到场VREGPM=1;之后再实行SLEEP指令。这次测得电流在1uA以下了,影响的确很大。这个后果以前抵达nA级,和手册表声称的在同一单位级了。
由于我的电流表的量程就到1uA,底下换一种办法来丈量。如底下原理图
丈量后果为3.8mV,检测电阻R1为10kΩ,I=U/R,以是电流为380nA。
在电气特性里,有看到了底下这段,对我们的测试构成了印证,VREGPM=1时进入就寝典范功耗为0.4uA,外表实测为0.38uA;VREGPM=0时,即内里LDO掀开,典范值18ua,外表实测为24uA,略高一些,但在一个数目级,并且温度和VDD电压也会有一定影响,暂不穷究了。至此做低功耗使用时,最基本的最小功耗以前取得,后方再依据需求添加本人的功效和逻辑。
以前有一些篇幅了,并且后方另有一定内容,包含空闲和打嗝的实例,最初一些我的履历分享。我思索在论坛上发帖篇幅照旧不要太长,坛友阅读和我撰写的压力都大一些。以是本周先到这里,PIC低功耗的下半局部下周见。O(∩_∩)O
(本文摘自21ic论坛,作者:21ic网友yongruru)

















