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.

[参考译文] DP83825I:PHY 复位方式的差异

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1408742/dp83825i-difference-of-phy-reseting-ways

器件型号:DP83825I

工具与软件:

PHY 复位方式的差异

您好!

我是否可以对 PHY 重置方式有疑问?

我认为有某种方法可以重新安排。

我的客户在此接受测试:

a.使主机处理器的 PHYRCR_Register 位15生效

b:第一次将 RST_N 引脚置为低电平有效、第二次从主机处理器设置 PHYRCR_Register 的第14位

复位 digitalcore 和寄存器的方法相同。

但是、只有 B 存在复位后无法建立链路的问题。

完全相同的硬件、仅将重置方式 B 更改为 A、问题已解决。

内部 PHY 控制、数字内核操作等是否有任何差异?

谢谢!

Gr

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

    您好、GR、

    对于情况 B、主机处理器是否在 RST_N 为低电平时写入位14?

    当 PHY 保持复位状态时、寄存器读取/写入不会生效。 如果在 RST_N 为高电平后写入 PHYRCR 位14、请查看案例 B 是否有问题。

    PHYRCR[15]的功能与将 RST_N 置为低电平相同。 PHYRCR[14]将重新启动 PHY 的内部状态机-这些序列对于完全硬件/软件复位都有效:

    1) 1)通过将 RST_N 置为低电平->高电平进行复位。 在硬件复位后写入0x1F = 0x4000。

    2) 2)通过写入0x1F = 0x8000进行复位。 在硬件复位后写入0x1F = 0x4000。

    谢谢!

    Evan  

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

    尊敬的 Evan:

    感谢您提供的信息。

    [报价 userid="531905" url="~/support/interface-group/interface/f/interface-forum/1408742/dp83825i-difference-of-phy-reseting-ways/5395011 #5395011"]

    对于情况 B、主机处理器是否在 RST_N 为低电平时写入位14?

    当 PHY 保持复位状态时、寄存器读取/写入不会生效。 如果在 RST_N 为高电平后写入 PHYRCR 位14、请查看案例 B 是否有问题。

    [报价]

    应该是否定的

    我的客户正在通过 Linux 内核 API 使用它。

    如果 phy_write()返回错误(=mean can't write)、则写入 PHY 寄存器的函数应重新写入(发送相同命令)。

    [报价 userid="531905" url="~/support/interface-group/interface/f/interface-forum/1408742/dp83825i-difference-of-phy-reseting-ways/5395011 #5395011"]

    PHYRCR[15]的功能与将 RST_N 置为低电平相同。 PHYRCR[14]将重新启动 PHY 的内部状态机-这些序列对于完全硬件/软件复位都有效:

    1) 1)通过将 RST_N 置为低电平->高电平进行复位。 在硬件复位后写入0x1F = 0x4000。

    2) 2)通过写入0x1F = 0x8000进行复位。 在硬件复位后写入0x1F = 0x4000。

    [报价]

    在 RST_N 低电平->高电平与写入  PHYRCR[14](1)之间是否有任何需要延迟时间?

    和 RST_N 低电平->高电平、写入  PHYRCR[15]的工作原理与之前相同?

    如果内部控制流有信息和差异(A 和 B 路)、您能告诉我吗?

    (如果需要保密协议、请告诉我。 我会联系 TI 当地销售部门)

    谢谢!

    Gr

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

    您好、GR、

    我明白了,所以 phy_write()将连续写入寄存器,直到错误没有返回? 只要 RST_N 为高电平后发生写入、就没有问题。

    [报价 userid="524012" url="~/support/interface-group/interface/f/interface-forum/1408742/dp83825i-difference-of-phy-reseting-ways/5396429 #5396429"]

    在 RST_N 低电平->高电平与写入  PHYRCR[14](1)之间是否有任何需要延迟时间?

    [报价]

    是、我建议在 RST_N 处于高电平后至少等待2ms:

    [报价 userid="524012" url="~/support/interface-group/interface/f/interface-forum/1408742/dp83825i-difference-of-phy-reseting-ways/5396429 #5396429"]

    和 RST_N 低电平->高电平、写入  PHYRCR[15]的工作原理与之前相同?

    [报价]

    这些示例在功能上与重新启动 PHY 类似、但有一个不同之处:

    使用 RST_N 引脚将再次对自举引脚进行采样、以将 PHY 配置设置为自举值、而 PHYRCR[15]将将所有寄存器复位为与自举无关的默认值。

    两个复位都是重新启动 PHY 的有效方法、但 RST_N 通常更一致、因为它不依赖于寄存器访问。

    谢谢!

    Evan

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

    尊敬的 Evan:

    很抱歉这么晚才回复。

    我理解。

    感谢您提供的信息。

    此致、

    Gr