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:CDCI6214:无法在 Y1 - Y4上获取输出信号。 无法锁定 PLL

Guru**** 2558250 points
Other Parts Discussed in Thread: CDCI6214

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/736272/cdci6214-cdci6214-cant-get-an-output-signal-on-y1---y4-cant-get-the-pll-to-lock

器件型号:CDCI6214

您好!

我目前正在尝试将 CDCI6214配置为在未来的项目中实施。 尽管我已经阅读了给定的数据表(修订版 B)和论坛帖子、但我无法解决我的问题。

我通过 I2C 成功地对器件进行了编程、从而通过输出 Y0产生旁路信号。 但我无法在任何其他输出通道上获得输出信号。 我已经尝试了不同的组合。

STM32 Nucleo L452RE 用于 I2C 连接。 在通过 ref_mux 选择 REF-输入时、我将使 EEPROMSEL 和 REFSEL 引脚悬空。 作为输入信号、我使用的是由任意发生器生成的25MHz 方波。
我正在使用 GPIO1-Pin 来检查 PLL 锁定。 即使我使用了表2中的值。 (第一行)和图33中的设置。 我无法锁定 PLL。

我按照以下顺序发送了寄存器编程:


寄存器         数据               描述
_________________ _________________ _________________________________
0x00、0x0F、0x10、0x37       设置 ee_lock
0x00、0x28、0x00、0x08      将通道1设置为1.8V
0x00、0x2E、0x00、0x08   将通道2设置为1.8V
0x00、0x34、0x00、0x08     将通道3设置为1.8V
0x00、0x3A、0x00、0x08     将通道4设置为1.8V

0x00、0x42、0x02、0x00
0x00、0x3F、0x02、0x10
0x00、0x3E、0x42、0x10
0x00、0x3D、0x15、0x00
0x00、0x3C、0x00、0x18
0x00、0x3B、0x00、0x63
0x00、0x3A、0x00、0x08
0x00、0x39、0x00、0x71
0x00、0x38、0x00、0x04
0x00、0x37、0x00、0x00
0x00、0x36、0x00、0x00
0x00、0x35、0x80、0x00
0x00、0x34、0x00、0x08
0x00、0x33、0x06、0x71
0x00、0x32、0x00、0x04
0x00、0x31、0x00、0x00
0x00、0x30、0x00、0x00
0x00、0x2F、0x80、0x00
0x00、0x2E、0x00、0x08
0x00、0x2D、0x00、0x71
0x00、0x2C、0x00、0x09
0x00、0x2B、0x00、0x00
0x00、0x2A、0x00、0x00
0x00、0x29、0x80、0x00
0x00、0x28、0x00、0x08
0x00、0x27、0x06、0x79
0x00、0x26、0x30、0x09
0x00、0x25、0x00、0x03
0x00、0x24、0x00、0x00
0x00、0x23、0x80、0x00
0x00、0x21、0x00、0x07
0x00、0x1F、0x1E、0x72
0x00、0x1E、0x51、0x40
0x00、0x1D、0x00、0x0C
0x00、0x1C、0x00、0x00
0x00、0x1B、0x0E、0x00
0x00、0x1A、0x0B、0x14
0x00、0x18、0x06、0x01
0x00、0x11、0x06、0xC4
0x00、0x10、0x92、0x1F
0x00、0x0F、0x10、0x37
0x00、0x0E、0x00、0x00
0x00、0x0D、0x00、0x00
0x00、0x0C、0x00、0x00
0x00、0x0B、0x00、0x00
0x00、0x0A、0x00、0x00
0x00、0x09、0x00、0x00
0x00、0x08、0x00、0x00
0x00、0x07、0x00、0x00
0x00、0x06、0x00、0x00
0x00、0x05、0x00、0x00
0x00、0x04、0x00、0x54
0x00、0x03、0x00、0x00
0x00、0x02、0x00、0x30
0x00、0x01、0x6B、0x32
0x00、0x00、0x10、0x40


此外、我无法找到表19中的"模式"位的值。 以及它的用途。
此外、8.5.1节中还介绍了"推荐的编程程序"。 也就是说、您应该按照从0x44到0x00的降序对寄存器进行编程。
这仅用于 EEPROM 编程、因为寄存器映射第8.6节中没有0x44寄存器。




