【经验】无线SoC EFR32MG21使用ADC后EM2模式功耗较高问题如何解决?
EFR32MG21是SILICON LABS最新一代支持多协议的无线SoC,可以支持蓝牙、ZigBee、Thread等协议,由于EFR32MG21的超高性价比,被广大用户所使用。最近有用户发现EFR32MG21初始化ADC后,进入EM2模式的电流比较高,无法恢复到正常的EM2电流,而之前的EFR32MG12和EFR32MG13系列都没有遇到这个问题。
EFR32MG21的ADC和系列1的EFR32MG12/3内部的ADC不同,通过手册中可以看到EFR32MG21内部是IADC,英文全称为:Incremental Analog to Digital Converter,调用的库函数文件是em_iadc.c和em_iadc.h。
例如IADC的初始化程序如下:
#define CLK_SRC_ADC_FREQ 1000000 // CLK_SRC_ADC
#define CLK_ADC_FREQ 1000000 // CLK_ADC
// Set IADC timer cycles
#define TIMER_CYCLES 10000 // 10000 => 100 samples/second
// 1000 => 1000 samples/second
// 200 => 5000 samples/second
// 100 => 10000 samples/second
// 40 => 25000 samples/second
void initIADC (void)
{
// Declare init structs
IADC_Init_t init = IADC_INIT_DEFAULT;
IADC_AllConfigs_t initAllConfigs = IADC_ALLCONFIGS_DEFAULT;
IADC_InitSingle_t initSingle = IADC_INITSINGLE_DEFAULT;
IADC_SingleInput_t initSingleInput = IADC_SINGLEINPUT_DEFAULT;
// Reset IADC to reset configuration in case it has been modified
IADC_reset(IADC0);
// Configure IADC clock source for use while in EM2
CMU_ClockSelectSet(cmuClock_IADCCLK, cmuSelect_HFRCOEM23); // 1MHz
// Modify init structs and initialize
init.warmup = iadcWarmupNormal;
// Set the HFSCLK prescale value here
init.srcClkPrescale = IADC_calcSrcClkPrescale(IADC0, CLK_SRC_ADC_FREQ, 0);
// Set timer cycles to configure sampling rate
init.timerCycles = TIMER_CYCLES;
// Configuration 0 is used by both scan and single conversions by default
// Use unbuffered AVDD as reference
initAllConfigs.configs[0].reference = iadcCfgReferenceVddx;
// Divides CLK_SRC_ADC to set the CLK_ADC frequency
// Default oversampling (OSR) is 2x, and Conversion Time = ((4 * OSR) + 2) / fCLK_ADC
initAllConfigs.configs[0].adcClkPrescale = IADC_calcAdcClkPrescale(IADC0,
CLK_ADC_FREQ,
0,
iadcCfgModeNormal,
init.srcClkPrescale);
// Single initialization
initSingle.triggerSelect = _IADC_TRIGGER_SINGLETRIGSEL_TIMER;
initSingle.dataValidLevel = _IADC_SINGLEFIFOCFG_DVL_VALID1;
// Enable triggering of single conversion
initSingle.start = true;
// Set to run in EM2
initSingle.fifoDmaWakeup = true;
// Configure Input sources for single ended conversion
initSingleInput.posInput = iadcPosInputPortCPin4;
initSingleInput.negInput = iadcNegInputGnd;
// Initialize IADC
IADC_init(IADC0, &init, &initAllConfigs);
// Initialize Single
IADC_initSingle(IADC0, &initSingle, &initSingleInput);
}
当EFR32MG21的休眠工程添加了如上的初始化函数后,进入EM2状态休眠时,测试EFR32MG21的电流是150多uA。
这是因为EFR32MG21的IADC时钟源在EM2模式仍然工作导致的,从下图EFR32MG21时钟树可以看到IADC的时钟源有HFRCOEM23、FSRCO和EM01GRPACLK,其中HFRCOEM23可以低至EM2模式工作,FSRCO可以低至EM4模式工作,而EM01GRPACLK只能在EM0/EM1模式工作。
而上面的初始中,IADCCLK时钟源正是选择了HFRCOEM23,因此如果想要EFR32MG21进入EM2模式时,IADC的时钟自动关闭,将IADCCLK时钟源选择EM01GRPACLK即可,也就是在上面初始化函数中将
CMU_ClockSelectSet(cmuClock_IADCCLK, cmuSelect_HFRCOEM23);
改成
CMU_ClockSelectSet(cmuClock_IADCCLK, cmuSelect_EM01GRPACLK);
- |
- +1 赞 0
- 收藏
- 评论 1
本文由Carol提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】芯科科技EFR32MG21A020F512IM32无线SOC固件烧录方法及步骤
笔者设计了一款Zigbee无线通信模块,采用Silicon Labs(芯科科技)EFR32MG21A020F512IM32无线SOC作为主芯片,包含512KB Flash、64KB RAM和丰富硬件外设,最大发射功率20dBm,支持Zigbee 3.0协议,主要用于智能家居中的网关、智能开关等产品的无线连接。本文介绍EFR32MG21A020F512IM32无线SOC固件烧录方法及步骤。
【经验】使用Simplicity Commander工具读写EFR32无线SoC芯片EUI和install code方法
本文以Silicon Labs EFR32FG23 Sub-G无线SoC芯片为例,介绍如何读写EFR32无线SoC芯片的EUI和install code的方法。
【经验】创建ZigBee的无线SOC网关工程操作步骤
Silicon Labs公司的EFR32MG系列是针对智能家居市场应用的多协议无线SOC,单芯片支持蓝牙、ZigBee和Thread等协议,尤其是高性价比的系列2产品MG21、MG22,在ZigBee应用方面受到广大工程师的青睐。对于新手来说,使用SOC模式网关是最简单不过,本文就指导大家创建ZigBee的SOC网关工程操作步骤。
SILICON LABS ZIGBEE 无线 Gecko SoC选型表
EFR32MG无线 Gecko SoC 是在 IoT 设备上实现节能多协议连网的理想之选。芯片解决方案结合了 76.8MHz ARM和高性能 2.4GHz 无线电,旨在为 IoT连接应用提供行业领先的节无线 SoC。
产品型号
|
品类
|
Protocol Stack
|
Frequency Band @ Max TX Power(GHz@dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG12P433F1024GL125-C
|
Gecko Multi-Protocol Wireless SoC
|
Bluetooth LE Zigbee Thread Proprietary, Wi-SUN
|
2.4GHz @ 19dBm, Sub-GHz @ 20dBm
|
1024kB
|
256kB
|
65
|
-40℃~85℃
|
-50℃~150℃
|
BGA125
|
1.8V~3.8V
|
选型表 - SILICON LABS 立即选型
2.4GHz无线SoC MG21助力开发SONOFF微型Zigbee USB智能适配器支持路由和快充
SILICON LABS近日宣布,其EFR32MG21(MG21)2.4GHz无线SoC获SONOFF公司选用于开发新型“ZBMicro”智能开关。该产品是SONOFF最新的微型Zigbee USB智能适配器,也是智能家居技术领域的开创性产品。从作为USB设备的智能开关到作为Zigbee路由器和支持快速充电的功能,ZBMicro提供了无与伦比的用户体验,提升了现代智能家居的连接性和便利性。
层峰观点:边缘AIoT时代已来,无线SoC生逢其时
芯科科技作为一家全球领先的拥有安全和智能无线技术、先进外围设备和先进计算内核的无线SoC供应商,推出集成AI/ML 加速器的BG24 和MG24 无线SoC,支持Sub-GHz和2.4 GHz低功耗蓝牙射频的FG28 双频SoC应用于边缘AIoT时代的到来。
【经验】无线SoC EFR32BG22 EM4模式的进入与唤醒实现注意事项
Silicon Labs的无线SoC EFR32BG22的EM4模式支持nA级别的待机电流,对于功耗要求极为苛刻的应用非常合适,在这个模式下,只支持特定的GPIO以及reset唤醒。本文主要讲解EM4模式的进入与唤醒实现注意事项。
【经验】EFR32MG21多协议无线SoC的SWO PA03如何复用为普通GPIO口呢?
EFR32MG21 系列是 Silicon Labs 推出的高性价比的多协议无线SoC,用户在进行产品开发时会遇到 GPIO 不够用的情况,此时我们可以通过复用 JTAG 管脚中的 SWO log 输出脚,作为普通 GPIO 使用。本文介绍把 PA03 配置成普通按键的方法。
【经验】EFR32FG23无线SoC使用I2C读写MSA311传感器寄存器的方法
本文以 Silicon Labs 的 EFR32FG23 无线SoC芯片的 rail_soc_simple_trx 工程为例,介绍如何使用EFR32FG23 芯片 I²C外设来读写敏芯微 MSA311三轴加速度传感器寄存器的方法。
【经验】多协议无线SoC EFR32MG的ZigBee开发之Token使用教程
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。Token是用来存储非易失性数据的即掉电后也能保存,本文档指导大家如何在EmberZNet PRO应用程序中自定义Token来存储非易失性数据。
【经验】如何使用RAILTEST程序测试无线SoC芯片EFR32MG的蓝牙性能?
使用过Silicon Labs无线SoC芯片EFR32MG的Zigbee功能的工程师多数已经习惯使用Railtest软件对Zigbee性能做测试,而在Railtest软件下也可以对BLE性能做测试。本文将介绍具体的设置步骤与注意事项。
【应用】芯科无线SoC EFR32FG25A助力智能电表设计,发射功率可达16dBm
现在流行采用双模(有线+无线)方式来传输数据,无线与频率成反比,在低功耗、长距离通信或穿墙能力上,SUB-G Hz射频更有优势,本文介绍芯科无线SoC EFR32FG25A111F1152IM56-B在智能电表中的使用优势。
【经验】无线SoC EFR32系列的timer配置及注意点介绍
Silicon Labs的EFR32系列无线SoC的timer在协议的应用中起非常重要的作用,应用于协议中的任务切换、功耗模式切换、定时发送等,本文主要介绍EFR32的定时器相关的配置及注意要点。
【经验】芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项
最近有用户在使用PA口时发现会出现一些异常,而且主要集中在PA01/PA02/PA03/PA04几个低端口,它们在使用时会出现一些异常的波形或无法控制。本文世强来介绍芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项。
【经验】无线SoC芯片EFR32MG21程序中MFG_SECURITY_CONFIG参数的设置与功能
在无线SoC芯片EFR32MG21的ZigBee默认Z3Light程序运行时我们可以通过keys print这个CLI命令打印NWK key与TC Link Key等密钥参数,打印的效果如下,那我们是否可以隐藏这些密钥无法打印呢?
电子商城
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥44.9692
现货: 12,980
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
可定制无线位移传感器量程范围10~600mm,采用了无线传输方式,可远程自动实时检(监)测位移量值,准确度级别(级):0.2、0.5;内置模块:无线传输模块、供电模块;传输距离L(m):可视距离1000 (Zigbee、 LORA)。
最小起订量: 1pcs 提交需求>
可根据用户的wifi模块,使用无线连接测试仪MT8862A,测试IEEE802.11a/b/g/n/ac (2.4Ghz和5Ghz)设备的TX、RX射频特征,输出测试报告。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
登录 | 立即注册
提交评论