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.

[参考译文] DP83869HM:多次复位后无法识别 PHY

Guru**** 2416110 points
Other Parts Discussed in Thread: AM6442

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1048930/dp83869hm-phy-is-not-identified-after-many-resets

器件型号:DP83869HM
主题中讨论的其他器件:AM6442TMDS64GPEVMDP83869

您好!

我在  地址0中有一个带有 AM6442 CPU 的定制板和一个 DP83869HMRGZT 物理层、该物理层是参考 TMDS64GPEVM 设计的、并经过 TI 团队的审查。

 该软件(Linux)基于 08.00.00.004 SDK。

 PHY 的复位信号连接到 CPU IO 并具有下拉电阻器。

 该板有一个复位按钮、用于复位 CPU (PORz)。

 PHY 复位在 U-boot 中释放、GPIO 被驱动为"0"长达10ms、然后驱动为"1"。

现在、每次 我断开电源并将电源连接到电路板时 、phy 都会被标识为  DP83869 、我没有任何问题。

u-boot 上的"reset"命令也是如此、执行此命令后 、phy 始终 标识为 DP83869。

问题在于复位按钮、在使用该按钮进行一些复位后 、phy 被标识为"Generic PHY"

  一旦将其标识为"Generic PHY"、就会以这种方式标识它(即使使用 RESET 命令)、直到我断开并重新连接电路板的电源。

这可能在2-3次复位和20-30次复位后发生。

我将 "0"上的 phy 复位持续时间延长至500ms、然后在"1"上等待500ms、 然后恢复 u-boot 代码(复位线路 保持为"1")、并验证了复位电压电平是否正常。

这不是物理层地址问题、 即使 它被标识为"通用 PHY"、也会在地址0上检测到它(我通过 GPIO 写入更改了地址、在该地址上找不到任何内容):

=> mdio list
ethernet@8000000:
0 - Generic PHY <--> ethernet@8000000


=> mii info
PHY 0x00: OUI = 0x1E525E, Model = 0x14, Rev = 0x09, 100baseT, FDX

当 PHY 被标识为"通用 PHY"时、所有寄存器值为  :0x7949、即使 PHY ID 寄存器也是如此。

MDIO 线路有一个到3.3V 的2.2KOHM 上拉电阻器。

此 phy 是此 MDIO 总线上的唯一器件。

PHY 时钟源(XI)来自 CPU 的 clkout0信号(25MHz)、并在 U-boot 期间 PHY 复位之前进行设置。

也许您知道我如何调试这个问题?

