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.

[参考译文] TMS570LC4357:DP83640 + TMS570LC4357:如何在 TMS570 侧检测 MII 时钟是否就绪?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1526161/tms570lc4357-dp83640-tms570lc4357-how-to-detect-if-mii-clock-is-ready-on-tms570-side

器件型号:TMS570LC4357
主题: DP83640 中讨论的其他器件

工具/软件:

大家好!

我正在调查 TMS570LC4357 的 EMAC 和 DP83640 PHY 之间通过 MII 连接的相互作用。

我观察到的情况:

当没有以太网链路(例如,电缆已拔出,链路断开)时、MII 总线仍处于活动状态(即时钟可用)、EMAC 正常处理 TX 缓冲区 — EOQ(队列结束)标志被正确处理。

但是、当 MII 时钟本身不存在时(例如,如果 PHY 保持复位状态或不提供 MII 时钟)、EMAC 不会处理 TX 缓冲区、并且永远不会达到描述符链中的 EOQ 标志。看起来 TX 状态机在这种情况下根本不会步进。

我当前的假设:
EMAC 的内部同步逻辑或状态机需要 MII 时钟前进、当缺少时钟时、EMAC 就会停止。 很遗憾、我在文档中找不到明确说明此行为的任何方框图或详细信息。

我的问题:

只要存在 MII 时钟、无论链路状态如何、TMS570 EMAC 是否预计都将处理 TX 描述符?
任何人是否都有文档、方框图或内部状态图、这些图可以阐明为什么 EMAC TX 路径仅在 MII 时钟本身缺失时才会停止、而不是仅基于链路状态?


主要问题是:

除了简单地等待一点以外,在 TMS570LC4357 或 DP83640 上是否有一种直接检测的推荐方法(通过状态寄存器,硬件机制或成熟的技术)  存在 MII 时钟  从 PHY 发出的原始数据吗? 即使在 MII 时钟输出完全稳定之前、DP83640 的 MDIO 接口和响应似乎也可用。

我的 init 调用流如下所示  

-重置 emac

-初始化 emac 控制

init emac(但尚未启用 MII)

init mdio

-init dp83640

-初始化 emac 缓冲区等

-启用 mii

谢谢!

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

    尊敬的 MC:  

    我已将该主题分配给正确的所有者。 请留出一些时间进行审核。

    此致、

    Zacary Fleenor

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

    尊敬的 MC:

    只要存在 MII 时钟、无论链路状态如何、TMS570 EMAC 是否预计都将处理 TX 描述符?

    是的、符合预期。

    EMAC 发送过程取决于 TXCLK、只要 TX_CLK 可用、就会读取描述符。 EMAC 内的 FSM 与 TXCLK 一起运行。

    ]为什么 EMAC TX 路径仅在 MII 时钟本身缺失时才停止、而不是仅基于链路状态?

    链路状态仅影响 PHY 逻辑。 但缺少时钟意味着 EMAC 发送逻辑实际上没有时钟基准、因此如果 TXCLK 不存在、FSM 就无法再工作。

    [引用 userid=“606657" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1526161/tms570lc4357-dp83640-tms570lc4357-how-to-detect-if-mii-clock-is-ready-on-tms570-side ]TMS570LC4357 或 DP83640、以直接检测  存在 MII 时钟  在启动任何 EMAC 传输之前从 PHY 发出的字符串?

    否、遗憾的是、EMAC 上没有直接寄存器来指示是否存在 MII 时钟。

    --
    此致、
    Jagadish。