单片机的低功耗模式介绍

文章目录

    • 简介
    • 一、功耗来源说明
      • 1.1、芯片工作模式
      • 1.2、静态损耗
      • 1.3、I/O额外损耗
      • 1.4、动态损耗
    • 二、功耗如何测量
    • 三、降低功耗有什么方法
      • 3.1、选取合适的芯片工作模式
      • 3.2、降低工作频率
      • 3.3、关闭不需要使用的外设
      • 3.4、 降低静态电流损耗
      • 3.5、 周期采集供电
      • 3.6、 设置IO口状态
    • 四、如何唤醒
      • 4.1 RTC周期唤醒
      • 4.2 其他中断唤醒
    • 五、低功耗怎么调试
    • 六、怎样选择太阳能电源
      • 6.1. 太阳能板配制计算方法:
      • 6.2. 蓄电池配置计算方法:

简介

低功耗,其实并不是嵌入式行业独有的名词,对于大多数我们常见的电器,比如。电视机、冰箱、空调等等,都有低功耗概念在里面,包括手机以及电脑。现在给大家科普一下,其实低功耗离我们并不远,它对工业生产和嵌入式而言有何意义。
家用电器,比如电视机,在关机之后,通过遥控板还能控制电视机的开关,这其实就是电视机进入了低功耗状态,只保留必要的相关部分功能,将其他暂不需要的功能涉及的外设全部关闭,对电视机而言,关闭最耗电的屏幕部分,将处理器主板断电,只保留监听红外信号的MCU以及电路的供电,将设备功耗降到最低,以节约能源。
电子产品在我们生活中扮演了极其重要的作用,便携性的电子设备便是其中一种。便携性设备需要电池供电、需要消耗电池的能量。在同等电能提供下,低功耗设计的产品就能够工作更长的时间。时间的就是生命,因此低功耗设计是很重要的。便携性的设备需要低功耗设备

对于手机,无线耳机而言,就更为精密了,手机的低功耗已经是一个庞大的系统,大家可能都会发现,当使用手机打游戏的时候,手机发热最厉害,耗电也最快,其实就是低功耗控制体系导致的。当手机处于关机状态,那么手机只会保持内部核心的计时器的运转以及对开机键部分的信号检测,保证设备能从关机状态正常启动并且内部时间不会混乱。

在这里插入图片描述
而当手机处于正常使用的时候,比如你拿手机刷新闻,此时的手机其实也处于一种相对低功耗的模式,因为刷新闻对CPU运算没有太大压力,对网络、屏幕的刷新也没有太大的压力,所以特别是对CPU而言,会控频运转,并不会满载,相应的网络射频部分、屏幕供电部分也不会有太大压力,而当你将手机熄屏,那自然会将屏幕部分设置为最低功耗,只保留唤醒部分电流,MCU降频为很低,同时网络部分也会相应降频,这样还是能正常接收到网络消息推送,但是各个部分功能的功耗都控制到了很低的地步。
最终当然是当你最理想的满载打游戏的时候,屏幕快速刷新,CPU、网络射频部分全速运转,这时其实才是手机的全力运转,其他的时候都处于相对低功耗的状态下。
说回嵌入式行业,其实有很多大家不熟知的地方,低功耗的概念都有至关重要的作用,比如大山里面的监控仪器设备,里面并没有稳定的供电手段,甚至只能通过电池的方式供电运行,所以必须降低一切的不必要功耗,维持设备的正常运转,这其实并不是一件简单的事情,因为电路板涉及元器件繁多,不仅要在软件上完全正确配置设备的外设部分功能,还要在硬件板子上杜绝一切的不必要电源浪费。
在这里插入图片描述
像水库大坝的智能监测设备,一般情况下不可能使用市电供给,特别是这种场景,设备能连续稳定运行就显得尤为重要,像在南方地区,可能有一个月以上的连续阴雨天气,智能采集设备低功耗模式在这个时候就起作用了。
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/adc04460a36c43ed8f7d0b711be5fa42.png
在这里插入图片描述

一、功耗来源说明

1.1、芯片工作模式