谢谢

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

    您好!

    我需要将其提交给团队。 我最迟应在星期一之前提供最新信息。

    此致、

    Gerome

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

    您好!

    在与团队交谈后、我们认为问题在于用于控制 PHY 的 CPU。 每当 CPU 被复位时、您能否检查以确保 PHY XI 和 MDC 信号稳定。 请尝试探测时钟输出引脚和 MDC 引脚、以在故障情况下查看这些信号是否正常工作。

    此致、

    Gerome

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

    感谢您的回复。

    我假设这是一个 CPU/MDIO 总线问题。

    我在这里发布之前已经验证了两个时钟。

    当 CPU 处于复位状态(按下复位按钮时)、PHY XI 信号为0.8[V]。

    释放 RESET 按钮后、U-boot 会启动时钟、并且两种情况下的信号都是相同的(GENRIC PHY/DP83869)。

    一旦被启用、时钟就稳定、并且我找不到任何差异(频率/振幅)。

    MDC 信号也相同(1MHz)。

    按下复位按钮时、复位 GPIO 值为0.17[V]。

    我 尝试了另一个复位/时钟序列:

    *驱动器将 GPIO 复位为"0"。

    *延迟

    *启用 PHY 时钟。

    *延迟。

    *驱动器复位 GPIO 至'1'(释放复位)。

    *延迟。

    但具有相同的问题。

    更新了1

    我发现、如果我通过将 PWDN 信号驱动为"0"来将 PHY 置于断电状态(在 PHY 复位之前)、则 PHY 始终标识为  DP83869、但如果我将 PWDN 驱动回"1"(复位之前或之后)、则问题 仍然存在。

    如果检测到 PHY 为通用 PHY、则我将映像升级到具有 PWDN 功能的映像、问题仍然存在 、直到我断开并连接电源。

     PWDN 信号有一个上拉电阻、软件不使用该信号(INT_N/PWDN_N)。

    PHY 似乎在某种未定义状态下被锁存、并且只能在下电上电后重新锁存。

    在哪些情况下 PHY 以这种方式锁存?

    更新2.

    我使用热像仪检查了 PHY 温度、发现 PHY 识别后、PHY 发热、但如果未识别、它不会发热

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

    您好!

    几个问题:

    1) 1)关于您的复位/时钟序列、我对应用有一些了解。 您能否截屏显示 XI 和 RESET 引脚随时间变化的情况?

    2) 2) 2)您能否确认 VDDIO 电平? 时钟应处于该级别。

    3) 3)您在更新1中说、当 PHY 保持 PWDN 状态时、它在 MDC/MDIO 上是可识别的。 当 PHY 保持在复位范围内时、是否存在此行为?

    此致、

    Gerome

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

    2) 2) VDDIO 为3.3V 稳定电压、时钟摆幅为0V 至3.3V。

    3)否、如果 PHY 保持在复位状态、则在地址0中未检测到器件(与  PWDN 状态无关)。

    1) 附加图片:(很抱歉质量差)

    T1 -时钟启动

    T2 -复位信号从0.17V 变为0V

    T3 -复位从0V 变为3.3V

    时钟摆幅为0V 至3.3V

    这是一张时钟信号图片

     

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

    您好!

    是否可以提供更清晰的图像? 我注意到的一些问题是、当您进行范围界定时、系统中存在大量噪声、对此进行确认可能是您面临的问题的一部分。

    其他一些意见:

    -您使用的是哪种 MAC 接口? PHY ID 基于这些相同引脚中的某些引脚。

    -您提到的 VIL 阈值:"CPU 处于复位状态时(按下复位按钮时)、PHY XI 信号为0.8[V]。" 高于 VIL 指标、因此 PHY 可能不会在 XI 上注册逻辑低电平、因此如果存在任何其他噪声、PHY 可能会锁存。

    -您正在范围内的复位(.17V),这是 PHY 复位还是 CPU 复位? 如果是后者、CPU 复位时 PHY 复位引脚位于什么位置?

    -您能否确认 CPU 复位时 PHY 电源仍保持开启状态?

    -当 CPU 复位时,您能否确认 XI 和 RGMII (PHY 地址)引脚目前处于什么状态? 如果在将 PHY 采样到不同的地址时节点被驱动到其他位置(而不是电阻分压器驱动)、那么这可能会解释0x7949读数的行为。

    此致、

    Gerome

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

    大家好、我使用了一个错误的示波器、这里是来自一个更好示波器的复位信号:

    - RGMII。

    -是的、但 一旦 U-boot 启动、它将启动 XI、然后复位 PHY、此硬件复位应重新锁存 PHY、否则我是错的?

     - PHY 复位。

    -当 CPU 处于复位状态时、到 PHY 的电压 保持开启、XI 关闭(0.8V)、PHY 复位信号变为0.17[V](因此 PHY 保持在复位状态)。

    - XI 变为0.8[V]、PHY 地址变为0[V]。

    根据数据表、 硬件复位后、PHY 重新锁存、在某些情况下可能会导致 PHY "硬锁存"、并且只能在下电上电后才能释放?

    按下复位按钮(CPU 复位)后、我在热像仪中看到 PHY 冷却(PHY 的复位线变为0.17[V])、然后 Uboot 释放复位线(PHY 的复位线变为3.3[V])后、PHY 升温。 然后、在一些 CPU 复位后、PHY 在 PHY 的复位线路变为3.3[V]后不会发热。

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

    我通过移除 PHY 复位线路上的下拉电阻器来解决了这个问题、因此在 CPU 复位时 PHY 不处于复位状态。

    我不确定为什么 在 CPU 处于复位状态时将 PHY 复位会导致此问题、如果您知道导致此行为的原因、请告诉我。