【经验】无线收发器如何实现纯软件CRC校验?
在《应用技巧:如何轻松实现无线收发器硬件CRC校验?》一文中,有介绍如何实现无线收发器的硬件CRC校验。但是有的时候,如果无线收发器Si4438或者Si446x 内置的硬件CRC计算因式或算法和期望的不一样时,我们该如何做CRC校验呢?
这个时候,我们就该采用软件CRC校验方式了。基本的步骤就是:
1、应用程序中,通过软件的CRC校验代码,计算出将要发送的负载数据的CRC校验值。以变长包数据通信举例:
0x09,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09(共10字节)
数据长度为:0x09
有效数据: 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09
采用CRC-16(IBM)不带输入反转,不带输出反转,计算出的CRC结果为0x6C25
2、把计算出来的CRC值,当成普通数据,填入si446x TX FIFO中,一起发送出去,那么发送出去的数据包就是下方表示的:
0x09,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x6C,0x25(共12字节)
CRC值为:0x6C,0x25
3、接收端因为是变长接收,那么需要额外多收2字节CRC数据进来,因此WDS配置变长包接收时,需要设置packet length adjust 值 = 2字节。并且收发两端都不开启硬件CRC校验,如下图:
这样,接收端收到第一个代表长度的0x09数据后,si446x会先继续接收9字节的有效数据,然后再额外多收两个字节,就正好把代表CRC的两个字节接收进来了。
4、当接收端成功接收全部12字节后,会产生一个接收完成中断,这个时候主控的MCU可以读取RX FIFO的数据,假如数据全部正确以后,将会是下方的数据:
0x09,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x6C,0x25
这个时候,我们就可以先将前面的10字节数据拿去做软件CRC校验,得到一个CRC值.
然后再将软件计算得到的CRC值与接收到的CRC值(例如0x6C,0x25)比较,如果相等,说明此次数据接收完全正确,如果比较结果不相等,说明此次数据有误。这样就完成了软件CRC校验了。
5、仔细的工程师们可能会问,如果不是变长包,仅为定长数据包收发的时候,如何实现纯软件CRC校验呢?那么设置packet length adjust 值 = 0字节,启动接收时,仅需要设置接收长度为数据+2字节CRC的长度即可。
如果需要了解如何实现变长包数据收发,请参考应用文档:仅需3步,轻松实现Si446x无线收发器的变长包收发,链接为:https://www.sekorm.com/news/1047.html
世强元件电商版权所有,转载请注明来源和链接。
- |
- +1 赞 0
- 收藏
- 评论 0
本网站所有内容禁止转载,否则追究法律责任!
相关推荐
【经验】如何测试无线收发器的发射功率和频偏?
在设计好Sub-GHz无线收发器si446x 或者si4438的PCB板,完成元器件贴板和焊接之后,就可以开始测试PCB板的射频性能了。
【经验】手把手教你将HEX 文件烧录进无线收发器Si4010
Silicon Labs射频发射器Si4010广泛使用于汽车遥控器、家居安防、车库门等应用场合,本文介绍了其烧录工具和烧录步骤。
【经验】仅需3步,轻松实现Si446x无线收发器的变长包收发
Silicon labs EZRadioPro 系列的si446x 无线收发器,具备高级自动包处理功能。其中可变包长的收发在应用中非常普遍。那么如何轻松快速实现可变包长收发呢?仅需三步即可。
易于使用的低电流OOK/(G)FSK SUB-GHZ收发器
描述- Si4455是一款由Silicon Laboratories生产的低功耗、易用的亚吉兹无线收发器。它覆盖了283-960 MHz的所有主要频段,具有高达500 kbps的数据速率和+13 dBm的最大输出功率。该设备适用于远程控制、家庭安全、智能家居自动化、遥测、工业控制和传感器网络等多种应用。
型号- SI4455-B1A-FM,SI4455
【经验】低电流无线收发器锁存RSSI值读取该如何操作?
Silicon Labs 无线收发器Si446x或者Si4438开发产品的时候,应用代码中很多需要使用到信号强度RSSI值。
Si4438高性能低电流收发器
描述- Si4438是一款高性能、低电流的无线ISM收发器,覆盖425至525 MHz的亚吉赫兹频段。该设备针对中国市场设计,特别适用于电表等智能计量仪表。它具有优异的选择性性能,接收灵敏度高达-124 dBm,并支持多种调制方式,包括(G)FSK和OOK。Si4438提供高达+20 dBm的输出功率,同时实现极低的激活和待机电流消耗。
型号- SI4438-B1C-FM,SI4438
【经验】低电流无线收发器实时RSSI值读取该如何操作?
Silicon Labs 无线收发器Si446x或者Si4438开发产品的时候,应用代码中很多需要使用到信号强度RSSI值。
编程技巧:轻松实现Si446x超长数据包收发
Silicon labs EZRadioPro 系列的si446x 无线收发器,TX FIFO 和 RX FIFO只有64字节。是否担心实现超过64字节的数据包收发呢?长包的收发在si446x 收发芯片实现是非常简单的
【产品】可覆盖425~525MHz的低电流收发器,接收灵敏度-124dBm,实现极低的电流消耗
Silicon Labs的Si4438为高性能的低电流收发器,可覆盖从425至525MHz的sub-GHz频段,主要针对中国智能仪表市场,特别适合于智能电表。该芯片的覆盖区及引脚与Si446x无线电兼容,可为sub-GHz应用提供行业领先的性能。
【产品】支持远距离通信的低功耗远距离Sub-GHz SoC EFR32FG
Silicon Labs的高性能双频段无线SoC EFR32FG支持Rail、Connect私有协议和动态双协议,支持2.4GHz和Sub-GHz共存的无线机制。单从芯片指标性能上说,该芯片有+20dbm最大发射功率,-126dbm接收灵敏度,链路预算非常优秀。EFR32FG目前已经支持1.2kbps DSSS+FEC长距离模式,现在已经是Lora的强力竞争对手,助力更低成本、高性能的长距离通信产
Silicon Labs(芯科科技) Si4438-C高性能的低电流收发器 数据手册(中文)
型号- SI4438-C2A-GM,SI4438-C,SI4438-C2A-GMR,SI4438-C2A-GM,SI4438-C2A-GMR,SI4438-B1C-FM,SI4438,SI443X,SI4438-B1C-FMR,SI4438-B1C-FDI
Silicon Labs(芯科科技)Si446x Sub-GHz无线收发器软件参考代码
描述- 发射端长前导码、变长包、休眠带RTC 1秒检测间隔、低功耗实现-接收端基于EFM32ZG平均功耗14uA左右
型号- SI4463,SI4438,SI446X
【经验】低功耗Sub-GHz无线收发器Si4438在国网南网标准的无线数据白化配置
Silicon Labs的低功耗高性能Sub-GHz无线收发器Si4438,+20dbm(100mW)的输出功率,-124dbm的接收灵敏度。集成度高,包括硬件的CRC、数据白化、曼彻斯特编码等,在工程开发时可以减少软件的工作,提高系统的稳定性。Si4438在国网和南网的电力无线抄表中被广泛应用。
电子商城
品牌:SILICON LABS
品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER
价格:¥16.5384
现货: 2,355
品牌:SILICON LABS
品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER
价格:¥15.8878
现货: 2,319
品牌:SILICON LABS
品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER
价格:¥12.3574
现货: 1,480
品牌:SILICON LABS
品类:HIGH-PERFORMANCE LOW-CURRENT TRANSCEIVER
价格:¥12.1718
现货: 834
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
提供是德(Keysight),罗德(R&S)测试测量仪器租赁服务,包括网络分析仪、无线通讯综测仪、信号发生器、频谱分析仪、信号分析仪、电源等仪器租赁服务;租赁费用按月计算,租赁价格按仪器配置而定。
提交需求>
朗能泛亚提供是德(Keysight),罗德(R&S)等品牌的测试测量仪器维修服务,包括网络分析仪、无线通讯综测仪、信号发生器、频谱分析仪、信号分析仪、电源等仪器维修,支持一台仪器即可维修。
提交需求>
登录 | 立即注册
提交评论