0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈单片机低功耗处理

武汉瑞纳捷半导体有限公司 2022-05-26 14:19 次阅读

一、什么是低功耗处理

我们在研发电子产品的时候,经常会涉及到功耗的问题。因为电子产品肯定是要供电的,供电的方式最常用的几种是:220V交流直插供电、用直流适配器供电和电池供电。无论是哪种供电方式,只要用到单片机,最终都是要转成低压直流给单片机供电的。而单片机如果不做好低功耗处理的话,电量的消耗会大很多,续航能力也会大大缩短。如果是220V或者适配器供电,那还好点,最多是电费多一点,而如果是用电池供电的,续航能力差的话就需要频繁更换电池。像烟雾报警,红外报警,智能门锁这些产品,一般都是用电池供电的,因为使用和触发的频率不是很高,安装的位置也不适合用适配器供电。这个时候,低功耗处理就显得尤为重要了。

而功耗虽然指的是功率,但是我们常常用电流去衡量,因为单片机的工作电压是有范围的,因此,正常工作的情况下,电压是基本固定的,而在相同的电压下,电流的大小直接决定了功耗的大小,电流越大功耗就越大。因此,我们做低功耗处理最终的目标就是要把电流降下来。

再说一些题外话,很多电子产品,特别是那种不是一直在高速工作,大多数情况下都是在休眠状态,只有触发了某些特定条件才会唤醒工作的产品,比如上面说到的报警器和门锁。这些产品在电池满电量的情况下能用的时间,是可以估算的。一般的做法是,直接把电池的容量除以休眠时的电流,因为在不触发的时候,整个电路工作的电流都是很小的,比如智能门锁,只有在开门唤醒的时候,需要发射和接受无线信号,需要驱动电机的时候电流会比较大,大部分时间这些模块都是不工作的,消耗的电流其实很小。所以,用这种估算的方式,也是有一定的合理性的,很多公司发布产品的时候说这个东西能用多久,其实也是这样算出来的。再说说电池容量,电池容量的单位是毫安时,理论上来说,如果工作电流是1mA,那它能工作多少个小时,就是多少毫安时,而实际上,容量的减少会使得电压降低,当电压低于某个值的时候,单片机就不能工作。因此,一个电池的额定容量往往不是能用的容量。

二、单片机要怎样做才能把整个电路的电压降到最小

如果一个电路里面只有一个单片机以及单片机最基本的外围电路,那么它的功耗是很低的,特别是一些专门用于低功耗产品的单片机,比如stm8L系列,stm32L系列,TI430系列,RJM8L系列等等。但是如果你以为你用了超低功耗的单片机就一定能降低功耗的话那你就错了,无论是用什么单片机,在程序上和电路上都是要一些处理才能把功耗控制在比较低的范围。

程序的处理方法主要有以下几点:

1、单片机进入睡眠状态。这个是最基本的,只有睡眠的状态下,功耗才是最低的。但是要注意的是单片机睡眠的方式不止一种,根据需要选择合适的。

2、所有悬空的IO口都设成推挽低速输出低。注意,是悬空的IO口。也有人说设成浮空输入,我试过几款ST的单片机,都是设成输出低的功耗更小。别的单片机你可以先测试一下,再选择最好的配置方式。

3、在单片机睡眠之前把不需要用到的时钟关掉。如定时器时钟,串口时钟等。这里说的不需要指的是睡眠的时候不需要用到,但是唤醒状态下需要用到的。如果是一直都没用到的,不初始化也不会打开。

