Silicon Labs的无线Sub-G产品Si446x现在已经越来越多的用于表计产品,如气表、电表等。由于在表计类老产品中TI的CC1101系列应用非常广泛,所以客户使用Si446x时,就会遇到和CC1101兼容问题,本文档将解决此问题。
Si446x 具有硬件CRC、Whitening和软件CRC、Whitening,因为不使用CRC、Whitening和Manchester 时,Si446x和CC1101通信配置比较简单,可以参照Si446x works with CC1101_v1.11.pdf文档,本文档只讨论CRC、Whitening和Manchester同时使能时配置方法。
Si446x 提供软件CRC、Whitening算法支持和CC1101兼容,需要将寄存器PKT_WHT_BIT_NUM 0x1205的SW_WHT_CTRL和SW_CRC_CTRL位置1,使能SW whitening和SW CRC。为了确保Si446x开启SW whitening特性可以和CC1101通信,寄存器PKT_WHT_SEED_15_8 0x1203和PKT_WHT_SEED_7_0 0x1204需要都设置为0xFF。
Si446x最为发送端时,包格式需配置如下:
由于已经开启SW CRC和SW Whitening,所以必须关闭硬件CRC和Whitening,以免重复计算CRC和Whitening,寄存器 PKT_FIELD_1_CONFIG的PN_START和WHITEN位都清零,寄存器PKT_FIELD_1_CRC_CONFIG也配置为 0x00。关闭了硬件CRC,为了发送由软件CRC计算出的2个字节CRC的值,发送数据时需要多发送两个字节给TX FIFO作为CRC字节,并且配置Field1的长度时,也需要额外增加2个字节。比如发送数据为7个字 节,PKT_FIELD_1_LENGTH_12_8和PKT_FIELD_1_LENGTH_7_0则配置成0x00,0x09。下图是数据长度为7的 示意图,其中最后两个字节可以是任意值。
Si446x最为接收端时,包格式需配置如下:
由 于已经开启SW CRC和SW Whitening,所以必须关闭硬件CRC和Whitening,以免重复计算CRC和Whitening,寄存器 PKT_FIELD_1_CONFIG的PN_START和WHITEN位都清零,寄存器PKT_FIELD_1_CRC_CONFIG也配置为 0x00。关闭了硬件CRC,为了发送由软件CRC计算出的2个字节CRC的值,发送数据时需要多发送两个字节给TX FIFO作为CRC字节,并且配置Field1的长度时,也需要额外增加2个字节。比如发送数据为7个字 节,PKT_FIELD_1_LENGTH_12_8和PKT_FIELD_1_LENGTH_7_0则配置成0x00,0x09。下图是数据长度为7的 示意图,其中最后两个字节可以是任意值。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