工作模式:外设正常运行,内核CPU及SRAM供电,未使用外设的时钟默认关闭。
睡眠模式:只有CPU停止工作,各个外设正常工作,依靠任何中断/事件唤醒。
停机模式:1.8V供电区域时钟被停止,内部HSI,PLL,外部时钟HSE均关闭,同时电压检测器也可进入低功耗模式,但SRAM和寄存器不断电,此时只能依靠外部中断(EXTI)和RTC时钟才能唤醒。
待机模式:1.8V供电区域被时钟停止,内部HSI,PLL,外部时钟HSE均关闭,同时电压检测器也可进入低功耗模式,SRAM和不属于待机电路的寄存器也被断电关闭,此时即使是外部中断(EXTI)也不能将其唤醒,只能通过复位(外部复位,看门狗复位)、唤醒引脚、RTC时钟来唤醒。
在这里插入图片描述
模式从上到下功耗越低,但唤醒条件越严格
注意:无论是在停止模式还是待机模式下,RTC和IWDG及其时钟源不会被关闭。
各个模式功耗:
功耗计算方式:功耗=工作电压*工作电流。
在这里插入图片描述
在这里插入图片描述

1.2、静态损耗

内部上下拉电阻损耗:这部分损耗主要取决于内部电阻的大小,一般为了降低内部电阻损耗常常需要降低电阻两端电压,若引脚为低电压则采用下拉电阻,若引脚为高电压则采用上拉电阻。主要来源有采集电阻、分压电阻、上下拉电阻、匹配电阻、电源芯片的静态电流等

1.3、I/O额外损耗

当引脚设为输入I/O时,用来区分电压高低的斯密特触发器电路会产生一部分消耗,为此可将引脚设为模拟输入模式。

1.4、动态损耗

对于悬浮的引脚,由于其电压不稳定会产生外部电磁干扰和损耗,因此必须把悬浮引脚设为模拟模式或输出模式,引脚电压的切换会对外部和内部电容负载产生动态损耗,其损耗与电压切换频率和负载电容有关。具体损耗值如下:
在这里插入图片描述

二、功耗如何测量

测量电路的功耗非常简单。这一切都归结为P = IV的方程。提供给电路的电压非常一致,并且在实际应用中会发生微小的变化。应该做的是借助电流表测量流入电路的电流。

通过使用电流表,可以计算该特定实例的功耗。然而,电流表提供的信息有限,因为它们不能完整地描述功耗特性,例如消耗的峰值功率、占空比和各种功耗水平的持续时间。

要进行深入分析,需要转向示波器并使用电流探头来测量流入电路的电流。这些读数被存储起来,可用于进一步分析。因此,将更好地了解电路的电流消耗。
一般标书要求会以值守电流、工作电流来间接的反映整体设备的功耗例如:
值守电流:小于0.5ma
工作电流:小于15ma

三、降低功耗有什么方法

3.1、选取合适的芯片工作模式

在1.1节提到过,芯片会有不同的工作模式,
功耗降序:工作模式>睡眠模式>停机模式>待机模式
一般选用停机模式进入低功耗模式,因为在保持IO口状态的同时,能通过外部中断,和RTC中断唤醒,而且能保证较低的功耗
在这里插入图片描述
在这里插入图片描述

3.2、降低工作频率

众所周知,频率越高,计算速度越快,带来的功耗也就越高,那么为了降低功耗,降低工作频率也是一种比较好的办法,也比较显著,在保证外设需要的工作频率要求,尽可能的降低频率。
在这里插入图片描述

3.3、关闭不需要使用的外设

项目使用到的外设时钟可以打开,比如调试串口,ADC等,不需要使用的外设时钟关闭,不然会造成额外的电流损耗
在这里插入图片描述

3.4、 降低静态电流损耗

比如三极管开关电路,会有电阻一直消耗电流,在满足要求的同时,可适当加大下拉电阻
在这里插入图片描述
选取高效率的电源转换芯片,下图为SY8303芯片的效率曲线
在这里插入图片描述
加大指示灯电阻,几乎每块电路板都有指示灯,在保证能达到指示效果的情况下,减小其电流损耗
加大指示灯电阻,几乎每块电路板都有指示灯,在保证能达到指示效果的情况下,减小其电流损耗
直接关闭芯片供电,比如232,485芯片,在值守模式下,便可以直接控制断电

3.5、 周期采集供电

比如传感器,摄像头,一般都是周期采集,比如十分钟,一小时间隔采集,这种情况下,一般采用周期供电,程序内部维护定时器,到时间节点,打开相应传感器供电,进行数据采集,采集完成后,断电。达到降低功耗目的

3.6、 设置IO口状态

端口设置,外加上拉、下拉电阻切记不能随便加,需要根据外围电路特性来设置端口模式。避免造成漏电,导致功耗升高。
如果此IO口带上拉,请设置为高电平输出或者高阻态输入;
如果此IO口带下拉,请设置为低电平输出或者高阻态输入;
空闲IO一律模拟模式

四、如何唤醒

4.1 RTC周期唤醒

在这里插入图片描述

4.2 其他中断唤醒

