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.

[参考译文] AM6548:TMDX654GPEVM:PER1_PLL 信号损耗

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/963434/am6548-tmdx654gpevm-per1_pll-signal-loss

器件型号:AM6548
主题中讨论的其他器件:CLOCKTREETOOLTMDX654GPEVM

您好!

我正在对 McASP0_AHCLKX 不输出任何时钟的问题进行一些研究。 我通过 OBSCLK 引脚跟踪内部时钟、在第5.4.5章模块时钟分配(第2264页、SPRUID7D)中可以找到 MCASP 内核由 PLL2 (PER1_PLL)("PLL2 (PER1 PLL):PRU_ICSSG 内核、MCASP、MMCSD1、GPU、GPMC")计时的内部时钟。

因此、我在 GP EVM 上的 OBSCLK (TIMER_IO1、J19.2)上放置 PER1_PLL、并发现它是一个大约+1.8V 的静态信号、我在这里期望得到25MHz 的 HFOSC0。  

将 PER1_PLL 输入切换为 EXT_REFCLK1、然后切换回 HFOSC0/1、得到您可能在下图中看到的信号。  

示波器信号显示 OBSCLK 输出、在本例中设置为观察 PER1_PLL。 它从左侧开始、输入来自 EXT_REFCLK1 (我没有向 EXT_REFCLK1输入信号)。

然后在0us 时、我将 PER1_PLL 输入切换到 HFOSC0/1 (如果为0或1则无关紧要)。 信号显示 HFOSC0/1的时间大约为8us。

然后、在8us 时、信号转换为大约+1.8V 的静态信号。

1) 1)这种行为的原因是什么?

2) 2)如何修复此行为?

3) 3) PER1_PLL 的这种行为是否是 McASP0无法生成 AHCLKX 的原因?

4) 4)为了验证输入时钟、我测量了 WKUP_LFOSC_XI 并发现它+2.5V 时是静态的、而 PAD 的 I/O 电压为1.8V、RTC (U91)的电源为3.3V。
  这似乎很奇怪。 这(静态、电压)是否为误差?

要重新生成上述信号、请在 U-Boot 中输入以下命令:

-将示波器连接到 TIMER_IO1

-解锁 CTRL_MMR 分区2: MW 0x00109008 0x68EF3490;MW 0x0010900C 0xD172BC5A

-解锁 CTRL_WKUP_MMR 分区2: MW 0x43009008 0x68EF3490;MW 0x4300900C 0xD172BC5A

-选择 PER1_PLL 作为 OBSCLK 的信号源: MW 0x00108000 0x5

-用于运行 OBSCLK 的多路复用器 PAD TIMER_IO1: MW 0x0011c304 0x2

- 选择 EXT_REFCLK 作为 PER1_PLL 的时钟源: MW 0x43008088 0x10

-要产生错误:选择 HFOSC0作为 PER1_PLL 的时钟源: MW 0x43008088 0x0

谢谢、

