EFR32BG22是一款低功耗蓝牙soc,

优点是封装小,对比其他同类芯片,功耗表现出色且集成硬件加密加速器,方便做物联网信息安全。

缺点是资料多且杂,上手简单但精细设计需要花费的时间较多。

配套的IDE软件simpicity studio v5本意是降低开发难度,使工程师可以以组件的方式开发。但缺少组件代码引导,经常出现加入新组件后找不到相关代码的情况,且组件配置缺少详细的说明。

本文主要介绍EFR32BG22的能源管理方法。

目录

1、低功耗模式切换的硬件底层实现方法

2、低功耗模式切换的触发源

2.1、进入EM4

2.2、EM4的唤醒

3、低功耗模式切换的软件实现方法


EFR32BG22支持5种能源模式,功耗由高到底如下:

  • EM0-active:可使用最高时钟频率,且射频和全部外设可用,功耗最高。
  • EM1-sleep:除计算模块以外的其他外设(包括射频)可用
  • EM2-deep sleep:射频,usart,flash等不可用,是最常用的低功耗状态。在这个状态下快启动RC振荡器工作,便于快速恢复高速运行状态。
  • EM3-stop:只有片上外设,I2C和外部中断可用。
  • EM4-shutoff:最低功耗模式,只有低功耗时钟,射频OOK检测,GPIO等工作。系统从EM4唤醒后会复位。

1、低功耗模式切换的硬件底层实现方法

EFR32BG22实现低功耗的途径有以下几点:

  1. 外设电源管理:当前功耗状态下不可用的外设,能源管理单元会切断它的电源
  2. 内核电压调整:内核电压通过LDO给出,分为三个挡位(由低到高VSCALE0(EM2/3),VSCALE1(EM0/1低频),VSCALE2(EM0/1高频))。能源管理单元会根据能源状态切换内核电压。也就意味着可以通过测量DECOUPLE管脚电压,判断当前能源状态。

  3. 区分三个外设电源域,可通过配置,在EM2/3期间关闭某些电源域的供电

2、低功耗模式切换的触发源

EM1/2/3之间的切换支持外设自动进行,不需要额外的处理。EM0切换其他状态需要发起指令(写寄存器相关位)。EM1/2/3状态切换到EM0可通过所有的软硬中断实现,EM4只能唤醒到EM0(因为EM4唤醒等同于复位)

2.1、进入EM4

方法:

可通过软件指令进入EM4: 向EM4CTRL->EM4ENTRY写2,3,2,3,2,3,2,3,2

gecko_SDK为我们提供了便捷的函数:

EMU_EnterEM4();

在进入EM4前需要保证:

  • 看门狗没有设置EM4BLOCK位
  • DCDC设置为bypass模式
  • 射频等模块不活动

否则CPU会阻止进入EM4的请求,导致进入EM4失败。

2.2、EM4的唤醒

唤醒方式如下:

  • BURTC中断
  • Reset管脚或断电复位
  • RFSENSE(需要使用OOK协议)
  • gpio中断(只可用带有EM4WU功能的gpio管脚,且需要配置EM4WUEN)

其中最常见的是gpio中断唤醒。

带有EM4WU功能的管脚如下:

  

只有以上管脚可配置为EM4唤醒管脚,配置方法为:

GPIO_EM4EnablePinWakeup(pin, polarity);

其中pin可以使用宏GPIO_IEN_EM4WUIENx,x对照上表根据管脚选择,比如使用PB03作为EM4的唤醒脚,x = 4。

polarity表示唤醒极性,若设置低电平唤醒,则写0,若设置高电平唤醒,也可以使用宏GPIO_IEN_EM4WUIENx进行设置。

pin和polarity都是bitmap的形式可同时设置多个管脚作为唤醒源,分别设置不同的唤醒电平

调试初期,请注意在启动后进入EM4前留存足够的等待时间,用于重新烧录程序。否则若EM4唤醒失败,则芯片无法再次烧录

3、低功耗模式切换的软件实现方法

em_emu.c中提供了一组用于低功耗模式切换的api:EMU_EnterEMx系列函数,用于功耗高到低的切换,其中EMx代表要切换到的能量状态名。

当然,若要实现系统的低功耗,需要各个功耗状态频繁的切换,除了EMU_EnterEMx系列函数,还需要一套通用的结构化的方法,帮助我们完成切换时机的判定,切换前后的外设配置等工作。

gecko_SDK贴心的为我们提供了这样一套机制,也就是power_manager组件。