比如外部中断,雨量计就是通过外部中断唤醒的,在休眠时期,如果降雨,会触发雨量传感器相应,产生电平跳变,产生外部中断,此时会唤醒单片机进行数据采集。

五、低功耗怎么调试

1、以最小系统的形式验证芯片部分功耗
2、慢慢增加外围电路,记录好各部分电路的功耗
在最小系统的基础上,增加外为电路,记录在正常工作模式跟低功耗模式的消耗情况,例如
功耗 正常工作模式 低功耗模式
最小系统 3ma 300ua
串口1 20ua 20ua
串口2 20ua 20ua
3、通过万用表检测漏电部分
可以通过电压挡检测加在电阻两端的电压,由此通过欧姆定律推算出经过电阻的电流
4、程序单步调试,一步一步打开外设,试试检测电流变化,找到电流影响
在这里插入图片描述
5、进入低功耗模式也是可以下线调试的,但是要注意配置
STOP模式退出后,系统时钟会自动配置为MSI或HSI,需要手动重新配置时钟,以及使用时钟的外设。
为了进一步降低STOP模式下的功耗,可以将GPIO设置为ANALOG输入模式,退出stop模式后重新配置GPIO
为了能够在STOP模式下进行调试,在main函数中添加 DBGMCU->CR |= DBGMCU_CR_DBG_STOP

六、怎样选择太阳能电源

当设备安装现场没有市电电源,对数据的上报频率要求很高时,选择使用太阳能供电的方式。太阳能电源包括三部分,太阳能光电池板、太阳能充电控制器、蓄电池。根据现场用电设备(包含低功耗测控终端与现场采集设备)的功率来选择光电池板的大小与蓄电池的容量。下面为计算方法。

6.1. 太阳能板配制计算方法:

电池板配置功率(W)=设备功耗(W)×每天工作时间(小时)×1.2(安全系数)÷[5 小时(每天有效工作时间) ×0.6(充电效率)]

6.2. 蓄电池配置计算方法:

