【经验】无线SoC EFR32系列的timer配置及注意点介绍

2020-04-14 世强
无线SoC,EFR32,Silicon Labs 无线SoC,EFR32,Silicon Labs 无线SoC,EFR32,Silicon Labs 无线SoC,EFR32,Silicon Labs

SILICON LABSEFR32系列无线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。


授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由蜡笔小芯提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

平台合作

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】芯科科技EFR32MG21A020F512IM32无线SOC固件烧录方法及步骤

笔者设计了一款Zigbee无线通信模块,采用Silicon Labs(芯科科技)EFR32MG21A020F512IM32无线SOC作为主芯片,包含512KB Flash、64KB RAM和丰富硬件外设,最大发射功率20dBm,支持Zigbee 3.0协议,主要用于智能家居中的网关、智能开关等产品的无线连接。本文介绍EFR32MG21A020F512IM32无线SOC固件烧录方法及步骤。

2020-03-16 -  设计经验 代理服务 技术支持 采购服务

【经验】无线SoC EFR32BG22 EM4模式的进入与唤醒实现注意事项

Silicon Labs的无线SoC EFR32BG22的EM4模式支持nA级别的待机电流,对于功耗要求极为苛刻的应用非常合适,在这个模式下,只支持特定的GPIO以及reset唤醒。本文主要讲解EM4模式的进入与唤醒实现注意事项。

2021-06-02 -  设计经验 代理服务 技术支持 采购服务

【经验】无线SoC EFR32MG21使用ADC后EM2模式功耗较高问题如何解决?

EFR32MG21是Silicon Labs最新一代支持多协议的无线SoC,最近有用户发现EFR32MG21初始化ADC后,进入EM2模式的电流比较高,无法恢复到正常的EM2电流,本文就将分析问题的原因并给出解决方法。

2020-05-31 -  设计经验 代理服务 技术支持 采购服务

【应用】芯科无线SoC EFR32FG25A助力智能电表设计,发射功率可达16dBm

现在流行采用双模(有线+无线)方式来传输数据,无线与频率成反比,在低功耗、长距离通信或穿墙能力上,SUB-G Hz射频更有优势,本文介绍芯科无线SoC EFR32FG25A111F1152IM56-B在智能电表中的使用优势。

2023-05-27 -  应用方案 代理服务 技术支持 采购服务

【经验】如何使用Simplicity Commander对无线SoC EFR32系列进行恢复

各位在使用Silicon Labs的无线SoC EFR32系列芯片时,由于各种配置和操作不当可能导致芯片无法识别和烧录,在找到原因之前我们需要对芯片进行恢复,Silicon Labs提供的强大烧录软件 commander 提供了这些功能。那么什么情况下我们需要使用 commander recover 功能,以及如何使用呢?本文将详细介绍。

2020-04-27 -  设计经验 代理服务 技术支持 采购服务

【经验】如何使用RAILTEST程序测试无线SoC芯片EFR32MG的蓝牙性能?

使用过Silicon Labs无线SoC芯片EFR32MG的Zigbee功能的工程师多数已经习惯使用Railtest软件对Zigbee性能做测试,而在Railtest软件下也可以对BLE性能做测试。本文将介绍具体的设置步骤与注意事项。

2020-09-26 -  设计经验 代理服务 技术支持 采购服务

【经验】创建ZigBee的无线SOC网关工程操作步骤

Silicon Labs公司的EFR32MG系列是针对智能家居市场应用的多协议无线SOC,单芯片支持蓝牙、ZigBee和Thread等协议,尤其是高性价比的系列2产品MG21、MG22,在ZigBee应用方面受到广大工程师的青睐。对于新手来说,使用SOC模式网关是最简单不过,本文就指导大家创建ZigBee的SOC网关工程操作步骤。

2020-04-09 -  设计经验 代理服务 技术支持 采购服务

【经验】使用无线SoC EFR32MG24开发板测量芯片低功耗时的注意事项

介绍在使用EFR2MG24开发板测量芯片的低功耗电流时的注意事项。我们在使用无线SoC开发板测量芯片的低功耗性能时,使用开发板加上Simplicity Studio下的Energy Profiler软件测量出来的EM2模式下的电流会比数据手册上的稍大一些。

