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.

[参考译文] DP83TD510E:MMD 间接访问寄存器-读取/写入返回不正确的值

Guru**** 2548290 points
Other Parts Discussed in Thread: DP83TD510E

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1354043/dp83td510e-mmd-indirect-access-registers---read-write-returns-incorrect-values

器件型号:DP83TD510E

您好!

我们的设置包括连接到 DP83TD510 PHY 的 AM437x PRU MII0端口。

我们尝试使用以下格式读取/写入 MMD 间接访问寄存器:

所有 MMD 直接访问寄存器均正确读取/写入。

但是、当我们尝试通过间接访问读取/写入 MMD 寄存器时、会得到不正确的值、这些值对于所有寄存器来说都是相同的值。 请参考下图。  

导致此问题的原因可能是什么?

我们使用了 phytool 和 MDIO-tool 实用程序。

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

    尊敬的 Pratibha:

    这很奇怪,你的程序看起来对我是正确的。

    我在510EVM 上复制了相同序列、并返回了正确的默认值:

    寄存器000d 为:0007
    寄存器000e 是:0200
    寄存器000d 为:4007
    寄存器000e 是:1000

    您能否分享更多尝试返回错误值的寄存器序列的示例?

    谢谢!

    埃文

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

    您好、Evan:

    下面是我尝试读取的寄存器序列的一些其他示例:

    谢谢。

    普拉蒂布哈

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

    您好、Evan:

    您使用 USB 转 MDIO 工具检查 DP83TD510 EVM。 在 EVM 套件中、我认为 MSP430F5529IPN 是通过 SMI 接口读取寄存器。

    我们有一个定制电路板、其中 AM437x 通过 PRU MII0连接到 DP83TD510 PHY。 我们正在尝试通过 MII 直接读取/写入 MMD 寄存器。

    谢谢。

    普拉蒂布哈

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

    尊敬的 Pratibha:

    DP83TD510E 的寄存器无法通过 MII 数据线访问、为此需要 MDC/MDIO。 您是否已实现与 AM437x 的 SMI 连接?

    谢谢!

    埃文

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

    您好、Evan:

    我们已在 AM437x PRU 和 DP83TD510 PHY 之间连接了 MDC/MDIO 线路和 MII 数据线路。 并且我们将仅尝试通过 MDC/MDIO 读取/写入寄存器。

    板中没有 SMI 连接。

    谢谢。

    普拉蒂布哈

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

    尊敬的 Pratibha:

    很抱歉这里的混淆-我理解 SMI 指的是 MDC/MDIO 线路。

    在最后一次读取0xE 期间、您是否能够探测 MDC/MDIO 波形? 这可能是 MDC/MDIO 的布局问题、线路的长度是否相对匹配?

    如果外部 MDC/MDIO 连接有测试点、我建议使用 MSP430 Launchpad 和 USB-2-MDIO 尝试相同的扩展寄存器访问。 如果成功、则该问题会分离到电路板布局布线中。

    谢谢!

    埃文

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

    您好、Evan:

    在 MII 模式中、电路板上电后、可以确认0x463寄存器的值是多少? 我们每次都会得到0x201。  

    我们甚至尝试通过写入不同的值来更改0x463寄存器的值。 但每次我们读取时、我们都会得到值0x201。

    但我们能够正确读取0x0002和0x0003寄存器的值。  

    谢谢。

    普拉蒂布哈

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

    尊敬的 Pratibha:

    对于 MII 模式、值0x201看起来是正确的。 对于处于默认 RMII 模式的 EVM、读取0x463 = 0x1。 由于正在使用 TX_ER、因此 MII 模式的位[9]应该标记为高电平。

    是否可以分享0x463的寄存器写入程序?

    谢谢!

    埃文

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

    您好、Evan:

    我们已经使用自举寄存器将 RMII 模式更改为 MII 模式。 R84寄存器并连接 R91寄存器。

    这意味着是否会自动将0x463寄存器中的 cfg_TX_ER_ON_LED2位从 LED2更改为 TX_ER 输入引脚?

    谢谢。

    普拉蒂布哈

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

    尊敬的 Pratibha:

    这意味着0x463寄存器中的 cfg_TX_er_on_LED2位将从 LED2自动从 LED2更改为 TX_ER 输入引脚?

    是的、捆绑进入 MII 模式应该会自动配置 TX_ER。 如果需要、可以通过额外的寄存器写入来更改此设置。

    谢谢!

    埃文

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

    您好、Evan:

    感谢您的确认。

    我将检查它是否按预期工作。

    谢谢!

    普拉蒂布哈