蓄电池配置容量(Ah)=设备功耗(W)×每天工作时间(小时)×阴雨天(天数)÷[设备供电电压(V) ×0.6(供电效率)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/218814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HNU数据库大作业-世界杯比赛系统

前言 之前做的那个版本bug较多,后进行了大量优化。 此项目是一个前后端分离的项目,前端主要使用htmlcssjs搭建,使用的是layui框架 后端使用php语言,仅实现了简单的查询数据库功能,无法实现多并发查询等复杂情况 数…

云架构俭约之道七法则(The Frugal Architect)

文章目录 一、前言关于 Law 与 Rule 的区别 二、云架构俭约之道七法则Design(设计方面)Law 1:把成本作为非功能性需求Law 2:可持续性系统需要将成本与业务相匹配Law 3:架构设计是一系列权衡的取舍 Measure(…

iOS加密CoreML模型

生成模型加密密钥 必须在Xcode的Preferences的Accounts页面登录Apple ID,才能在Xcode中生成模型加密密钥。 在Xcode中打开模型,单击Utilities选项卡,然后单击“Create Encryption Key”按钮。 从下拉菜单中选择当前App的Personal Team&…

多项目同时进行如何做好进度管理?

许多企业都面临着同时进行多个项目的情况,因此项目经理经常需要管理多个项目。多项目管理的难点不仅在于项目数量增加,还在于资源分配不均、难以监控多个项目进度以及复杂的沟通协作。 一、从项目经理的角度分析 首先,要把握高效项目管理的几…

蚂蚁SEO实用的网络baidu蜘蛛有哪些

网络蜘蛛是一种用于从互联网上自动抓取信息的程序。它们根据给定的规则和指令,遍历网站上的页面,收集信息并将其存储在数据库中。网络蜘蛛在搜索引擎、数据挖掘、信息提取等领域有着广泛的应用。本文将介绍一种实用的网络蜘蛛,并探讨其实现原…

MySQL——库,表基础操作

目录 一.库的操作 1.显示当前的数据库列表 2.创建数据库 3.字符集和校验规则 4.操纵数据库 5.删除数据库 6.数据库备份与还原 7.查看连接情况 二.表的操作 1.创建表 2.查看表结构 3.修改表 4.删除表 一.库的操作 1.显示当前的数据库列表 show databases; 2.创建数…

KubeKey 离线部署 KubeSphere v3.4.1 和 K8s v1.26 实战指南

作者:运维有术 前言 知识点 定级:入门级了解清单 (manifest) 和制品 (artifact) 的概念掌握 manifest 清单的编写方法根据 manifest 清单制作 artifactKubeKey 离线集群配置文件编写KubeKey 离线部署 HarborKubeKey 离线部署 KubeSphere 和 K8sKubeKey…

自建zerotier planet服务linux客户端使用

前期准备planet文件, 1.先安装zerotier curl -s https://install.zerotier.com | sudo bash2.安装完毕之后把planet文件上传上去 这个位置 3.加入网络,这里不做创建演示 zerotier-cli join 地址 4.查看planet的ip 直接用bash ifconfig没有的用ip ad…

低代码开发入局,同飞股份应用云表自主开发MES管理系统

近日,为了贯彻落实《“十四五”智能制造发展规划》,推动中国从制造大国向制造强国转变,工业和信息化部发布了2023年度“智能制造优秀场景”名单。经过省级有关部门和中央企业的推荐、专家评审、网上公示等程序,同飞股份凭借其“先…

Python格式化字符串(格式化输出)

Python 提供了“%”对各种类型的数据进行格式化输出,例如如下代码: price 108 print ("the books price is %s" % price) 上面程序中的 print 函数包含以下三个部分,第一部分是格式化字符串(相当于字符串模板&#xff…

Docker | Docker+Nginx部署前端项目

= ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:Docker系列 ✨特色专栏: MySQL学习 🥭本文内容:Docker | Docker+Nginx部署前端项目 📚个人知识库: [Leo知识库]https://gaoziman.gi…

结合eNSP实验讲VLAN,让理论生动

目录 一、VLAN的简介 1、定义 2、产生的原因--解决传统以太网的问题 3、VLAN的作用 4、VLAN数据帧格式--插入VLAN标签 5、VLAN的种类 5.1静态VLAN--常用 5.1.1静态vlan的范围 5.2动态VLAN 6、VLAN的三种端口类型 6.1Access接口 6.2Trunk接口 6.3Hybrid接口 二、配置…

普冉(PUYA)单片机开发笔记(4): 配置通用定时器

概述 在前几篇开发笔记中,从 PY32F003 的一个厂家标准例程开始,实现了中断式无阻塞串口收发、对开发板 LED3 的亮/灭控制,时钟系统的初始化和时钟选择。在此基础上,今天做一下定时器的应用实验。事先考虑以下几个问题&#xff1a…

【C语言】函数调用及创建,并将数组传参到函数

🎥 岁月失语唯石能言的个人主页 🔥个人栏专:秒懂C语言 ⭐若在许我少年时,一两黄金一两风 目录 前言 一、函数的概念 二、库函数 2.1 标准库和头文件 2.2库函数的使用方法 2.2.1功能 2.2.2库函数的头文件 2…

一些程序源码及教程的网站合集~

很多时候我们需要一个快速上手的code demo及教程,除了最常用的【github】,一些中文网站可能会帮助我们更好上手~ 这里提供几个中文网站参考: 【51CTO】: Python 动态手势识别系统hmm 手势识别opencv_mob64ca140d96d9的技术博客…

19、WEB攻防——.NET项目DLL反编译未授权访问配置调试报错

文章目录 一、.NET项目——DLL文件反编译指向—代码特性二、.NET项目——Web.config错误调试—信息泄露三、.NET项目——身份验证未授权访问—安全漏洞 web搭配: windowsiisaspaccesswindowsiisaspxsqlserver 一、.NET项目——DLL文件反编译指向—代码特性 bin目…

【Linux】探索Linux进程优先级 | 环境变量 |本地变量 | 内建命令

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 目录 一、进程优先级1.1优先级VS权限1.2为什么要有进程优先级&am…

《YOLOv8改进系列》专栏目录介绍

YOLOv8改进系列 🚀 专栏目录介绍 本专栏内容是紧跟最新、最前沿的改进方法,不仅适用检测任务,分类任务,分割任务,关键点任务同样适用。文章适用于多种场景,包括但不限于小目标、工业缺陷、轻量化等领域。 …

1.3 什么是接口?什么是接口测试?

上一小节我们认识了C/S和B/S架构,那在B/S架构中,我们测试最常接触的,就是接口。本课程的重点是接口自动化测试,那同学们真的了解什么是接口吗?首先,我们从通俗的角度来看什么是接口。在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发…

防火墙访问控制、安全审计、网络设备防护检查表

1、访问控制类检查 2、安全审计类检查 3、网络设备防护类检查 原件: 防火墙标准检查表 分类 测评项 预期结果 访问控制 应在网络边界部署访问控制设备,启用访问控制功能 启用了访问控制规则 应能根据会话状态信息为数据流提供明确的允许/拒绝访…