【经验】低功耗蓝牙SoC EFR32BG22系列如何从软硬件两方面实现低功耗设计?
EFR32BG22是SILICON LABS公司主打的低功耗蓝牙SoC系列,以优异的性能和低廉的价格一度称霸市场。但是对于新手工程师来说,如何控制好功耗,以延长电池类产品的寿命,有很多需要关注的地方。本文将从硬件和代码底层两方面分析SoC低功耗实现的关键点。
首先,我们先来看一下SOC外部电路设计,为了获得更低的功耗有两点需要注意:
1,使用内部DC-DC可以使功耗降低
下图是同样在使用外部38.4MHz并在内部Flash执行代码的情况下,不使用内部DC-DC和使用内部DC-DC的电流消耗的区别。
(1)不使用内部DC-DC↓
(2)使用DC-DC↓
2,低速时钟源的选取也会影响功耗
下图是在使用外部32.768kHz晶振和使用内部LFRCO (使用BLE时候要把LFRCO置于Precision mode)的电流消耗区别。
使用外部32.768kHz↓
使用内部LFRCO↓
接下来简述一下EFR32BG22支持5种电源模式EM0~EM4,其中EM1~EM4是省电模式。
可以看到,上图是EM0~EM4各种模式下所支持的设备,以颜色区分。可见不同省电模式下所能使用的外设还是有很大区别的:例如,EFR32BG22是低功耗蓝牙SOC,蓝牙堆栈运行时始终需要RAM和RTCC。RAM保留应用程序数据,而RTCC确保在打开通信窗口且必须接收/发送数据包时唤醒设备。RAM需要EM3或更高版本才能工作,而RTCC需要EM0 / EM1 / EM2才能通过LFCLK工作。这意味着 ,没有关闭蓝牙功能的特殊要求,则最多可以将SOC置于EM2模式,以维持蓝牙的功能。
另外,当蓝牙功能打开时需要注意:
1,在处理器上运行和/或无线电正在接收/发送时,需要EM0模式。
2,如果没有运行的任务和非无线电通信需要的模式,但一些外设需要EM1模式(例如USART)。
3,在其他情况下,设备是可以进入EM2模式。
接下来我们从代码角度分析一下如何控制SOC低功耗
蓝牙协议栈本身经过了针对低功耗优化的设计,如果启用了深度睡眠,SOC会在 EM0模式 和 EM2模式之间切换;如果禁用深度睡眠,则SOC会在EM0模式 和 EM1模式之间切换 。
要在使用蓝牙协议栈的C工程中启用深度睡眠,需要将gecko_configuration结构中的.config_flags成员定义为SLEEP_FLAGS_DEEP_SLEEP_ENABLE
另外,基于蓝牙堆栈的应用程序的默认代码模板如下所示:
while(1)
{
evt = gecko_wait_event();
switch(BGLIB_MSG_ID(evt->header))
{
//handling of different stack events
}
}
上述代码中,函数gecko_wait_event()调用会自动将SOC置于EM1 / EM2模式,并设置定时器以在需要时将其唤醒。仅当引发堆栈事件(例如,连接建立事件)时,该函数才返回。此后,应用程序可以处理事件并执行其他任务。
但是,有时候即使没有蓝牙事件,应用程序也需要运行,例如定期轮询某些外围设备的状态。这就需要唤醒设备重新产生协议栈事件使gecko_wait_event()返回。这可以通过两种方式实现:
1,使用gecko_cmd_hardware_set_soft_timer()在堆栈中设置软件计时器 。计时器到期时唤醒设备,生成堆栈事件(evt_hardware_soft_timer),然后从gecko_wait_event()返回。
2,设置中断,并使用gecko_external_signal(signal)从中断处理程序触发外部堆栈事件 。强制堆栈引发一个新事件(evt_system_external_event)。并从gecko_wait_event()返回。
值得注意的是睡眠模式是初始化协议栈的时候就定义好的,因此运行过程中是不能够更改的,但是有些时候还是需要暂时使SOC不要进入睡眠模式的。例如,使用USART首发数据时,必须禁用深度睡眠才能使USART控制器正常工作并能够接收消息。通过使用睡眠驱动函数SLEEP_SleepBlockBegin(sleepEM2)可以暂时禁用EM2模式 。要重新启用EM2模式,可以使用 SLEEP_SleepBlockEnd(sleepEM2)。当EM2模式被禁用时,协议栈将临时在EM0和EM1之间切换。
这里需要注意,如上图,睡眠驱动函数底层是通过计数器方式实现的,因此上SLEEP_SleepBlockBegin()/ SLEEP_SleepBlockEnd()的调用必须成对调用。否则会出现进不了或退不出睡眠的故障现象。这里需要工程师在编写程序的时候严格注意。
蓝牙协议栈在EM3模式下不起作用。但是,如果没有蓝牙连接处于活动状态,并且一段时间内不需要广告或扫描,则可以暂时将SOC置于EM3模式以节省能量。EM3模式在协议栈默认情况下时是不支持的,但是可以通过调用SLEEP_SleepBlockEnd(sleepEM3)来实现 。协议栈中对SLEEP_Sleep()的下一次调用将使SOC进入EM3模式,需要SOC从EM3模式退出可以使用中断将之唤醒。在中断处理程序中调用 SLEEP_SleepBlockBegin(sleepEM3)以使堆栈再次正常工作。
但是请注意,虽然EM2模式与EM1模式相比电流消耗降低了许多,但在EM3模式下,电流消耗仅比EM2模式降低了十分之一μA。因此除非必要,作者不建议为了这一点点功耗而开启EM3模式,这会大幅提高代码流程的复杂度。
最后我们再来说一下EM4模式,在这种模式下,几乎所有设备都被关闭,电流消耗仅为几百纳安。但是,要将设备从此状态唤醒,需要所有外设的重置,包括时钟源的恢复。并且没有RAM数据被保留,这无异于重启!所以如果笔者建议如果SOC的电源可以被控制,则可以直接关闭SOC电源,来达到省电的目的,没有进入EM4模式的必要。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由skywalker_lee提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】EFR32BG22系列蓝牙SOC电池电压与VDD供电电压检测ADC的方法
EFR32BG22作为低功耗蓝牙SOC方案,经常应用于电池供电的方案中,一般采用内部的ADC作为采集通道,内部的输入源作为输入接口,来测试VDD供电电压。本文将讲解电池电压与VDD供电电压检测ADC的方法。
【经验】EFR32BG系列蓝牙SoC之低功耗测试操作指导
很多的蓝牙设备都是电池供电的,因此对蓝牙SoC功耗水平测试与评估就非常有必要。Silicon Labs公司提供的蓝牙评估板底板,都带有电流功耗测试功能,搭配Simplicity studio v4开发平台的energy profile功耗测试上位机,非常容易测试出EFR32BG系列蓝牙SoC的功耗水平。我们详细介绍功耗测试需要的软件和硬件以及测试操作。本文就将具体进行说明。
【经验】芯科科技EFR32BG22系列蓝牙SOC低功耗优化的相关配置
本文主要介绍Silicon Labs(芯科科技)EFR32BG22系列蓝牙SOC目前所有的低功耗优化的相关配置,实现目标: VDD=3V,VSCALE0=0.9V,温度25℃,EM2模式下深度休眠为1.4μA。
Silicon Labs联手Unikie拓展边缘物联网应用,强化蓝牙定位解决方案性能
Silicon Labs(芯科科技)与物联网设计伙伴Unikie近期针对边缘智能(Edge AI)和物联网结合的应用强化合作。Unikie拥有近600名嵌入式系统工程专家,可帮助汽车、医疗保健、工业和智能建筑领域的设备OEM充分利用芯科科技的物联网无线连接、低功耗蓝牙(Bluetooth LE)和应用于边缘智能的人工智能和机器学习(AI/ML)解决方案。
测量SiWx917 Wi-Fi SoC的功耗和吞吐量
描述- 本文介绍了SiWx917 Wi-Fi 6 + 低功耗蓝牙SoC的功耗和吞吐量特性。文章详细阐述了SiWx917的功耗优化设计,包括低功耗模式、动态电压/频率缩放和智能电源管理等,并通过实际测试数据展示了其超低功耗性能。此外,文章还介绍了SiWx917在Wi-Fi摄像头设计中的应用优势,包括低功耗、长电池寿命和易于开发等特点。
型号- SIWX917
【IC】SiWx917M为Wi-Fi物联网设备提供大内存、小尺寸和低功耗三者兼具的良方
微小的物联网设备尺寸和有限的硬件资源往往难以满足日益增长的内存需求。本文将介绍物联网设备实际需要多少内存,以及SiWx917M Wi-Fi 6 SoC如何响应物联网开发人员对更多内存的需求。
洞悉标准化蓝牙ESL应用潜力,芯科科技全系列低功耗、高性能蓝牙SoC和模块现已支持最新蓝牙5.4版本
随着蓝牙标准的推陈出新,Silicon Labs(亦称“芯科科技”)也持续升级蓝牙解决方案,全系列低功耗、高性能蓝牙SoC和模块现已支持最新蓝牙5.4版本,以满足开发人员的需求。
【经验】Silicon Labs低功耗蓝牙SoC EFR32BG22如何通过GPIO唤醒UART通信
SiliconLabs的低功耗蓝牙SoC EFR32BG22系列芯片以极低的功耗和相对低廉的价格,达到了性价比的极致。目前大家开发EFR32BG22,大部分都会使其工作在休眠状态,一般会先用一个GPIO唤醒EFR32BG22,通过一定的条件使EFR32BG22停止休眠,再去串口通信,通信完成后,再进入休眠这样的流程。本文介绍下如何使用Silicon Labs的Bluetooth SDK实现该功能。
Silicon Labs的SiWx917低功耗无线SoC,其低功耗WiFi保活的功能,显著降低智能门锁的能耗
SiWx917是Silicon Labs推出的一款支持Wi-Fi 6和蓝牙LE双模连接的低功耗无线SoC。它集成了先进的无线技术、强大的处理能力和高效的能耗管理,非常适合智能门锁对稳定性、低功耗和数据安全有着严格要求的设备。特别是SiWx917的低功耗WiFi保活的功能,在低功耗睡眠模式下,依然可以保持WiFi网络处于连接状态。
【经验】低功耗蓝牙SoC芯片EFR32BG系列的UART串口通信参考代码与解析
EFR32BG是Silicon Labs公司的高性能低功耗蓝牙SoC芯片。支持蓝牙5.0、5.1协议和蓝牙Mesh协议,发射电流3.5mA@0dbm,接收电流仅有2.6mA。广泛用于智能门锁,蓝牙门禁系统,照明系统,智能家居;在开发EFR32BG蓝牙SoC的代码过程中,经常需要用到uart通信,本文详细介绍如何找到参考代码以及代码解析。
【经验】Silicon Labs 蓝牙SOC EFR32BG22的Jlink接口连接问题解析
EFR32BG22是Silicon Labs公司推出的低功耗、低成本蓝牙SOC。EFR32BG22采用Cortex-M33内核,使用Jlink进行仿真调试、程序下载。出现错误提示,并且多次连接后可以正常连接,本文介绍其错误原因及其解决办法。
芯科SiWx917低功耗WiFi 6+BLE SoC用于IPC网络摄像机,支持低功耗WiFi保活功能
一些电池供电的IPC在实际应用中,往往面临功耗高、网络连接慢以及处理能力有限等挑战。SiWx917 SoC,Silicon Labs超低功耗Wi-Fi 6和蓝牙 BLE 5.4无线SoC芯片,非常适合应用。
Silicon labs 蓝牙SOC选型表
Cortex-M4/M33内核,支持蓝牙5,待机功耗1.2μA;实测网络节点100+,工作温度高达125℃,提供芯片和模块。其最新的1.4μA超低功耗蓝牙SoC EFR32BG22具有主频高达76.8MHz Cortex-M33内核,16位ADC,支持蓝牙5.2与AoX定位和蓝牙Mesh协议。
产品型号
|
品类
|
MCU Core
|
Core Frequency (MHz)
|
Flash
|
RAM
|
Secure Vault
|
Bluetooth
|
Bluetooth 5
|
Bluetooth Mesh
|
Cryptography
|
Output Power Range (dBm)
|
GPIO
|
I²C
|
SPI
|
I²S
|
Receive Sensitivity
|
ADC
|
Comparators
|
Temperature Range (ºC)
|
Package Type
|
Package Size(mm)
|
EFR32BG24B110F1536IM48-B
|
Bluetooth®Wireless SoC
|
ARM Cortex-M33
|
78
|
1536
|
256
|
High
|
5.3
|
Bluetooth 5
|
Bluetooth Mesh
|
AES-128;AES-256;ECC;SHA-1;SHA-2
|
-20 to 10
|
28
|
2
|
3
|
1
|
-97.6DBM(1Mbit/s GFSK)
|
12-bit,SAR,1Msps
|
2
|
-40 to 125
|
QFN48
|
6x6
|
选型表 - SILICON LABS 立即选型
【经验】芯科蓝牙SOC EFR32BG22在硬件原理图设计中的注意事项
Silicon Labs(芯科)推出的EFR32BG22是一款低功耗、低成本、高性能的蓝牙SOC,在蓝牙市场中应用非常广泛,本文将介绍EFR32BG22在硬件原理图设计中需要注意的一些基本事项。
基于芯科科技BG2x SoC的蓝牙信道探测和能量收集参考设计演示 – 尽在芯科科技/深圳物联网展
Silicon Labs(亦称“芯科科技”)在8月28至30日举办的“2024年深圳物联网展(IOTE Shenzhen)”展出现下最火的蓝牙信道探测(Channel Sounding)和能量收集(Energy Harvesting)参考设计,从而推动更多物联网创新应用。芯科科技的现场全面展示其BG2x低功耗蓝牙SoC和模块系列在蓝牙信道探测和能量收集技术方面的最新进展。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 101,879
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
根据用户的蓝牙模块,使用Bluetooth 蓝牙测试装置MT8852B,测试蓝牙1.0至5.1,包括传输速率、功率、频率、调制和接收机灵敏度,生成测试报告。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
可定制电感最大电流100A,尺寸最小7 x 7 x 3.0mm到最大35 x 34 x 15.5 mm,工作频率100KHZ ~ 2MHZ,感值范围:0.15 ~ 100uh;支持大功率电感,扁平线电感,大电流电感,高频电感,汽车电感器,车规电感,一体成型电感等定制。
最小起订量: 5000 提交需求>
登录 | 立即注册
提交评论