打印
[技术问答]

关于MCU低功耗的调试注意事项

[复制链接]
1101|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
elsaflower|  楼主 | 2024-12-29 12:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


      第一条:掐断外设命脉——关闭外设时钟

  先说最直观的,也是工程师都比较注意的方面,就是关闭MCU的外设时钟,对于现在市面上出现的大多数的MCU,其外设模块都对应着一个时钟开关。只需要打开这个外设的时钟,就可以正常的使用这个外设了,当然,此外设也就会产生相应的功耗;反之,如果想要让这个外设不产生功耗,只需关闭它的时钟即可。

  第二条:让工作节奏慢下来——时钟不要倍频

  除了外设模块功率消耗之外,还有一个功耗大户需要注意一下,这就是PLL和FLL模块。PLL和FLL主要是用来对原始的时钟信号进行倍频操作,从而提高系统的整体时钟,相应的,其功耗也会被提上去。所以在进入低功耗之前,需要切换是种模式,旁路掉PLL和FLL模块,从而尽可能的降低MCU的功耗,等到MCU唤醒之后再把时钟切换回去。

  

  第三条:围堵涓涓细流——注意I/O口的电平状态

  如果认为只要关闭外设时钟就能够保证外设不再耗电,那么你就太天真了。如果IO口没有做好处理的话,它就会在暗地里偷走功耗,而你却浑然不知。具体原因是这样的,一般的IO的内部或者外部都会有上下拉电阻,举个例子,如下图所示,假如某个IO口有个10KΩ的上拉电阻,把引脚拉到3.3V,然而当MCU进入低功耗模式的时候,此IO口被设置成输出低电平,根据欧姆定律,此引脚就会消耗3.3V/10K=0.33mA的电流,假如有四、五个这样的IO口,那么几个mA就贴进去了,太可惜了。所以在进入低功耗之前,请逐个检查IO口的状态:

  如果此IO口带上拉,请设置为高电平输出或者高阻态输入;

  如果此IO口带下拉,请设置为低电平输出或者高阻态输入;

  

  总之一句话,不要把上好的电流浪费在产生热量的功能上,咱可不靠这点温度去暖手。

  第四条:睦邻友好合作——注意I/O与外设IC的统筹

  IO口的上下拉电阻消耗电流这一因素相对比较明显,下边咱来说一个不明显的因素:IO口与外部IC相连时的电流消耗。假如某个IO口自带上拉,而此与IO相连的IC引脚偏偏是自带下拉的,那么无论这个引脚处于什么样的电平输出,都不可避免的产生一定的电流消耗。所以凡是遇见这一类的情况,首先需要阅读外设IC的手册,确定好此引脚的的状态,做到心中有数;然后在控制MCU睡眠之前,设置好MCU的IO口的上下拉模式及输入输出状态,要保证一丝儿电流都不要被它消耗掉。

  第五条:断开调试器连接,不要被假象所迷惑

  还有一类比较奇特,检测出来的电流消耗很大,可实际结果是自己杞人忧天,什么原因呢?是因为在测试功耗的时候MCU还连接着调试器呢!这时候大部分电流就会被调试器给掳走,平白无故的让工程师产生极度郁闷的心情。所以在测低功耗的时候,一定不要连接调试器,更不能边调试边测电流。


使用特权

评论回复
沙发
Stahan| | 2024-12-29 21:46 | 只看该作者
时钟频率是不是越低功耗越低啊

使用特权

评论回复
板凳
earlmax| | 2025-1-5 09:59 | 只看该作者
外设模块通常有一个对应的时钟开关。关闭不需要的外设时钟可以显著降低功耗。

使用特权

评论回复
地板
10299823| | 2025-1-5 11:54 | 只看该作者
在MCU运行时,根据实际需要动态开启或关闭外设时钟,避免不必要的功耗浪费。

使用特权

评论回复
5
uptown| | 2025-1-5 12:44 | 只看该作者
在不影响系统性能的前提下,通过时钟分频来降低MCU的工作频率,从而降低功耗。

使用特权

评论回复
6
phoenixwhite| | 2025-1-5 13:36 | 只看该作者
根据实际工作需求动态调整时钟频率。在需要快速处理的任务中使用较高频率,在低负载情况下使用较低频率。

使用特权

评论回复
7
uiint| | 2025-1-5 14:01 | 只看该作者
大多数MCU的外设模块都有对应的时钟开关。在不使用某个外设时,应关闭其时钟以减少功耗

使用特权

评论回复
8
janewood| | 2025-1-5 15:19 | 只看该作者
对于低功耗模式的唤醒源,如外部中断、定时器中断等,要逐一进行验证。确保每个唤醒源都能正确地唤醒 MCU,并且唤醒后的系统状态是稳定的。

使用特权

评论回复
9
saservice| | 2025-1-5 17:26 | 只看该作者
如果 MCU 支持多种时钟源,在调试低功耗模式时,要注意时钟源的切换。

使用特权

评论回复
10
nomomy| | 2025-1-5 18:18 | 只看该作者
MCU的I/O口在低功耗模式下处于正确的电平状态,避免因上下拉电阻导致的额外功耗

使用特权

评论回复
11
maqianqu| | 2025-1-5 19:04 | 只看该作者
降低MCU的时钟频率可以显著减少功耗。在进入低功耗模式前,尽量将时钟频率调低

使用特权

评论回复
12
yeates333| | 2025-1-5 20:37 | 只看该作者
对于系统时钟的分频设置,确保其在低功耗模式下是合理的。例如,降低不必要的外设时钟频率,以减少功耗。通过查看时钟配置寄存器的值,并结合外设的实际工作需求来调整分频系数。

使用特权

评论回复
13
1988020566| | 2025-1-7 21:23 | 只看该作者
检查所有连接到 MCU 的外围设备。一些外围设备可能会有漏电流,即使 MCU 进入低功耗模式,这些漏电流也可能导致整体功耗增加。

使用特权

评论回复
14
rosemoore| | 2025-1-8 00:41 | 只看该作者
合理利用MCU的低功耗模式,如睡眠模式、深度睡眠模式或待机模式,以降低整体功耗

使用特权

评论回复
15
febgxu| | 2025-1-17 21:27 | 只看该作者
对于MCU中未使用的外设模块,应关闭其时钟。大多数MCU的外设模块都对应一个时钟开关,关闭时钟可以显著降低功耗。

使用特权

评论回复
16
youtome| | 2025-1-17 22:11 | 只看该作者
I/O口可能带有上下拉电阻,不当的电平设置会导致不必要的电流消耗。确保在低功耗模式下,I/O口设置为合适的电平或高阻态。

使用特权

评论回复
17
rosemoore| | 2025-1-17 22:43 | 只看该作者
禁用不必要的外设,如ADC、USART、SPI等,只在需要时启用,以减少功耗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

1325

帖子

0

粉丝