【经验】无线收发器如何实现纯软件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 无线收发器,具备高级自动包处理功能。其中可变包长的收发在应用中非常普遍。那么如何轻松快速实现可变包长收发呢?仅需三步即可。
【产品】可覆盖425~525MHz的低电流收发器,接收灵敏度-124dBm,实现极低的电流消耗
Silicon Labs的Si4438为高性能的低电流收发器,可覆盖从425至525MHz的sub-GHz频段,主要针对中国智能仪表市场,特别适合于智能电表。该芯片的覆盖区及引脚与Si446x无线电兼容,可为sub-GHz应用提供行业领先的性能。
【经验】低电流无线收发器锁存RSSI值读取该如何操作?
Silicon Labs 无线收发器Si446x或者Si4438开发产品的时候,应用代码中很多需要使用到信号强度RSSI值。
Silicon Labs(芯科科技)Si446x Sub-GHz无线收发器软件参考代码
描述- 发射端长前导码、变长包、休眠带RTC 1秒检测间隔、低功耗实现-接收端基于EFM32ZG平均功耗14uA左右
型号- SI4463,SI4438,SI446X
【经验】低电流无线收发器实时RSSI值读取该如何操作?
Silicon Labs 无线收发器Si446x或者Si4438开发产品的时候,应用代码中很多需要使用到信号强度RSSI值。
编程技巧:轻松实现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(芯科科技) 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
【经验】低功耗Sub-GHz无线收发器Si4438在国网南网标准的无线数据白化配置
Silicon Labs的低功耗高性能Sub-GHz无线收发器Si4438,+20dbm(100mW)的输出功率,-124dbm的接收灵敏度。集成度高,包括硬件的CRC、数据白化、曼彻斯特编码等,在工程开发时可以减少软件的工作,提高系统的稳定性。Si4438在国网和南网的电力无线抄表中被广泛应用。
【经验】 Si446x Sub-Ghz频段无线收发器的GND引脚该如何处理?
Si446x 是silicon Labs公司的一款高性能Sub-Ghz频段的无线收发器。广泛用于室内照明及智能家居,安防监控,楼宇自动化,测量及四表等领域。Si446x芯片的pin18引脚和芯片底部焊盘都是GND,在设计的时候该如何处理?
为什么Silicon Labs的低功耗Sub-GHz无线收发器Si4438在设置LDC时,设置休眠时间为5分钟无法工作,而设置小一点就可以工作呢?
Silicon Labs的低功耗Sub-GHz无线收发器Si4438在设置LDC时,设置较长时间的休眠或接收时间,需要正确设置Step Size,对于5分钟的配置,建议step size adjust设置为6。
电子商城
品牌: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
价格:¥12.1718
现货: 834
现货市场
品牌:SILICON LABS
品类:Switch Hall Effect Magnetic Position Sensor
价格:¥2.2924
现货:126,000
服务
支持微型计算机 、便携式计算机显示设备、投影仪、打印设备、绘图仪、多用途打印复印机、扫描仪、计算机内置电源、电源适配器、充电器、服务器、收款机等产品中国强制性产品认证。
提交需求>
提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制
最小起订量: 1台 提交需求>
登录 | 立即注册
提交评论