IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 单片机休眠与唤醒二三事 -> 正文阅读

[嵌入式]单片机休眠与唤醒二三事

经过几次项目在用到低功耗休眠模式的配置时老是出错的囧态百出之后,痛定思痛,决定对这部分内容单独进行整理总结。

一、What is PWR Mode

PWR 即是 Power, 是低功耗休眠相关操作的关键词。 电池供电工作的电子设备为了保证续航和寿命,都在不用的时候进行低功耗休眠处理。都离不开的一项指标就是,在非工作模式状态下的低功耗休眠模式的静态功耗。
通过配置主控芯片单片机的外围IO配置以及单片机的休眠,使主控芯片在内的相关电路的静态功耗降低,起到减少消耗进而增加续航的作用。

二、 Details

1. Different Mode

一般来说,各种主控芯片MCU都会提供不同等级的休眠模式————即在不同的休眠模式里可供活动和调用的资源不尽相同,自然,他们的静态功耗等级也是不一样的。

2. Power Control

在进入对应等级的低功耗休眠模式之前(指进入休眠这条指令之前),要对相应的资源进行关闭处理。
不关闭的话,举个例子,假如你的休眠模式是可以被定时器中断或者ADC捕获/ADC转换中断唤醒了,在休眠之前没有关闭这些中断的话,就会被频繁的唤醒(尤其在时基较小的情况下)。
要注意关断的资源包括但不限于:ADC、Timer、WTD等

三、 Flow of config to PWR Mode 休眠流程

  1. 关总中断
  2. GPIO的睡前配置:非休眠唤醒的引脚通常是配置成输出低,减少漏电流。(应根据具体电路做相应调整)
  3. 关闭ADC和Timer
  4. 关闭PWR的低电平自动唤醒功能
  5. 使能唤醒IO的外部中断
  6. 刷新各标志位(外部中断标志位、休眠唤醒标志位)
  7. 判断此时无按键或适配器插入(有任意其一即跳过下一步的休眠指令,恢复单片机初始化配置)
  8. 进入休眠模式(根据功耗要求及需要待机的资源要求选择对应的休眠模式)
  9. (被唤醒之后从休眠指令之后继续执行)
  10. 系统休眠唤醒的初始化
  11. 使能Timer,时基开始运转。

四、 Warning of PWR config

And then I’d like to talk about the warnings and errors in PWR’s config.

1. error of code to fall asleep 进入休眠指令错误

可通过观测整个主控板的整体静态功耗来判断是否进入休眠模式,较低功耗的休眠模式常为几个uA微安级别,而非休眠状态下的静态功耗则至少是mA毫安级别,如果没有进入睡眠,首先检查进入睡眠的这条指令封装的对应的寄存器操作是否是正确的.

2. Error of config before entering asleep 进入休眠前的配置错误

这种错误会导致出现能顺利进入睡眠但是会被错误的配置频繁唤醒,或者静态功耗居高不下。
优先检查PWR_LVR 和 PWR_LVI 即单片机自带的低电平自动复位和唤醒。
其次检查Timer和ADC 的对应中断 有些单片机的休眠模式允许的唤醒中断方式比较多,未关闭Timer定时器中断和ADC中断的话,很大可能会被时基的定时器中断唤醒或者被ADC采样转换中断唤醒。

3. Error of config after awaking 唤醒后的初始化配置

如果唤醒之后Timer没有及时使能,系统的时基没有正常工作,则一切跟时基相关的状态切换和输出都会瘫痪,造成系统假死在这一段的现象。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-11 12:35:13  更:2021-08-11 12:36:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/14 2:34:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码