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

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

SUB-G无线通信模块采用SILICON LABS 公司的Si4438无线收发器设计,兼容Si446x,最大发射功率+20dBm,接收灵敏度高达 -129 dBm,超低睡眠电流740nA,广泛用于室内照明及智能家居,安防监控,测量及四表等领域。


大家在设计时,会提出一个疑问:Si4438内部的TX FIFO 和 RX FIFO只有64字节。那么如何实现超过64字节的数据包收发呢?本文详细介绍其如何实现。


我们可以打开WDS软件或者查看API寄存器描述文档,有两个中断非常有用TX_FIFO_ALMOST_EMPTY_PEND 和 RX_FIFO_ALMOST_FULL_PEND,这个两个中断代表的意思就是TX FIFO 的数据即将发送完,或者RX FIFO即将被填充满。那么我们只需要根据这两个中断,就可以实现超长数据包收发了。


例如,在TX_FIFO_ALMOST_EMPTY_PEND中断产生时,立刻填充数据到TX FIFO中,新填充的数据会紧跟着之前的数据发送出去,直到数据包完全发送完成,最终产生一个发送完成中断,表示这包数据发完。接收时也是类似,当收到的数据不断往RX FIFO中填充,快要填满的时候,就会产生RX_FIFO_ALMOST_FULL_PEND中断,这时立刻把RX FIFO读取出来,那么空出来的RX FIFO又可以继续接收新的数据,直到接收到的总数据等于整个完整的数据包长度,产生一个接收完成中断。整个过程都是连续的,根据包长度和设定的阀值,会产生多个TX_FIFO_ALMOST_EMPTY_PEND和RX_FIFO_ALMOST_FULL_PEND中断,但是每包数据发送完成和接收完成中断只会有一个,和短包的收发是一样的。 


长包模式收发的具体实现步骤如下:

1)使用WDS 配置TX_FIFO_ALMOST_EMPTY和RX_FIFO_ALMOST_FULL 阀值,WDS软件默认的设定值为48字节,可根据需要设置其他值。如图1:

图1  阈值设置


2)使能TX_FIFO_ALMOST_EMPTY和RX_FIFO_ALMOST_FULL中断。如图2:

 

图2 中断设置


3)在收到 TX_FIFO_ALMOST_EMPTY_PEND中断时,添加填充TX FIFO 代码。

 if (Si446xCmd.GET_INT_STATUS.PH_PEND &       SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_SENT_PEND_BIT)  //发送完成中断

    {

      /* Nothing is sent to TX FIFO */

     这里是发送完成中断,请在此添加处理代码。

      return TRUE;

    }

if (Si446xCmd.GET_INT_STATUS.PH_PEND &         SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_TX_FIFO_ALMOST_EMPTY_PEND_BIT) //TX_FIFO_ALMOST_EMPTY_PEND中断

{


1、在此继续填充需要发送的数据,每次填充的数据个数等于packet TX threashold中设置的值,如果剩余还未发送的数据小于阈值,按照实际的个数填充TX FIFO。

2、剩余的数据量 = 需要发送的字节总量  – 启动发送之前已填充的数据量 - packet TX threashold *N来计算,N 就是TX_FIFO_ALMOST_EMPTY_PEND中断产生的次数。

3、最后的剩余数据填充完成以后,收发器会继续发送数据,又会产生一次TX_FIFO_ALMOST_EMPTY_PEND中断,这个时候也没有更多的数据需要发送了,可以不再填充数据了。

    }


4)在收到 RX_FIFO_ALMOST_FULL_PEND中断时,添加对应的读取RX FIFO 代码。

if (Si446xCmd.GET_INT_STATUS.PH_PEND &    SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_RX_PEND_BIT) //接收完成中断

    {


1、在此添加代码,读取最后收到的数据字节。最后RX FIFO收到多少字节可以通过读取FIFO INFO来获得,也可以通过计算来获得。

2、如果是固定长数据包,数据长度是已知的。如果是变长包,收到的第一字节代表数据长度。那么不管何种方式,数据总量都是一致的,那么最后接收的数据量 = 需要接收的字节总量 - packet RX threashold阈值 *N。N代表进入


RX_FIFO_ALMOST_FULL_PEND中断次数。

      return TRUE;

    }

if(Si446xCmd.GET_INT_STATUS.PH_PEND &       SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_RX_FIFO_ALMOST_FULL_BIT) //RX_FIFO_ALMOST_FULL_PEND中断

{

     在此继续读取接收到的数据,每次读取的数据个数等于packet RX threashold中设置的值。

      }

}

更多的详细参考代码,可以使用WDS,选择long packet TX 和 long packet RX工程生成参考源代码,在radio.c文件中有详细的代码。如下图3所示:

图3  使用WDS软件生成参考源代码


我们在调试的时候,是否有发现在10kbps通信速率,或者一些低速率下,长包收发一切正常,但是通信速率提高到一定程度,例如300kbps,运行的好好的代码,却工作不正常了呢?甚至在一些较低速率也工作不正常,例如40kbps的通信速率。这是为什么?


其实从前面的超长包的收发原理,我们很容易找到原因,因为空中的无线信号是不能断的,是需要连续发送或者连续接收的。我们根据设置的阈值就知道系统允许我们在多少时间内就必须填充新的数据到TX FIFO中,或者说需要多少时间就要及时的把RX FIFO中的数据读取出来,这样才会空出FIFO继续接收。换句话说,就是host MCU 填充数据或者读取数据需要足够快。最直接的办法,提高SPI通信速率。或者把阈值设置的更小,例如32字节,那么系统就可以留给给我们操作的时间就等于 (64字节 - 设定的阈值)* 每字节传输的时间(通过通信速率换算出每字节传输时间)。从这里可以看出,无线通信速率越高,留给系统操作的时间就越少。这就是系统设计的时候,需要考量的问题。

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

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

