已为我编写软件、以便通过 DP83848 PHY (MII 模式、100Base)发送/接收基本数据包。 在笔记本电脑上使用 Wireshark、我可以看到 TMS 发送的完整数据包。 相反方向、TMS 接收笔记本电脑标准 广播消息、但 显示有效数据的字节数是问题所在。 在首次加电时、我看到了目标地址的12个半字节(在本例中为 FFFFFFFF)、后跟笔记本电脑 MAC 地址的8个半字节、然后只要我读取、就为零(我希望传入 MAC、传出 MAC、2个字节用于长度/模式、然后是数据)。
重新启动 TMS 时、我看到了完整的数据包、因此将两个 TMSs 连接在一起并适当地设置了 MAC 地址 、这样就能够从第二个 TMS上 发送 并将44字节接收到第一个 TMS上。 我没有尝试另一个方向。
第二天尝试代码(在完全隔夜 关机后)、我发现问题已返回、重新启动时无法解决。 对我来说、这听起来像是一个未初始化的寄存器。 我尝试将 RXMAXLENGTH 缓冲器填充为一个任意值0x40 (它预先在0x5EE 的默认/复位值上进行了标记)。 这导致 TMS 在我看到的情况下工作、接收全部12个半字节的两个 MAC 地址、但没有进一步的数据。 第二个 TMS 在用作接收器时、在同一个戳之后没有变化。
断电后、第一个 TMS 仍然显示12 + 12个 MAC 半字节、但没有更多数据...
我在 PHY 中看不到任何可能影响该计数的寄存器:DV 上的脉冲长度为5.78us、这似乎是正确的、没有看到 RX_ERRORS。
请提供帮助。