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:数据包的最后 4 个字节始终损坏

Guru**** 2769425 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/1613098/cc1101-last-4-bytes-of-packet-always-corrupted

部件号: CC1101

您好:

我正在使用 CC1101、遇到了两个问题、需要对它们进行一些澄清:

问题 1:频率计算偏移

  • Crystal:26MHz
  • 目标频率:863MHz
  • 计算得出的寄存器值:FREQ2=0x21、FREQ1=0x34、FREQ0=0x29
  • 测量的中心频率:863.320MHz

这使得我与目标的偏移量为+320kHz。 该偏移是否在可接受的容差范围内、或者我应该调整我的计算方法?

问题 2:数据包的最后 4 个字节始终损坏

  • 数据包长度:17 字节
  • 问题:接收到的最后 4 个字节始终不同/损坏
  • 当前解决方法:我正在发送 21 个字节并丢弃接收上的最后 4 个字节

配置详细信息:

  • 使用此权变措施、发送和接收可以成功工作
  • 始终正确接收前 13 个字节

问题:

  1. 什么可能导致最后 4 个字节始终损坏?
  2. 这是否与 CRC、状态字节或 FIFO 配置相关?
  3. 我应该检查是否有特定的寄存器设置 (PKTLEN、PKTCTRL0、PKT1L1)?

任何见解都将非常感谢!

谢谢 Andrew

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

    您好、Andrew、

    关于问题 2:您是否可以共享您的寄存器配置? 您使用的是固定或可变数据包长度模式? 您能否检查此线程是否有助于  CC1101:接收最后几个字节时出错 

    此致、

    Daniel

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

    静态常量 uint8_t CC1101_CONFIG_868[CC1101_CONFIG_868_SIZE]={
    0x06、0x2E、0x06、0x4C、0x9B 0xAD、0x3D、0x04、/* IOCFG2..PKT1L1 */
    0x05、0xFF、0x00、0x08、0x00、 0x21、0x34、0x29、/* PKCTRL0..FREQ0 (863MHz)*/
    0xF7、0x83、0x93、0x22、0xF8、 0x35、0x07、0x03、/* MDMCFG4..MCSM1 (MDMCFG2=0x93:4-FSK)*/
    0x18、0x16、0x6C、0x43、0x40、 0x91、0x87、0x6B、/* MCSM0..WOREVT0 */
    0xFB、0x56、0x10、0xE9、0x2A、 0x00、0x1F /* WORCTRL.FSCAL0 */
    };

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

    您好、Andrew、

    您似乎拥有:

    PKT1L1 = 0x4 ->  APPEND_STATUS = 1(这会增加 2 个字节 RSSI 和 LQI)

    PKTCTRL0 = 0x5 -> CRC_EN = 1(这会增加 2 个 CRC 字节)

    您是否在 TX 侧设置了正确的长度? 您的有效载荷是 17 字节、还是整个数据包长度?

    此致、

    Daniel

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

    这使我相对于目标偏移了+320kHz。 此偏移是否在可接受的容差范围内、或者我是否应该调整我的计算方法?“ 使用 SmartRF Studio 检查计算。 偏移应小于数据表中给出的 xtal 的 ppm。   

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

    文档中有一个公式、​​文档中的值与  SmartRF Studio 不匹配?  

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

    我的数据包的长度应为 17 字节。

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

    您好、Andrew、

    使用 SmartRF Studio 是否也会出现同样的问题?

    此致、

    Daniel

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

    我的问题是如何根据文档正确计算频率。 我不 在嵌入式系统中使用 SmartRF Studio。  :)  频道的频率对我来说是任意的。

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

    您好、Andrew、

    如果有偏移、您可以在 studio 中找到与该偏移量相反的值、然后将它们加载到您的嵌入式工程中。

    谢谢、

    Marie H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“671377" url="“ url="~“~/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1613098/cc1101-last-4-bytes-of-packet-always-corrupted

    问题 1:频率计算偏移

    • Crystal:26MHz
    • 目标频率:863MHz
    • 计算得出的寄存器值:FREQ2=0x21、FREQ1=0x34、FREQ0=0x29
    • 测量的中心频率:863.320MHz
    [/报价]

    您好、Andrew、

    频率根据 数据表第 57 页中的公式计算

    假设通道设置为 0、根据我的计算、您编程的频率为 863.297MHz、这更接近您测量的频率。 (26ppm 频率误差)

    对于 863MHz、您应该写入 FREQ2 = 0x21、FREQ1 = 0x31、FREQ0 = 0x3B