【经验】芯科科技EFR32BG22系列蓝牙SOC低功耗优化的相关配置


本文主要介绍SILICON LABS(芯科科技)EFR32BG22系列蓝牙SOC目前所有的低功耗优化的相关配置,实现目标: VDD=3V,VSCALE0=0.9V,温度25℃,EM2模式下深度休眠为1.4μA。
需求:
Studio V5
Gecko SDK Suite v3.2.2
Bluetooth 3.2.2
新建工程,请参考:【经验】基于Simplicity Studio5创建EFR32BG22蓝牙SoC工程
1.使能2.4G PA
在sl_bluetooth_config.h中的SL_BT_CONFIG_DEFAULT修改:
.pa.pa_mode = 2, //PA选择2P4_LP
.pa.config_enable = 1, //使能
2.设置广播间隔1秒(根据需求)
// Set advertising interval to 100ms.
sc = sl_bt_advertiser_set_timing(
advertising_set_handle,
1600, // min. adv. interval (milliseconds * 1.6)
1600, // max. adv. interval (milliseconds * 1.6)
0, // adv. duration
0); // max. num. adv. Events
3.设置发射功率为0dbm
sl_bt_system_set_tx_power(0,0,0,0);
4.可选–设置为单信道广播
在app.c里面设置
sl_bt_advertiser_set_channel_map(advertising_set_handle,1)
5.使能DCDC(低功耗的硬件设计建议增加DCDC)
进入配置之后使能->保存。
确认为0,
6.SSv5默认调试功能在EM2模式下是打开 debug的,会增加一些功耗。
可以关闭,如下:
7.如果使用开发板测试,关闭外部Flash,如果不是,disable所以未使用的GPIO
void powerDownSpiFlash(void)
{
FlashStatus status;
MX25_init();
MX25_RSTEN();
MX25_RST(&status);
MX25_DP();
MX25_deinit();
}
在main.c里调用。
8.设置VSCALE0
EMU_EM23Init_TypeDef vsInit = EMU_EM23INIT_DEFAULT;
vsInit.vScaleEM23Voltage = emuVScaleEM23_LowPower;
EMU_EM23Init(&vsInit);
9.使用外部低频振荡器
CMU_LFXOInit_TypeDef lfxoInit = CMU_LFXOINIT_DEFAULT;
CMU_LFXOInit(&lfxoInit);
CMU_OscillatorEnable(cmuOsc_LFRCO, false, false);
CMU_OscillatorEnable(cmuOsc_LFXO, true, true);
CMU_ClockSelectSet(cmuClock_LFXO, cmuSelect_LFXO);
10.以上9条优化针对蓝牙协议栈运行,以下这条优化是针对EFR32BG22EFR32BG22作为低功耗MCU使用,可以选择关闭部分的RAM,并启用外部RTC来唤醒。在此模式下,休眠电流极限为1.05uA。
RAM可以被分为24 KB和8 KB的bank,分别从地址0x20000000和0x20006000开始,如下仅保留8KB的RAM:
/* Disable Instruction Cache */
CMU_ClockEnable(cmuClock_ICACHE, true);
ICACHE0->CTRL |= 0x01;
/* Disable Radio RAM memories (FRC and SEQ)*/
CMU_ClockEnable(cmuClock_SYSCFG, true);
SYSCFG->RADIORAMRETNCTRL = 0x103UL;
// 0x103UL : power down both FRCRAM and SEQRAM
// 0x100UL : power down only FRCRAM
// 0x003UL : power down only SEQRAM
// 0x000UL : power down none
附加RTCC初始化:
/**************************************************************************//**
* Setup RTCC with selected clock source
* Select clock source, valid values are cmuSelect_LFRCO, cmuSelect_LFXO,
* and cmuSelect_ULFRCO.
*****************************************************************************/
#define RTCC_CLOCK cmuSelect_ULFRCO
void setupRtcc(CMU_Select_TypeDef rtccClock)
{
RTCC_Init_TypeDef rtccInit = RTCC_INIT_DEFAULT;
RTCC_CCChConf_TypeDef rtccInitCompareChannel = RTCC_CH_INIT_COMPARE_DEFAULT;
if (rtccClock == cmuSelect_LFXO)
{
// Initialize LFXO with specific parameters
CMU_LFXOInit_TypeDef lfxoInit = CMU_LFXOINIT_DEFAULT;
CMU_LFXOInit(&lfxoInit);
}
// Setting RTCC clock source
CMU_ClockSelectSet(cmuClock_RTCCCLK, rtccClock);
// Enable RTCC bus clock
CMU_ClockEnable(cmuClock_RTCC, true);
// Initialize CC1 to toggle PRS output on compare match
//rtccInitCompareChannel.compMatchOutAction = rtccCompMatchOutActionToggle;
RTCC_ChannelInit(1, &rtccInitCompareChannel);
// Setting the CC1 compare value of the RTCC
if (rtccClock == cmuSelect_ULFRCO)
{
RTCC_ChannelCCVSet(1, (1000 * 20) - 1);
}
else
{
RTCC_ChannelCCVSet(1, (32768 * 5) - 1);
}
// Initialize the RTCC
rtccInit.cntWrapOnCCV1 = true; // Clear counter on CC1 compare match
rtccInit.presc = rtccCntPresc_1; // Prescaler 1
RTCC_Init(&rtccInit);
// Enabling Interrupt from RTCC CC1
RTCC_IntEnable(RTCC_IEN_CC1);
NVIC_ClearPendingIRQ(RTCC_IRQn);
NVIC_EnableIRQ(RTCC_IRQn);
}
- |
- +1 赞 0
- 收藏
- 评论 0
本文由蜡笔小芯提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】芯科科技EFR32BG22系列蓝牙SOC修改自定义广播包的思路与具体实例
在蓝牙的实际应用中,往往需要自定义的蓝牙广播包来适应不同的应用环境,本文主要介绍基于SILICON LABS的EFR32BG22蓝牙SOC实现自定义广播数据包的方法。
【经验】STUDIO V5中蓝牙SoC EFR32BG22添加串口LOG打印的方法
在调试Silicon Labs蓝牙SoC EFR32BG22时,一般需要添加LOG打印信息,通过串口的方式来判断代码运行是否正常。由于使用RTT功能在打印信息时无法再次在线调试和代码下载,所以直接采用串口的方式更加便捷。
【经验】Silicon Labs蓝牙SoC在开启了串口后,如何降低功耗?
在调试Silicon Labs的蓝牙SoC时,我们需要打开串口日志输出以方便调试,但是在添加了Log和IO Stream:USART组件后,可以看到日志可以输出了,但是随之EM2休眠功耗却降不下去了,这是由于添加了串口后,默认串口在EM2下是开启的,导致EM2下功耗会比较高,本文将以EFR32BG27为例,指导如何在添加了串口后降低串口功耗。
【经验】EFR32BG系列蓝牙SoC之低功耗测试操作指导
很多的蓝牙设备都是电池供电的,因此对蓝牙SoC功耗水平测试与评估就非常有必要。Silicon Labs公司提供的蓝牙评估板底板,都带有电流功耗测试功能,搭配Simplicity studio v4开发平台的energy profile功耗测试上位机,非常容易测试出EFR32BG系列蓝牙SoC的功耗水平。我们详细介绍功耗测试需要的软件和硬件以及测试操作。本文就将具体进行说明。
【经验】EFR32BG22系列蓝牙SOC电池电压与VDD供电电压检测ADC的方法
EFR32BG22作为低功耗蓝牙SOC方案,经常应用于电池供电的方案中,一般采用内部的ADC作为采集通道,内部的输入源作为输入接口,来测试VDD供电电压。本文将讲解电池电压与VDD供电电压检测ADC的方法。
手机稳定器上需要一颗射频性能好的蓝牙SoC,要求功耗越低越好,请帮忙推荐
芯科科技的低功耗蓝牙SoC芯片EFR32BG22C112应该可以满足你的要求,评估资料:https://www.sekorm.com/doc/2682286.html
【经验】Silicon Labs的蓝牙SoC EFR32BG22如何进行在线的OTA升级?
Silicon Labs的蓝牙SOC EFR32BG目前已经能够支持到蓝牙5.2,工艺升级后的EFR32BG22的功耗能够达到接收4.1mA,0dbm发射功耗3.6mA,休眠功耗低至1.4uA,如此低的功耗,能够大幅延长蓝牙设备的电池续航时间。本文介绍蓝牙SoC EFR32BG22如何进行在线的OTA升级。
【应用】EFR32BG22蓝牙SoC用做CGM连续血糖仪主控,单芯片集成MCU和蓝牙5.2
CGM连续血糖仪为了用户体验更好,要做到小而轻,续航时间长,可以通过手机蓝牙连接获取血糖测量数据。Silicon Labs的蓝牙SoC EFR32BG22在单芯片中集成了MCU和蓝牙5.2,可以作为CGM的主控芯片并实现蓝牙数据收发,有丰富的外设。
在开发一款带蓝牙的智能跳绳,有没有合适的蓝牙SoC推荐,性能与NRF52832相当,能满足国外的认证要求。
Silicon labs推荐的EFR32BG22C112应该可以满足您的需求,目前在智能跳绳上也有成功应用案例,详细参考资料:https://www.sekorm.com/doc/2682286.html
【经验】蓝牙SoC芯片EFR32BG22如何实现蓝牙串口透传功能?
在使用Silicon Labs的蓝牙SoC芯片EFR32BG22做蓝牙模块时,一般需要实现串口透传功能,但BLE不支持SPP功能,要实现这个功能只能用户手动增加相关的服务。本文介绍在EFR32BG22上实现蓝牙串口透传功能(SPP)的方法 。
【经验】蓝牙SoC EFR32BG22的高精度ADC配置步骤与注意事项
Silicon Labs的EFR32BG22系列蓝牙SoC内部集成高精度ADC功能,采用内部1.21V作为Vref,ADC真实有效位数可达13.5bit,使用外部1.25V基准源作为Vref,精度可达14.3bit。本文介绍ADC配置相关步骤以及注意项目。
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增加Button功能并发送Notify数据包的方法
本文以Silicon Labs蓝牙SoC EFR32BG22的Thunderboard模块为例,介绍如何使用Simplicity Studio v5软件在蓝牙soc_empty工程中添加Button功能,并向手机发送Notify数据包的方法。
【经验】蓝牙SoC EFR32BG22芯片如何设置蓝牙广播时间与扫描时间?
Silicon Labs的蓝牙SoC EFR32BG22芯片具有较低的工作电流,在软件设计时还可以通过延长广播间隔时间来降低系统的功耗,但在实际使用中会遇到广播时间设置的较长时主机无法扫描到设备的情况,下面就介绍如何合理的设置蓝牙的广播时间。
【经验】芯科蓝牙SoC EFR32BG22如何将Bootloader去掉以节省flash空间?
使用SILICON LABS的EFR32BG22蓝牙SoC进行开发时,对于一些无须OTA升级的应用,我们可以把bootloader去掉以获取更大的编程应用空间,本文将指导如何把bootloader去掉。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 97,329
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务

可定制变压器的常规尺寸从EE4.4到ETD49不等,温度范围:-40℃~150℃。自动化产品的起订数量:20KPCS,其它定制产品无起订量要求。
提交需求>

可定制内置FPC天线的频率尺寸等参数,频率范围315MHz、433MHz、470MHz、868MHz、915MHz,2.4GHz、5.8GHz、2G(GSM)、3G、4G、5G、WIFI、蓝牙、LoRa、NB-IoT多频段可选。
最小起订量: 1000 提交需求>
登录 | 立即注册
提交评论