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.

[参考译文] AM2434:工业通信 SDK PRP 演示问题

Guru**** 2386610 points
Other Parts Discussed in Thread: TMDS243EVM, LP-AM243, TMDS64EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1353840/am2434-industrial-communications-sdk-prp-demo-issue

器件型号:AM2434
主题中讨论的其他器件:TMDS243EVMLP-AM243TMDS64EVM

AM243x 工业通信 SDK 中的 PRP 演示针对一个 Ping 请求发送两个回复。

我们的客户在 TMDS243EVM 上运行了 PRP 演示。 PRP 网络配置如下。

TMDS243EVM (PRP 演示)- L2开关- PRP Redbox - PC

我在 LP-AM243上运行了 PRP 演示。 PRP 网络配置如下。

LP-AM243 (PRP 演示)- L2开关- TMDS64EVM (Linux)

我们捕获并检查了配置为 PRP 的两个网络中每一个网络的数据包。

有关详细信息、请查看随附的 PDF 文件。

e2e.ti.com/.../AM243x-Industrial-Communications-SDK-PRP-Demo-Issue.pdf

此致、

大辅

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

    您好!

    您能分享一下 pcap 文件给我们分析吗? 如果我们可以从这两个设置中获取捕获结果、就会有所帮助。

    我们也会尝试在我们身边重现此问题。

    此致、
    普拉吉特

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

    您好、Prajith-San、

    感谢您的答复。

    我使用下面的网络配置进行了新的捕获。

    LP-AM243 (PRP 演示)- L2开关- TMDS64EVM (Linux)

    附加一个 zip 文件、其中包含2个端口的 pcap 文件。

    e2e.ti.com/.../TMDS64EVM-to-LP_2D00_AM243.zip

    对于下面的网络配置、我会要求我们的客户共享 pcap 文件。

    TMDS243EVM (PRP 演示)- L2开关- PRP Redbox - PC

    是否需要捕获来自系统启动的所有数据包?

    此致、

    大辅

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

    您好、Prajith-San、

    有任何更新?

    您是否通过分析我的附加 pcap 文件找到了任何信息?

    此致、

    大辅

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

    您好、Prajith-San、

    我发现导致此问题的一种情况。

    两个电路板上的 RJ45连接器按如下所示进行连接时、会出现该问题。

    LP-AM243 (PRP 演示): RGMII1 - L2开关- TMDS64EVM (Linux): RGMII1
    LP-AM243 (PRP 演示): RGMII2 - L2开关- TMDS64EVM (Linux): RGMII2

    问题是 两个板上的 RJ45连接器连接时会发生、如下所示。

    LP-AM243 (PRP 演示): RGMII1 - L2开关- TMDS64EVM (Linux): RGMII2
    LP-AM243 (PRP 演示): RGMII2 - L2开关- TMDS64EVM (Linux): RGMII1

    问题是否在 PRP 演示中出现错误? 或者它是否是 PRP 规范中的限制?

    请尽快回答。 请您及时回复。

    此致、

    大辅

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

    尊敬的 Daisuke San:

    我们在测试中没有发现此问题。 我将在我身边进行测试、并 尽早向您更新

    此致、
    普拉吉特

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

    您好、Prajith-San、

    感谢您的答复。

    对于下面的网络配置、我从我们的客户那里获得了 pcap 文件。

    TMDS243EVM (PRP 演示)- L2开关- PRP Redbox - PC

    附加一个包含2个端口的 pcap 文件的 zip 文件。

    e2e.ti.com/.../PC-to-RedBOX-to-TMDS64EVM.zip

    PC:192.168.1.10
    TMDS243EVM (PRP 演示):192.168.1.200

    问题是 插拔 RJ45连接器时、可能会发生这种情况、就像我尝试过的 EVM 那样。

    请尽快回答。 请您及时回复。

    此致、

    大辅

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

    您好、Prajith-San、

    有任何更新?

    问题是否是 PRP 演示中的错误? 还是 PRP 规范中的限制?

    请尽快回答。 请您及时回复。

    此致、

    大辅

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

    尊敬的  Daisuke-San:  

    感谢您分享有关该问题的详细信息。 我查看了捕获结果、发现 PRP 网络中有 LAN-ID 不匹配。  

    Ping 请求:(LanId = B)

    第1个 Ping 回复: (LanId = A)

    第2个 Ping 回复: (LanId = A)

    PRP 网络希望具有相同 LanId 的所有端口连接在一起。 如果接收数据包的 LanId 与接收数据包的端口的 LanId 不匹配、则不会对这些帧执行重复的丢弃检查、它们会按原样传递到主机。 这将导致主机收到2条 ping 请求消息、因此会发送2条响应消息。  

    您可以检查 cntErrWrongLanA、 cntErrWrongLanB 等计数器、以查看您是否在 EVM 上收到 LanId 错误的数据包。 我想您可以使用应用 UART 菜单打印这些文档。 (类型 s 用于 printStatistics(),反过来又调用 RedGetStatistics())  

    谢谢。  
    希曼舒

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

    尊敬的 Himanshu-San:

    感谢您的答复。

    我通过比较捕获的发送数据包和接收的数据包确认了 LanId 不匹配、还确认"WrongLang"已计入 PRP 演示的统计信息。

    我知道、在两个端口上接收到的每个包含错误 LanId 的数据包都会单独进行、因此会针对两个端口上收到的每个请求发出回复、并且回复会从两个端口发送。

    LanId 错误的数据包是否仅在 PRP 演示中出现? 或者、任何 PRP 器件是否发生过这种情况?

    该行为是否在 PRP 演示中存在错误? 或者它是否是 PRP 规范中的限制?

    此致、

    大辅

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

    尊敬的  Daisuke-San:  
    这是预期行为、符合 IEC 62439-3。 网络需要正确配置,所有 LanId A 端口都在同一个 LAN 中(LanId B 端口应该在其它 LAN 中)。

    自规格:
    4.1.10.2.4 LanId 的使用
    RCT 的4位 LanId 字段对 LAN_A 或 LAN_B 具有不同的标识符、具体而言就是代码1010 ("A")和1011 ("B")。 因此、A 帧和 B 帧在一个位(以及在 FCS 中)上是不同的。 接收器检查帧是否来自正确的 LAN。 它不会拒绝来自错误 LAN 的帧、因为这可能是一个合法的帧、恰巧在其最后28位中包含 PRP 后缀和长度信息、但它会使错误计数器 CntErrWrongLanA 或 CntErrWrongLanB 递增、因为这提示存在配置错误。 由于此类错误是永久性的、因此能快速检测到。

    谢谢。  
    希曼舒

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

    尊敬的 Himanshu-San:

    感谢您的答复。

    每个端口的 LanId 是否固定? 或者是否可以更改它?

    如果它被修复、那么每个 MII 接口和 LanId 之间的对应关系是否如下所示?

    RGMII1或 MII0:LAN_A
    RGMII2或 MII1:LAN_B

    如果可以对其进行更改、如何在 PRP 演示中设置 LanId?

    此致、

    大辅

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

    尊敬的 Himanshu-San:

    如果可以在 PRP 演示中更改 LanId (交换 LAN_A 和 LAN_B)、如何设置它?

    如果没有、LanId 是否会按如下所示固定?

    RGMII1或 MII0:LAN_A
    RGMII2或 MII1:LAN_B

    请尽快回答。 请您及时回复。

    此致、

    大辅

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

    尊敬的  Daisuke-San:  

    很抱歉耽误你的时间。  
    我检查了源代码、并且端口的 LanId 是固定的。  

    您的理解是正确的:
    RGMII1或 MII0:LAN_A
    RGMII2或 MII1:LAN_B

    谢谢。  
    希曼舒

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

    尊敬的 Himanshu-San:

    感谢您的答复。

    我检查了源和端口的 LanId 是否固定。  [/报价]

    是否是因为 LanId 已在 PRU 固件中设置、用户无法更改?

    此致、

    大辅

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

    尊敬的  Daisuke-San:  

    是否因为 LanId 已在 PRU 固件中设置、用户无法更改?

    是的、它在固件中已修复、若要更改该固件、必须修改和重建该固件。 此外、目前我们仅测试我们支持的配置、因此更改它也可能导致一些意外问题。

    谢谢。
    希曼舒