【经验】EFR32多协议无线SoC radio configuration私有协议配置

2020-03-19 Silicon Labs
多协议无线SoC,EFR32,Silicon Labs 多协议无线SoC,EFR32,Silicon Labs 多协议无线SoC,EFR32,Silicon Labs 多协议无线SoC,EFR32,Silicon Labs

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 ---数据成功接收


下边是一个接收数据及接收信号强度打印

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

本文由宇宙无敌美少女转载自Silicon Labs,原文标题为:EFR32 radio configuration私有协议配置,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】EFR32MG21多协议无线SoC的SWO PA03如何复用为普通GPIO口呢?

EFR32MG21 系列是 Silicon Labs 推出的高性价比的多协议无线SoC,用户在进行产品开发时会遇到 GPIO 不够用的情况,此时我们可以通过复用 JTAG 管脚中的 SWO log 输出脚,作为普通 GPIO 使用。本文介绍把 PA03 配置成普通按键的方法。

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

【经验】芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项

最近有用户在使用PA口时发现会出现一些异常,而且主要集中在PA01/PA02/PA03/PA04几个低端口,它们在使用时会出现一些异常的波形或无法控制。本文世强来介绍芯科多协议无线SoC EFR32MG21在使用PA端口时的注意事项。

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

【经验】多协议无线SoC EFR32MG的ZigBee开发之Token使用教程

EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。Token是用来存储非易失性数据的即掉电后也能保存,本文档指导大家如何在EmberZNet PRO应用程序中自定义Token来存储非易失性数据。

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

EFR32MG14 Mighty Gecko多协议无线SoC系列产品介绍

描述- 该资料详细介绍了EFR32MG14 Mighty Gecko多协议无线SoC系列产品的特性、应用领域和订购信息。该系列SoC适用于物联网设备,具有低功耗、高性能、多协议支持等特点,适用于智能家居、照明、健康与健身、计量、家庭和楼宇自动化及安全等领域。

型号- EFR32MG14P732F256IM32-B,EFR32MG14P733F256IM48-B,EFR32MG14,EFR32MG14P632F256GM48-B,EFR32MG14P632F256GM32-B,EFR32MG14P733F256GM48-B,EFR32MG,EFR32MG14P732F256IM48-B,EFR32XG14P733F256GM48-AR,EFR32MG14P732F256GM32-B,EFR32MG14P732F256GM48-B

September, 2024  - SILICON LABS  - 数据手册  - Revision 1.6 代理服务 技术支持 采购服务 查看更多版本

芯科科技提供Matter一站式开发平台及适用于互联健康与可穿戴设备的超低功耗、多协议无线SoC和模块

Silicon Labs(亦称“芯科科技”)作为Matter和互联健康解决方案的领先供应商,正全力支持及推广健康与保健工作组的项目,通过为开发人员提供完善的Matter一站式开发平台,以及适用于互联健康与可穿戴设备的超低功耗、多协议无线SoC和模块,来加速实现此一愿景。

2024-03-01 -  原厂动态 代理服务 技术支持 采购服务

芯科科技多协议无线SoC助力控客开发智能家居解决方案,为杭州亚运村打造智能舒适、便捷安全的生活体验

SILICON LABS MG21多协议无线SoC获杭州控客信息技术有限公司采用于开发全套智能家居解决方案,并提供予杭州亚运会媒体村打造智能、舒适、便捷、安全的生活体验。控客于近期采用了芯科科技MG21多协议无线片上系统(SoC)的控客智能家居解决方案于先前落地杭州亚运会媒体村,用创新性设计和高品质产品,为入住人员提供了智能、舒适、便捷、安全的生活体验。

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

【经验】如何配置多协议无线SoC EFR32的SPI外设驱动端口映射?

Silicon Labs公司针对物联网应用推出的多协议无线SoC,客户在开发时通常会通过基于开发板的例程代码来修改成自己的产品功能,本文基于开发板的SPI例程指导如何修改客户自定义的SPI的引脚,从而实现客户自己产品的SPI功能。

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

