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.

[参考译文] MSP432E401Y:无法接收多播(PTP)数据包

Guru**** 2577385 points
Other Parts Discussed in Thread: MSP432E401Y

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/763169/msp432e401y-cannot-receive-multicast-ptp-packets

器件型号:MSP432E401Y

您好!

我在 MSP432E401Y 上有一个工作正常的 LwIP 应用、我正在尝试使用 PTPd 使 IEEE 1588 / PTP 工作。 我无法接收多播 UDP 流量、也不知道要做什么。 当交换机发送 PTP 数据包时、我可以看到 EMAC LED 每秒闪烁一次。 当我关闭开关上的 PTP 时、LED 每秒停止闪烁一次。 因此、我认为 MSP432E4 PHY 正在接收数据包、但它们并未通过 MAC 帧滤波器。 我已经在 文件 udp.c 中的低级 LwIP UDP 处理函数 udp_input()中放置了一个 printf 这表明、当我向微控制器的静态 IP 地址(192.168.127.2)发送 UDP 数据包时、LwIP 应用程序会传递一些数据、但我看到在接收多播 UDP 数据包时没有调用此类 printf。

到目前为止,我已经尝试了在   msp432e4if.c 中的 EMAC_FRMFILTER_HASH_AND_Perfect、EMAC_FRMFILTER_PASS_MULTIPast 和 EMAC_FRMFILTER_混杂 模式启用和禁用 EMAC_FRAMameSet()的所有组合 但我还不知道为什么微控制器不向应用传递 PTP 数据包。 我还在 EMACTimestampConfigSet()中设置了 EMAC_TS_MAC_FILTER_DISABLE,但该宏扩展为零,因此它与 SDK 默认值相同。

MAC 中是否存在一些错误、使其过滤掉地址为224.0.1.129或224.0.107的多播流量(端口319-320)?

感谢您提供的任何帮助、

Paul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在函数调用(udp.c -> ip4.c -> ethernet_input -> msp432e4if.c)中深入探讨了几层、当在交换机上激活 PTP 时、msp432e4if_receive()会被调用更多。 因此、我必须在该驱动程序链中进行调试、它可能会通过 EMAC 硬件...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我似乎正在使用主机上的 ptpd 将 PTP 消息传递到应用层、并禁用交换机的内置1588支持。 我从交换机看到的每秒1次流量实际上是 LLDP (wiki.wireshark.org/LinkLayerDiscoveryProtocol)、而不是 PTP 流量。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Paul、

    感谢您发布问题及其解决方案! 这可以帮助论坛的未来用户。

    此致、

    SAI