【经验】无线SoC EFR32系列的timer配置及注意点介绍
SILICON LABS的EFR32系列无线SoC的timer在协议的应用中起非常重要的作用,应用于协议中的任务切换、功耗模式切换、定时发送等,本文主要介绍EFR32的定时器相关的配置及注意要点。
1. RAIL TIME
RAIL TIME 分辨率是1μs,从启动开始计算。这个基础定时器应用用于所有任务(时间戳和绝对计时器)。它储存在RAIL_Time_t上。
不同的硬件可能以不同的速度运行,转换成这个通用的1μs时基。因此RAIL提供了通用的getter/setter:
RAIL_Time_t RAIL_GetTime()
RAIL_Status_t RAIL_SetTime(RAIL_Time_t time)
注意,使用通常不推荐使用RAIL_SetTime:当计时器运行时,它可能会导致严重的问题,在动态多协议模式下,RAIL TIME是协议间为数不多的共享资源之一。
2. 时间戳Timestamps
默认情况下,每个数据包都带有时间戳,虽然可以在PACKET_SENT/SYNC1_DETECT或PACKET_RECEIVED保存计时器的值,但不建议这样做,因为不能保证事件的延迟时间。
若要获取传输数据包的时间戳,在RAIL_EVENT_TX_PACKET_SENT事件中使用RAIL_GetTxPacketDetails() 或 RAIL_GetTxPacketDetailsAlt():
if ( events & RAIL_EVENT_TX_PACKET_SENT ){
RAIL_TxPacketDetails_t packetDetails;
packetDetails.isAck = false;
packetDetails.timeSent.timePosition = RAIL_PACKET_TIME_AT_PACKET_END;
packetDetails.timeSent.totalPacketBytes = 16;
RAIL_GetTxPacketDetails(railHandle, &packetDetails);
}
或者使用API:
if ( events & RAIL_EVENT_TX_PACKET_SENT ){
RAIL_TxPacketDetails_t packetDetails; bool isAck = false;
RAIL_GetTxPacketDetailsAlt(railHandle, isAck, &packetTime);
}
在将packetDetails传递给函数之前,注意packetDetails中初始化的字段:必须始终初始化前两个字段(isAck和timecent.timePosition)才能获得正确的时间戳;“timeSent.totalPacketBytes”只在部分情况下工作。对于备用API,只需要知道数据包是否是ACK,但之后必须转换时间戳。获取接收到的数据包的长度相对简单,替代API不需要任何初始化,但需要稍后进行转换。注意,packetHandle用于标识我们需要时间戳的数据包:只要数据包不是自动释放的,或者在RAIL_HoldRxPacket之后有RAIL_ReleaseRxPacket,就存储接收数据包的时间戳。
3. 通用定时器
在Rail的TimerBase中通常是会设置一个通用寄存器,用到以下API:
RAIL_Status_t RAIL_SetTimer(RAIL_Handle_t railHandle, RAIL_Time_t time, RAIL_TimeMode_t mode, RAIL_TimerCallback_t cb)
RAIL_Time_t RAIL_GetTimer (RAIL_Handle_t railHandle)void RAIL_CancelTimer (RAIL_Handle_t railHandle)bool RAIL_IsTimerExpired (RAIL_Handle_t railHandle)bool RAIL_IsTimerRunning (RAIL_Handle_t railHandle)
RAIL_TimerCallback_t是一个函数指针,指向计时器触发时将调用的函数。在这种情况下,RAIL TIME模式可以取两个值:
RAIL_TIME_ABSOLUTE
RAIL_TIME_DELAY
如果使用RAIL_TIME_ABSOLUTE,指的是RAIL TIME,而RAIL_TIME_DELAY在RAIL timebase中是指来自呼叫的延迟。注意,延迟的实现是为了保证参数中提供的延迟。如果需要准确的延迟,使用RAIL TIME:
RAIL_Time_t anchor = RAIL_GetTime();
RAIL_SetTimer(railHandle, anchor + 1000, RAIL_TIME_ABSOLUTE, timerCb);
不允许重新启动timer,如果需要充重置timer,应先调用RAIL_CancelTimer()取消timer。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由蜡笔小芯提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】芯科科技EFR32MG21A020F512IM32无线SOC固件烧录方法及步骤
笔者设计了一款Zigbee无线通信模块,采用Silicon Labs(芯科科技)EFR32MG21A020F512IM32无线SOC作为主芯片,包含512KB Flash、64KB RAM和丰富硬件外设,最大发射功率20dBm,支持Zigbee 3.0协议,主要用于智能家居中的网关、智能开关等产品的无线连接。本文介绍EFR32MG21A020F512IM32无线SOC固件烧录方法及步骤。
【经验】创建ZigBee的无线SOC网关工程操作步骤
Silicon Labs公司的EFR32MG系列是针对智能家居市场应用的多协议无线SOC,单芯片支持蓝牙、ZigBee和Thread等协议,尤其是高性价比的系列2产品MG21、MG22,在ZigBee应用方面受到广大工程师的青睐。对于新手来说,使用SOC模式网关是最简单不过,本文就指导大家创建ZigBee的SOC网关工程操作步骤。
【经验】无线SoC EFR32BG22 EM4模式的进入与唤醒实现注意事项
Silicon Labs的无线SoC EFR32BG22的EM4模式支持nA级别的待机电流,对于功耗要求极为苛刻的应用非常合适,在这个模式下,只支持特定的GPIO以及reset唤醒。本文主要讲解EM4模式的进入与唤醒实现注意事项。
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 立即选型
SILICON LABS Matter 无线SoC选型表
EFR32MG24 无线 SoC 是使用 Matter、OpenThread 和 Zigbee 进行网状物联网无线连接的理想选择
产品型号
|
品类
|
Protocol Stack
|
MAX TX Power (dBm)
|
Flash(kB)
|
RAM(kB)
|
GPIO(个数)
|
Secure Vault
|
IADC High-Speed/High-Accuracy
|
Multi Vector Processor
|
Max CPU Speed(MHz)
|
Operating Temperature(℃)
|
Storage Temperature(℃)
|
Pin Count
|
AVDD Supply Voltage(V)
|
EFR32MG24B310F1536IM48-B
|
Wireless SoC
|
Matter,Zigbee,Thread,Bluetooth 5.3
|
10dBm
|
1536kB
|
256kB
|
28
|
High
|
IADC High-Speed/High-Accuracy
|
Multi Vector Processor
|
78.0MHz
|
-40℃~125℃
|
-50℃~150℃
|
QFN48
|
1.71V~3.8V
|
选型表 - SILICON LABS 立即选型
2024年Silicon Labs(芯科科技)无线SoC新产品发布会
12月26日Silicon Labs(芯科科技)无线SoC新产品发布会上将重磅推出的SiWx917以及MG2X系列无线SoC。两款产品均集成了先进的无线技术、强大的处理能力和高效的能耗管理,同时还具备了两项关键功能:超低功耗运行以及单芯片Matter over Wi-Fi功能支持。
层峰观点:边缘AIoT时代已来,无线SoC生逢其时
芯科科技作为一家全球领先的拥有安全和智能无线技术、先进外围设备和先进计算内核的无线SoC供应商,推出集成AI/ML 加速器的BG24 和MG24 无线SoC,支持Sub-GHz和2.4 GHz低功耗蓝牙射频的FG28 双频SoC应用于边缘AIoT时代的到来。
【经验】无线SoC EFR32MG21使用ADC后EM2模式功耗较高问题如何解决?
EFR32MG21是Silicon Labs最新一代支持多协议的无线SoC,最近有用户发现EFR32MG21初始化ADC后,进入EM2模式的电流比较高,无法恢复到正常的EM2电流,本文就将分析问题的原因并给出解决方法。
【经验】EFR32FG23无线SoC使用I2C读写MSA311传感器寄存器的方法
本文以 Silicon Labs 的 EFR32FG23 无线SoC芯片的 rail_soc_simple_trx 工程为例,介绍如何使用EFR32FG23 芯片 I²C外设来读写敏芯微 MSA311三轴加速度传感器寄存器的方法。
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 EFR32MG的ZigBee开发之Token使用教程
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。Token是用来存储非易失性数据的即掉电后也能保存,本文档指导大家如何在EmberZNet PRO应用程序中自定义Token来存储非易失性数据。
【应用】芯科无线SoC EFR32FG25A助力智能电表设计,发射功率可达16dBm
现在流行采用双模(有线+无线)方式来传输数据,无线与频率成反比,在低功耗、长距离通信或穿墙能力上,SUB-G Hz射频更有优势,本文介绍芯科无线SoC EFR32FG25A111F1152IM56-B在智能电表中的使用优势。
【经验】如何使用RAILTEST程序测试无线SoC芯片EFR32MG的蓝牙性能?
使用过Silicon Labs无线SoC芯片EFR32MG的Zigbee功能的工程师多数已经习惯使用Railtest软件对Zigbee性能做测试,而在Railtest软件下也可以对BLE性能做测试。本文将介绍具体的设置步骤与注意事项。
【经验】如何使用Simplicity Commander对无线SoC EFR32系列进行恢复
各位在使用Silicon Labs的无线SoC EFR32系列芯片时,由于各种配置和操作不当可能导致芯片无法识别和烧录,在找到原因之前我们需要对芯片进行恢复,Silicon Labs提供的强大烧录软件 commander 提供了这些功能。那么什么情况下我们需要使用 commander recover 功能,以及如何使用呢?本文将详细介绍。
Silicon labs Wi-SUN无线SoC芯片选型表
Wi-SUN无线SoC芯片,内核:ARM Cortex-M33,发射功率:16dBm,接收灵敏度:-125.8dBm,Flash:最大1920kB,RAM:最大512kB,调制方式:OFDM、FSK、O-QPSK,工作温度:-40~125℃,GPIO:最多37个,供电电压:1.71 to 3.8V,休眠电流:2.6 μA、封装QFN56
产品型号
|
品类
|
Integrated MCU
|
MCU Core
|
Flash (kB)
|
RAM (kB)
|
Communications
|
Output Power Max (dBm)
|
RX Current (mA)
|
Peak RX Sensitivity
|
Proprietary 2.4GHz
|
Proprietary Sub-GHz
|
Security
|
GPIO
|
DAC
|
Temp Sensor
|
Timers (16-bit)
|
Temperature Range (℃)
|
Package Type
|
Package Size (mm)
|
EFR32FG25A111F1152IM56-B
|
Wi-SUN SoC
|
Integrated MCU
|
ARM Cortex-M33
|
1152
|
256
|
2xI²C;5xSPI;5xUSART
|
16
|
6.3
|
-125.8(4.8kbps OQPSK@915MHz)
|
×
|
Proprietary Sub-GHz
|
AES-128;AES-256;ECC;SHA-1;SHA-2
|
37
|
VDAC
|
Temp Sensor
|
6
|
-40 to 125
|
QFN56
|
7x7
|
选型表 - SILICON LABS 立即选型
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 103,878
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥27.0929
现货: 90,767
现货市场
品牌: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射频特征,输出测试报告。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
登录 | 立即注册
提交评论