主题中讨论的其他器件:CDCE6214、
工具与软件:
我们在定制电路板上使用 AM6422、并使用 CDCE6214驱动 PCIe 参考时钟。
遗憾的是、从 CDCE6214发出的100 MHz LVHCSL 信号一旦连接到 SoC、就会失真。 我们仍然可以获得这样的 PCIe 链路、但我们希望时钟看起来更加干净。
我们怀疑可能存在某种有效的内部端接、这会使信号失真、因为我们可以测量每个引脚上的50欧姆至 GND。 不幸的是、这方面的文件非常缺乏。
关于如何正确设置、您有一些提示吗?
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.
工具与软件:
我们在定制电路板上使用 AM6422、并使用 CDCE6214驱动 PCIe 参考时钟。
遗憾的是、从 CDCE6214发出的100 MHz LVHCSL 信号一旦连接到 SoC、就会失真。 我们仍然可以获得这样的 PCIe 链路、但我们希望时钟看起来更加干净。
我们怀疑可能存在某种有效的内部端接、这会使信号失真、因为我们可以测量每个引脚上的50欧姆至 GND。 不幸的是、这方面的文件非常缺乏。
关于如何正确设置、您有一些提示吗?
Michael 的电子邮件回复:
TI 我们测试了补丁、它似乎没有影响电压电平:

已执行'evmem2 0x0F00040C 并确认位27已设置为0b'1'
我们还使用 AM64内部100Mhz ReflClk 进行测试、它似乎可以正常工作、但电压电平仍低于预期。

