低功耗设计

STC15省电模式(数据手册有介绍)

STC15系列单片机可以运行3种省电模式以降低功耗,它们分别是:低速模式空闲模式掉电模式

正常工作模式下,STC15系列单片机的典型功耗是2.7mA ~7mA,而掉电模式下的典型功耗是<0.1uA,空闲模式下的典型功耗是1.8mA

低速模式由时钟分频器CLK_DIV (PCON2)控制,时钟分频器可以对内部时钟进行分频,从而降低工作时钟频率,降低功耗,降低EMI

空闲模式和掉电模式的进入由电源控制寄存器PCON的相应位控制。PCON寄存器定义如下:

SMOD, SMOD0:与电源控制无关,与串口有关,在此不作介绍。

LVDF:低压检测标志位,同时也是低压检测中断请求标志位。

在正常工作和空闲工作状态时,如果内部工作电压Vcc低于低压检测门槛电压,该位自动置1,与低压检测中断是否被允许无关。即在内部工作电压Vcc低于低压检测门槛电压时,不管有没有允许低压检测中断,该位都自动为1。该位要用软件清0,清0后,如内部工作电压Vcc继续低于低压检测门槛电压,该位又被自动设置为1。

在进入掉电工作状态前,如果低压检测电路未被允许可产生中断,则在进入掉电模式后,该低压检测电路不工作以降低功耗。如果被允许可产生低压检测中断,则在进入掉电模式后,该低压检测电路继续工作,在内部工作电压Vcc低于低压检测门槛电压后,产生低压检测中断,可将MCU从掉电状态唤醒。

POF :上电复位标志位,单片机停电后,上电复位标志位为1 ,可由软件清0 。

实际应用:要判断是上电复位(冷启动),还是外部复位脚输入复位信号产生的复位,还是内部看门狗复位,还是软件复位或者其他复位,可通过如下方法来判断:

GF1,GFO :两个通用工作标志位,用户可以任意使用。

PD将其置1时,进入掉电模式,可由外部中断上升沿触发下降沿触发唤醒,进入掉电模式时,内部时钟停振,由于无时钟,所以CPU、定时器等功能部件停止工作,只有外部中断继续工作。可将CPU从掉电模式唤醒的外部管脚有:INT0/P3.2,INT1/P3.3,INT2/P3.6, INT3/P3.7,INT4/P3.0;管脚CCP0/CCP1/CCP2;管脚RxD/RxD2/RxD3/RxD4;管脚T0/T1/T2/T3/T4;有些单片机还具有内部低功耗掉电唤醒专用定时器。掉电模式也叫停机模式,此时功耗<0.1uA

本次实验就是将PD位置1,让MCU进入掉电模式,减低功耗

IDL:将其置1,进入IDLE模式(空闲),除系统不给CPU供时钟,CPU不执行指令外,其余功能部件仍可继续工作,可由外部中断、定时器中断、低压检测中断及A/D转换中断中的任何一个中断唤醒。

空闲模式详解

掉电模式详解(< 0.1uA)

本项目实验现象

  1. 数码管显示PCB板温度;

  2. 长按按键1超过2s,系统进入待机模式;

  3. 单击按键1,系统退出待机模式,正常运行;

  4. 待机电流处于1.1uA左右,其中LDO占了 1uA,单片机占了0.1uA;

  5. 用万用表测试到正常运行的电流大概为30、40mA;进入待机模式后,电流为1.1uA

开发板上电后,串口输出初始化信息,数码管显示PCB板的温度,运行指示灯每隔一秒闪烁一次

将万用表串联在电源线上,量程调到直流mA档,待稳定后,可看到电流在30或40多mA变动

长按按键1两秒以上,串口输出调试信息,单片机输出停机指示后进入停机模式,数码管不亮,外设电源被切断,运行指示灯不闪

此时万用表电流

看万用表仍然有十几mA的电流,原因是虽然单片机和外设都不工作了,但CH340芯片还在耗电,在实际的产品中CH340芯片是没有的,开发板的CH340只是用来调试信息,所以要把CH340芯片的供电去掉,开发板硬件上有做了一个跳线冒,把跳线冒拔掉,则CH340芯片的电源被切断,不再耗电,把万用表的量程调到uA档,此时电流达到最低,理论1.1uA,测量会有些许误差

