原创 谈谈低功耗

2021-1-18 20:20 2879 26 6 分类: MCU/ 嵌入式 文集: 低功耗
     从事嵌入式相关的工作也好几年,陆陆续续做过几个项目的。在这里借此机会,也回顾一下这些年的低功耗探索之路。感谢以下文章给我的提醒
    [https://blog.csdn.net/lufeng120353/article/details/80253483]
     一. 关于低功耗的要点
  1. 首先是选型,这个选型包括mcu的选型,包括外设的选型,其中,比如STM328L,或者stm32L 这种就是有着明显区别于同系列其他产品的特质,在于“L” 也就是低功耗,如果他本身达不到这个要求,那你再怎么折腾也无济于事。特别的,选外设的时候,要注意看datasheet,一般都会告诉你他们的功耗可以做到多低。
  2. 实现低功耗绝不只是单独的程序或者硬件,需要两者协同。硬件这方面我懂些皮毛,不足以指导各位,软件部分接下来说道说道。
  3. 程序的角度来说,低功耗对于设备而言,大家可能都会想到 比如关闭外设时钟,设能外设的低功耗使他进入低功耗模式等等,还有就是降频,这也是行之有效的一种手段。这个就总结为模块本身需要达到低功耗所需要做的准备。
  4. 硬件电路部分本人涉及不算多,但从程序角度而言,有些IO需要明确状态。尽量避免设置为悬浮输入,这样会有漏电流。还有就是走线也要注意,这方面大神很多,我就不献丑了。
  5. 如果只是以上几点,只能说是进入低功耗的一种手段,但是程序之间各个功能的区分,各个状态之间的转换也是很重要,不能单独把低功耗作为一种"炫技",什么时候可以进入低功耗,什么时候不可以,时序图怎么走,开放人员要很清楚,也要让mcu很清楚。
  6. 实现思路,一般来说,有以下2种主要的做法 
  •       周期唤醒模式,比如说1s钟唤醒100ms(根据具体的应用场景而定),RTC唤醒。你想想,你一天大半时间都在睡觉,自然功耗就低了。
  •       一直处于睡眠状态,有中断了才去唤醒,比如按键中断等 这个就好像你一直在睡觉 闹钟叫你才起来,你安心睡觉就行,这样功耗也是很低。而且响应及时,是常见的做法。针对这个问题,大多数是通过外设去唤醒的。
     二. 关于低功耗的误区
       低功耗是用电池供电才需要做的,这显然是错误的,程序一直在高速运行,一直在高温的情况下运行,对于模块本身的寿命也是有很大的损耗。
     三. 关于低功耗的注意事项
  1.       在设计初期,应该先用最小系统进行测试,保证能达到datashee上面的低功耗要求。然后再逐个添加外设。
  2.       有些mcu的低功耗是会丢数据,这样需要做好数据的保存,比如写道flash
      四. 关于低功耗的测试方法
      据之前做过的一个例子,你需要用到一下两款设备,万用表和直流电源,具体的做法是将
  1.       设备串联起来,将万用表打至合适量程的电流档,然后正极接万用表黑色版,万用表红色接模块正极,模块负极接到直流电源负极。注意不要短路!!
  2.       打开电源,将电源调整至设备正常工作电压,一般是3.3v或者5v
  3.       观察电流表上的度数,可以做些简单计算(正常运行时的电流 * 电压 * 运行时间 + 休眠电流 * 电压 * 休眠时间 ) /(休眠时间 + 运行时间),得到一个单位时间内消耗的功率有多少
      感谢大家,有问题望不吝赐教,期待您的回复

作者: Bruce-Woo, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-1850657.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 26
赞赏0

文章评论1条评论)

登录后参与讨论

简单qqq 2021-1-20 10:12

学习
相关推荐阅读
Bruce-Woo 2023-03-07 15:14
嵌入式面试之系统
最近一段时间在开始找工作,自己以前也面试过其他人,想从实际工作的角度,来提出一些有意义的问题并做一些浅薄的解答,期望帮助到找工作或者刚开始当面试官的朋友。我把面试要准备的地方列成一下几个注意点,大家...
Bruce-Woo 2023-02-25 21:59
芯片选型的思路
近来在面试,不知为何很多人问起我刚毕业的时候的项目中的一个芯片选型的事情,回过头来整理下,希望可以帮助到后面的朋友1. 开发难度 开发难度,要考虑本身的程序员的开发能力,擅长的领域和工具等。综合下你...
Bruce-Woo 2021-03-17 14:19
记一次调用动态库报错的处理过程( undefined symbol)
最近工作在调用其他同事的一个动态库的时候发现有 未识别的错误 特此记录一下         首先我们用ldd查一下动态库连接是否有问题   ...
Bruce-Woo 2021-03-11 15:03
ubuntu16.04下安装svn
SVN和GIT相信是大家使用最多的代码协同工具,不过可能在win下用的比较多,那今天在ubuntu上运行一遍,操作都差不多。某种程度上讲,我也更喜欢指令操作。1. 远程登录虚拟机,也可以页面操作,看个...
Bruce-Woo 2021-02-09 01:08
2020,我想和你谈谈
这篇文字无关技术,也没有代码。 这是最好的时代,也是最坏的时代!写在回家前夜。 不到10个小时后就要开始坐车回家,手头的工作也没有做完。正经的事儿没完成,乱七八糟的事情倒是想了不少,说话是一种表达方...
Bruce-Woo 2021-01-19 12:34
cmake的安装过程
今天在编译opencv的时候突然发现cmake失败,显示版本不同遂决定修复之方法如下下载更高版本cmake,可在cmake官网下载 解压 tar -zxvf cmake-3.19....
EE直播间
更多
我要评论
1
26
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /6 下一条