当使用 AM64作为100Mhz REFCLK 时、TI 是否有办法解决上述电压电平问题?这种内部时钟驱动器类型是什么? 是 LP-HCSL 还是??
您好、Michael:
对于 devmem2 0x0F000040C ->您能否提供除位27值之外的此寄存器返回?
对于 AM64 100Mhz REFCLK 源->它是 HCSL 类型、并提供内部端接
wrt AM64 100Mhz REFCLK 电压振幅->从我们的表征来看、我看到 clk+ Vmax 600mv 和 clk+ Vmin 108mv;clk- Vmax 572mv clk- Vmin 109mv;Vcross 340mv ;您的测量过程中是否使用了高阻抗示波器探头?
wrt CDCE6214作为 REFCLK、且振幅在前置/后置补丁中没有变化->您是否提到在 AM64器件工作时进行了测量、如果是、那种情况下的时钟差分电平是多少
最后、在另一个主题中、我想您已经提到过您确定了原始时钟失真的来源、因为需要与 CDCE6214同时禁用 AM64x REFCLK 获取源。 您能否确认这是否正确理解了失真的时钟问题。
对于 devmem2 0x0F000040C ->您能否提供除位27值之外的此寄存器返回?
(我认为您的意思是 0x0F00040C、而不是 0x0F000040C)
devmem 0x0F00040C
-> 1011 1000 0000 0000 0000 0000 0000
对于 AM64 100Mhz REFCLK 源->它是 HCSL 类型、并提供内部端接
在我们的示例中:如果使用内部时钟发生器、我们是否需要任何外部端接? 因为我们认为可能需要将50 Ω 连接至 CLK P/N 线路上的 GND。 我进行了测试、但这样并没有解决电压电平问题。
wrt AM64 100Mhz REFCLK 电压振幅->从我们的表征来看、我看到 clk+ Vmax 600mv 和 clk+ Vmin 108mv;clk- Vmax 572mv clk- Vmin 109mv;Vcross 340mv ;您的测量过程中是否使用了高阻抗示波器探头?
我已经测量了两个无源高阻抗探头、以查看 PCIe 的电压交叉。 我们必须满足 PCIe 规范规定的最小电压超过250mV 至550mV。
我也使用有源差动探头完成了测量。 您已经获得了这两个型号的测量结果。
wrt CDCE6214作为 REFCLK、且振幅在前置/后置补丁中没有变化->您是否提到在 AM64器件工作时进行了测量、如果是、那种情况下的时钟差分电平是多少
我们在 AM64就位的情况下进行了测量、但 PCIe 时钟时隙上的电压电平高于 SoC (W16/W17)的 REF-CLK 上的电压电平。
最后、在另一个主题中、我想您已经提到过您确定了原始时钟失真的来源、因为需要与 CDCE6214同时禁用 AM64x REFCLK 获取源。 您能否确认这是否正确理解了失真的时钟问题。
时钟失真问题已得到解决、我们不再看到该行为。 两个时钟信号在执行任何补丁之前的同一时间被激活、这是正确的。
对于 devmem2 0x0F000040C ->您能否提供除位27值之外的此寄存器返回?
(我认为您的意思是0x0F00040C、而不是0x0F000040C)
devmem 0x0F00040C
-> 1011 1000 0000 0000 0000 0000 0000
jp :是的,你转了我想键入的寄存器
请确认您提供的值是在配置 CDC 作为 REFCLK 源时的值?
如果以上是、您打算采用通用时钟配置、其中 CDC 为 AM64作为根复合体提供 REFCLK 并同时为 WIFI 卡提供 REFCLK?
1011 1000 0000 0000 0000 0000 0000会禁止 AM64获取 REFCLK、但让 AM64使用其自己的内部 REFCLK
您能否分享如何实现、以便从时钟失真调试中禁用 AM64来自 REFCLK
对于 AM64 100Mhz REFCLK 源->它是 HCSL 类型、并提供内部端接
在本例中:在使用内部时钟发生器的情况下、我们是否需要任何外部端接? 因为我们认为可能需要将50 Ω 连接至 CLK P/N 线路上的 GND。 我进行了测试、但这样并没有解决电压电平问题。
JP :对不起,我不理解你说"我测试,但这没有解决电压电平问题"时所测试的内容
您能详细说明一下您具体尝试了什么吗?
由于驱动器是 HCSL、因此必须在源极处放置端接电阻器。 使用内部电阻器足以设置电压电平
wrt AM64 100Mhz REFCLK 电压振幅->从我们的表征来看、我看到 clk+ Vmax 600mv 和 clk+ Vmin 108mv;clk- Vmax 572mv clk- Vmin 109mv;Vcross 340mv;您在测量过程中是否使用了高阻抗示波器探头?
我已经测量了两个无源高阻抗探头、以查看 PCIe 的电压交叉。 根据 PCIe 规范、我们必须满足250mV 至550mV 的最小电压。
我也使用有源差动探头完成了测量。 您已经获得了这两个型号的测量结果。
JP : Aplogies,因为我们也在讨论用作 REFCLK 源的 AM64 ,您的评论是否指 CDC 作为源不符合 Vcross 或 AM64作为源不符合 Vcross?
我对表征结果的评论来自 AM64作为 REFCLK 源。
wrt CDCE6214作为 REFCLK、且振幅在前置/后置补丁中没有变化->您是否提到在 AM64器件工作时进行了测量、如果是、那种情况下的时钟差分电平是多少
我们在 AM64就位的情况下进行了测量、但 PCIe 时钟时隙上的电压电平高于 SoC (W16/W17)的 REF-CLK 上的电压电平。
JP:您是否可以回到将 CDC 配置为 REFCLK 源并再次转储寄存器0x0F00040C、但不使用 REFCLK 术语禁用补丁? 想要确认是否已在其他位置设置 REFCLK 术语禁用。
最后、在另一个主题中、我想您已经提到过您确定了原始时钟失真的来源、因为需要与 CDCE6214同时禁用 AM64x REFCLK 获取源。 您能否确认这是否正确理解了失真的时钟问题。
时钟失真问题已得到解决、我们不再看到该行为。 两个时钟信号在执行任何补丁之前的同一时间被激活、这是正确的。
jp:如上所述、但您能否分享为禁止 AM64从 REFCLK 源获取所做的更改
请确认您提供的值是您配置 CDC 作为源 REFCLK 时的值?
有。 已确认。
如果是上述问题、您打算采用一种通用时钟配置吗?CDC 提供 REFCLK 给作为根复合体的 AM64以及 wifi 卡?
如果我们保留 CDC、则架构是作为根复合体。
1011 1000 0000 0000 0000 0000 0000会禁止 AM64获取 REFCLK、但让 AM64使用其自己的内部 REFCLK
您能否分享如何实施以禁止 AM64从时钟失真调试中获取 REFCLK [/QUOT]这很奇怪、我在我们的板上得到了该结果、此前已附加了您的最新补丁、因此 CDC 时钟发生器处于活动状态、而不是 AM64时钟。 如果您确实需要实施、我需要从软件团队获得反馈
由于驱动器是 HCSL、是的、必须在源附近安装端接电阻器。 使用内部电阻就足以设置电压电平[/QUOT]我 根据 HCSL 在每条时钟线上都焊接了一个50 Ω 电阻器至 GND。 电阻器放置在驱动器附近、但这并没有改善时钟信号。 这也是我们对这个问题的最初想法之一。
[报价 userid="52255" url="~/support/processors-group/processors/f/processors-forum/1444678/am6422-distorted-reference-clock-on-serdes-refclock-input/5613381 #5613381"]应用程序、由于我们还在讨论用作 REFCLK 源的 AM64、您的评论是将 CDC 作为源不符合 Vcross 要求、还是将 AM64作为源不符合 Vcross 要求?
我对表征结果的评论来自 AM64 (作为 REFCLK 源)作为 REFCLK 源、AM64的 Vcross 规格为250mV 至550mV。 我们得到大约300mV。
[报价 userid="52255" url="~/support/processors-group/processors/f/processors-forum/1444678/am6422-distorted-reference-clock-on-serdes-refclock-input/5613381 #5613381"]您是否可以回到将 CDC 配置为 REFCLK 源并再次转储寄存器0x0F00040C、但没有设置 REFCLK 项禁用补丁? 要确认是否已在其他位置设置 REFCLK 术语禁用[/quote]
如果我们使用 CDC 时钟生成器、则 CPU 侧不会满足 Vcross。 但是、在 PCIe 插槽(目标)上它足够高(大约360mV)。我们可以在我们的软件团队的帮助下提供此信息、但在我们的案例中、如果我们更喜欢 AM64独立配置-这是否有助于在此找到问题 ?
目前、我们优选的配置是 AM64内部时钟、以节省元件成本。 如果时钟运行正常、我们将保留解决方案。
1011 1000 0000 0000 0000 0000 0000会禁止 AM64获取 REFCLK、但让 AM64使用其自己的内部 REFCLK
您能否分享如何实施以禁止 AM64从时钟失真调试中获取 REFCLK [/QUOT]&serdes_refclk { clock-frequency = <100000000>; }; &serdes0 { clocks = <&serdes_wiz0 TI_WIZ_PLL0_REFCLK>, <&serdes_refclk>; clock-names = "refclk", "phy_en_refclk"; assigned-clocks = <&serdes_wiz0 TI_WIZ_PLL0_REFCLK>, <&serdes_wiz0 TI_WIZ_PLL1_REFCLK>, <&serdes_wiz0 TI_WIZ_REFCLK_DIG>; assigned-clock-parents = <&k3_clks 162 1>, <&k3_clks 162 1>, <&serdes_refclk>; };
您好、Michael:
您能否请求软件团队为 wiz 和 SERDES 提供 Linux 设备树节点? 在查看提供的原理图时、还需要考虑您的 s/w 配置。
希望确认当 AM64x 作为 REFCLK 源时、您之前提供并复制到以下位置的两个波形示例之间的 h/w 和 s/w 差异:


顶部波形显示的幅度为362mv、底部波形显示的幅度为279mv、但我认为只有底部是 clkp/n 上的外部50R 是这样吗? CDC 芯片是否仍在路径中及其状态(通电但禁用输出时钟或??) 您是否在使用之前提供的补丁? 您是否有 对应每个的 devmem 0x0F00040C 日志?
谢谢!
James
您能否请求软件团队为 wiz 和 serdes 提供 Linux 设备树节点? 在查看提供的原理图时、还需要考虑您的软件配置。
我之前在上一篇帖子中已经发布了它。
是的、正确。
CDC 芯片是否仍在路径中及其状态(已通电但禁用了输出时钟或??) 然后、您是否在使用之前提供的补丁?[/QUOT]已为此测试对 CDC 芯片进行去耦。 补丁未更改电压电平、图片中没有 CDC 时钟修复的特定补丁(不适用于内部 TI 时钟)。
您是否有 与每个文档相对应的 devmem 0x0F00040C 日志?这一个是内部 TI 时钟:
root@localhost:~# devmem2 0x0F00040C
/dev/mem 打开。
已将内存映射至地址0xffaa080000。
在地址0x0F00040C (0xFFffaa08040c)上读取:0xF9000000
-->二进制:1111 1001 0000 0000 0000 0000 0000[/quote]
另一个是在邮件通信过程中已经得到的
曼努埃尔您好!
审核意见基于以下设计方法:
以下是有关 PCIe 时钟部分的原理图摘录。 当您需要其他信息时、请告知我们。
时钟发生器页面将被删除、TI 端口 W16/W17将直接连接到 PCIe mini 5.9mm 插槽端子。 (引脚11和引脚13)。
您能否介绍一下需要哪些外部元件? 连接到 GND、串联电阻等的端接电阻器。
如果您不打算使用 AM64x 时钟输出驱动任何附加器件、我怀疑您可能不必安装50R 下拉电阻
此致、
Sreenivasa