非常感谢
Maximilian Rentschler

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

    如果 ch#_SYNC_DELAY > 0、则必须具有 ch#_SYNC_EN = 1才能使输出运行。
    由于配置中的 CH1_SYNC_DELAY = 6、因此应将其更改为0或设置 R38[10]= 0x26[10]= CH1_SYNC_EN = 1。
    此外、我注意到、对于 ch (2、3、4)_iod_div、您的输出分频设置为0。 因此、这会使输出断电。

    这可以解决您的无输出问题。 我目前尚未确认从 EEPROM 启动的 PLL 锁定。
    此外、您是否使用 TICS Pro 生成了寄存器映射? 在软件中、您可以配置器件、保存包含所有十六进制寄存器值的 txt 文件。 这可能会对您的情况有所帮助。

    如果您仍面临 PLL 解锁问题、请告诉我。

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

    我尝试了您推荐的设置、但仍然无法获得输出信号。 我尝试启用 CH1_SYNC_EN 并禁用它。 我也是

    将所有输出分频器"CH1/2/3/4_iod_div"更改为不同的值。 现在、我只尝试通过"Y1"获取输出信号、这就是为什么

    关闭的其他通道。 我还尝试在"Y1"上使用"CH1_IMD_MUX"路由 BYP 信号、但没有成功。

    我现在下载了 TICS Pro 软件来创建寄存器值、但仍然无法通过"Y1"锁定 PLL、甚至无法锁定输出信号。

    以下是我当前正在传输的值:

    R700x00460000
    R690x00450000
    R680x00440000
    R670x00430020
    R660x00420200
    R650x00410F34
    R640x0040000D
    R630x003F4210
    R620x003E4218
    R610x003D1500
    R600x003C0018
    R590x003B1063
    R580x003A0008
    R570x00398851
    R560x00380009
    R550x00370000
    R540x00360000
    R530x00358000
    R520x00340008
    R510x00338861
    R500x00320031
    R490x00310000
    R480x00300000
    R470x002F8000
    R460x002E0008
    R450x002D0851
    R440x002C0011
    R430x002B0000
    R420x002A0000
    R410x00298000
    R400x00280008
    R390x00270851
    R380x00260809
    R370x0025C001
    R360x00240000
    R350x00238000
    R340x00220050
    R330x00210007
    R320x00200000
    R310x001F1E72
    R300x001E5140
    R290x001D000C
    R280x001C0000
    R270x001B0E00
    R260x001A0E01
    R250x00192406
    R240x00180000
    R230x00170000
    R220x00160000
    R210x00150000
    R200x00140001
    R190x00130000
    R180x0012FFFF
    R170x001126C4
    R160x0010921F
    R150x000F5037
    R140x000E0000
    R130x000D003F
    R120x000C0000
    R110x000B003F
    R100x000A0000
    R90x00090000
    R80x00080001
    R70x00070C0D
    R60x000619CA
    R50x00050008
    R40x00040000
    R30x00031000
    R20x00020000
    R10x00016B44
    R00x00001000


    非常感谢
    马西米兰
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Maximilian:

    我希望明天能有更详细的答复。 您能否在 CH1_SYNC_DELAY = 0时仔细检查写入情况。
    此外、您是否具有用于 HCSL 的正确端接? 您是否尝试过其他输出格式、如 LVDS?

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

    在查看您发送的配置时、我发现...
    * CH1_SYNC_EN = 0、但 CH1_SYNC_DELAY = 1。 这将阻止输出。 我更改了 CH1_SYNC_DELAY = 0以确保输出。
    *在 EVM 上、PRIREF 配置为交流差分、因此我将 ref_inbuf_ctrl 从 LVCMOS 更改为交流差分(但它是下面转储中的 LVCMOS)
    *我必须从 HCSL 向 LVPECL 填充 CH1_outbuf_ctrl 以查看输出(但它是下面转储中的 HCSL、前提是您的输出配置为 HCSL、不会出现问题)
    *我必须将 CH4_outbuf_ctrl 从 HCSL 更改为 LVPECL 以查看输出(但它是下面转储中的 HCSL、前提是您的输出配置为 HCSL、不存在问题)
    *我必须将 CH2_iod_div、ch3_iod_div 和 ch4_iod_div 从0更改为非零以查看输出... 我已经在我提供的寄存器转储中针对下面列出的频率进行了设置。
    Y0 = 50MHz 来自 REF
    Y1 = 50MHz 来自 REF
    Y2 = 75MHz
    Y3 = 100MHz
    Y4 = 200MHz

    由于配置存在微小变化、我能够对 EEPROM 进行编程并使 PLL 锁定所有时钟输出工作。
    确认到引脚5 REFP 的 LVCMOS 信号。
    我在下面提供了寄存器转储、您可以对 Y1和 Y4上的输出格式在输入上保留 LVCMOS 和 HCSL 进行编程。

    我的观察结果是、如果不将输入更改为交流差分、我就无法使 PLL 锁定。 我在 SMA_REFP&N 中使用了50MHz 和5dBm 的 SigGen 平衡-非平衡变压器
    >您的输入内容可能会引起一些麻烦。 您能否测量和显示输入波形?
    >使用交流差分、即使我移除了平衡-非平衡变压器并向 SMA_REFP 单端提供5dBm 功率、器件仍然看起来锁定并提供输出。

    请尝试下面的寄存器转储并验证输入。 请告诉我它是怎么发生的。

    73、
    Timothy

    0x00460000
    0x00450000
    0x00440000
    0x00430020
    0x00420200
    0x00410F34
    0x0040000D
    0x003F4210
    0x003E4218
    0x003D1500
    0x003C0018
    0x003B1063
    0x003A0008
    0x00398A51
    0x00380009
    0x00370003
    0x00360000
    0x00358000
    0x00340008
    0x00338861
    0x00320031
    0x00310006
    0x00300000
    0x002F8000
    0x002E0008
    0x002D0A51
    0x002C0011
    0x002B0008
    0x002A0000
    0x00298000
    0x00280008
    0x00270851
    0x00260009
    0x0025C001
    0x00240000
    0x00238000
    0x00220050
    0x00210007
    0x00200000
    0x001F1E72
    0x001E5140
    0x001D000C
    0x001C0000
    0x001B0E00
    0x001A0E01
    0x00190406
    0x00180601
    0x00170580
    0x00160000
    0x00150000
    0x00140001
    0x00130000
    0x0012FFFF
    0x001126C4
    0x0010921F
    0x000FA037
    0x000E0000
    0x000D0000
    0x000C0000
    0x000B0000
    0x000AA4C4
    0x0009A4C4
    0x00080001
    0x00070C0D
    0x0006152C
    0x00050008
    0x00040000
    0x00030000
    0x00020000
    0x00016B44
    0x00001000
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Timothy、

    感谢你的帮助。 我尝试了您发送给我的寄存器、但仍然无法获得输出信号。

    我开始认为我的测试设置可能会有一些问题、因为您说过该寄存器映射应该正常运行。 由于我不使用评估模块、而只使用焊接在分线板上的芯片、这可能是唯一的问题。

    我向您发送了一张输入信号的图片。 它是 SigGen 的50MHz 信号。 如果您没有进一步的解释是什么会导致我的问题、我将等待项目板的第一个原型直接在那里进行测试。

    无论如何都谢谢

    马西米兰

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

    尊敬的 Maximilian:

    [引用 user="Maximilian Rentschler"]作为输入信号,我使用的是由任意发生器生成的25MHz 方波。

    这是从上面来的...

    [引用 user="Maximilian Rentschler">我向您发送了输入信号的图片。 它是一个来自 SigGen 的50MHz 信号。[/quot]

    我先前发送的寄存器假定输入为25MHz。  如果您使用的是50MHz 输入、则这可能是一个问题。

    我将故障排除归结为4项。

    1) 1)确保您确实对器件进行了编程。

    如果它被编程为忽略 I2C 的模式、那么摆脱这种情况的方法是 通过 EEPROMSEL 和 REFSEL 悬空以及 VDDREF 电平上的 RESETN/SYNC 加电。  听起来您可能已经在这样做了、但请确保 RESETN 为高电平。

    [引用 USER="Maximilian Rentschler"]在通过 ref_mux[/quot]选择 REF 输入时、我将 EEPROMSEL 和 REFSEL 引脚保持悬空状态

    2) 2)有效的输入和输入配置

    [引用 user="Maximilian Rentschler">我向您发送了输入信号的图片。 它是一个来自 SigGen 的50MHz 信号。[/quot]

    对于信号本身、就其幅度为~0V 至~3.3V 而言、它似乎满足 CMOS 的要求。 如果您可以看到 Y0上的输入、一切都应该很好。  您可以考虑在 IP_BYP_MUX=0时测试 REF Direct 的输出。  如果您有一个频率计数器与您的 SIG 生成同步、这将是确保 CDCI6214正确获得输入信号的最准确方法。

    如果遇到任何问题、我会尝试具有较小摆幅的交流差分模式、~1.5Vpp。  即使您只能将其提供给单个输入以用于测试目的、也是如此。

    涵盖所有输入注意事项后、只需确保正确配置输出端接。  例如、在我们的 EVM 上、我必须更改为非 HCSL 输出以查看时钟。

    3) 3) PLL 锁定的状态。

    您将在输出引脚上观察到这一点。  即使未锁定、您仍应能够获取输出。  您可能需要设置 cal_mute = 0才能获得这些输出。

    PLL 锁定故障排除的一种有用方法是查看 CLK_PFD_REF (来自输入)和 CLK_PFD_FB (来自 VCO)的调试输出。  当从两个状态引脚输出时、这些信号应相对彼此进行锁相。  如果您未锁定、这些输出应该会为您提供有关为什么不锁定的线索。 例如、如果一个频率略高或略低、或者根本不存在时钟。

    *将 CLK_PFD_REF 的 GPIO0_OUTP_SEL 设置为0x0a、然后设置
    *对于 CLK_PFD_FB、设置 GPIO4_OUTP_SEL = 0x0B

    4) 4)有效输出配置

    我从未从您那里得到明确的响应来确认 HCSL 对您的电路板有效、我预期是这样、但我假设是这样。  如果器件配置正确、您应该能够获得输出(即使 PLL 未锁定)。

    --

    好的、希望这对您有所帮助、否则、原型将按预期工作。  好消息是、我能够在 EVM 上正常工作。

    73、
    Timothy