在停机模式下单击按键1,唤醒系统,系统退出停机模式,串口重新输出信息,WIFI模块重新初始化,开发板数码管获取温度并显示,运行指示灯闪烁

万用表电流重新显示30或40多mA

低功耗设计要点

参考:https://www.elecfans.com/d/1068248.html,这篇文章概述的不错

系统框图

系统框图的设计最重要,这是从总体上来设计低功耗的,决定了低功耗能达到什么水平;低功耗牵涉到了整体,包括硬件和软件,要两者兼具,才能很好的设计出低功耗产品

首先单片机型号要选择低功耗的,如这款STC15L2K32S2,低功耗电流为0.1uA,或者其他型号的单片机如STM8,MSP430

其次LDO要选择低功耗的,如HT7333-3,250mA 3.3V 高耐压低压差线性三端稳压LDO芯片,低功耗为1uA

然后就控制外设的供电,MP2451并不能将使能脚EN置为低电平来达到低功耗的目的,因为就算使能脚EN关闭了,只是没有给外设供电,但其本身内部的电路仍然是在工作的,有100多uA,所以要在前面设计一个PMOS开关,进入低功耗时就能把电源完全关掉,右边输出0V

最后所有的外设也要进行低功耗设计,如选型,或者引脚配置

元器件选型

单片机,LDO等元器件需要选择低功耗的。本项目的STC15L2K32S2单片机,待机电流0.1uA,HT7333-3型号的LDO静态电流低至1uA,可以满足要求。

在STC15L2K32S2数据手册中,附录A:STC15系列单片机电气特性,可以看到低功耗说明,待机电流小于0.1uA

LDO芯片HT7333-3的数据手册中可以查看到该型号的静态电流

静态电流指:当芯片输出IOUT为0mA时,芯片本身消耗的电流叫静态电流

可以看到典型值的电流是1uA,这个值受温度的影响

硬件电路的设计

进入待机模式时,硬件设计需要考虑关闭外设的电源,本项目的MP2451通过PMOS开关控制,NTC温度采集通过NPN晶体管控制,就是基于此考虑

程序设计

需要单片机根据外设类型配置好GPIO的模式以及输出的电平。

不用的引脚,不能输入悬空,可以设置为推挽,输出低电平;
关闭外设的电源;
合理配置GPIO,防止通过外设引脚漏电,比如 WIFI 模块的控制引脚,TM1620 的控制引脚等。控制引脚在低功耗时都配置为低电平

待机模式引脚配置注意点

不能有悬空的引脚,不然这些引脚会存在电流,悬空引脚要全部设置为输出模式,并输出低电平

防止TM1620漏电

把MP2451关闭后,Peripheral_3V3 是没有电压的,在TM1620模块中,如果单片机对STB这个引脚输出了高电平,且引脚设为了准双向口,同时单片机内部有上拉电阻,那么这3.3V的电压由于上拉电阻和R1电阻的存在,被分压为1V左右后与Peripheral_3V3 形成了电压差,导致有电流从Peripheral_3V3 流出,就又会给其他外设供电,或者流入GND,这种情况称为漏电现象

存在漏电现象则电流是降不了的,达不到低功耗,所以要对单片机的这些引脚进行配置,都将其输出低电平,防止漏电

防止串口TX漏电

同理,串口TX如果输出高电平的话,比如给到CH340芯片,RS-485芯片,ESP-12S芯片,都会造成芯片内部耗电,所以串口TX引脚也要全都输出低电平

防止串口RX漏电

因为单片机对于RXD引脚都是配置为高阻输入的,当外设电源断开后,RXD引脚就相当于没接,此时引脚就处于悬空状态了,会有100多uA的电流,所以RXD引脚进入低功耗模式后就要配置为推挽输出,并输出低电平,就不会耗电;

开发板上的RXD(CH340)、RXD1(RS-485)、RXD2(ESP-12S)都先设置为推挽输出,并都输出低电平

防止IIC口漏电

IIC口同理,SCL和SDA都有上拉电阻,如果为高电平的话,电流就会从引脚流到Peripheral_3V3,造成漏电

