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.

[参考译文] CDCI6214:基准输入时钟和输出时钟之间的可变相位关系

Guru**** 1953960 points
Other Parts Discussed in Thread: CDCI6214, CDCE6214
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1436011/cdci6214-variable-phase-relationship-between-reference-input-clock-and-output-clocks

器件型号:CDCI6214
主题中讨论的其他器件: CDCE6214

工具与软件:

使用 REFP/N 作为基准时、我可以看到输出时钟和输入基准之间的相位看起来取决于基准频率。

我想我已经正确地对 PLL 进行了编程;我已将 ip_rdiv 设置为1;我正在设置 pll_ndiv 和 pll_psfb 以获得允许范围内的 f_vco。 我的输入频率在1和100 MHz 之间。 我设置了 SYNC_EN 位。

当我更改输入频率时、我根据需要应用新的 PLL 参数并进行重新同步。 我观察到的是、基准时钟和输出时钟之间的相对相位在很大程度上取决于频率。

为了说明、当输入时钟为5 MHz 时、我得到:

如果是30 MHz、我会得到以下消息:

顶部(黑色)是输入基准、底部(蓝色)是 PLL 输出时钟。 在本例中、输出频率=输入频率、但这只是为了更好地说明该问题;在我的应用中、情况并非总是如此。

当我增加基准频率时、相位偏移以非常规律的单调方式移动。

PLL 已锁定(声称是、似乎是)、并且这是100%可重现的(对于给定的频率、我始终获得相同的相位)。

这是预期行为吗? 我可以做什么来获得固定相位关系吗?

我知道可以使用输出 SYNC_DELAY 功能、但我认为这不是完整的解决方案、因为调节非常粗略并且范围有限。

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

    Jean-Pierre,

    如果您希望输入和输出之间具有固定相位关系、则需要所谓的零延迟模式(ZDM)。

    我还将注意到、不推荐在新设计中使用 CDCI6214、我们推荐与引脚兼容(并提供 ZDM)的 CDCE6214。

    谢谢!

    Kadeem

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

    谢谢你。 我尝试过 ZDM、但无法从它获得适当的时钟输出。 我需要使用内部反馈选项。 我已经按照表1设置了所有内容、PLL 声称被锁定、但是输出时钟运行速度比基准时钟快:基准为5.00 MHz、输出为5.06 MHz (PLL 被编程为生成输出=输入)。

    我对 ZDM 应该如何工作感到困惑-根据表1、我必须设置 zdm_auto、这意味着自动计算 PLL_ndiv 和 PLL_psfb。 不过、表1还说明了我必须将 pll_psa 设置为 pll_psfb、并将 ch2_iod_div 设置为 pll_ndiv;用于此操作的过程是什么? 我不清楚其中哪些由用户设置、哪些由 PLL 本身设置、以及必须遵循什么顺序。 您能解释一下吗?

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

    Jean-Pierre,

    您能否从 TICS Pro 或寄存器转储中提供配置文件? 我可以在 EVM 上评估此结果、并让您知道我是否发现任何问题。

    谢谢!
    Kadeem

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

    当然、这里是寄存器转储:

    GENERIC0    (0x00):0x3100
    GENERIC1    (0x01):0x6b82
    GENERIC2    (0x02):0x0050
    GENERIC3    (0x03):0x0000
    POWER0      (0x04):0x005d
    POWER1      (0x05):0x0008
    STATUS0     (0x06):0x152c
    STATUS1     (0x07):0x0c0f
    STATUS2     (0x08):0x0001
    STATUS3     (0x09):0x0000
    EEPROM0     (0x0a):0x0000
    EEPROM1     (0x0B):0x0000
    EEPROM2     (0x0c):0x0000
    EEPROM3     (0x0d):0x0000
    EEPROM4     (0x0E):0x0000
    STARTUP0    (0x0F):0xa137
    STARTUP1    (0x10):0x921f
    STARTUP2    (0x11):0x26c4
    未知     (0x12):0xa001
    未知     (0x13):0x0000
    未知     (0x14):0x0001
    未知     (0x15):0x0000
    未知     (0x16):0x0000
    未知     (0x17):0x0505
    REV0        (0x18):0x0601
    未知     (0x19):0x0406
    INPUT0      (0x1a):0x8b1a
    Input1      (0x1b):0x0001
    INPUT_DBG0  (0x1c):0x0000
    PLL0        (0x1d):0x0078
    PLL1        (0x1E):0x5140
    PLL2        (0x1F):0x1E72
    未知     (0x20):0x0000
    PLL4        (0x21):0x0007
    未知     (0x22):0x0050
    CH1_CTRL0   (0x23):0x8000
    CH1_CTRL1   (0x24):0x0000
    CH1_CTRL2   (0x25):0x0078
    CH1_CTRL3   (0x26):0x0405
    CH1_CTRL4   (0x27):0x0a65
    CH1_CTRL5   (0x28):0x0008
    CH2_CTRL0   (0x29):0x8000
    CH2_CTRL1   (0x2A):0x0000
    CH2_CTRL2   (0x2b):0x0078
    CH2_CTRL3   (0x2C):0x0401
    CH2_CTRL4   (0x2D):0x0a65
    CH2_CTRL5   (0x2e):0x0008
    CH3_CTRL0   (0x2F):0x8000
    CH3_CTRL1   (0x30):0x0000
    CH3_CTRL2   (0x31):0x0078
    CH3_CTRL3   (0x32):0x0405
    CH3_CTRL4   (0x33):0x0a65
    CH3_CTRL5   (0x34):0x0008
    CH4_CTRL0   (0x35):0x8000
    CH4_CTRL1   (0x36):0x0000
    CH4_CTRL2   (0x37):0x0004
    CH4_CTRL3   (0x38):0x0481
    CH4_CTRL4   (0x39):0x0a65
    CH4_CTRL5   (0x3a):0x0008
    CHx_CTRL0   (0x3b):0x0009
    CHx_CTRL1   (0x3c):0x0010
    CHx_CTRL2   (0x3D):0x1000
    CHx_CTRL3   (0x3e):0x4210
    CHx_CTRL4   (0x3f):0x0210
    未知     (0x40):0x000d
    未知     (0x41):0x0f34
    未知     (0x42):0x0000
    未知     (0x43):0x0020
    未知     (0x44):0x0000
    未知     (0x45):0x0000
    未知     (0x46):0x0000

    这里是测量的基准和输出时钟:基准为5 MHz、输出为5.063 MHz。

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

    谢谢你。 我们将查看工作台上的内容、并在本周结束时回复您。

    此致!

    CRIS

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

    Jean-Pierre,

     PDN_CH2位设置为0。 禁用通道2后、ZDM 将不工作。 将此位设置为1、不进行其他更改、可在我的末端解决该问题

    谢谢!
    Kadeem

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

    谢谢观看! 这可以解决我遇到的原始问题(可变相位)。

    我仍然不理解 zdm_auto 位。 根据表1、需要将其设置为零延迟模式。 不过、无论我是否设置或清除它、我都具有相同的行为(输出时钟相同)。 在这两种情况下、我都手动设置 pll_ndiv 和 pll_pssfb。

    可以保留 zdm_auto=0吗?

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

    Jean-Pierre,

    zdm_auto 位用于 在零延迟模式下自动控制 PLL_ndiv 和 PLL_psfb 的值。

    然而、大多数配置已经为零延迟模式正确设置了这些位-在这种情况下、该位可保留为0或1。

    谢谢!
    Kadeem