【经验】仅需3步,轻松实现Si446x无线收发器的变长包收发
SILICON LABS EZRadioPro 系列的Si446x 无线收发器,具备高级自动包处理功能。其中可变包长的收发在应用中非常普遍。那么如何轻松快速实现可变包长收发呢?按照下面的步骤,3步便可完成。在开始之前,我们先来介绍一下可变包收发的原理:
在接收端,需要2个field支持,其中一个field保存变长数据的长度,接收器会根据这个字节的具体数值,来决定将要接收的数据个数,当接收到的负载数据个数等于field1 数据长度的值时,就会产生接收完成中断,从而实现变长的接收。例如field1设置为数据长度,field2设置为负载数据。
那么在发射端就要和接收端对应起来,发送数据的时候,把数据长度放在field1中,负载数据填入field2中。例如 前导码+同步字+数据长度(1字节,0x10)+数据(16字节数据)。这个例子说明,TX FIFO中实际填写了17个字节的数据,其中1字节代表长度,剩余的16字节是负载数据。启动发送命令,这17字节的数据就发送出去了。
实战操作3步曲,下面将具体实现代码操作:
第一步:使用WDS配置生成一份双向的可变包长配置头文件备用。如图:
勾选enable variable packet length选项,其余配置按照上图配置,特别说明,field2区域的最大长度尽可能设置大一些,要求大于等于应用中可能的最大数据包长。例如:如果发射端实际发送了40字节,而field2 max length 只设置了20字节,那么接收机只会接收20字节就产生接收完成中断,而后面的20字节就丢弃了,如果field2 max length 设置大于40,那么40个字节的数据便可全部接收完全。具体可以查阅API文档中start RX命令关于length的参数说明。
第二步:把start TX和 start RX命令函数中的length长度设置为“0”
例如:
void vRadio_StartRX(U8 channel, U8 packetLenght )
si446x_start_tx(channel, 0x80, length);
把start TX和 start RX命令函数中的length长度只能控制1个field的长度,在多个field配置中,每个field的长度由对应的field length寄存器来控制,详细可参阅API命令描述文档。
第三步:修改field2 负载数据的长度
由于start TX和 start RX命令中的length长度不再起作用,实际需要收发的数据长度由对应的field length寄存器来控制,field1一直代表数据包的长度,收发都是一个字节来表示长度,因此不需要修改field1 length寄存器。修改field2 length的代码如下:
在发送的状态修改如下:
si446x_set_property(0x12,0x02,0x11,0x00,tx_buf[0]);
tx_buf[0]存放的是数据包的长度,这行代码会自动把需要发送数据包长度写入到field2 length寄存器中。
把需要发送的数据写入FIFO,代码修改如下:
si446x_write_tx_fifo(tx_buf [0]+1, tx_buf);
因为变长包的格式是:0x07,0x01,0x02,0x03,0x04,0x05,0x06,0x07;//第一字节是长度,后面是数据。实际写入到TX FIFO发送的数据是8字节 = 负载数据7字节+数据长度1字节。
在接收状态修改如下:
si446x_set_property(0x12,0x02,0x11,0x00,63);//接收的长度要大于等于发送的长度
数值63代表本次可接收的可变长数据,最长是63字节,如果发送的可能的数据长度大于63,可以设置更大。每个field可设置的最大长度是2的13次方。
- |
- +1 赞 0
- 收藏
- 评论 2
本网站所有内容禁止转载,否则追究法律责任!
相关推荐
【经验】如何测试无线收发器的发射功率和频偏?
在设计好Sub-GHz无线收发器si446x 或者si4438的PCB板,完成元器件贴板和焊接之后,就可以开始测试PCB板的射频性能了。
【经验】手把手教你将HEX 文件烧录进无线收发器Si4010
Silicon Labs射频发射器Si4010广泛使用于汽车遥控器、家居安防、车库门等应用场合,本文介绍了其烧录工具和烧录步骤。
【经验】低电流无线收发器锁存RSSI值读取该如何操作?
Silicon Labs 无线收发器Si446x或者Si4438开发产品的时候,应用代码中很多需要使用到信号强度RSSI值。
【应用】无线收发器SI4463-C2A-GMR用于电表无线模块,具有高达27dBm的输出功率
为提高点对点的抄表效率,实际表计厂家要求能够无线信号能够穿越多层楼,这对无线模块提出了很高的要求,本文推荐Silicon Labs拥有高达27dBm输出功率的无线收发器SI4463-C2A-GMR用于电表无线模块中。
【经验】低电流无线收发器实时RSSI值读取该如何操作?
Silicon Labs 无线收发器Si446x或者Si4438开发产品的时候,应用代码中很多需要使用到信号强度RSSI值。
Silicon Labs(芯科科技)EZR32HG220带ARM Cortex-M0+CPU和Sub-GHz无线电的无线MCU数据手册
描述- EZR32HG Wireless MCUs EZR32HG220 Wireless MCU family with ARM Cortex-M0+ CPUand sub-GHz Radio Data Sheet
型号- EZR32HG220FXXR69G-C0,EZR32HG,EFM32,EZR32HG220FXXR61,EZR32HG220FXXR61G-C0,EZR32HG220F64R55G,EZR32,EZR32HG220FXXR63,EZR32HG220FXXR67G-C0,EZR32HG220FXXR60,EZR32HG220FXXR69,EZR32HG220F32R55GR,EZR32HG220F64R55GR,EZR32HG220FXXR63G-C0,EZR32HG220FXXR55,EZR32HG220FXXR60G-C0,EZR32HG220F32R55G,EZR32HG220FXXR67,EZR32HG220,EZR32HG220FXXR55G-C0,EZR32HG220FXXR68G-C0
编程技巧:轻松实现Si446x超长数据包收发
Silicon labs EZRadioPro 系列的si446x 无线收发器,TX FIFO 和 RX FIFO只有64字节。是否担心实现超过64字节的数据包收发呢?长包的收发在si446x 收发芯片实现是非常简单的
【产品】支持远距离通信的低功耗远距离Sub-GHz SoC EFR32FG
Silicon Labs的高性能双频段无线SoC EFR32FG支持Rail、Connect私有协议和动态双协议,支持2.4GHz和Sub-GHz共存的无线机制。单从芯片指标性能上说,该芯片有+20dbm最大发射功率,-126dbm接收灵敏度,链路预算非常优秀。EFR32FG目前已经支持1.2kbps DSSS+FEC长距离模式,现在已经是Lora的强力竞争对手,助力更低成本、高性能的长距离通信产
Silicon Labs(芯科科技)Si446x Sub-GHz无线收发器软件参考代码
描述- 发射端长前导码、变长包、休眠带RTC 1秒检测间隔、低功耗实现-接收端基于EFM32ZG平均功耗14uA左右
型号- SI4463,SI4438,SI446X
【经验】如何配置寄存器,实现无线收发器LDC低功耗接收功能?
Silicon labs公司的si4438/si446x系列Sub-Ghz无线收发器支持LDC低功耗接收功能,本文讲述的就是实现LDC低功耗接收功能的方法及步骤。
【经验】应用技巧:如何轻松实现无线收发器硬件CRC校验?
无线收发器支持硬件CRC校验,在WDS软件中点点鼠标就能快速完成CRC相关的设置。
【经验】低功耗Sub-GHz无线收发器Si4438在国网南网标准的无线数据白化配置
Silicon Labs的低功耗高性能Sub-GHz无线收发器Si4438,+20dbm(100mW)的输出功率,-124dbm的接收灵敏度。集成度高,包括硬件的CRC、数据白化、曼彻斯特编码等,在工程开发时可以减少软件的工作,提高系统的稳定性。Si4438在国网和南网的电力无线抄表中被广泛应用。
【应用】Sub-G无线收发器,遥控卷帘门远程灵敏开合它说了算
Silicon Labs的无线收发器Si4460无论是发射功率、接收灵敏度、功耗,还是抗干扰性都满足遥控卷帘门的设计需求。
电子商城
品牌:SILICON LABS
品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER
价格:¥16.5384
现货: 2,355
品牌:SILICON LABS
品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER
价格:¥15.8878
现货: 2,329
品牌:SILICON LABS
品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER
价格:¥12.3574
现货: 1,480
品牌:SILICON LABS
品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER
价格:¥17.5602
现货: 150
品牌:SILICON LABS
品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER
价格:¥16.3528
现货: 29
品牌:SILICON LABS
品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER
价格:¥16.5384
现货: 10
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
支持铲齿散热器鳍片最大加工厚度0.1-10mm,最大宽度600mm,铝挤散热器鳍片最小铝挤厚度5mm,最小鳍片间距1cm;定制散热器产品工艺有热管焊接,穿片,打磨,铲齿,铝挤及CNC加工修边飞面等。
最小起订量: 2pcs 提交需求>
提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制
最小起订量: 1台 提交需求>
查看全部2条回复