这套组件使得应用开发变得很简单,只要在裸机实现的主循环中调用函数:

sl_power_manager_sleep();

这个函数提供了保姆级别的电源管理服务,帮助我们使系统永远保持在能够保证系统实现的最低功耗模式。

后续我们将更深入细节的探究power_manager的实现方法,和设计要点。

初识EFR32BG22 ---- 能源管理篇相关推荐

  1. 京东自建数据中心核心技术解密——运营管理篇

    随着电子商务.云计算.大数据.人工智能.互联网金融等应用的快速发展,数据中心单体规模越来越大.系统越来越复杂,应对的挑战也越来越多. 一个好的数据中心需要通过科学的运维管理,充分利用技术和设备资源,将 ...

  2. 初识阿里云(云计算)--发展历程和技术架构、地域和可用区

    文章目录 一.初识阿里云 1.概述 2.阿里云log 3.品牌口号 4.云计算价值 二.阿里云整体架构 1.阿里云发展历程 2.阿里云技术架构 3.地域和可用区 三.云端实践 1.杭州城市大脑 2.1 ...

  3. EFR32--如何在EFR32BG22透传中添加AT指令控制

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/MemsanGZmInG/article ...

  4. 2022-2028年中国能源期货市场深度调研及投资前景预测报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了能源期货行业相关概述.中国能源期货行业运行环境.分析了中国能源期货行 ...

  5. day3----编码-集合-深浅copy-文件操作-函数初识

    day3----编码-集合-深浅copy-文件操作-函数初识 本文档主要内容: 一 编码 二 集合 三 深浅copy 四 文件操作 五 函数初识 首先,我们来看看两个字符串的比较 打开cmd,进入do ...

  6. ⑥python模块初识、pyc和PyCodeObject

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  7. 初识java类的接口实现

    初识java类的接口实现 如果两个类之间不存在继承关系,且两个类都想实现同一个接口,两个类都必须实现接口中全部方法,否则报语法错误 如果两个类之间存在继承关系也想实现同一个接口,父类如果实现了某个接口 ...

  8. vba 编辑combobox内容_初识Visual Basic编辑器并建立一段简单的代码

    大家好,从今日开始我正式推出"VBA之EXCEL应用"教程,这个教程是面向初学人员的教程,教程一共三册,十七个章节,从简单的录制宏实现一直讲到窗体的搭建,都是我们在利用EXCEL工 ...

  9. 16.1、python初识面向对象(1)

    初识面向对象 楔子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人 ...

最新文章

  1. win7操作系统在哪显示隐藏文件夹
  2. 微信小程序之后台https域名绑定以及免费的https证书申请
  3. 排序算法---希尔排序(java版)
  4. [转]带宽计算-大B与小b的区别
  5. 加减法叫做什么运算_小学四则运算基础知识,赶快给孩子存下吧!
  6. oracle数据库连接 ORA-12638:身份证明检索失败
  7. 【CF1215E】Marbles【状压DP】
  8. linux 终端 画圆,Linux Bash Shell快速入门
  9. ae缺少效果opticalflares_新版镜头光晕插件来袭,Optical Flares 1.3.5 for Win/Mac,含注册机...
  10. 使用js实现复选框的全选、取消功能
  11. LibreOJ β Round #2 E. 数论只会 GCD
  12. 在线编辑Word——插入表格
  13. 软件测试工程师职业规划怎么写,软件测试工程师的职业生涯规划
  14. python为循环线条增加颜色_python – Matplotlib:如何将线条颜色设置为橙色,并指定线条标记?...
  15. win10连接打印机问题:不能访问此共享文件夹
  16. 关于QRCode生成二维码(背景图、Logo)
  17. c语言中指数形式怎么表示_C语言编程基础知识汇总学习,适合初学者!
  18. Vue中使用把汉字转化为拼音字母
  19. Office Tool Plus(安装visio)
  20. QuickJS 快速入门 (QuickJS QuickStart)

热门文章

  1. 数据通信与计算机网络A笔记
  2. 统计自然语言处理梳理二:句法分析
  3. 「奋斗者协议」又来了:自愿加班、接受淘汰、不与公司发生法律纠纷
  4. 网站关键词排名优化怎么做才能让排名更高?
  5. [软考]软考教程+历年真题
  6. 程序员陪女朋友自拍杆哪个好?自拍杆品牌推荐
  7. 2023陆军工程大学计算机考研信息汇总
  8. window本地代理及共享端口445修改
  9. php活体检测,人脸门禁系统中活体检测的必要性
  10. Spark RDD 特征及其依赖