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.

[参考译文] CC1120:射频嗅探问题

Guru**** 2390755 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1236955/cc1120-rf-sniff-problems

器件型号:CC1120

因此、我有一个自定义 RX 和 TX 板、可以使用我的自定义寄存器设置完美地协同工作。  主要包括同步字符、4字节前导码、地址检查和434MHZ freq。  
在射频芯片保持唤醒的正常模式下、RX 和 TX 参数相同。  我每5秒发送一个16字节的数据包- 25个数据包。  TX 发送
25个数据包、RX 每次接收25个数据包。  我甚至可以使用 TrxEB 评估板设置自定义 TX、将具有相同参数的数据包 RX 设置为完美运行
这些概念。  我的 TX 发送25个数据包、评估板接收25个数据包。  另一种方法也效果很好。  评估板设置为数据包 TX 和我的定制 RX 板、
对25个数据包进行完美处理。

非射频监听模式的自定义 RX 和 TX 设置-这些都是除寄存器默认值以外的所有更改-在所有3种情况下都能完美地工作

unsigned char lps_packet_rxtx[][3]={{IOCFG3、0xB0、Yes}、{IOCFG2、0xB0、Yes}、{IOCFG1、0xB0、Yes}、{IOCFG0       、0x06、Yes}、// NA、NA、NA、NA、Packet Received
                      {SYNC3、'A'、Yes}、{SYNC2、'G'、Yes}、{SYNC1、'A'、Yes}、{SYNC0、'L'、Yes}、{SYNC_CFG1、0x0B、Yes}、
                      {DCFILT_CFG、0x1C、Yes}、{PREAMPLE_CFG1、0x18、Yes}、{IQIC、0x46、Yes}、{CHAN_BW、0x04、Yes}、{MDMCFG0、0x05、Yes}、
                      {AGC_REF、0x20、Yes}、{AGC_CS_THR、0x19、Yes}、{AGC_CFG1、0xA9、Yes}、{AGC_CFG0、0xCF、Yes}、{FIFO_CFG、0x00、Yes}、
                      {FS_CFG、0x14、Yes}、{PKT_CFG1、0x15、Yes}、{PKT_CFG0、0x20、Yes}、{PKT_LEN、0xFF、Yes}、
                      {IF_MIX_CFG、0x00、Yes}、{FREQOFF_CFG、0x22、Yes}、{FREQ2、0x6C、Yes}、{FREQ1、0x80、Yes}、{FS_DIG1、0x00、Yes}、
                      {FS_DIG0、0x5F、Yes}、{FS_CAL1、0x40、Yes}、{FS_CA160、0x0E、YES}、{FS_DIVTWO、0x03、YES}、{FS_DSM0、0x33、YES}、
                      {FS_DVC0、0x17、Yes}、{FS_PFD、0x50、Yes}、{FS_PRE、0x6E、Yes}、{FS_REG_DIV_CML、0x14、Yes}、
                      {FS_SPARE、0xAC、YES}、{FS_VCO0、0xB4、Yes}、{XOSC5、0x0E、YES}、{XOSC1、0x03、YES};


现在、在我的定制 RX 板上已采用射频监听模式、已将相同的自定义设置调整为具有与 SmartRF Studio 相同的射频监听更改、在我的定制 TX 上未进行任何更改、但错过了
数据包的1/2。  我的自定义 TX 发送了25个数据包、自定义 RX 板仅接收了大约12-16个数据包。  在研究过程中、我设置了 TrxEB 板、以进行射频监听、采用相同的
RX 中相同的设置。  由于我的定制 TX 保持不变、评估板完全不会收到。

射频监听模式的自定义 RX 设置-这些都是除寄存器默认值以外的所有更改-与自定义板配合使用的时间是我的板的1/2、而不是与 TrxEB 板配合使用。
RX 嗅探自定义电路板的自定义 IOCFGx 设置略有不同、但加载到评估板中的 IOCFGx 为0xB0、0x06、0xB0、0x40。

unsigned char LPS_RX_Sniff[][3]={{IOCFG3、0xB0、Yes}、{IOCFG2、0x37、Yes}、{IOCFG1、0xB0、Yes}、{IOCFG0    、0x06、Yes}、// NA、WOR_EVENT0、NA、数据包已接收
                      {SYNC3、'A'、Yes}、{SYNC2、'G'、Yes}、{SYNC1、'A'、Yes}、{SYNC0、'L'、Yes}、{SYNC_CFG1、0x0B、Yes}、
                      {DCFILT_CFG、0x1C、Yes}、{PREAMPLE_CFG1、0x18、Yes}、{IQIC、0x46、Yes}、{CHAN_BW、0x04、Yes}、
                      {MDMCFG0、0x05、Yes}、{AGC_REF、0x20、Yes}、{AGC_CS_THR、0x0C、Yes}、{AGC_CFG1、0xA0、Yes}、{AGC_CFG0、0xCF、Yes}、{FIFO_CFG、0x00、Yes}、
                      {SETTING_CFG、0x03、Yes}、{FS_CFG、0x14、Yes}、{WOR_CFG0、0x20、Yes}、{WOR_EVENT0_MSB、0x02、Yes}、{WOR_EVENT0_LSB、0xE9、Yes}、
                      {PKT_CFG1、0x15、Yes}、{PKT_CFG0、0x20、Yes}、{RFEND_CFG0、0x09、Yes}、{PKT_LEN、0xFF、Yes}、
                      {IF_MIX_CFG、0x00、Yes}、{FREQOFF_CFG、0x22、Yes}、{FREQ2、0x6C、Yes}、{FREQ1、0x80、Yes}、{FS_DIG1、0x00、Yes}、
                      {FS_DIG0、0x5F、Yes}、{FS_CAL1、0x40、Yes}、{FS_CA160、0x0E、YES}、{FS_DIVTWO、0x03、YES}、{FS_DSM0、0x33、YES}、
                      {FS_DVC0、0x17、Yes}、{FS_PFD、0x50、Yes}、{FS_PRE、0x6E、Yes}、{FS_REG_DIV_CML、0x14、Yes}、
                      {FS_SPARE、0xAC、YES}、{FS_VCO0、0xB4、Yes}、{XOSC5、0x0E、YES}、{XOSC2、0x00、YES}、{XOSC1、0x03、YES};

如果有人看到我可以尝试获取评估板以接收的设置中有问题、请告诉我。

谢谢。

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

    尊敬的 Sutton:

    在 SmartRF Studio 中、您是否选择了"RX 监听模式"选项卡?

    我注意到在您的设置中缺少几个重要寄存器:DERATION_M、MODCFG_DEV_E、SYNC_CFG0和 FREQ0。 在这些寄存器中定义了偏差、同步字长和部分载波频率。

    您能否分享有关所需符号速率、偏差和同步字的信息?

    您在定制电路板中使用的 XTAL 频率是多少?

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

    监听模式设置会关闭同步的自动校准、同时会在正常模式设置中启用该功能。 您记得在使用监听模式时对合成器进行手动校准吗?

    Siri

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

    如上所述、列出的所有寄存器只是那些默认值以外的值。  因此、为 DERATION_M (0x06)、MODCFG_DEV_E (0x03)、SYNC_CFG0 (0x17)和 FREQ0 (0x00)。  这些值不会列出、因为它们与其默认值相比没有变化。  如果他们需要改变、请告诉我。   除上面列出的值外、所有值均保留为默认 SmartRF 射频监听值。

    是的、已选择射频监听。  这就是选择这些值的方式。  XTAL 为32MHz。

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

    可以。  执行了手动校准。  在我的2个定制电路板上运行与在 TrxEB 电路板上运行相同的代码。  所以、不确定为什么2个定制板运行时丢弃了一些数据包(正在尝试对其进行调试)。  但是、使用 TrxEB 电路板、仍然无法使用相同的射频监听值。

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

    目前我也只有1块 TrxEB 板。  在我的另一个芯片上、USB 控制器出现故障(因此不能通过 USB 进行连接)、新的电路板需要等待备货。

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

    已加载到 TrxEB 板中的射频监听文件。

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

    加载到 TrxEB 板中的正常数据包 RX 文件、可以完美地与定制 TX 板配合使用。

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

    我有我的自定义 RX 板和加载了相同射频监听设置的 TrxEB 评估板(请参阅上面加载的.xml 文件)。  TX 板发送25个数据包。  我的定制板可以接收到一半以上的数据包(但丢弃了一些数据包)。  TrxEB 板未收到任何信号。  尝试确定哪项设置有误。

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

    我在 SmartRF Studio 中打开了两个.xml 文件、并导出了以下设置:

    正常 RX:

    // Address Config = No address check 
    // Bit Rate = 1.2 
    // Carrier Frequency = 434.000000 
    // Deviation = 3.997803 
    // Device Address = 0 
    // Manchester Enable = false 
    // Modulation Format = 2-FSK 
    // PA Ramping = true 
    // Packet Bit Length = 0 
    // Packet Length = 255 
    // Packet Length Mode = Variable 
    // Performance Mode = High Performance 
    // RX Filter BW = 50.000000 
    // Symbol rate = 1.2 
    // TX Power = 15 
    // Whitening = false 
    
    static const registerSetting_t preferredSettings[]= 
    {
        {CC1120_IOCFG3, 0xB0},
        {CC1120_IOCFG2, 0x06},
        {CC1120_IOCFG1, 0xB0},
        {CC1120_IOCFG0, 0x40},
        {CC1120_SYNC3, 0x41},
        {CC1120_SYNC2, 0x47},
        {CC1120_SYNC1, 0x41},
        {CC1120_SYNC0, 0x4C},
        {CC1120_SYNC_CFG1, 0x0B},
        {CC1120_DCFILT_CFG, 0x1C},
        {CC1120_PREAMBLE_CFG1, 0x18},
        {CC1120_IQIC, 0x46},
        {CC1120_CHAN_BW, 0x04},
        {CC1120_MDMCFG0, 0x05},
        {CC1120_AGC_REF, 0x20},
        {CC1120_AGC_CS_THR, 0x19},
        {CC1120_AGC_CFG1, 0xA9},
        {CC1120_AGC_CFG0, 0xCF},
        {CC1120_FIFO_CFG, 0x00},
        {CC1120_FS_CFG, 0x14},
        {CC1120_PKT_CFG0, 0x20},
        {CC1120_PKT_LEN, 0xFF},
        {CC1120_IF_MIX_CFG, 0x00},
        {CC1120_FREQOFF_CFG, 0x22},
        {CC1120_FREQ2, 0x6C},
        {CC1120_FREQ1, 0x80},
        {CC1120_FS_DIG1, 0x00},
        {CC1120_FS_DIG0, 0x5F},
        {CC1120_FS_CAL1, 0x40},
        {CC1120_FS_CAL0, 0x0E},
        {CC1120_FS_DIVTWO, 0x03},
        {CC1120_FS_DSM0, 0x33},
        {CC1120_FS_DVC0, 0x17},
        {CC1120_FS_PFD, 0x50},
        {CC1120_FS_PRE, 0x6E},
        {CC1120_FS_REG_DIV_CML, 0x14},
        {CC1120_FS_SPARE, 0xAC},
        {CC1120_FS_VCO0, 0xB4},
        {CC1120_XOSC5, 0x0E},
        {CC1120_XOSC1, 0x03},
    };
    

    在这种情况下、似乎你对地址0x80启用了地址过滤、但是导出的设置没有反映这一点。 不知道为什么、由于设置是通过地址过滤正确导出的、如果我尝试从零开始启用它、而不是从您发送给我的文件。

    监听模式:

    // Address Config = Address check, no broadcast 
    // Bit Rate = 1.2 
    // Carrier Frequency = 434.000000 
    // Deviation = 3.997803 
    // Device Address = 0 
    // Manchester Enable = false 
    // Modulation Format = 2-FSK 
    // PA Ramping = true 
    // Packet Bit Length = 0 
    // Packet Length = 255 
    // Packet Length Mode = Variable 
    // Performance Mode = High Performance 
    // RX Filter BW = 50.000000 
    // Symbol rate = 1.2 
    // TX Power = 15 
    // Whitening = false 
    
    static const registerSetting_t preferredSettings[]= 
    {
        {CC1120_IOCFG3, 0xB0},
        {CC1120_IOCFG2, 0x06},
        {CC1120_IOCFG1, 0xB0},
        {CC1120_IOCFG0, 0x40},
        {CC1120_SYNC3, 0x41},
        {CC1120_SYNC2, 0x47},
        {CC1120_SYNC1, 0x41},
        {CC1120_SYNC0, 0x4C},
        {CC1120_SYNC_CFG1, 0x0B},
        {CC1120_DCFILT_CFG, 0x1C},
        {CC1120_PREAMBLE_CFG1, 0x18},
        {CC1120_IQIC, 0x46},
        {CC1120_CHAN_BW, 0x04},
        {CC1120_MDMCFG0, 0x05},
        {CC1120_AGC_REF, 0x20},
        {CC1120_AGC_CS_THR, 0x0C},
        {CC1120_AGC_CFG1, 0xA0},
        {CC1120_FIFO_CFG, 0x00},
        {CC1120_SETTLING_CFG, 0x03},
        {CC1120_FS_CFG, 0x14},
        {CC1120_WOR_CFG0, 0x20},
        {CC1120_WOR_EVENT0_MSB, 0x02},
        {CC1120_WOR_EVENT0_LSB, 0xE9},
        {CC1120_PKT_CFG1, 0x15},
        {CC1120_PKT_CFG0, 0x20},
        {CC1120_RFEND_CFG0, 0x09},
        {CC1120_PKT_LEN, 0xFF},
        {CC1120_IF_MIX_CFG, 0x00},
        {CC1120_FREQOFF_CFG, 0x22},
        {CC1120_FREQ2, 0x6C},
        {CC1120_FREQ1, 0x80},
        {CC1120_FS_DIG1, 0x00},
        {CC1120_FS_DIG0, 0x5F},
        {CC1120_FS_CAL1, 0x40},
        {CC1120_FS_CAL0, 0x0E},
        {CC1120_FS_DIVTWO, 0x03},
        {CC1120_FS_DSM0, 0x33},
        {CC1120_FS_DVC0, 0x17},
        {CC1120_FS_PFD, 0x50},
        {CC1120_FS_PRE, 0x6E},
        {CC1120_FS_REG_DIV_CML, 0x14},
        {CC1120_FS_SPARE, 0xAC},
        {CC1120_FS_VCO0, 0xB4},
        {CC1120_XOSC5, 0x0E},
        {CC1120_XOSC2, 0x00},
        {CC1120_XOSC1, 0x03},
    };
    

    对于监听模式设置、已启用地址过滤、但过滤的地址为0x00。

    不确定你是否想要使用地址过滤,或者你想要使用什么地址,但我测试了你监听模式设置如上所示,在 TrxEB 上, 只要我在发送器的长度字节之后发送了0x00 (地址)、它们就可以正常工作、并且所有数据包都已接收。

    Br

    Siri

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

    是的、我实际上正在过滤地址0x80、但我在 TX 上有一个 DIP 开关设置、因此我通常在加载后只在寄存器中进行调整。  抱歉、我没有提到这个。  接着、我将其添加到.xml 文件中、因此我们位于同一个页面中。  结果仍然相同。  正常 RX 对于接收到的所有数据包表现良好。  但射频监听、不会接收到数据包。  以下是在 DEV_ADDR 为0x80的情况下重做的2个.xml 文件。

    如果您看不到这些内容、请告诉我。  同样、Packet_RX (或正常 RX)工作正常。

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

    在所有情况下、我都发送的 TX 数据包为:

    10 80 01 00 01 08 01 09 00 00 00 00 00 00 00 00 00

    10 -长度

    80–地址

    所有其他-我的应用程序的数据

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

    可以。  如果 RX 处于监听模式、则执行校准。   但是、这与 TrxEB 板未接收来自 TX 的数据包无关。  其中的代码应该执行此操作。

      RFRXTX_READ_Config_Register (WOR_CFG0、&temp);
      temp =(temp & 0xF9)| 0x02;
      RFRXTX_Write_Config_Register (WOR_CFG0、temp);
      RFRXTX_Strobe (sidle、&value);  //发出空闲选通信号会校准 RC OSC

      //禁用校准模式

      temp =(temp & 0xF9);
      RFRXTX_Write_Config_Register (WOR_CFG0、temp);  

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

    此外、加载程序(.xml 文件)中存在一个错误、即如果未指定 DEV_ADDR 的寄存器数据(默认值为0)、但 Device Panel 确实指定了该数据(0x80)、则寄存器在加载过程中不会更新。  这可能就是您所看到的。  我也不知道该怎么办。"  PKT_CFG1也发生在该处、如果该值加载为0x05、但器件面板显示"地址检查、无广播"、则不更新寄存器。

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

    我想了想。  它与我已经报告的一个错误有关。  如果在窗格顶部按"启动"、则不起作用。  停止也会导致碰撞。  如果在底部使用了启动数据包 RX 和停止数据包 RX、则会起作用。  顶部的"开始"和"停止"按钮有问题。  它一直至少恢复到2.21。

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

    好的。 如果 Studio 中有错误、我会报告。 但是、您的所有问题是否都得到了解决?

    据我了解、使用嗅探模式时、您遇到自定义软件问题、而不是 Studio 崩溃问题。

    Siri

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

    顶部的 START 按钮会显示为启动监听模式、但实际上不会。  只有底部的"开始数据包 RX"启动监听模式。  在我确定这一点之前、我所使用的值似乎有问题。  如果在监听模式的顶部按下 STOP,则会出现崩溃错误,而不管设置值是多少。  现在已确定顶部的启动和停止均不能以监听模式工作、是的、我的问题已解决。  谢谢。