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.

[参考译文] AM2432:定制电路板上的 Profinet 链路状态停用

Guru**** 2528720 points
Other Parts Discussed in Thread: AM2432, DP83826E, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1545329/am2432-profinet-link-state-deactivation-on-custom-boards

器件型号:AM2432
主题中讨论的其他器件: DP83826ESysconfig

工具/软件:

您好、

我将 AM2432 与工业 SDK 11.00.00.08 配合使用、

我将结合使用定制电路板和定制以太网 PHY。 第一个 PHY 是 100BASE-TX、使用 SDK 提供的 CUST_PHY_dp83826e.c 驱动程序、而第二个 PHY 是 100BASE-T1、使用我们实现的自定义驱动程序 CUST_PHY_tja1101.c。
PROFINET 认证实验室报告了两个似乎与停用 BT1 端口链路有关的问题:

  • 诊断场景 2:未收到针对 CheckLinkState 和 CheckPeers 的警报。

这是日志的一部分:

...
Diagnosis with CheckLinkState Test step 9: CheckLinkState: Set Link of Interface 2 to LinkState down.
Diagnosis with CheckLinkState Test step 10: CheckLinkState: Alarm validation.
Diagnosis with CheckLinkState Test step 11: Exactly one alarm shall occure. There was none
...

  • Pdev Records–场景 4:端口停用后、仍可访问合作伙伴设备 d。

这是日志的一部分:

Fourth Scenario PDPortDataAdjust with AdjustLinkState: Test step 1: Adjust LinkState: Check Precondition
Fourth Scenario PDPortDataAdjust with AdjustLinkState: Test step 2: Adjust LinkState: Establishing IOC AR
Fourth Scenario PDPortDataAdjust with AdjustLinkState: Test step 3: CheckLinkState: Check accessibility of Device D.
Fourth Scenario PDPortDataAdjust with AdjustLinkState: Test step 4: Device D is still accessible

我怀疑我们为 CUST_PHY_tja1101 实现的自定义驱动程序缺少某些部分、因为相反、在使用 SDK 提供的驱动程序的 BTX 端口上没有报告问题。
是否使用特定回调来禁用自定义驱动程序中的端口链接? 我应该检查哪些函数来验证我们是否实际禁用了链路?

谢谢您、

此致、

Andrea

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

    您好、有任何更新吗?

    我附加了 SysConfig 文件、GSDML 文件和使用的自定义驱动程序 CUST_PHY_tja1101。

    谢谢您、

    此致、

    Andrea

    e2e.ti.com/.../3857.Profinet.zip

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

    您好、Andrea、

    由于您在系统中使用非 TI PHY、因此您的案例中需要某种自定义支持。 我会让你发布更新,只要我有他们.  

    谢谢。
    此致、
    Kamil

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

    您好、Andrea、

    我相信我们的销售团队正在与 ABB 联系、但是我快速查看了您在上面提供的文件夹、在我看来、您没有在 PHY 驱动程序中实现所有功能。 这有什么原因吗?  堆栈需要 CUST_PHY_TJA1101_softwareReset 等一些函数。

    谢谢。
    此致、
    Kamil

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

    尊敬的 Kamil:

    感谢您的答复。

    PHY 驱动程序 CUST_PHY_TJA1101 是从另一个类似的工程复制而来的。 您能否准确地告诉我哪些函数必不可少、以及在什么情况下堆栈使用它们?

    谢谢您、

    此致、

    Andrea

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

    您好、Andrea、

    堆栈所需且实现中缺失的主要函数是:

    CUST_PHY_TJA1101_softwareReset: 初始化期间需要(我们没有硬件复位)
    CUST_PHY_TJA1101_setMIIMode:设置 MII/RGMII 模式
    CUST_PHY_TJA1101_setPowerMode:设置 PHY 的上电和断电
    CUST_PHY_TJA1101_setLinkConfig:(自动协商,速度,双工)
    CUST_PHY_TJA1101_getAutoNegotiation:验证自动协商配置
    CUST_PHY_TJA1101_setMdixMode:MDI/MDIX 配置
    CUST_PHY_TJA1101_getMdixMode:验证配置的 MDI/MDIX 模式

    谢谢。
    此致、
    Kamil

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

    尊敬的 Kamil:

    感谢您的答复。

    我有一些疑问:

    -在 SDK 提供的 CUST_PHY_dp83826e.c 驱动程序中、功能 CUST_PHY_TJA1101_setMIIMode 为空。 正确吗? 是否可以在 CUST_PHY_tja1101 中将其留空?

    -我们的 PHY TJA1101 似乎不支持自动协商,只支持全双工。 这可能是个问题吗?

    - TJA1101 是一个 100BaseT1 PHY ,因此 MDI/MDIX 不适用。 这可能是个问题吗?

    谢谢您、

    此致、

    Andrea