【经验】高性能多协议无线SoC Series 2 EFR32MG21作为BLE的几个发送功率设置方法

Silicon Labs 的EFR32MG21是高性能多协议无线SoC Series2,蓝牙协议栈使用的默认发送功率为+8dBm,所有广告包和数据包都将使用此功率级别进行传输(如果设备具有较低的发送功率能力将会降低)。实际发射功率也可由用户配置和实际情况决定。主要包括如下几种功率配置情况

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

EFR32MR21 RCP多协议无线SoC数据手册

描述- EFR32MR21是一款低功耗无线系统级芯片(SoC),适用于物联网设备的多协议、多频段网络。该芯片集成了80 MHz ARM Cortex-M33内核和高性能2.4 GHz射频收发器,提供高效的无线连接解决方案。其主要特性包括:32位ARM Cortex-M33核心、512 kB闪存和64 kB RAM、12通道外设反射系统、集成功率放大器(PA)支持高达20 dBm的发射功率、丰富的外设集合和多达20个通用输入/输出引脚。

型号- EFR32MR21,EFR32MR21A020F512IM32-C,EFR32XG21,EFR32,EFR32MR21 FAMILY

May, 2023  - SILICON LABS  - 数据手册  - Rev. 1.0 代理服务 技术支持 采购服务

【经验】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 EFR32MG的ZigBee开发之Token概念解析

EFR32MG系列是Silicon Labs公司针对多协议推出的无线SOC,单芯片可以支持Sub-G、蓝牙、Thread和Zigbee多种协议。在EFR32MG芯片中没有eeprom,Silicon Labs提供了使用flash模拟eeprom(simulated eeprom)的用法,用来存储非易失性数据,所以实际上它们是直接存储在flash上。而这些数据的写入和访问就是通过token来实现的。

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

【应用】芯科EFR32MG24多协议无线SoC扩展楼宇自动化解决方案,完全自主和自配置的网络,不会出现故障

Silicon Labs和Wirepas已经为一系列工业应用和用例建立了战略合作伙伴关系和生态系统。这一合作已促成了许多高密度、远程网状网络得以在苛刻的无线电环境中运行。现阶段,双方正致力在扩展智能计量、资产跟踪(Asset Tracking)和楼宇自动化的新解决方案。

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

电子商城

查看更多

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥8.1764

现货: 101,879

品牌: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

品类:Gecko Multi-Protocol Wireless SoC

价格:¥38.0003

现货: 1,827

品牌:SILICON LABS

品类:Gecko Multiprotocol Wireless SoC

价格:

现货: 800

品牌:SILICON LABS

品类:Gecko Multi-Protocol Wireless SoC

价格:¥38.3724

现货: 520

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌: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 BIT MCU

价格:¥16.8500

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥56.0000

现货:550

品牌:SILICON LABS

品类:8位MCU

价格:¥5.1900

现货:396

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

物联网天线方案设计/虚拟天线芯片方案设计

Ignion可支持多协议、宽频段的物联网天线方案设计,协议:Wi-Fi、Bluetooth、UWB、Lora、Zigbee、2G、3G、4G、5G、CBRS、GNSS、GSM、LTE-M、NB-IoT等,频段范围:400MHz~10600MHz。

最小起订量: 2500 提交需求>

卫星定位天线定制

可定制卫星定位天线协议:GPS、北斗、伽利略 (Galileo) 、格洛纳斯(GLONASS)卫星定位;增益:5~25dBi;驻波比:≤1.5;接口连接器:IPEX:1~5代IPE、SMA接口/公头等。

最小起订量: 1000 提交需求>

查看更多

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

查看更多

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

查看更多

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

查看更多

授权代理品牌:电子材料

查看更多

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

查看更多

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

查看更多

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

查看更多

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

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

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

收藏
收藏当前页面