如何降低系统功耗

一、前言

低功耗是MCU的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大的话,就会经常出现电量不足的情况,影响用户体验。

 

二、降低MCU功耗

平时我们在做产品的时候,基本的功能实现很简单,但只要涉及低功耗的问题就比较棘手了,比如某些可以低到微安级的MCU,而自己设计的低功耗怎么测都是毫安级的,电流竟然能够高出标准几百到上千倍,遇到这种情况千万不要怕,只要认真你就赢了。下边咱们仔细分析一下这其中的原因。

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

先说最直观的,也是工程师都比较注意的方面,就是关闭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还连接着调试器呢!这时候大部分电流就会被调试器给掳走,平白无故的让工程师产生极度郁闷的心情。所以在测低功耗的时候,一定不要连接调试器,更不能边调试边测电流。

参考网站:微信公众号电子电路设计

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录1 简介 ............................................................................22 功耗模式......................................................................22.1 功耗模式转换 ......................................................22.2 核心睡眠和唤醒指令............................................42.3 子系统可用性和功耗............................................52.4 示例场景..............................................................52.5 系统电源管理(SysPm)库 ................................53 PSoC 6 MCU 功耗管理技术.........................................83.1 核心电压选择 ......................................................83.2 ULP 模式时钟......................................................93.3 外部 PMIC 控制...................................................94 其它降低功耗技术......................................................104.1 使用 PSoC 6 MCU 控制电流路径 ......................104.2 禁用未使用的模块 .............................................104.3 使用 DMA 移动数据...........................................104.4 周期性唤醒定时器 .............................................114.5 时钟...................................................................114.6 GPIOs ...............................................................135 电源保护系统.............................................................135.1 硬件控制电源保护 .............................................136 总结 ..........................................................................147 相关文档....................................................................14Appendix A. 功耗模式总结..........................................15A.1 功耗模式和唤醒源.............................................15Appendix B. 子系统可用性..........................................16B.1 不同功耗模式下可用资源 ..................................16Appendix C. 回调函数示例..........................................17C.1 寄存器回调函数.................................................17C.2 执行自定义回调函数..........................................17Appendix D. 代码示例.................................................19D.1 CE219881 - PSoC 6 MCU 切换功耗模式..........19D.2 CE218129 -
降低 Vivado 设计的功耗,您可以考虑以下几个方面的优化: 1. 时钟频率优化:降低时钟频率可以有效降低功耗。您可以通过适当减小时钟频率来降低设计的功耗,尽量满足设计的时序约束。 2. 逻辑优化:优化逻辑设计可以减少功耗。您可以尝试减少冗余逻辑、简化逻辑电路、合并多余的逻辑等方式来优化设计。使用 Vivado 工具提供的综合和优化选项,如逻辑合成策略、布局布线选项等,可以帮助您实现逻辑优化。 3. 时钟树优化:时钟树的布线对功耗也有影响。您可以通过使用 Vivado 工具中的时钟综合和布局布线选项来优化时钟树设计,减少时钟缓冲区的数量和功耗。 4. IP 核选择和配置:选择合适的 IP 核并正确配置可以降低功耗。在使用 IP 核时,您可以根据实际需求配置功能选项,禁用不需要的功能模块,以减少功耗。 5. 片上存储器优化:合理使用片上存储器可以减少功耗。使用 Vivado 的内存生成器可以生成符合需求的存储器,避免过度使用存储器资源。 6. 电源管理:采用合适的电源管理策略也能降低功耗。例如,使用 Vivado 的时钟门控选项可以在时钟未使用时关闭时钟,以降低功耗。 请注意,以上是一些常见的优化方法,具体的优化方案可能因设计和需求而异。建议您根据实际情况对设计进行分析和调试,使用 Vivado 工具提供的优化选项来降低功耗

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值