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

2017-01-10 世强 紫云
无线收发器,Sub-GHz,Si446x,Si4460 无线收发器,Sub-GHz,Si446x,Si4460 无线收发器,Sub-GHz,Si446x,Si4460 无线收发器,Sub-GHz,Si446x,Si4460

【摘要】在数据传输过程中,差错总是不可避免,CRC校验是检查错误数据帧的方法之一。本文以变长包为例,分析了Si446x硬件CRC的设置。

在数据传输过程中,无论传输系统的设计再怎么完美,差错总会存在,这种差错可能会导致在链路上传输的数据出现比特差错,从而使接收方接收到错误的数据。如何快速的检查出这些错误的数据帧?CRC校验是一个非常常用的办法。SILICON LABS 公司提供的Si446x无线收发器支持硬件CRC校验,在WDS软件中点点鼠标就能快速完成CRC相关的设置,本文以变长包的范例,来做Si446x硬件CRC的设置。

CRC的基本配置步骤
1)打开WDS软件,选择empty工程,除CRC以外的参数按照实际应用配置好。
2)在WDS的“packet”选项卡中,变长包第一字节的长度连同数据部分一起计算CRC。如图1所示,长度字节部分只勾选CRC使能项“enable CRC over this field”。


图1:变长包长度字节计算CRC


如图2所示,设置好CRC计算因式和CRC seed,一般都是全1,如果有其他的特殊需求,请按照实际来设置。Field2数据部分勾选3个勾, “Transmit CRC at the end of this field”、 “check CRC at the end of this field ”、“enable CRC over this field”这样就把长度和数据一起计算了CRC。数据发送的时候会把CRC计算好并发送出去,接收端会收到这个CRC并完成校验。


图2:配置CRC设置


3)配置好了CRC设置,还需要把CRC的中断使能。如图3所示,在“Interrupt”选项卡中,勾选上CRCE,使能CRC中断。当发生CRC校验错误的时候,CRCE 这个位会被置1,同时Nirq引脚会从高电平变成低电平,及时的通知到MCU关于CRC的校验结果。


图3:使能CRC中断


4)在check TX RX的函数中添加CRC代码:

  if(Si446xCmd.GET_INT_STATUS.PH_PEND& SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_RX_PEND_BIT)
      {
        /* Packet RX */
        /* Get payload length */
        si446x_fifo_info(0x00);
        si446x_read_rx_fifo(Si446xCmd.FIFO_INFO.RX_FIFO_COUNT, &customRadioPacket[0]);
        return SI446X_CMD_GET_INT_STATUS_REP_PH_PEND_PACKET_RX_PEND_BIT;
      }
      //CRC 错误中断
      if (Si446xCmd.GET_INT_STATUS.PH_PEND & SI446X_CMD_GET_INT_STATUS_REP_PH_STATUS_CRC_ERROR_BIT)
      {
          /* Reset FIFO */
          si446x_fifo_info(SI446X_CMD_FIFO_INFO_ARG_FIFO_RX_BIT);
        //如果需要重新接收数据,可在这里添加重新开启接收的代码。
        //主要视start RX函数里面的3个状态参数和实际应用来决定CRC中断之后需要做的事情
      }


除CRC基本配置以外,以下为扩展阅读。

从图4可以看出,B版本默认的CRC种子是全1,也就是FF。

但是C版本默认的CRC种子是全0。所以在配置C版本的芯片要和B版本通讯时,CRC的种子要设置为FF FF FF FF(全1)即可。


图4:B版本和C版本的CRC设置对比


C版本的正确配置如下:


图5:C版本的正确配置


当然,如果B版本配置的种子是全0,C版本的种子也要配置全0。其他的地方都可以不改,但是WDS中有以下几项会和CRC有关,请注意检查是否一致:


图6:WDS中和CRC的相关项设置

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

评论

   |   

提交评论

