SUB-G无线通信模块AN510--变长包模式收发

2018-10-26 世强
无线收发器,SUB-G无线通信模块,Si446x,Si4438 无线收发器,SUB-G无线通信模块,Si446x,Si4438 无线收发器,SUB-G无线通信模块,Si446x,Si4438 无线收发器,SUB-G无线通信模块,Si446x,Si4438

SUB-G无线通信模块SILICON LABS 公司的Si4438无线收发器设计,兼容Si446x,最大发射功率+20dBm,接收灵敏度高达 -129dBm,超低睡眠电流740nA,广泛用于室内照明及智能家居,安防监控,测量及四表等领域。当我们在实现无线数据收发功能时候,经常会遇到数据包的长度是变化的,那么如何实现变长的数据包收发呢?本文将详细介绍实现变长包模式收发。


Si4438,Si446x无线收发器具备高级自动数据包处理功能,通过简单的设置就能实现变长包模式的收发。我们先来了解一下变长包收发的原理:在接收端,需要2个field支持,其中一个field保存变长包的长度,接收器会根据这个字节的具体数值,来决定将要接收的数据个数,当接收到的负载数据个数等于field1 数据长度的值时,就会产生接收完成中断,从而实现变长的接收。如下图所示,在WDS软件中,设置field1设置为数据长度,field2设置为负载数据。

那么在发射端就要和接收端对应起来,发送数据的时候,把数据长度放在field1中,负载数据填入field2中。例如 前导码+同步字+数据长度(1字节0x10)+数据(16字节数据)。这个例子说明,TX FIFO中实际填写了17个字节的数据,其中1字节代表长度,剩余的16字节是负载数据。启动发送命令,这17字节的数据就发送出去了。 


下面我们通过3个操作步骤,添加代码,实现变长包收发功能:

第一步:使用WDS选择Empty framework工程,在Packet页面下的Variable length config选项卡中勾选Enable variable packet length选项。其他射频参数按照通信协议配置。然后生成配置radio_config.h配置头文件。如下图所示:

特别说明,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一直代表数据包的长度,收发都是1个字节来表示长度,因此不需要修改field1 length寄存器。修改field2 length的代码如下:


1)在发送的状态修改如下:

si446x_set_property(0x12,0x02,0x11,0x00,tx_buf[0]);

tx_buf[ ]是我们定义的一个用于存放发送数据的数组。其中tx_buf[0]存放的是数据包的长度,这行代码会自动把需要发送数据包长度写入到field2 length寄存器中。再把需要发送的数据写入FIFO,代码修改如下:

si446x_write_tx_fifo(tx_buf [0]+1, tx_buf);

tx_buf [0]+1表示需要写入到TX FIFO中的数据总量,tx_buf就是需要发送的数据首地址(指针)。因为变长包的格式是:0x07,0x01,0x02,0x03,0x04,0x05,0x06,0x07;第一字节是长度,后面是数据。实际写入到TX FIFO发送的数据是8字节 = 负载数据7字节+数据长度1字节。


2)在接收状态修改如下:

si446x_set_property(0x12,0x02,0x11,0x00,63);

接收的长度要大于等于发送的长度,数值63代表本次可接收的可变长数据,最长是63字节,如果发送的可能的数据长度大于63,可以设置更大。每个field可设置的最大长度是2的13次方。本文中示例代码长度我们使用了1个字节,因此最大可表示发送255字节数据。Si446x或者si4438的变长包接收机制里,用于产生接收完成中断生效的接收数据长度,是我们设置的field2 length和接收到的第1字节中取最小的一个生效。


按照接收长度大于等于发送的长度原理,那么我们是不是可以把接收长度设置的尽可能大呢?一般我们建议接收长度稍大于或等于发送端的数据长度,或者按照通信协议里面可能的最大长度来设置。并不是把接收长度设置的越大越好,因为有一种意外情况,假如接收数据过程中,代表长度的字节在传输过程中由于空中干扰等原因,变成了一个很大的数值,那么接收长度就变的很大,浪费接收时间和功耗。例如实际数据包为0x07,0x01,0x02,0x03,0x04,0x05,0x06,0x07,一共8字节,最大不会超过10字节。通常我们就设置field2 length = 10,传输过程中0x07长度变成了0xFF,那么实际也只接收10字节,不会变成接收0xFF字节,这样可以起到一个保护作用。

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

