我们使用 T.I. PHY DP83867ERGZT、通过 SGMII 和 SMI (MDIO)连接到 FPGA Microsemi。
上电复位和引脚硬复位后没有相同的行为:
- 上电复位后、PHY 正常工作
- 硬复位后、PHY 没有从 MDIO 应答、并且在以太网上没有通信
在这两种情况下、FPGA 都在 PHY 的 RESET_N 引脚上生成3µs 低电平脉冲、然后在 SW 请求时(>5s 之后)访问 MDIO。
在(上电或硬复位)期间和之后,直到从软件请求配置:
- MDC 固定为逻辑0 (然后在 SW 配置期间为2.5MHz)
- MDIO 上拉至逻辑1
阅读 T.I 论坛和 数据表后、我知道在复位后和 MDIO 访问之前、我们必须生成32个无数据(MDIO=1)的额外 MDC 周期。
因此、我们在上电和硬复位后测试了该配置。
未检测到改进:上电复位后仍然正常,硬复位后仍然正常,与以前一样。
我们通过使用探头下拉 RESET_N 信号(大约200ms-1s)对"手动"复位进行了测试、方法是在允许 PHY 挂起和 MDIO 访问并且 PHY 之后再次工作!
我们修改了 FPGA 配置、在上电或硬复位后生成3ms 低脉冲 RESET_N (即 x1000持续时间)、并且 PHY 不再挂起。
但我们没有解释这种行为、因为数据表只需要 RESET_N 上的1µs 低电平脉冲。
您能解释一下我们的顺序中可能有什么问题吗?
谢谢、此致。
伊曼纽尔