前言
??随着物联 的兴起,各式各样的物联 设备涌向市场,这些设备有一个共同的特点就是电池供电,电池的容量是有限的,如何在电池容量有限的情况下延长设备的使用时间呢恶始于源头,最好的办法就是在设计中降低设备的功耗,设计又进一步分为软件设计、硬件设计。
硬件设计
??根据低功耗的产品需求,一般会有两种方式,一种是平时处于断电状态,需要使用的时候上电即可,工作一会继续断电。另一种是一直处于待机状态,使用的时候,“唤醒”产品,工作一会继续“睡觉”。
??低功耗产品一般是通过锂电池或者干电池供电的,前者主要用于易于携带或者移动的产品,比如,智能手表,共享单车等等,干电池应用的比较多的场合是智能门锁等,一般有3-4节干电池,用完电之后用户可以更换。
选取低功耗器件
??这点自不必说,谁不选谁傻x,不选坑自己~
开关机电路设计
??对于平时断电的设备,既然平时主要是断电状态,需要时开启,开关机设计必然少不了,接下来介绍一种实用的开关机电路。(关于此电路的详细解析,可参看:一种简单可靠的开关机电路设计)
??所有这种都是“不太准确的”,但是只要能在彻底MCU“死掉”之前提醒用户换电池或者充电即可,我提醒了,你没换,那关我什么事~
??言归正传,AD采集也需要做一些处理,如下图,这个电路分情况,在断电的设备情况下,这个电路是没问题的,但可能不是最好的,要注意,不能直接接在电池端,要接在受控的电源端,如果直接接在电池端,这两个电阻会一直耗电。
模块电源加控制
??这点类似于上面的AD采集带电源控制,稍微改一下即可,物联 设计中可能会用到各种各样的模组。信息上 不频繁的情况下,可能1天几次或者几天1次,这时候可以考虑,是不是可以不用的时候把电源断掉,当然要考虑上电重新连接所花费的功耗与休眠状态下所花费的功耗,二者取其优,功耗差别不大的情况下,我觉得休眠是好的选择,毕竟频繁开关机会对模组有影响。
硬件设计小结
??关于硬件的设计是方方面面的,大家伙一定要注意硬件设计上的低功耗考虑,成熟的电路也越累越多,小飞哥列举的不过皮毛,欢迎大家一起交流更多好的方案与考虑。
软件设计
??低功耗从硬件上能够解决一部分,但单纯依靠硬件肯定是不行的,需要软件的密切配合,才能达到最好的效果。
??软件设计通常需要考虑一下几种情况
GPIO引脚的模式配置
??对于GPIO的模式,就拿STM32来说,模式多达8种,4种输入,4种输出,那应该配置为什么模式,系统功耗才会比较低呢/p>
??仅讨论产品休眠模式下,GPIO的配置,正常工作按照需要该怎么配置就怎么配置就可以了~
??对于没有用到的GPIO,需要配置为模拟输入状态
??模拟输入模式:信 从左边编 1的端口进入,从右边编 2的一端直接进入ADC模块。这里我们看到所有的上拉、下拉电阻和施密特触发器,均处于断开状态,因此“输入数据寄存器”将不能反映端口上的电平状态,也就是说,模拟输入配置下,CPU不能在“输入数据寄存器”上读到有效的数据。
??关于GPIO的配置还有很多,要参考具体的外设进行适当的配置。
关掉不需要的外设
??在休眠状态下,除了保留必要的功能外,应该关掉所有不需要的外设的时钟源,避免造成额外的功耗消耗。
降低时钟频率
??时钟频率越高,必然会带来更高的能量消耗,能量守恒嘛,干活快,消耗的能量肯定大。可以降到够MCU“活着”就行了,拿出大学考试,“60分及格,多1分浪费”的精神。
模式切换
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!