Michael

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

    是否有人能够至少再现我的发现?

    您好!

    Michael

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

    Michael、

    自上一个帖子以来、您是否成功地在这方面取得了任何进展?  我们可以对此进行研究、但希望先了解您的最新状态。

    谢谢、

    Kyle

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

    Michael,还有一个小提示: 最新的 TRM 是 SPRUID7E…… 我怀疑它会改变这一领域的任何东西,但值得与最新的文档再次核对。

    谢谢、
    Kyle

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

    您好、Kyle、

    感谢您的回复。 我没有取得任何进展,如果你也考虑到这一点,我将不胜感激。

    我想知道这是否是硬件中的真正错误(如果是、有解决方法吗? 它是否会被修复?) 或者、如果我发生了错误、

    从长远来看、我们需要解决 McASP 不生成音频时钟的问题(请参阅顶部链接的原始问题)。 这个线程中的结果是调试 McASP 时钟源的结果。

    请告诉我。

    Michael

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

    Michael、

    您能否使用 CLOCKTREETOOL 查询器件配置并查看频率是否设置为预期频率:

    谢谢、

    Kyle

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

    你(们)好、Kyle

    很抱歉耽误你的时间。 我首先必须让时钟树工具正常工作。

    我执行了保存/加载->保存寄存器、并在我生成第一个帖子的错误状态后立即查询生成的文件中的每个寄存器地址。  我不得不跳过一些 PCIe 寄存器(0x0294xxxx、0x0295xxxx)、因为"MD"命令导致崩溃。

    我将寄存器内容保存在同一个文件中(随附)。 将其加载回时钟树工具显示 McASP0具有所需的24.5MHz (请参阅下图)。

    编辑:PER1_PLL_CLOCKOUT 显示为300MHz、最高为 OBSCLK0引脚。

    您是否已尝试根据我的命令列表进行复制?

    谢谢、

    Michael

    e2e.ti.com/.../CTT_5F00_AM65xx_5F00_registers.zip

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

    Michael、

    Kyle 请我看这个线程。 很抱歉让你尝试一些基本的东西、但我需要让简单的东西走出去。

    -1-

    时钟树工具显示 PLL 被设定为3600MHz DCOCLK。 您可以尝试将频率重新编程到较低的频率(例如2000MHz)吗?

    PLL2_PLL_FREQ_CTRL0 (0x00682020)--从0x0802d009更改为0x08019009

    PLL2_HSDIV_CLKDIV (0x00682120)--从0x03081107更改为0x03040907 (这将更改 PLL2HSDIV_CLKOUT1和 PLL2_HSDIV_CLKOUT4的输出频率,因此您在长期内可能无法接受此更改)

    -2-

    AHCLKX 可被配置为输入或者输出。 它需要在 PAD 配置和 McASP 中进行正确的配置。 这可能是第二个值得关注的地方。

    Kevin

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

    尊敬的 Kevin:

    我根据请求重新编程。  无论  输出频率如何、在设置 PLL2_PLL_FREQ_CTRL0之后以及 PLL2_HSDIV_CLKDIV 之后、原始 POST 问题仍然存在。

    请、您或 TI 的任何人能否在 TMDX654GPEVM 和随附的 U-Boot 上尝试我的命令:

    U-Boot SPL 2019.01-ga141f7abfd (Jan 05 2020 - 04:04:11 +0000)
    SYSFW ABI: 2.7 (firmware rev 0x0013 '19.9.0-v2019.09 (Terrific Llama')
    Trying to boot from MMC2
    Starting ATF on ARM64 core...
    
    NOTICE: BL31: v2.2(release):ti2019.05-rc1
    NOTICE: BL31: Built : 03:39:18, Jan 5 2020
    I/TC:
    I/TC: OP-TEE version: ti2019.05-rc1-dev (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 Sun Jan 5 03:38:30 UTC 2020 aarch64
    I/TC: Initialized
    
    U-Boot SPL 2019.01-ga141f7abfd (Jan 05 2020 - 04:02:42 +0000)
    Trying to boot from MMC2
    
    
    U-Boot 2019.01-ga141f7abfd (Jan 05 2020 - 04:02:42 +0000)
    
    SoC: AM654 PG 1.0
    Model: Texas Instruments AM654 Base Board
    Board: AM6-COMPROCEVM rev E3
    DRAM: 4 GiB
    MMC: sdhci@4f80000: 0, sdhci@04FA0000: 1
    Loading Environment from MMC... OK
    In: serial
    Out: serial
    Err: serial
    Net: eth0: cpsw_nuss@046000000, eth1: pruss2_eth
    Hit any key to stop autoboot: 0
    => version
    U-Boot 2019.01-ga141f7abfd (Jan 05 2020 - 04:02:42 +0000)
    
    aarch64-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0
    GNU ld (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 2.32.0.20190321
    =>

     

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

    我们确实对此进行了离线讨论。  LVCMOS IO 无法以 PLL 全速率安全切换。

    当 CLK_DIV > 0时、 TIMER_IO 上现在有 OBSCLK。

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

    完全正确。 更具体地讲:

    [引用 userid="350646" URL"~/support/processors/f/processors-forum/963434/am6548-tmdx654gpevm-per1_pll-signal-loss "]选择 PER1_PLL 作为 OBSCLK 的信号源: MW 0x00108000 0x5[/quot]

    在这种情况下是错误的、因为这会在分频器为 clkdiv+1 = 1时更改 OBSCLK 时钟源。

    将上述命令替换为:

    Divide OBSCLK source clock by 256 (or anything above 0): mw 0x00108000 0xff00
    Load divider value: mw 0x00108000 0x1ff00
    Select PER1_PLL as signal source for OBSCLK: mw 0x00108000 0x1ff05

    现在示波器上显示稳定的信号。