STC15单片机-低功耗设计相关推荐

  1. 单片机低功耗设计杂谈

    文章转载,写的有些混乱,但是值得一读. 现在,有许多单片机应用领域,都是用电池供电,节能成为设计工程师普遍关心的问题.希 望大家就这方面展开讨论.          以下提供一些讨论的方向:      ...

  2. 十年硬件老司机,结合实际案例,带你探索单片机低功耗设计!

    作者:YJGQDD(阿莫:hailing),整理:晓宇 微信公众号:芯片之家(ID:chiphome-dy) 经过了多年的低功耗硬件设计(公司硬件设计和软件设计是分开的,我一直是做硬件,在面对低功耗生 ...

  3. 10年硬件老司机,带你探索单片机低功耗设计

    经过多年的低功耗硬件设计(公司硬件设计和软件设计是分开的,我一直是做硬件,在面对低功耗生产事故中做硬件的往往很苦逼),我发现其中容易出的一个问题就是单片机进睡眠模式前IO没配好,产品上主要出的问题是这 ...

  4. 单片机系统的低功耗设计策略

    http://blog.21ic.com/user1/349/archives/2006/20396.html 0 推荐 单片机系统的低功耗设计策略 作 者:清华大学 陈萌萌 邵贝贝 摘要:嵌入式系统 ...

  5. STC15单片机实战项目 - 项目需求

    以经典的51内核单片机设计一款产品,功能如下: 1.采用宏晶的STC15L2K32S2-LQFP32,2k SRAM,32k ROM: 目的:选用STC15系列1T的经典51内核单片机,资源丰富. 2 ...

  6. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》...

    引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...

  7. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》... 1

    引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...

  8. c语言c51单片机点亮8个灯,单片机课程设计-8个LED灯来回点亮

    <单片机课程设计-8个LED灯来回点亮>由会员分享,可在线阅读,更多相关<单片机课程设计-8个LED灯来回点亮(20页珍藏版)>请在人人文库网上搜索. 1.目录第一章 绪论-3 ...

  9. [转] 单片机硬件设计 转载自 麦麦

    下面是总结的一些设计中应注意的问题,和单片机硬件设计原则,希望大家能看完 (1) 在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,时钟发生器.晶振.CPU的时钟输入端都易产生噪声,在放 ...

  10. FPGA 的功耗概念与低功耗设计研究

    文章转自(点击链接可以查看高清原文,失效请留言): 韩雪, 郭文成. FPGA的功耗概念与低功耗设计研究[J]. 单片机与嵌入式系统应用, 2010, 10(3):9-11. 深度解析FPGA的功耗 ...

最新文章

  1. Spring Security基于角色的权限管理
  2. mysql flask-login_Flask web模板六–Flask-Login完成登录验证
  3. 路飞学城-python爬虫密训-第三章
  4. Session,Cookie,jsessionid,Url重写
  5. 51 Nod 1027 大数乘法【Java大数乱搞】
  6. 深度学习入门首推资料--吴恩达深度学习全程笔记分享
  7. 惊叹 | 膜拜一下清华大学特等奖学金的学霸大佬们的简历! -- 我们没有理由不努力!...
  8. Cisco-NetDevOps-CI/CD-Experiment Workflow
  9. 飞机大战(微信小游戏)
  10. 2020 cr节目源_直播源2020-10-10
  11. 2020汽车电子研究报告
  12. CodeMeter:软件加密的“木桶定律”
  13. ddm模型公式_股利增长模型计算公式
  14. caxa计算机编程,CAXA软件编程实例1
  15. 蜻蜓飞过,从此智能硬件厂商有了儿童梦工厂
  16. 怎么样用计算机计算三角函数,怎样在科学计算器上计算三角函数
  17. linux清理垃圾文件,linux如何清理系统垃圾
  18. 宏基Acer4710系列宝石本白屏闪屏等屏幕疑难杂症
  19. jQuery实现瀑布流布局(1+X Web前端开发初级 例题)
  20. matlab之矩阵输入(一)

热门文章

  1. android红米升级失败怎么办,红米刷机失败怎么办?解决红米刷机失败教程
  2. c语言utc时间转换,gps时转换为utc时间方法
  3. Verilog基础知识4(常用集成门电路的逻辑符号对照表)
  4. 【图像处理算法】直方图均衡化
  5. ubuntu下使用命令行查看opencv版本
  6. mysql 如何避免间隙锁_mysql 间隙锁
  7. 基于STM32设计的NB-IOT电量采集系统(超级详细)--1.Onenet平台配置及M5311配置
  8. zookeeper-linux集群搭建小结
  9. java代码生成可识别二维码
  10. C语言知识点思维导图