This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1101:CC1101同步字检测问题

Guru**** 2551110 points
Other Parts Discussed in Thread: CC1101

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/576539/cc1101-cc1101-synch-word-detection-issue

部件号:CC1101

你好

我正在使用CC1101 传输此类帧:{0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFB,0x23,...,}

我使用另一个CC1101来接收它。当我配置(SYNC1,SYNC0)=(0x55,0x00)或(0x55,0x50)或(0x50,0x00)时 ,CC1101成功找到它并接收帧

但是,当配置I configure (SYNC1,SYNC0)=(0x00,0x00)或(0xFF,0xFF)或(0x00,0xFF)或(0xFF,0xFB)或(0x0F,0xFF)时,CC1101不会检测到它

PS 我的所有寄存器配置:

halRfWriteReg (IOCFG2,0x0D); //GDO2输出引脚配置:串行数据输出
halRfWriteReg (IOCFG0,0x06); //GDO0输出引脚配置:在发送/接收同步字时断言,在数据包末尾取消断言。
halRfWriteReg (fifOTHR,0x47);//0x4? 带带宽< 325khz的ADC
halRfWriteReg (SYNC1,0x55);  //101.0101万
halRfWriteReg (SYNC0,0x00);  //0万

halRfWriteReg (PKTCTRL1,0x80);//前导码质量估算器阈值=16 ;append_status=0;无地址检查
halRfWriteReg (PKTCTRL 0,0x00);//fix长度,无CRC

halRfWriteReg (PKTLEN,38);
halRfWriteReg (FSCTRL1,0x08);//频率合成器控制

halRfWriteReg (FREQ2,0x10);  //频率控制字,高字节 基本频率= 433.82
HalRfWriteReg (FREQ1,0xAF);  //频率控制字,中间字节
HalRfWriteReg (FREQ 0,0x75);  //频率控制字,低字节


halRfWriteReg (MDMCFG4,0xF6);//调制解调器配置  RX过滤器BW = 58Khz
halRfWriteReg (MDMCFG3,0x83);//调制解调器配置  26M*((256+83h)*2^6)/2^28=2.4kbps
halRfWriteReg (MDMCFG2,0x02);//调制解调器配置  2-FSK; 无Manchester;检测到16/16个同步字位
halRfWriteReg (MDMCFG1,0x00);//调制解调器配置编号前导码2=>0,通道间隔_exp
halRfWriteReg (MDMCFG0,0x00);/*# MDMCFG0通道间距= 25kHz*/
halRfWriteReg (DEVIATN,0x15); //5.15.7471万khz
halRfWriteReg (MCSM1,0x0F);  //CCA始终;默认模式RX
halRfWriteReg (MCSM0,0x18);  //主无线电控制状态计算机配置
halRfWriteReg (FOCCFG, 0x1D); //频率偏移补偿配置
halRfWriteReg (BSCFG,0x1C);  //位同步配置
halRfWriteReg (AGCCTRL2,0xC7);//AGC控制
halRfWriteReg (AGCCTRL1,0x00);//AGC控制
halRfWriteReg (AGCCTRL 0,0xB2);//AGC控制
halRfWriteReg (WORCTRL,0xFB);//无线控制唤醒
halRfWriteReg (FREND1,0xB6); //前端RX配置
halRfWriteReg (FSCAL3,0xE9); //频率合成器校准
HalRfWriteReg (FSCAL2,0x2A); //频率合成器校准
halRfWriteReg (FSCAL1,0x00); //频率合成器校准
HalRfWriteReg (FSCAL0,0x1F); //频率合成器校准
halRfWriteReg (TEST2,0x81);  //各种测试设置链接到ADC保持
halRfWriteReg (TEST1,0x35);  //各种测试设置链接到ADC保持
halRfWriteReg (TEST0,0x09);  //各种测试设置链接到ADC保留

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    弗雷德里克

    同步检测过程基于关联引擎,关联引擎需要序列尽可能随机。 这就是我们建议使用默认同步字词的原因。 但是,我们确实允许客户进行更改,但是这样做时,性能将会发生变化。

    为了向您展示各种Syncthes的相关器结果的外观,我为您制作了一些图片。

    在这里,您可以看到所有FF,因为您可以看到"第二峰"距离主峰仅0.1dB,因为这不是很好。

    下面是下一个:“0x5500”,我们在这里获得了2.2dB的信噪比。 仍然不好,但也不好。 这就是它工作的原因。

    最后一个例子:这是一个很好的同步词的例子。 这里我们得到了12.5dB的信噪比,并且没有出现任何渐变或其他令人失望的情况。 这是一个很好的同步词。  

    这个故事告诉你,你需要使用一个输入的数据包,其中包含一些尽可能“随机”的数据。

    希望这有所帮助。

    此致,
    /TA

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的,我更了解 为什么它不起作用,最初我认为它是一种“换档和匹配寄存器”,但它看起来更复杂

    您用 xcorr()函数在该线程上绘制图吗?