4、有连接外设的IO口根据实际情况配置引脚。不是所有引脚拉低都能降低功耗的,需要根据情况来定,这一点比较复杂,我讲一些最常见的情况吧。比如有连接LED灯,把灯关掉才是功耗最小的。比如输入引脚,如果睡眠的时候,外设输出的是低电平,单片机最好是用浮空输入,不要用上拉,因为上拉的时候,相当于内部有个电阻一直在工作,会消耗电流。如果外部输入的高电平,根据情况而定,我试过一次,就一个引脚,用浮空和上拉居然相差了一百多uA,我的天,可能跟那个模块的内部电路有关吧。也可以把输入改成输出,有时候也有奇效。比如串口,如果休眠的时候可以考虑把引脚都设成输出低,特别是两个单片机通过串口通讯,如果一边拉高一边拉低,那么中间的限流电阻就会导通,最好是两边都拉低。还有串口有时候不能直接拉低引脚,我之前就试过用stm8,程序上把引脚拉低了,实际上并没有拉低,找了好久才知道是没有反串口初始化,也就是DeInit,在库函数里面是能找到这个函数的,反初始化之后,再配置成普通IO口才能输出低。

5、控制外设进入睡眠模式或低功耗工作模式。很多外设模块都是有低功耗模式的,如果不需要一直工作,单片机需要让它也进入睡眠模式,如果是需要一直工作的,尽量选择低功耗工作模式。还有一些外设的中断引脚触发极性是可以自己配置的,最好选择上升沿触发。

6、降低晶振频率。这个我觉得效果不是很大,不知道是我用的单片机本身的频率就不高还是怎样,理论上来说降低频率是可以降低功耗的。

在电路上,降低功耗的方法就比较复杂了,我本身也是更擅长软件方面,硬件上不能给大家更多的建议,我就是说说我知道的一些比较简单的关于IO口的处理方法吧。

电路的处理方法主要有以下几点:

1、单片机的IO口的电阻选型和电路设计要合理。如果单片机的IO口需要用到电阻,要根据实际情况,选择合适的。其实核心的思想都是尽量不要让电阻处于导通状态,或者导通的时候电流尽量减到最小。比如单片机的IO口如果大部分时间都是处于低点平,又必须要上拉电阻的话,尽量选择阻值大一点的电阻。如果处于高电平的话,尽量不要用下拉电阻。这一点无论是输入还是输出都是一样的。能不加电阻就最好了,但是还有一点需要注意的是有些单片机没有下拉输入,比如stm8,如果一些引脚设成外部中断的时候引脚悬空,会使得单片机不断进入中断,这时候就需要上拉或者下拉电阻稳定IO口的电平。

2、芯片IC的选型要合理。做低功耗产品的时候,芯片的选型是很重要的,无论是单片机还是其他外设,在预算范围内都应该尽量选择工作电流小的IC。

3、电路的布局要合理。电路设计也是很关键的一点,不合理的布局可能会造成额外的阻抗,包括外形、散热等问题也是,可能会造成功耗的增加。具体就不多说了,我懂的可能还没你们多。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6043

    文章

    44617

    浏览量

    638139
