主题: 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
谢谢!