【经验】EFR32多协议无线SoC radio configuration私有协议配置
EFR32系列是Silicon Labs公司针对物联网应用推出的多协议无线SoC,覆盖了私有协议、Blue Tooth 、ZigBee、Thread和Z-Wave等无线协议。本文介绍EFR32 radio configuration私有协议配置方法。
1. simple_TRX初始化代码
1.1 初始化API
1)RAIL_Handle_t RAIL_Init(RAIL_Config_t *railCfg,
RAIL_InitCompleteCallbackPtr_t cb);
对射频参数进行初始化,包括频段,数据率,频偏,帧结构,CRC等。
2)uint16_t RAIL_ConfigChannels(RAIL_Handle_t railHandle,
const RAIL_ChannelConfig_t *config,
RAIL_RadioConfigChangedCallback_t cb);
选择进行收发的射频通道。
3) RAIL_Status_t RAIL_ConfigTxPower(RAIL_Handle_t railHandle,
const RAIL_TxPowerConfig_t*config);
对PA进行初始化,必须在配置发射功率之前调用该函数。
4)RAIL_Status_t RAIL_SetTxPower(RAIL_Handle_t railHandle,
RAIL_TxPowerLevel_t powerLevel);
通过调用该API配置发射功率。
5)RAIL_Status_t RAIL_ConfigEvents(RAIL_Handle_t railHandle,
RAIL_Events_t mask,
RAIL_Events_t events);
初始化回调函数,RAIL_Events_t定义了多种回调事件,如发送事件,接收事件,定时事件等。
2. simple_TRX发送代码
2.1 发送API
1) uint16_t RAIL_SetTxFifo(RAIL_Handle_t railHandle,
uint8_t *addr,
uint16_t initLength,
uint16_t size);
Addr:表示TX FIFO的存放地址,通常为程序中定义的一个数组
initLength:表示FIFO初始化的字节数,也就是已经存放的字节数
size:表示整个FIFO的大小
功能:定义一个FIFO,配置FIFO的地址,已经存放的字节,总的FIFO字节。
2)uint16_t RAIL_WriteTxFifo(RAIL_Handle_t railHandle,
const uint8_t *dataPtr,
uint16_t writeLength,
bool reset);
dataPtr: 要写入FIFO的数据存放地址
reset: 可配置为0或1,表示写入FIFO前,是否需要对FIFO复位
功能: 把指定地址的数据写入之前已经定义的FIFO中。
3)RAIL_Status_t RAIL_SetTxTransitions(RAIL_Handle_t railHandle,
const RAIL_StateTransitions_t *transitions);
transitions:定义在发送完成后,射频自动切换的状态
RAIL_RF_STATE_INACTIVE 不工作
RAIL_RF_STATE_RX 接收状态
RAIL_RF_STATE_TX 发射状态
RAIL_RF_STATE_IDLE 待机状态
3.simple_TRX接收代码
3.1 接收API
1)RAIL_RxPacketHandle_t RAIL_GetRxPacketInfo(RAIL_Handle_t railHandle, RAIL_RxPacketHandle_t packetHandle, RAIL_RxPacketInfo_t *pPacketInfo);
该API用于获取所收到的数据包信息,包括数据包长,数据包在FIFO中的位置等
typedef struct RAIL_RxPacketInfo {
RAIL_RxPacketStatus_t packetStatus; ---包状态
uint16_t packetBytes; ---包中的可读字节长度
uint16_t firstPortionBytes; ---由于FIFO是闭环的,这3个参数用在
uint8_t *firstPortionData; ---出现最后部分FIFO存满,部分数据
uint8_t *lastPortionData; ---又回到起始FIFO的情况
} RAIL_RxPacketInfo_t;
2)RAIL_Status_t RAIL_GetRxPacketDetails(RAIL_Handle_t railHandle,
RAIL_RxPacketHandle_t packetHandle,
RAIL_RxPacketDetails_t *pPacketDetails);
该API用于获取所收到的数据包的详细信息,如时间,CRC,RSSI,LQI,同步字等
typedef struct RAIL_RxPacketDetails {
RAIL_PacketTimeStamp_t timeReceived; ---包接收的时间戳
bool crcPassed; ---CRC是否正确
bool isAck; ---指示收到的包是否是期望的ACK
int8_t rssi; ---包的信号强度
uint8_t lqi; ---包的连接质量因子
uint8_t syncWordId; ---同步字
uint8_t subPhyId; ---用于有多个接收途径,大部分为0
uint8_t antennaId; ---指示天线号
uint8_t channelHoppingChannelIndex; ---跳频通道
}
3)RAIL_Status_t RAIL_ReleaseRxPacket(RAIL_Handle_t railHandle,
RAIL_RxPacketHandle_t packetHandle);
该函数在之前调用RAIL_HoldRxPacket(railHandle)后,必须使用。释放RAIL内部的资源,用于接收下一包数据。
4.simple_TRX回调程序
void RAILCb_Generic(RAIL_Handle_t railHandle, RAIL_Events_t events)
{
if( events & RAIL_EVENT_CAL_NEEDED ){
RAIL_Calibrate(railHandle, NULL, RAIL_CAL_ALL_PENDING);
}
if ( events & RAIL_EVENTS_TX_COMPLETION ){
BSP_LedToggle(0);
}
if ( events & RAIL_EVENTS_RX_COMPLETION ){
BSP_LedToggle(1);
if ( (events & RAIL_EVENT_RX_PACKET_RECEIVED) && packetHandle == RAIL_RX_PACKET_HANDLE_INVALID ){
packetHandle = RAIL_HoldRxPacket(railHandle);
}
}
}
1) RAIL_RxPacketHandle_t RAIL_HoldRxPacket(RAIL_Handle_t railHandle);
该函数用于临时存放接收的数据,以及相应的数据信息。该函数必须在回调函数中使用。
常用在触发中断的事件
RAIL_EVENTS_TX_COMPLETION ---数据发送完成(可包括成功发送,发送退出,发送阻塞,数据溢出等)
RAIL_EVENT_TX_PACKET_SENT ---数据成功发送
RAIL_EVENTS_RX_COMPLETION ---数据接收完成(可包括成功接收,接收退出,接收帧错误,数据溢出,地址过滤等)
RAIL_EVENT_RX_PACKET_RECEIVED ---数据成功接收
下边是一个接收数据及接收信号强度打印
- |
- +1 赞 0
- 收藏
- 评论 0
本文由宇宙无敌美少女转载自Silicon Labs,原文标题为:EFR32 radio configuration私有协议配置,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】EFR32MG21多协议无线SoC的SWO PA03如何复用为普通GPIO口呢?
EFR32MG21 系列是 Silicon Labs 推出的高性价比的多协议无线SoC,用户在进行产品开发时会遇到 GPIO 不够用的情况,此时我们可以通过复用 JTAG 管脚中的 SWO log 输出脚,作为普通 GPIO 使用。本文介绍把 PA03 配置成普通按键的方法。
设计经验 发布时间 : 2020-06-29
【经验】多协议无线SoC EFR32MG的ZigBee开发之Token使用教程
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。Token是用来存储非易失性数据的即掉电后也能保存,本文档指导大家如何在EmberZNet PRO应用程序中自定义Token来存储非易失性数据。
设计经验 发布时间 : 2019-02-13
【经验】芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项
最近有用户在使用PA口时发现会出现一些异常,而且主要集中在PA01/PA02/PA03/PA04几个低端口,它们在使用时会出现一些异常的波形或无法控制。本文世强来介绍芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项。
设计经验 发布时间 : 2022-09-26
EFR32MG13 Mighty Gecko Multi-Protocol Wireless SoC Family Data Sheet
型号- EFR32MG13,EFR32MG13P632F512GM48-D,EFR32XG13,EFR32MG13P732F512GM48-D,EFR32MG13P733F512GM48-D,EFR32MG13P732F512IM48-D,EFR32MG13P733F512IM48-D,EFR32MG13P732F512IM32-D,EFR32MG FAMILIES,EFR32MG,EFR32MG13P732F512GM32-D,EFR32XG13P132F512GM48-AR,EFR32MG13P632F512GM32-D,EFR32MG13 FAMILY,EFR32
EFR32MG21 Multiprotocol Wireless SoC Family Data Sheet
型号- EFR32MG21A020F512IM32-B,EFR32MG21B020F512IM32-D,EFR32MG21B020F512IM32-B,EFR32MG21A010F512IM32-B,EFR32MG21B010F512IM32-B,EFR32MG21A010F768IM32-D,EFR32MG21B020F1024IM32-B,EFR32MG21B010F1024IM32-B,EFR32MG21B010F768IM32-D,EFR32MG21B010F768IM32-B,EFR32MG21B010F1024IM32-D,EFR32MG21A010F768IM32-B,EFR32MG21B020F1024IM32-D,EFR32MG21B010F512IM32-D,EFR32MG21,EFR32MG21A010F512IM32-D,EFR32MG21B020F768IM32-B,EFR32MG21A020F768IM32-D,EFR32MG21B020F768IM32-D,EFR32MG21A020F768IM32-B,EFR32MG21A020F512IM32-D,EFR32MG21A010F1024IM32-B,EFR32MG21A020F1024IM32-D,EFR32MG21A020F1024IM32-B,EFR32MG21A010F1024IM32-D
芯科科技提供Matter一站式开发平台及适用于互联健康与可穿戴设备的超低功耗、多协议无线SoC和模块
Silicon Labs(亦称“芯科科技”)作为Matter和互联健康解决方案的领先供应商,正全力支持及推广健康与保健工作组的项目,通过为开发人员提供完善的Matter一站式开发平台,以及适用于互联健康与可穿戴设备的超低功耗、多协议无线SoC和模块,来加速实现此一愿景。
原厂动态 发布时间 : 2024-03-01
EFR32MR21 Revision-C RCP Multiprotocol Wireless SoC Data Sheet
型号- EFR32MR21A020F512IM32-CR,EFR32MR21,EFR32MR21A020F512IM32-C
【经验】如何配置多协议无线SoC EFR32的SPI外设驱动端口映射?
Silicon Labs公司针对物联网应用推出的多协议无线SoC,客户在开发时通常会通过基于开发板的例程代码来修改成自己的产品功能,本文基于开发板的SPI例程指导如何修改客户自定义的SPI的引脚,从而实现客户自己产品的SPI功能。
设计经验 发布时间 : 2020-09-25
芯科科技多协议无线SoC助力控客开发智能家居解决方案,为杭州亚运村打造智能舒适、便捷安全的生活体验
SILICON LABS MG21多协议无线SoC获杭州控客信息技术有限公司采用于开发全套智能家居解决方案,并提供予杭州亚运会媒体村打造智能、舒适、便捷、安全的生活体验。控客于近期采用了芯科科技MG21多协议无线片上系统(SoC)的控客智能家居解决方案于先前落地杭州亚运会媒体村,用创新性设计和高品质产品,为入住人员提供了智能、舒适、便捷、安全的生活体验。
应用方案 发布时间 : 2023-12-07
【经验】高性能多协议无线SoC Series 2 EFR32MG21作为BLE的几个发送功率设置方法
Silicon Labs 的EFR32MG21是高性能多协议无线SoC Series2,蓝牙协议栈使用的默认发送功率为+8dBm,所有广告包和数据包都将使用此功率级别进行传输(如果设备具有较低的发送功率能力将会降低)。实际发射功率也可由用户配置和实际情况决定。主要包括如下几种功率配置情况
设计经验 发布时间 : 2020-02-24
【经验】多协议无线SoC EFR32MG的ZigBee开发之Token概念解析
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。在EFR32MG芯片中没有eeprom,Silicon Labs提供了使用flash模拟eeprom(simulated eeprom)的用法,用来存储非易失性数据,所以实际上它们是直接存储在flash上。而这些数据的写入和访问就是通过token来实现的。
设计经验 发布时间 : 2019-02-12
EFR32MR21 RCP Multiprotocol Wireless SoC Data Sheet
型号- EFR32MR21,EFR32MR21A020F512IM32-C,EFR32XG21,EFR32,EFR32MR21 FAMILY
【经验】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
【经验】多协议无线SoC EFR32系列读取信道平均RSSI值的具体实现方法
EFR32系列是Silicon Labs公司针对物联网应用推出的多协议无线SOC,覆盖了私有协议、Blue Tooth 、ZigBee、Thread和Z-Wave等无线协议。在部分应用方案中,需要知道产品在当前信道上面的信号强度,EFR32可以提供RSSI值的读取,通过这一段时间的平均RSSI值来反应当前信道的信号强度。本文将介绍如何获取信道中的平均RSSI值。
设计经验 发布时间 : 2020-03-18
【应用】芯科EFR32MG24多协议无线SoC扩展楼宇自动化解决方案,完全自主和自配置的网络,不会出现故障
Silicon Labs和Wirepas已经为一系列工业应用和用例建立了战略合作伙伴关系和生态系统。这一合作已促成了许多高密度、远程网状网络得以在苛刻的无线电环境中运行。现阶段,双方正致力在扩展智能计量、资产跟踪(Asset Tracking)和楼宇自动化的新解决方案。
应用方案 发布时间 : 2023-06-08
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 103,858
品牌: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
品类:Gecko Multi-Protocol Wireless SoC
价格:¥38.3724
现货: 6,500
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥15.3301
现货: 5,000
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥15.3301
现货: 2,800
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥19.4183
现货: 2,500
品牌:SILICON LABS
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥24.3427
现货: 2,500
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥38.0003
现货: 1,827
品牌:SILICON LABS
品类:Gecko Multi-Protocol Wireless SoC
价格:¥38.3724
现货: 520
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。
最小起订量: 2500 提交需求>
根据用户的接口模块,使用是德示波器及夹具查看实时眼图演示,测试USB/MIPI/DDR/SATA/HDMI协议,支持最高到1.2GHz的实时眼图协议测试。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
登录 | 立即注册
提交评论