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.

[参考译文] DP83822I:具有 RMII 模式的 DP83822IR

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1506186/dp83822i-dp83822ir-with-rmii-mode

器件型号:DP83822I

工具/软件:

在我们的定制电路板中、我们无法检测以太网 Base-T (DP83822):下面、我添加了我们的观察和测试用例。 请检查并提供您的反馈。

  • 从 ifconfig 可以看到生成了 TX 数据包、但 RX 端我们没有看到任何数据包、为了验证这一点、我们探测了 PHY 的 TX 和 RX 部分到连接器、并观察到与 RX 部分相比、TX 部分波形振幅更高。
  • 我们使用 PHY 工具验证了寄存器地址0x01。
    Root@imx93Oraclemain:~# phytool read eth0/0x01/0x01
    (LAN 电缆已连接)
    0x786d
    Root@imx93Oraclemain:~# phytool read eth0/0x01/0x01
    (未连接 LAN 电缆)
    0x7849
  • 我们探测了时钟并按预期获得50MHz。
  • RESET 始终为高电平。
  • 从 PHY 到 MAC 的 TX 和 RX 仅观察到 TX 数据正在获取、未从示波器观察到 RX 数据线。
  • 我们在 DP83822接口上进行了以下环回测试、
    1.将 PC 连接到板载以太网(在 PHY 上启用外部环回)
    从 PC-->板以太网连接器--> PHY ping 板以太网连接器--> PC
    2.在 PHY 中启用内部环回
    从板 ping --> PHY -->接收板中的数据包。
    以上两种情况不起作用。 当我们插入电缆并读取"表8-29. 0x0010 PHY 状态寄存器(PHYSTS)"寄存器、则收到以下错误
    虚假载波感测锁存
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    上述数据表明 PHY 处于活动状态并正确链接。 这会缩短了解这些事实的调试时间。 我想排除 ping 由于数据包错误而无法正常工作的问题。 尝试 ping 后、您能否提供寄存器0x0 - 0x1F 以及寄存器0x467、0x468的完整寄存器转储? 请注意、最后两个寄存器是扩展寄存器、因此需要扩展访问。

    ping 同一个 MAC 很棘手、因为如果 MAC 将自身识别为目标、它可能永远不会发送数据包。

    您还能提供原理图吗?

    此致、

    Gerome

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

    重复线程: e2e.ti.com/.../dp83822i-not-receiving-rx-data-in-rmii

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

    您好:

    感谢您的日志。 寄存器转储对我来说表明器件处于活动状态并已链接(寄存器0x1)、并且无法检测 MDI 上的错误(寄存器0x15)。 这让我认为问题出在 MAC 方面。 寄存器0x17表示 PHY 位于 RMII 从模式中。 我建议检查电路板上的设置时间和保持时间、因为这通常是 MAC 接口出现故障的原因。 与50MHz XI 相比、请确保在 RX 总线上满足 MAC 的建立时间和保持时间、以及在与50MHz XI 相比的线路上的 TX 总线探测中满足 PHY 的建立时间和保持时间

    ping .138与.199之间有什么区别? 当我看到.199工作时、这些器件是什么

    此致、

    Gerome

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

    您好、Gerome Cacho、感谢您的快速响应、

    我们怀疑 PHY 的问题、因为当我们读取下面的寄存器时、我们得到了值0x5815。
    Root@imx93Oraclemain:~# phytool read eth0/0x01/0x10
    0x5815
    此处将第11位设置为"虚假载波感测锁存"
    我们还使用以下命令执行了外部 phy 环回测试:
    无论我们从 PC 发送 ARP 广播数据包、我们都不会向 PC 发送相同的数据包(连接图 PC --> DP83822 PHY (我们的定制板)--> PC)。 我认为、由于上述"虚假载波感应锁存"问题、外部环回无法正常工作。
    需要您的支持才能解决此问题。


    ping .138与.199之间有什么区别? 当我看到.199工作时、这些器件是什么

    .199是主板的 IP 地址、即主板根据自身 ping 自行 ping、无法确定 ping 是否有效、.138是 ping 不起作用的本地计算机 IP 地址
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    不确定错误的载波感应锁存器为何在给定的电流变量中标记为高电平。 但是、由于 MDI 看起来正常、我仍然想继续调试 MAC 接口。 您能否按照我上一篇文章中的建议进行设置和保持时间分析? 此外、您能分享您的原理图吗?  

    您还能否提供信号链上.139和.199位置之间差异的图表? 我相信自我 ping 可能是一个错误的肯定陈述,因为如果来源与目的地相同,可能永远不会以电子方式观察到 ping。

    此致、

    Gerome