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.

[参考译文] CC1125:使用 GPIO 监控同步字检测

Guru**** 2539500 points
Other Parts Discussed in Thread: CC1125, CC1120

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/798270/cc1125-monitoring-of-sync-word-detection-using-gpio

器件型号:CC1125
主题中讨论的其他器件: CC1120

大家好

我正在测试 CC1125芯片组的可预处理和同步字检测功能。
该芯片组配置为在同步串行模式下工作、并启用前导码和同步字检测。
为了监控检测过程,我在接收器侧配置了 GPIO0引脚中的前导码检测(IOCFG0 = 0x0B)和 GIPO3引脚中的同步字检测(IOCFG3 = 0x06)。
从发送器发送一个测试数据包(测试数据包由12字节前导码、2字节同步字和5字节有效载荷组成)、在接收器侧、我可以正确看到 GPIO0和 GPIO3被置位

检测到前导码和同步字时。
然而、当 GPIO0在检测到前导码后自动复位时、GPIO3永远不会在检测到同步字后复位、也不会将收发器切换到空闲或 Tx 状态。
我唯一能够对其进行复位的方法是发送芯片复位命令( SRES ),但这对于我们的测试目的是不可接受的。
这种行为可能是由我的配置中的错误/缺失导致的。您是否可以向我提供任何建议/提示、以帮助在同步字检测或 数据包重置完成后重置 GPIO3?
为了进行更好的验证,您可以在下面找到 CC1125寄存器的转储,这些寄存器在 我们的测试过程中与芯片配置相对应。
此问题是否可能与芯片组的同步串行模式操作有关?在我们的验证中、当 CC1125配置为 FIFO 模式时、我们不会验证此问题。

提前感谢您的支持!

Emanuele

寄存器
 CC112X_IOCFG3                     0x06
 CC112X_IOCFG2                     0x08
 CC112X_IOCFG1                     0xb0
 CC112X_IOCFG0                     0x0B
 CC112X_SYNC3                      0x00
 CC112X_SYNC2                      0x00
 CC112X_SYNC1                      0x2C
 CC112X_SYNC0                      0x6e
 CC112X_SYNC_CFG1                  0x0A
 CC112X_SYNC_CFG0                  0x0B
 CC112X_EX差_M                0x5f
 CC112X_MODCFG_DEV_E               0x0B
 CC112X_DCFILT_CFG                 0x1c
 CC112X_PREAMING_CFG1              0x15
 CC112X_PREAMING_CFG0              0x28
 CC112X_FREQ_IF_CFG                0x33
 CC112X_IQIC                       0x06
 CC112X_CHAN_BW                    0x06
 CC112X_MDMCFG1                    0x06
 CC112X_MDMCFG0                    0x01
 CC112X_symbol_Rate2               0x7f
 CC112X_symbol_rate1               0xae
 CC112X_symbol_RATE0               0x1b
 CC112X_AGC_REF                    0x20
 CC112X_AGC_CS_THR                 0x0C
 CC112X_AGC_GAIN_ADJUST            0x90
 CC112X_AGC_CFG3                   0x91
 CC112X_AGC_CFG2                   0x00
 CC112X_AGC_CFG1                   0x09
 CC112X_AGC_CFG0                   0xc7
 CC112X_FIFO_CFG                   0x00
 CC112X_DEV_ADDR                   0x02
 CC112X_Setting_CFG               0x03
 CC112X_FS_CFG                     0x12
 CC112X_WOR_CFG1                   0x08
 CC112X_WOR_CFG0                   0x20
 CC112X_WOR_EVENT0_MSB             0x02
 CC112X_WOR_EVENT0_LSB             0xe9
 CC112X_PKT_CFG2                   0x01
 CC112X_PKT_CFG1                   0x10
 CC112X_PKT_CFG0                   0x00
 CC112X_RFEND_CFG1                 0x3F
 CC112X_RFEND_CFG0                 0x00
 CC112X_PA_CFG2                    0x7f
 CC112X_PA_CFG1                    0x56
 CC112X_PA_CFG0                    0x7d
 CC112X_PKT_LEN                    0x00
 CC112X_IF_Mix _CFG                 0x20
 CC112X_FREQOFF_CFG                0x0B
 CC112X_TOC_CFG                    0x00
 CC112X_MARC_SPARE                 0x00
 CC112X_ECG_CFG                    0x00
 CC112X_CFM_DATA_CFG               0x01
 CC112X_EXT_CTRL                   0x00
 CC112X_RCCAL_Fine                 0x00
 CC112X_RCCAL_ROW_               0x00
 CC112X_RCCAL_OFFSET               0x00
 CC112X_FREQOFF1                   0x00
 CC112X_FREQOFF0                   0x56
 CC112X_FREQ2                      0xb3.
 CC112X_FREQ1                      0x73
 CC112X_FREQ0                      0x02
 CC112X_IF_ADC2                    0xa6
 CC112X_IF_ADC1                    0x05
 CC112X_IF_ADC0                    0x00
 CC112X_FS_DIG1                    0x5f
 CC112X_FS_DIG0                    0x00
 CC112X_FS_CAL3                    0x20
 CC112X_FS_CAL2                    0x00
 CC112X_FS_CAL1                    0x0E
 CC112X_FS_CAL0                    0x24
 CC112X_FS_CHP                     0x03
 CC112X_FS_DIVTWO                  0x00
 CC112X_FS_DSM1                    0x33
 CC112X_FS_DSM0                    0xFF
 CC112X_FS_DVC1                    0x17
 CC112X_FS_DVC0                    0x00
 CC112X_FS_LBI                     0x50
 CC112X_FS_PFD                     0x6e
 CC112X_FS_PRE                     0x14
 CC112X_FS_REG_DIV_CML             0xac
 CC112X_FS_SPARE                   0x1f
 CC112X_FS_VCO4                    0x00
 CC112X_FS_VCO3                    0x4c
 CC112X_FS_VCO2                    0x9C
 CC112X_FS_VCO1                    0x81
 CC112X_FS_VCO0                    0x00
 CC112X_GBIAS6                     0x02
 CC112X_GBIAS5                     0x00
 CC112X_GBIAS4                     0x00
 CC112X_GBIAS3                     0x10
 CC112X_GBIAS2                     0x00
 CC112X_GBIAS1                     0x00
 CC112X_GBIAS0                     0x01
 CC112X_IFAMP                      0x01
 CC112X_LNA                        0x01
 CC112X_RXMIX                      0x0E
 CC112X_XOSC5                      0xA0
 CC112X_XOSC4                      0xc7
 CC112X_XOSC3                      0x04
 CC112X_XOSC2                      0x07
 CC112X_XOSC1                      0x01
 CC112X_XOSC0                      0x00
 CC112X_ANALOG_SPARE               0x00
 CC112X_PA_CFG3                    0x00
 CC112X_IRQ0M                      0x00
 CC112X_IRQ0F                      0x00
