【经验】仅需3步,轻松实现Si446x无线收发器的变长包收发

2016-05-08 世强 紫云
无线收发器,Sub-GHz,Si446x,Si4460 无线收发器,Sub-GHz,Si446x,Si4460 无线收发器,Sub-GHz,Si446x,Si4460 无线收发器,Sub-GHz,Si446x,Si4460

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次方。

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

评论

   |   

提交评论

全部评论(2

  • 用户77257094 Lv3 高级工程师 2019-02-23
    《【经验】仅需3步,轻松实现Si446x无线收发器的变长包收发》一文:按着试了不行,能不能提供一下更详细的参考呢?发送后有接收的数据有误,例如发送 9 0 1 2 3 4 5 6 7 8 9 ,接收到的的是9 0 1 2 3 4 5 6 x x x后面几位就会乱掉。如果改成定长发送就能接收正常,但如此一来切换到接收又死机了。 文章链接:https://www.sekorm.com/news/1047.html
    • ID001_世强回复: 问题出在第三步:接收数据出错是因为发送数据长度设置为9,但数据域从0~9实际长度为10,填入TX FIFO的长度为11。

      查看全部2条回复

  • 海绵宝宝 Lv7. 资深专家 2018-08-26
    好产品
没有更多评论了

相关推荐

【经验】如何测试无线收发器的发射功率和频偏?

在设计好Sub-GHz无线收发器si446x 或者si4438的PCB板,完成元器件贴板和焊接之后,就可以开始测试PCB板的射频性能了。

设计经验    发布时间 : 2018-02-23

【经验】手把手教你将HEX 文件烧录进无线收发器Si4010

Silicon Labs射频发射器Si4010广泛使用于汽车遥控器、家居安防、车库门等应用场合,本文介绍了其烧录工具和烧录步骤。

设计经验    发布时间 : 2017-08-25

【经验】低电流无线收发器锁存RSSI值读取该如何操作?

Silicon Labs 无线收发器Si446x或者Si4438开发产品的时候,应用代码中很多需要使用到信号强度RSSI值。

设计经验    发布时间 : 2017-08-17

为什么Silicon Labs的低功耗Sub-GHz无线收发器Si4438在设置LDC时,设置休眠时间为5分钟无法工作,而设置小一点就可以工作呢?

Silicon Labs的低功耗Sub-GHz无线收发器Si4438在设置LDC时,设置较长时间的休眠或接收时间,需要正确设置Step Size,对于5分钟的配置,建议step size adjust设置为6。

技术问答    发布时间 : 2019-12-03

【经验】低电流无线收发器实时RSSI值读取该如何操作?

Silicon Labs 无线收发器Si446x或者Si4438开发产品的时候,应用代码中很多需要使用到信号强度RSSI值。

设计经验    发布时间 : 2017-08-20

【产品】支持远距离通信的低功耗远距离Sub-GHz SoC EFR32FG

Silicon Labs的高性能双频段无线SoC EFR32FG支持Rail、Connect私有协议和动态双协议,支持2.4GHz和Sub-GHz共存的无线机制。单从芯片指标性能上说,该芯片有+20dbm最大发射功率,-126dbm接收灵敏度,链路预算非常优秀。EFR32FG目前已经支持1.2kbps DSSS+FEC长距离模式,现在已经是Lora的强力竞争对手,助力更低成本、高性能的长距离通信产

新产品    发布时间 : 2019-12-02

编程技巧:轻松实现Si446x超长数据包收发

Silicon labs EZRadioPro 系列的si446x 无线收发器,TX FIFO 和 RX FIFO只有64字节。是否担心实现超过64字节的数据包收发呢?长包的收发在si446x 收发芯片实现是非常简单的

设计经验    发布时间 : 2016-05-11

【经验】应用技巧:如何轻松实现无线收发器硬件CRC校验?

无线收发器支持硬件CRC校验,在WDS软件中点点鼠标就能快速完成CRC相关的设置。

设计经验    发布时间 : 2017-01-10

【应用】高性能Sub-GHz无线收发器Si4463用于美国的智能花园灌溉系统,最高+20dbm发射功率

应用于美国的智能花园灌溉系统,在室外需要采集各种传感器信息,通过Sub-GHz将无线数据传输至室内机,因为是室内和室外的通信,有可能需要穿过几堵墙,对无线收发器有比较高的要求,在美国,Sub-GHz需要使用902~928MHz无线频段,且室外机的供电是由太阳能电池板给锂电池充电,系统则由锂电池供电,收发器有低功耗的功能。本文推荐Silicon Labs高性能低功耗无线收发器Si4463应用于该场景

应用方案    发布时间 : 2019-10-30

Si4460无线收发器是否支持直接模式?是如何实现数据收发的?

对于在主机MCU内或其他基带芯片内执行数据包处理的传统系统,不适合使用FIFO。对于这种情况,Si4460无线发射器提供可完全绕过FIFO的直接模式。在TX直接模式下,TX调制数据被应用于芯片的输入引脚并进行“实时”处理(即不会存储在寄存器中稍后发送)。任何GPIO可被配置成TX数据输入功能来使用。而且,如果需要GFSK调制,则TX时钟输出功能需要一个额外的引脚(FSK只需要TX数据输入引脚)。为达到直接模式,GPIO必须在“GPIO_PIN_CFG”API命令和“MODEM_MOD_TYPE”API属性中进行配置。对于GFSK,“TX_DIRECT_MODE_TYPE”必须设置到同步。对于2FSK或OOK,类型可设置为异步或同步。对于所有的直接模式配置,MOD_SOURCE[1:0] 应设置为01h。在RX直接模式下,RX数据和RX时钟可被编程以实现直接(实时)输出到GPIO引脚,然后微控制器可以在不使用FIFO或RFIC分组处理程序功能的情况下处理RX数据。

技术问答    发布时间 : 2017-05-10

【经验】低功耗Sub-GHz无线收发器Si4438在国网南网标准的无线数据白化配置

Silicon Labs的低功耗高性能Sub-GHz无线收发器Si4438,+20dbm(100mW)的输出功率,-124dbm的接收灵敏度。集成度高,包括硬件的CRC、数据白化、曼彻斯特编码等,在工程开发时可以减少软件的工作,提高系统的稳定性。Si4438在国网和南网的电力无线抄表中被广泛应用。

设计经验    发布时间 : 2019-05-31

【经验】如何把Sub-GHz无线收发器评估板变成抓包工具

在无线射频开发调试过程中,抓包工具也是必不可少的一员,Silicon labs推出的Sub-Ghz无线收发器Si446x也能秒变抓包工具,本文就针对此过程进行了详细介绍。

设计经验    发布时间 : 2019-09-03

【应用】Sub-G无线收发器,遥控卷帘门远程灵敏开合它说了算

Silicon Labs的无线收发器Si4460无论是发射功率、接收灵敏度、功耗,还是抗干扰性都满足遥控卷帘门的设计需求。

新应用    发布时间 : 2017-03-17

Si446x无线收发器的direct Tx发射模式,支持同步和异步模式吗?如何配置?

Si446x无线收发器的direct Tx发射模式,支持同步和异步模式。同步模式比异步模式多了TX_DATA_CLK。Si446x 默认是同步模式。可以通过修改MODEM_MOD_TYPE寄存器的TX_DIRECT_MODE_TYPE位来选择同步或异步模式,可以阅读Si446x API文档中TX_DIRECT_MODE_TYPE位的详细说明。

技术问答    发布时间 : 2017-05-10

专家解读:如何评估无线芯片的选择性

专家课堂开课啦:这期主要讲,什么是无线通信的选择性,以及如果用两种办法进行测量评估。

技术探讨    发布时间 : 2019-09-03

展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:Transceiver

价格:¥15.8878

现货: 46,517

品牌:SILICON LABS

品类:Transceiver

价格:¥7.1077

现货: 21,827

品牌:SILICON LABS

品类:Transceiver

价格:¥19.8832

现货: 2,490

品牌:SILICON LABS

品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER

价格:¥15.8878

现货: 2,359

品牌:SILICON LABS

品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER

价格:¥16.5384

现货: 2,355

品牌:SILICON LABS

品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER

价格:¥12.3574

现货: 1,480

品牌:SILICON LABS

品类:Transceiver

价格:¥16.3528

现货: 581

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

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

品类:Wireless SoC

价格:¥15.1400

现货:1,455

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

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

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

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

提交需求>

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

朗能泛亚提供是德(Keysight),罗德(R&S)等品牌的测试测量仪器维修服务,包括网络分析仪、无线通讯综测仪、信号发生器、频谱分析仪、信号分析仪、电源等仪器维修,支持一台仪器即可维修。

提交需求>

查看更多

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

查看更多

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

查看更多

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

查看更多

授权代理品牌:电子材料

查看更多

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

查看更多

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

查看更多

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

查看更多

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

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

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

收藏
收藏当前页面