评论

   |   

提交评论

全部评论(4

  • KC Lv3 高级工程师 2018-11-13
    我按照平台上《SUB-G无线通信模块AN506--长包模式收发》文中所说的方式实现了长包的发送,在一些4438模块上运行会出现给不出接收完成中断PACKET_RX_PEND的情况,求解
    • layne_liu_世强回复: 1、Si4438 芯片是B1版本还是C2版本,两个版本的radio config配置文件不能通用。建议提供WDS的配置文件,我们检查一下参数配置。2、无线通信速率和SPI速率是多少?3、除了长包收发,是否还有变长包收发的功能叠加在上面?4、请提供Start TX 和 Start RX 代码及其参数。如果是固定包长收发,数据发送的长度和接收的长度设置需要对上。如果是变长包收发,请参考:https://www.sekorm.com/news/39954067.html

      查看全部1条回复

  • KC Lv3. 高级工程师 2018-11-13
    我按照文中所说的方式实现了长包的发送,在一些4438模块上运行会出现给不出接收完成中断PACKET_RX_PEND的情况,收取数据都是只能收RX threashold阀值那么大的数据,往后就是重复收这一段了,不知是为何?
    • 世小强回复: 这个。。。小强帮你问问技术大神哈
  • kuli Lv4. 资深工程师 2018-10-25
    学习收藏
  • ZZG Lv7. 资深专家 2018-10-25
    收藏
没有更多评论了

相关推荐

【经验】低电流无线收发器锁存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无线收发器Si446x在不同应用场景下的应用区别

本文主要介绍Silicon labs 无线收发器Si446x系列产品各自的特性,旨在为广大设计者解答使用Si446x产品时的困惑,避免开发过程中反复折腾,确保项目顺利实施。

2018-05-03 -  设计经验 代理服务 技术支持 批量订货

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

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

2018-05-30 -  设计经验 代理服务 技术支持 批量订货 IoT射频性能测试

HFT8M434C02 SUB-G无线通信模块能自组网么?

1、HFT8M434C02 是采用Silicon Labs公司si4438无线收发器设计的频率小于1GHz的无线通信模块。支持私有协议,例如点对点,星型网络通信。并且通信协议需要用户来制定和编写代码。HFT8M434C02 这个模块不支持自组网功能。通常我们说的自组网功能大多采用Zigbee网络。2、关于“自组网”的方案,可以在世强元件平台搜关键词“自组网”获得。

2020-06-05 -  技术问答

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

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

2017-01-10 -  设计经验 代理服务 技术支持 批量订货

【经验】SUB-G无线通信模块AN512助力超长前导码发送模式下的硬件CRC校验实现

SUB-G无线通信模块采Silicon Labs 公司的Si4438无线收发器设计,兼容Si446x,最大发射功率+20dBm,接收灵敏度高达-124dBm,超低睡眠电流740nA,广泛用于室内照明及智能家居,安防监控,测量及四表等领域,普通短数据包一般用到2个field就可以,超长前导码发送通常需要用到3个field,那么如何实现硬件CRC校验功能呢?

2019-06-01 -  设计经验 代理服务 技术支持 批量订货

【经验】无线收发器Si446x常用频段以及构架中各个参数的推荐配置详表

Silicon Labs无线收发器Si446x是广泛应用于各类表记方案中的无线收发器方案,本文主要列出常用的两种构架:直连模式和开关模块 , 在这两种构架中对应的无线收发器常用频段中射频部分的配置。

2020-02-23 -  设计经验 代理服务 技术支持 批量订货

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

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

2018-03-21 -  设计经验 代理服务 技术支持 批量订货

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

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

2018-10-26 -  设计经验

【应用】434MHz无线收发器Si4438用于无线烟感,具有低功耗、传输距离远等优势

随着无线技术发展,无线的独立式烟感报警器已经在行业内兴起,Silicon Labs推出的无线收发器Si4438,可覆盖从425 MHz至525 MHz的Sub-GHz频段,射频性能优异,传输数据远,功耗低,非常适合独立式烟感应用需求。

2019-12-29 -  应用方案 代理服务 技术支持 批量订货

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

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

2019-04-09 -  设计经验 代理服务 技术支持 批量订货

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

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

2019-08-30 -  设计经验 代理服务 技术支持 批量订货

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

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

2019-12-01 -  设计经验 代理服务 技术支持 批量订货
展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:Transceiver

价格:¥14.7732

现货: 30,545

品牌:SILICON LABS

品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER

价格:¥16.5384

现货: 2,355

品牌:SEKORM

品类:无线通信模块

价格:¥75.0000

现货: 88

品牌:飞腾云

品类:WIFI模块

价格:

现货: 0

品牌:飞腾云

品类:WIFI模块

价格:

现货: 0

品牌:SILICON LABS

品类:Wireless Gecko SoC

价格:¥8.1764

现货: 102,628

品牌:SILICON LABS

品类:Mighty Gecko Multi-Protocol Wireless SoC

价格:¥27.0929

现货: 90,767

品牌:SILICON LABS

品类:Wireless SoC

价格:¥31.7756

现货: 88,140

品牌:SILICON LABS

品类:8 BIT MCU

价格:¥3.5305

现货: 85,765

品牌:SILICON LABS

品类:Wireless SoC

价格:¥19.9760

现货: 84,418

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SEKORM

品类:无线通信模块

价格:¥75.0000

现货:88

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

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

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

收藏
收藏当前页面