2023-03-27 -  设计经验 代理服务 技术支持 采购服务

【经验】Silicon Labs多协议无线SoC EFR32 EM4模式配置及应用

EFR32无线SoC包含多协议EFR32MG系列、蓝牙系列EFR32BG 和私有协议系列EFR32FG,内核均为Silicon Labs的cortex M4,外设等也基本沿用EFM32单片机。EFR32的低功耗模式共分为5种,分别是EM0~EM4,其中EM4又分为EM4H和EM4S。本文将实现可被引脚唤醒的EM4休眠状态。

2018-09-14 -  设计经验 代理服务 技术支持 采购服务

【经验】EFR32MG系列无线SoC使用DMA方式收发串口数据的方法

EFR32MG是Silicon Labs公司推出的多协议无线SoC,有时在实际使用中,要用DMA(直接存储器访问)方式来收发串口数据,从而减小MCU的负担。本文以EFR32MG13为例介绍如何实现使用DMA收发串口数据的方法。

2020-12-29 -  设计经验 代理服务 技术支持 采购服务

【应用】芯科深度睡眠电流仅为1.2μA的无线SoC用于无线报警器,满足数年使用时间需求

随着对室内燃气安全的重视,其中硬件的可靠性、响应速度、传输距离、安全性这些都需要考虑,于是对无线报警器的需求就应运而生,使用无线报警器无需传统线路连接,基于芯科无线SoC EFR32FG23A020F512GM40为基础设计无线报警器,功耗低,使用小型电池可支持数年使用,使用DSSS调制方式传输距离可达数千米。

2023-03-15 -  应用方案 代理服务 技术支持 采购服务
展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:Wireless SoC

价格:¥35.3989

现货: 100,637

品牌:SILICON LABS

品类:Wireless SoC

价格:¥31.7756

现货: 88,140

品牌:SILICON LABS

品类:Wireless SoC

价格:¥19.9760

现货: 80,417

品牌:SILICON LABS

品类:Mighty Gecko Multi-Protocol Wireless SoC

价格:¥27.0929

现货: 71,767

品牌:SILICON LABS

品类:Wireless SoC

价格:¥40.1376

现货: 70,164

品牌:SILICON LABS

品类:Wireless SoC

价格:¥22.1593

现货: 58,419

品牌:SILICON LABS

品类:Wireless SoC

价格:¥25.9222

现货: 24,387

品牌:SILICON LABS

品类:Wireless SoC

价格:¥14.7732

现货: 14,998

品牌:SILICON LABS

品类:Wireless SoC

价格:¥15.0516

现货: 14,032

品牌:SILICON LABS

品类:Gecko Multi-Protocol Wireless SoC

价格:¥44.9692

现货: 12,980

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SILICON LABS

品类:EFR32MG21A020F512IM32-B

价格:¥14.5550

现货:1,874

品牌:SILICON LABS

品类:Wireless SoC

价格:¥15.1400

现货:1,455

品牌:SILICON LABS

品类:Switch Hall Effect Magnetic Position Sensor

价格:¥2.2924

现货:126,000

品牌:SILICON LABS

品类:Light Sensor

价格:¥20.3400

现货:28,003

品牌:SILICON LABS

品类:8位MCU

价格:¥4.9000

现货:12,000

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.1700

现货:10,000

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.7900

现货:3,451

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥11.1200

现货:1,201

品牌:SILICON LABS

品类:8位MCU

价格:¥56.0000

现货:550

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥16.8500

现货:550

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

网络分析仪/频谱仪/信号分析仪/无线综测仪/信号发生器租赁

提供是德(Keysight),罗德(R&S)测试测量仪器租赁服务,包括网络分析仪、无线通讯综测仪、信号发生器、频谱分析仪、信号分析仪、电源等仪器租赁服务;租赁费用按月计算,租赁价格按仪器配置而定。

提交需求>

无线充电传输效率测试

配备KEYSIGHT网络分析仪,可测量无线充电系统发射机/接收机线圈的阻抗,电感L、电阻R、电感C以及品质因数Q,仿真不同充电负载阻抗下的无线充电传输效率。支持到场/视频直播测试,资深专家全程指导。

实验室地址: 深圳 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面