【经验】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私有协议配置,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】多协议无线 SOC EFR32MG实现ZigBee的OTA操作指南
EFR32MG系列是Silicon Labs公司推出支持多协议无线 SOC,可以单芯片支持私有协议、BLE5.0、BLE MESH、ZigBee和Thread协议,并且可以单芯片支持Sub-GHz和2.4GHz的频段。由于其超低功耗、高射频性能以及高集成度等特点被广泛应用于智能家居、安防、智能工业等市场。在ZigBee的实际应用中,OTA是必不可少的功能,由于选择的型号不同,配置OT
【经验】EFR32MG21多协议无线SoC的SWO PA03如何复用为普通GPIO口呢?
EFR32MG21 系列是 Silicon Labs 推出的高性价比的多协议无线SoC,用户在进行产品开发时会遇到 GPIO 不够用的情况,此时我们可以通过复用 JTAG 管脚中的 SWO log 输出脚,作为普通 GPIO 使用。本文介绍把 PA03 配置成普通按键的方法。
【经验】多协议无线SoC EFR32MG的ZigBee开发之Token使用教程
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。Token是用来存储非易失性数据的即掉电后也能保存,本文档指导大家如何在EmberZNet PRO应用程序中自定义Token来存储非易失性数据。
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 立即选型
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
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 立即选型
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 立即选型
芯科科技提供Matter一站式开发平台及适用于互联健康与可穿戴设备的超低功耗、多协议无线SoC和模块
Silicon Labs(亦称“芯科科技”)作为Matter和互联健康解决方案的领先供应商,正全力支持及推广健康与保健工作组的项目,通过为开发人员提供完善的Matter一站式开发平台,以及适用于互联健康与可穿戴设备的超低功耗、多协议无线SoC和模块,来加速实现此一愿景。
芯科科技多协议无线SoC助力控客开发智能家居解决方案,为杭州亚运村打造智能舒适、便捷安全的生活体验
SILICON LABS MG21多协议无线SoC获杭州控客信息技术有限公司采用于开发全套智能家居解决方案,并提供予杭州亚运会媒体村打造智能、舒适、便捷、安全的生活体验。控客于近期采用了芯科科技MG21多协议无线片上系统(SoC)的控客智能家居解决方案于先前落地杭州亚运会媒体村,用创新性设计和高品质产品,为入住人员提供了智能、舒适、便捷、安全的生活体验。
【经验】芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项
最近有用户在使用PA口时发现会出现一些异常,而且主要集中在PA01/PA02/PA03/PA04几个低端口,它们在使用时会出现一些异常的波形或无法控制。本文世强来介绍芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项。
【经验】如何配置多协议无线SoC EFR32的SPI外设驱动端口映射?
Silicon Labs公司针对物联网应用推出的多协议无线SoC,客户在开发时通常会通过基于开发板的例程代码来修改成自己的产品功能,本文基于开发板的SPI例程指导如何修改客户自定义的SPI的引脚,从而实现客户自己产品的SPI功能。
EFR32MR21 RCP Multiprotocol Wireless SoC Data Sheet
型号- EFR32MR21,EFR32MR21A020F512IM32-C,EFR32XG21,EFR32,EFR32MR21 FAMILY
【经验】高性能多协议无线SoC Series 2 EFR32MG21作为BLE的几个发送功率设置方法
Silicon Labs 的EFR32MG21是高性能多协议无线SoC Series2,蓝牙协议栈使用的默认发送功率为+8dBm,所有广告包和数据包都将使用此功率级别进行传输(如果设备具有较低的发送功率能力将会降低)。实际发射功率也可由用户配置和实际情况决定。主要包括如下几种功率配置情况
【经验】多协议无线SoC EFR32MG的ZigBee开发之Token概念解析
EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。在EFR32MG芯片中没有eeprom,Silicon Labs提供了使用flash模拟eeprom(simulated eeprom)的用法,用来存储非易失性数据,所以实际上它们是直接存储在flash上。而这些数据的写入和访问就是通过token来实现的。
【应用】芯科EFR32MG24多协议无线SoC扩展楼宇自动化解决方案,完全自主和自配置的网络,不会出现故障
Silicon Labs和Wirepas已经为一系列工业应用和用例建立了战略合作伙伴关系和生态系统。这一合作已促成了许多高密度、远程网状网络得以在苛刻的无线电环境中运行。现阶段,双方正致力在扩展智能计量、资产跟踪(Asset Tracking)和楼宇自动化的新解决方案。
电子商城
品牌:SILICON LABS
品类:Wireless Gecko SoC
价格:¥8.1764
现货: 103,878
品牌: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
现货: 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
品类:Mighty Gecko Multi-Protocol Wireless SoC
价格:¥15.3301
现货: 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
服务
可定制无线位移传感器量程范围10~600mm,采用了无线传输方式,可远程自动实时检(监)测位移量值,准确度级别(级):0.2、0.5;内置模块:无线传输模块、供电模块;传输距离L(m):可视距离1000 (Zigbee、 LORA)。
最小起订量: 1pcs 提交需求>
可定制4G PCB内置天线的尺寸、连接器种类、电缆类型;支持频率700-960 MHz/1710-2700 MHz;支持协议4G;电压驻波比:860 MHz≦1.5;1710-2700MHz≦2.5。
最小起订量: 500 提交需求>
登录 | 立即注册
提交评论