本文由紫云提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

评论

   |   

提交评论

全部评论(6

  • 用户33379470 Lv3 高级工程师 2020-08-10
    你好!请问si446x_set_property(0x12,0x02,0x11,0x00,63);这个设置属性的函数,我程序里的函数才三个参数SI446x_Set_Property( SI446X_PROPERTY Group_Num, uint8_t Num_Props, uint8_t *pWrite ),我应该怎么设置?谢谢 提问来源:https://www.sekorm.com/news/39954067.html
    • 江南小将回复: 你好,void si446x_set_property( U8 GROUP, U8 NUM_PROPS, U8 START_PROP, U8 data1,U8 data2)这是库函数,可通过官方的配置软件WDS来生成库函数。函数具体位置如下图

      查看全部1条回复

  • jingshui Lv7. 资深专家 2021-03-16
    学习了
  • 用户33379470 Lv3. 高级工程师 2020-08-10
    你好!请问si446x_set_property(0x12,0x02,0x11,0x00,63);这个设置属性的函数,我程序里的函数才三个参数SI446x_Set_Property( SI446X_PROPERTY Group_Num, uint8_t Num_Props, uint8_t *pWrite ),我应该怎么设置?谢谢
  • AaronC Lv7. 资深专家 2018-11-06
    学习
  • 国丰 Lv7. 资深专家 2018-11-06
    学习了!
  • LouBing Lv7. 资深专家 2018-10-26
    沙发上学习舒服
没有更多评论了

相关推荐

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

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

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

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

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

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

【经验】如何实现无线收发器Si446x的异步直接数据收发模式?

Silicon Labs无线收发器Si4438和Si446x,可实现多种调制方式的数据发送,在一些开发中客户会用到OOK调试模式,OOK调制在开发中要用到直接数据收发方式(Direct Mode),本文主要介绍如何实现一个简单的数据发送和数据接收工程。

设计经验    发布时间 : 2020-10-02

【经验】SUB-G无线通信模块的SPI波形图解与上电过程

SUB-G无线通信模块采Silicon Labs 公司的Si4438无线收发器设计,兼容si446x,最大发射功率+20dBm,接收灵敏度高达-124dBm,超低睡眠电流740nA,广泛用于室内照明及智能家居,安防监控,测量及四表等领域。有些产品或应用需要低功耗功能,又需要无线数据接收功能。那么我们就需要使用到Si4438/Si446x的LDC功能了。

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

如何配置低功耗无线收发器射频参数和代码实现接收灵敏度测试?

Si446x是Silicon Labs公司的一款高性能低功耗Sub-Ghz频段的小无线收发器,可支持142MHZ - 1050MHZ频率(Si4438 支持425MHZ - 525MHZ,适用中国频段)。最大发射功率可达+20dbm,接收灵敏度可达-129dbm@500bps。本文就详细介绍如何实现Si4438 和 si446x 接收灵敏度测试所需要的射频参数设置和代码实现。

设计经验    发布时间 : 2018-05-30

【经验】无线收发器Si4460定频测试程序生成操作方法

Silicon Labs推出的无线收发器si4460是EZRadioPRO系列产品的主推型号之一,频点可覆盖从142 MHz至1050 MHz的Sub-Ghz频段。射频性能强,灵敏度高达-129dBm,输出功率最大可达+20dBm,50nA的超低待机功耗。广泛应用于物联网(IoT)、智能家居、智能工业、四表等市场。下面就以Si4460模块为例。介绍产品开发使用定频测试通信模块发射功率工程配置及操作

设计经验    发布时间 : 2019-12-01

AN502:SUB-G无线通信模块——发射功率测试

描述- 本文主要介绍SUB-G无线通信模块发射功率工程配置和测试方法。

型号- SI4438-C2

用户指南  -  SILICON LABS PDF 中文 下载

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

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

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

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

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

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

AN504:SUB-G无线通信模块——接收灵敏度测试

描述- 本文主要介绍SUB-G无线通信模块接收灵敏度工程配置和测试方法。

型号- SI4438-C2,SI4438

用户指南  -  SILICON LABS PDF 中文 下载

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-G无线收发器超强的“穿墙”能力助拓智能照明领域

在家门口用遥控器直接按“回家“场景,提前打亮房间的灯!基于Si4463 SUB-G无线收发芯片的智能照明系统优点多多:控制自如、智能调光、全开全关、场景设置……

新应用    发布时间 : 2019-09-03

【经验】无线收发器如何实现超长前导码发送?

Silicon Labs sub-GHz无线收发器si446x控制前导码长度的寄存器只有1个字节,最长只可发送255字节的前导码,这种超长的前导码该如何发送呢?本文将详细介绍具体实现。

设计经验    发布时间 : 2018-03-21

【经验】 Si446x Sub-Ghz频段无线收发器的GND引脚该如何处理?

Si446x 是silicon Labs公司的一款高性能Sub-Ghz频段的无线收发器。广泛用于室内照明及智能家居,安防监控,楼宇自动化,测量及四表等领域。Si446x芯片的pin18引脚和芯片底部焊盘都是GND,在设计的时候该如何处理?

设计经验    发布时间 : 2019-08-30

无线收发器Si4463-B1B-FM、Si4463-B1B-FMR、Si4463-C2A-GM、Si4463-C2A-GMR,上面这几个版本的器件有什么差异呢?

无线收发器Si4463的版本号的不同,代表着内部的ROM和固件版本有些差别,C版本接收电流比B版本的更低,除此之外,其他的都一样。

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

展开更多

电子商城

查看更多

只看有货

品牌:SILICON LABS

品类:Transceiver

价格:¥12.1718

现货: 24,561

品牌:SILICON LABS

品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER

价格:¥15.8878

现货: 2,364

品牌:SEKORM

品类:无线通信模块

价格:¥75.0000

现货: 88

品牌:PHOENIXCONTACT

品类:无线模块

价格:¥4,228.8800

现货: 0

品牌:PHOENIXCONTACT

品类:无线模块

价格:¥5,691.5900

现货: 0

品牌:PHOENIXCONTACT

品类:无线模块

价格:¥13,417.0000

现货: 0

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥8.1764

现货: 111,378

品牌:SILICON LABS

品类:Wireless SoC

价格:¥21.5556

现货: 98,861

品牌:SILICON LABS

品类:Mighty Gecko Multi-Protocol Wireless SoC

价格:¥27.0929

现货: 98,034

品牌:SILICON LABS

品类:Wireless SoC

价格:¥9.1982

现货: 88,300

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SEKORM

品类:无线通信模块

价格:¥75.0000

现货:88

品牌:SEMTECH

品类:无线收发器

价格:¥4.0355

现货:50,000

品牌:AMICCOM

品类:无线收发器

价格:¥5.9584

现货:31,912

品牌:SILICON LABS

品类:Switch Hall Effect Magnetic Position Sensor

价格:¥2.2924

现货:150,000

品牌:SILICON LABS

品类:Light Sensor

价格:¥20.3400

现货:28,003

品牌:SILICON LABS

品类:Position Sensor

价格:¥3.0897

现货:12,568

品牌:SILICON LABS

品类:8位MCU

价格:¥4.9000

现货:12,000

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.1700

现货:10,000

品牌:SILICON LABS

品类:Gecko MCU

价格:¥15.6000

现货:5,353

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.7900

现货:3,451

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

WIFI射频及通信协议测试

可根据用户的wifi模块,使用无线连接测试仪MT8862A,测试IEEE802.11a/b/g/n/ac (2.4Ghz和5Ghz)设备的TX、RX射频特征,输出测试报告。支持到场/视频直播测试,资深专家全程指导。

实验室地址: 深圳 提交需求>

蓝牙射频及通信协议测试

根据用户的蓝牙模块,使用Bluetooth 蓝牙测试装置MT8852B,测试蓝牙1.0至5.1,包括传输速率、功率、频率、调制和接收机灵敏度,生成测试报告。支持到场/视频直播测试,资深专家全程指导。

实验室地址: 深圳 提交需求>

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

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

收藏
收藏当前页面