收藏 人收藏

    评论

    相关推荐

    如何优化单片机项目的功耗

    在现代电子设计中,功耗优化已成为一个不可忽视的重要议题。对于单片机(MCU)项目而言,功耗不仅关系到产品的能效比,还直接影响到电池寿命和热管理。 硬件层面的功耗优化 1. 选择合适的
    的头像 发表于 11-01 14:16 498次阅读

    单片机的中断机制

    单片机的中断机制是一种重要的处理方式,它允许单片机在执行主程序的过程中,能够暂停当前任务,转而处理外部或内部紧急事件。这种机制极大地提高了系统的响应速度和
    的头像 发表于 10-17 18:03 948次阅读

    引领智能未来:英锐恩科技的国产低功耗单片机ENMCU

    延长了设备的使用寿命。 卓越性能,超强兼容 英锐恩科技的低功耗单片机采用了先进的技术架构,确保其在性能上的领先地位。凭借高效的处理能力和丰富的存储资源,开发者可以在同一芯片上实现更多的功能,提升产品
    发表于 09-26 17:16

    低功耗8位单片机:技术特性与应用前景!

    在电子设备领域,低功耗设计成为提升设备续航能力、减少能耗的重要手段。低功耗8位单片机以其低功耗、低成本、易于开发等优势,在智能家居、安防监控、可穿戴设备等多个领域得到了广泛应用。英锐恩
    发表于 09-26 14:09

    msp430单片机的优缺点介绍

    自1996年面世以来,MSP430系列单片机以其卓越的性能和独特的优势,在电子工程领域独树一帜。这款16位超低功耗的混合信号处理器,凭借其出色的低功耗特性、高效的
    的头像 发表于 09-25 17:12 795次阅读

    8位单片机为何不会被高端单片机取代?

    )应用:8位单片机应用广泛,包括汽车电子、家用电器、医疗设备、工业自动化和消费电子产品。它们通常是低成本、低功耗和实时控制应用的首选。 8位单片机为何不会被高端单片机取代? 8位
    发表于 09-24 16:51

    利用超低功耗单片机 MSP430 作为系统伴随芯片应用报告

    电子发烧友网站提供《利用超低功耗单片机 MSP430 作为系统伴随芯片应用报告.pdf》资料免费下载
    发表于 09-10 10:52 0次下载
    利用超<b class='flag-5'>低功耗</b><b class='flag-5'>单片机</b> MSP430 作为系统伴随芯片应用报告

    stm32单片机用什么软件编程

    STM32单片机是一种广泛应用于嵌入式系统领域的微控制器,具有高性能、低功耗、丰富的外设接口等特点。要对STM32单片机进行编程,需要选择合适的软件工具。 概述 STM32单片机
    的头像 发表于 09-02 10:16 1900次阅读

    stm32单片机的优势有哪些?

    Cortex-M系列内核,提供了高性能的处理能力。这意味着它能够快速有效地处理复杂的计算任务,同时具备低功耗的特性。无论是在工业自动化、智能家居还是消费电子等领域,STM32单片机
    发表于 07-29 09:29

    ADS7870基于单片机的完整低功耗数据采集系统数据表

    电子发烧友网站提供《ADS7870基于单片机的完整低功耗数据采集系统数据表.pdf》资料免费下载
    发表于 07-26 10:05 0次下载
    ADS7870基于<b class='flag-5'>单片机</b>的完整<b class='flag-5'>低功耗</b>数据采集系统数据表

    现代(ABOV)低功耗单片机在现代电子产品中的重要性

    运行时的热量产生,提高设备的稳定性和可靠性。特别是在家电领域,低功耗设计可以显著降低家庭能源开支,符合全球节能减排的趋势。单片机作为电子设备的大脑,其功耗直接影响
    的头像 发表于 06-28 11:32 536次阅读
    现代(ABOV)<b class='flag-5'>低功耗</b><b class='flag-5'>单片机</b>在现代电子产品中的重要性

    STM8L单片机低功耗问题在软件中如何设计?

    大家来讨论一下STM8L单片机低功耗问题在软件中如何设计?
    发表于 05-14 07:34

    STM32L151RCT6单片机下载完程序不断电重启进不了低功耗怎么解决?

    最近遇到一个很奇怪的问题,使用的是stm32L151RCT6单片机,固件库用的是STM32Cube_FW_L1_V1.8.1,程序中有低功耗的部分,当我下载完程序然后将设备彻底断电重启后,设备能正常
    发表于 04-12 07:07

    低功耗的32位单片机PY32L020,Deep Stop模式电流低至0.7uA

    PY32L020是一颗主打超低功耗的国产32位单片机,有三种低功耗模式,分别是Sleep/Stop/Deep Stop模式,Deep Stop 模式电流低至0.7uA,
    的头像 发表于 04-10 10:02 926次阅读
    超<b class='flag-5'>低功耗</b>的32位<b class='flag-5'>单片机</b>PY32L020,Deep Stop模式电流低至0.7uA

    STM32L431低功耗进入异常的原因?

    各位大佬好,小弟在使用STM32L431单片机的时候遇到一个奇怪的问题,我用的是HAL库,当我下载完程序后如果不完全断电,单片机进不了低功耗,即使通过硬件复位现象也是一样,但是只要我断开电源重新上电
    发表于 04-09 07:03