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**** 2540720 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/676973/cc1101-cc1101-glitch-bit

器件型号:CC1101

大家好、

我们有一款基于433MHz CC1101无线电的产品、我们正改变将其用于客户端安装。 我们将使用 OOK 设置。 他们已经注意到、对于接收器、他们的数据包丢失率大约为50%、并且能够跟踪其问题源到以0位结束的数据包。 它们的解调显示了我们在数据包后所称的'burp'。 我附加了一个显示此内容的图像。

我们是否有办法从 CC1101中消除此行为?

谢谢、

Don

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

    Don、

    在此模式下、CC1101不知道何时停止、因此在接收到突发后、信号会快速下降、CC1101的 AGC 将开始反应。 然后、当它完全增加增益时、器件将开始对噪声进行解码。 我已经将这个小的"blip"视为修改增益 LNA 的 AGC 的伪影。 我们无法改变这种行为。

    最后一位也是"无能量"、在这里、您必须使 AGC 更慢。 降低 CC1101的 RBW 或降低 AGC 的速度。

    此致、
    /TA

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

    感谢您的回答。 为了澄清这一点、您说 AGC 和 LNA 对 CC1101的传输行为有影响? 我不清楚"无能源"是什么意思、请您进一步说明这一点吗?

    谢谢、

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

    我将讨论接收器侧。 当最后一个位完成时、RX 端将看到"无信号"、并使用 AGC "自动增益控制器"管理的算法开始增加 LNA 的增益

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

    TA、

    感谢澄清,这就是我理解这些登记册的工作方式,所以答复使我感到困惑。 问题与 CC1101的 RX 功能无关、因为我们实际上没有收到 CC1101。 我们的客户端使用不同的射频组件来接收我们使用 CC1101发送的数据。 是否有解释说明为什么从 CC1101传输的射频能量突发?

    谢谢、

    Don

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为没有、请在零跨度模式下使用频谱分析仪绘制图、我们可以将其用作参考。

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

    TA、

    我已附上来自我们的射频分析仪的捕获。 我们的数据速率为~7.5kHz。 通过查看扫描结束时的脉冲宽度、可以看出它不是有意的位。 这是导致我们出现问题的脉冲。

    谢谢、

    Don

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否使用 PA 升降? 数据是否采用曼彻斯特编码? 可能是我以前看到过这样的东西、但现在我不能记住细节。 如果使用 PA 斜升、它可能与斜升相关。 目前我不记得 CC1101是否在数据包开始/结束时插入了一个额外的符号、但如果使用了一个额外的位、这是最后一位的副本。 您能否检查此尖峰是否与您发送的最后一个位相关(如果这是"0"或"1"?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    之三、

    我们仅在以0位结尾的数据包中注意到这种行为。 我们在启动时使用的完整设置将从以下源文件中复制:


    #define IOCFG0_Setting 0x06 //ATEST 将在 RSSI 低于 CCA_MODE 中设置的阈值时置为有效
    #define FIFOTHR_Setting 0x47
    #define SYNC1_Setting 0xFF
    #define SYNC0_Setting 0xFF
    #define PKTLEN_Setting 0xFF
    #define PKTCTRL1_Setting 0x00//dap0x04
    #define PKTCTRL0_Setting 0x00//dap0x05
    #define ADDR_Setting 0x00
    #define CHANNR_Setting 0x00
    #define FSCTRL1_Setting 0x06
    #define FSCTRL0_Setting 0x00
    #define FREQ2_Setting 0x10

    //433.92
    #define FREQ1_Setting 0xB0
    #define FREQ0_Setting 0xE2//433.919830

    #define MDMCFG4_Setting 0xf8//7.576
    #define MDMCFG3_Setting 0x32//0x15
    #define MDMCFG2_Setting 0xB8//0x38//dap0x3B
    #define MDMCFG1_Setting 0x22
    #define MDMCFG0_Setting 0xf8
    #define DEVIATN_Setting 0x15
    #define MCSM2_Setting 0x07
    #define MCSM1_Setting 0x30
    #define MCSM0_Setting 0x18
    #define FOCCFG_Setting 0x16
    #define BSCFG_Setting 0x6C
    #define AGCCTRL2_Setting 0x04//dap0x03
    #define AGCCTRL1_Setting 0x00//dap0x40
    #define AGCCTRL0_Setting 0x92//dap0x91
    #define WOREVT1_Setting 0x87
    #define WOREVT0_Setting 0x6B
    #define WORCTRL_Setting 0xFB
    #define FREND1_Setting 0x56
    #define FREND0_Setting 0x11
    #define FSCAL3_Setting 0xE9
    #define FSCAL2_Setting 0x2A
    #define FSCAL1_Setting 0x00
    #define FSCAL0_Setting 0x1F

    #define POWER_9_9         0xC0

    void CC1101_Init()

    cc1101WriteRegister (IOCFG0、IOCFG0_Setting);
    cc1101WriteRegister (FIFOTHR、FIFOTHR_Setting);
    cc1101WriteRegister (SYNC1、SYNC1_Setting);
    cc1101WriteRegister (SYNC0、SYNC0_Setting);
    cc1101WriteRegister (PKTLEN、PKTLEN_Setting);
    cc1101WriteRegister (PKTCTRL1、PKTCTRL1_Setting);
    cc1101WriteRegister (PKTCTRL0、PKTCTRL0_Setting);
    cc1101WriteRegister (ADDR、ADDR_Setting);
    cc1101WriteRegister (CHANNR、CHANNR_Setting);
    cc1101WriteRegister (FSCTRL1、FSCTRL1_Setting);
    cc1101WriteRegister (FSCTRL0、FSCTRL0_Setting);
    cc1101WriteRegister (FREQ2、FREQ2_setting);
    cc1101WriteRegister (FREQ1、FREQ1_Setting);
    cc1101WriteRegister (FREQ0、FREQ0_Setting);
    cc1101WriteRegister (MDMCFG4、MDMCFG4_Setting);
    cc1101WriteRegister (MDMCFG3、MDMCFG3_Setting);
    cc1101WriteRegister (MDMCFG2、MDMCFG2_Setting);
    cc1101WriteRegister (MDMCFG1、MDMCFG1_Setting);
    cc1101WriteRegister (MDMCFG0、MDMCFG0_Setting);
    cc1101WriteRegister (DEVIATN、DEVIATN_setting);
    cc1101WriteRegister (MCSM2、MCSM2_Setting);
    cc1101WriteRegister (MCSM1、MCSM1_Setting);
    cc1101WriteRegister (MCSM0、MCSM0_Setting);
    cc1101WriteRegister (FOCCFG、FOCCFG_Setting);
    cc1101WriteRegister (BSCFG、BSCFG_Setting);
    cc1101WriteRegister (AGCCTRL2、AGCCTRL2_setting);
    cc1101WriteRegister (AGCCTRL1、AGCCTRL1_Setting);
    cc1101WriteRegister (AGCCTRL0、AGCCTRL0_Setting);
    cc1101WriteRegister (WOREVT1、WOREVT1_Setting);
    cc1101WriteRegister (WOREVT0、WOREVT0_Setting);
    cc1101WriteRegister (WORCTRL、WORCTRL_Setting);
    cc1101WriteRegister (FREND1、FREND1_Setting);
    cc1101WriteRegister (FREND0、FREND0_Setting);
    cc1101WriteRegister (FSCAL3、FSCAL3_Setting);
    cc1101WriteRegister (FSCAL2、FSCAL2_Setting);
    cc1101WriteRegister (FSCAL1、FSCAL1_Setting);
    cc1101WriteRegister (FSCAL0、FSCAL0_Setting);
    cc1101WriteRegister (PATABLE、POWER_9_9);

    谢谢、

    Don

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

    #define FREND0_Setting 0x11

    更改为

    #define FREND0_Setting 0x10

    并修改 PA 表、以便初始值为0x50。

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

    TA、

    我已经进行了建议的更改、似乎完全断开了我们的联系。 传输数据包时、零跨度现在如下所示:

    对于"1"和"0"、无线电似乎都打开。

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

    您好、Don、

    我看不到相同的问题。 我附加了寄存器设置和频谱图。 您能否尝试这些设置并查看您得到的结果?

    设置从 SmartRF Studio 导出。

    此致。

     e2e.ti.com/.../433MHZ_5F00_OOK_5F00_CC1101_5F00_reg_5F00_config.c

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

    FI、

    感谢您的建议。 我已经实现了您发布的寄存器设置(FREQ2、FREQ1和 FREQ0除外)、并捕获了以下输出:

    您可以看到、额外的射频输出仍然存在。 为了便于记录、我们在此数据包中发送的最后两个字节为0x29和0xB8 (按该顺序)。 此数据包的长度总共为8字节。 我们是否可能使用不同的组件硬件版本? PARTNUM 的内容为0xF0、版本的内容为0x0F。

    在我的代码中、为了发送到 TX、我使用数据包加载 FIFO、调整 PKTLEN 以匹配我打算发送的字节数、然后选择 STX 命令。 CC1101退出 TX 状态后、我将 PKTLEN 寄存器更改为0xFF。 最后、由于这是一个低功耗应用、在 PKTLEN 被更改后、我将 IOCFG 寄存器设置为0x2F、选通信号命令、然后等待 MARCTATE 指示无线电空闲、然后选通信号 SPWD 命令。  这是否会导致我看到的行为?

    Don

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

    是否有任何更新?

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

    很抱歉、我们无法在最后重现干扰 我已经问过研发问题、他们从未听说过此器件上的此类问题、您的应用中是否会出现此类问题。

    此致、
    /TA