CC112X_RSSI1 0x86
CC112X_RSSI0 0x43
CC112X_AGC_GAIN3 0x27
CC112X_AGC_GAIN2 0xD1
CC112X_AGC_GAIN1 0x00
CC112X_AGC_GAIN0 0x1f

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    按照我的理解、长度字节在同步串行模式中没有任何功能。 换言之、在同步串行模式下、芯片知道何时启动串行时钟、但没有关于何时停止时钟的信息。 因此、您应该能够返回空闲的轮询状态。

    但这里的用例是什么? 如果只想测试同步检测、可以在 FIFO 模式下执行此操作。 然后 IOCFG3 = 0x06信号将在数据包末尾失效。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、感谢您的回答。
    我们想了解是否可以在串行同步模式下重置数据包接收结束时的同步检测状态和相关引脚。
    原因仅仅是为了简化我们的工作和测量,因为我们有一个系统在这种模式下工作,我们希望保持相同的固件。
    我已经尝试选通一个 sidle 命令、我可以观察到、在空闲状态下、引脚已正确复位。但是、当我选通 SRX 命令时、即使尚未检测到同步字、引脚也会再次置于高电平状态。
    似乎同步字检测事件在第一次检测后从未清除、我完全复位其状态的唯一方法是通过轮询 SRES 命令。
    这是否是在串行同步模式下清除同步检测事件的唯一方法、或者您是否认为还有其他方法?
    如果我们可以在无需选通 SRES 命令的情况下复位同步检测状态和相关引脚、那对我们来说会更好。
    再次感谢您的支持,此致

    Emanuele
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我现在对 TRXEB 执行了一个 CC1120 EM 快速测试。 我使用"RF 器件命令"选项卡并使用 defaul 同步字将芯片设置为 CONT RX。 当我以无线方式发送数据包时、我看到 CLK 和数据线在找到 SYNC 后处于活动状态。 如果我按下 Sidle、则芯片进入空闲状态、并且数据/ CLK 线路变为非活动状态。 在我按下 SRX 后、数据和 CLK 信号为低电平、并在接收到新的有效 symc 字之前为低电平。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、非常感谢。

    此外、我还能够通过监控 MODEM_STATUS1寄存器来管理同步字检测、但您的建议更简单、更快。

    非常感谢

    Emanuele