全部评论(1

  • 异乡人 Lv3. 高级工程师 2017-12-08
    收藏一下。
没有更多评论了

相关推荐

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

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

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

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

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

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

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

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

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

芯科科技携手东胜物联提升Sub-GHz网关和智能安防产品开发,互联互通更可靠到位

芯科科技携手东胜物联提升Sub-GHz网关和智能安防产品开发,互联互通更可靠到位。通过芯科科技EFR系列多协议无线SoC产品和相关软件开发工具的支持,东胜物联推出了一系列无线模块及可编程和多协议物联网网关设备,可广泛涵盖最新版本的蓝牙、Sub-GHz、Zigbee、Z-Wave和Matter等热门无线协议的网络连接设计。

原厂动态    发布时间 : 2024-01-12

【经验】如何配置寄存器,实现无线收发器LDC低功耗接收功能?

Silicon labs公司的si4438/si446x系列Sub-Ghz无线收发器支持LDC低功耗接收功能,本文讲述的就是实现LDC低功耗接收功能的方法及步骤。

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

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

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

设计经验    发布时间 : 2019-08-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

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

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

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

【选型】Si4x6x系列Sub-Ghz频段的小无线收发器B1B与C2A版本在应用选型上的区别

本文主要介绍Si4x6x系列产品中各个版本的特性区别,为广大设计者解答使用Si4x6x产品选型时的困惑。Si4x6x存在B1B与C2A两个版本,C2A是B1B的升级版本,C2A版本的参数性能比B1B版本的更优异。因此建议设计者在为新项目选型时,选择Si4x6x-C2A版本。

器件选型    发布时间 : 2019-07-31

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

在配置Si446x无线收发器作为direct TX模式发送数据,作为数据输入的引脚应该如何配置?

Si446x无线收发器作为direct TX模式发送数据,可以任意选择一个期望GPIOx口配置为input模式(GPIO_PIN_CFG=0x04),同时配置MODEM_MOD_TYPE寄存器的TX_DIRECT_MODE_GPIO位,设置期望的GPIO为数据输入引脚。在WDS无线开发软件的direct tx工程配置中,只需要把期望的GPIO设置为input模式,WDS就会自动设置TX_DIRECT_MODE_GPIO位,因此让WDS软件辅助配置会更加快捷。特别说明:支持direct Tx模式的数据输入引脚只有GPIO0、GPIO1、GPIO2、GPIO3,其他nIRQ和SDO等引脚不支持此功能。

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

【经验】如何实现Sub-GHz无线收发器Si446x/Si4438 LDC+DSA超低功耗接收功能?

‍Silicon labs公司的si4438/si446x系列Sub-Ghz无线收发器支持LDC低功耗接收功能,C2版本的芯片还支持DSA功能,可以进一步降低接收电流,本文介绍如何实现LDC+DSA低功耗接收功能的方法及步骤。

设计经验    发布时间 : 2019-06-29

无线收发芯片Si4463读取RSSi,读取到的RSSi锁存的值均为0,为什么?

出现这个问题,主要是因为在接收到数据之后重新进入了RX状态,所以需要在接收到数据之后切换工作状态到ready状态就可以了。

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

在开发Si4463的时候,在网上找了一些参考程序,可以使用吗?

网上找的代码不知道出处,不建议使用。可以使用WDS配置软件生产一套跟实际使用相近的工程,生产的工程里有完整的程序代码,该套代码是官方提供的可供参考。另外该套程序里的lib.c文件有定义更多的API函数,一般的应用基本都包含了,完全可以参考使用。

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

【经验】低功耗无线收发器Si4438、Si446x的CCA功能该如何选择

Silicon Labs推出的无线收发器Si4438和Si446x是EZRadioPRO系列产品的主打型号,提供行业领先的射频性能,具有杰出的灵敏度优异的射频性能广泛应用于物联网、智能家居、智能工业、四表等市场。空闲信道评估的两种模式:CCA和CCA_LATCH在实际应用中需要根据应用场景灵活选取。

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

展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:Transceiver

价格:¥15.8878

现货: 82,519

品牌: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)测试测量仪器租赁服务,包括网络分析仪、无线通讯综测仪、信号发生器、频谱分析仪、信号分析仪、电源等仪器租赁服务;租赁费用按月计算,租赁价格按仪器配置而定。

提交需求>

外置胶棒天线定制

可定制胶棒天线频率范围包括GSM/GRPS/2G/3G/5G/2.4G/5G/5.8GHZ/WIFI/蓝牙、LoRa、433/470/315/868/915Mhz/NB等;增益:0~15dBi;天线尺寸、接口连接器可按需定制。

最小起订量: 1000 提交需求>

查看更多

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

查看更多

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

查看更多

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

查看更多

授权代理品牌:电子材料

查看更多

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

查看更多

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

查看更多

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

查看更多

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

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

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

收藏
收藏当前页面