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.

[参考译文] TMS570LS3137-EP:以太网接收时缩减的数据包长度

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/590056/tms570ls3137-ep-curtailed-packet-length-upon-ethernet-receive

器件型号:TMS570LS3137-EP

已为我编写软件、以便通过 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。

请提供帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    将其移至 Hercules 论坛以获取最佳支持。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在整个周末未对套件通电后、测试台上的两个板现在可以完全正常工作、Grrr。 虽然暖气已经关闭了、所以早上车尾箱的环境温度会降至14摄氏度、但电路板非常接近空调设置点22摄氏度。 我已经为明天预订了一个环境室、因此将尝试各种温度。