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.

[参考译文] DP83826-AM243X:将用于 MCU-PLUS-SDK PHY

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1514305/mcu-plus-sdk-am243x-using-dp83826-for-ethercat-phy

器件型号:AM243X - MCU-PLUS-SDK
主题中讨论的其他器件:DP83869、DP83826E、 SysConfig

工具/软件:

尊敬的 TI 专家:

  我们使用自己设计的带 EtherCAT 的电路板、PHY 是 DP83826、具有 Strap 配置并连接到 ICSSG0。  

  现在我的问题是、如何修改  EtherCAT 子器件 Beckhoff SSC Demo 中的 SYSCFG 文件以适合我们自己的电路板。

  首先、我将 ICSS 实例从 ICSSG1修改为 ICSSG0  

  然后、我去了 ETHEPHY 配置->ETHEPHY 设备。  DP83869是默认模式。 我是否应该保留在此处 DP83869、或者我应该选择无/自定义?

  如果我选择"自定义"、下一步是什么?

  如以下链接所述、您已经完成了该测试。  

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1379679/mcu-plus-sdk-am243x-using-dp83849-for-ethercat-on-am243x

  请您将详细说明分享给我吗?

  My SDK: IND_comms_sdk_am243x_09_02_00_24; ccs: 20.0.1.4_1.6.1

谢谢、

春阳

  

 

   

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

    尊敬的 Chunyang:

    我们已经有一个示例演示了在使用 DP83826E PHY 的 ICSSG0实例上实现 EtherCAT: EtherCAT 子器件 Beckhoff SSC 演示- ICSSG0。 如果您参考在 SDK 中使用 R5F1-0内核的示例({SDK_directory}\examples\industrial_comms\EtherCAT_slave_beckhoff ssc_demo\am243x-evm\r5fss1-0_freeRTOS)、则可以获取相同的 SysConfig 配置:

    请注意、TI 支持的 EVM (AM64X-EVM、AM243X-EVM)、不能使用 ICSSG0、因为 PRG0_MII1和 PRG0_MII0引脚未连接到这些 EVM 上的以太网 PHY。 需要专用定制板来使用 ICSSG 外设的这个 PRU_ICSSG0实例。

      如果我选择"自定义"、下一步是什么?
    • 您可以参阅下的代码  ICSSG0_Instance tiescsoc.c 文件中的宏、用于实现额外配置以启用其他 PHY。 在本演示中、我们使用一个专用硬件、其连接了 DP83826E PHY。

    如果您需要其他支持、请告诉我。

    此致、
    Aaron

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

    谢谢 Thomas、

    这似乎完全解决了我的问题、然后我可以继续进行电路板测试。

    BR、

    春阳  

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

    您好 Aaron、

      现在、我获得了自己设计的电路板、该电路板使用  DP83826 和 ICSSG0作为 EtherCAT 协议栈。

      以下是我为了使电路板的 EtherCAT 正常工作而做的事情。  


      1基于演示: IND_comms_sdk_am243x_11_00_00_08\examples\industrial_comms\EtherCAT_slave_beckhoff ssc_demo\am243x-evm\ r5fss0-0_freeRTOS 我创建了自己的项目。  

      2我复制了  example.syscfg 来自\...\ r5fss1-0_freeRTOS 我的项目。 并根据我的板对其进行了 LED 和 GPIO 修改。

      3 修改 escsoc.c-> itiesc_addOnBoardResetSequence ()、根据我的电路板复位 ECAT PHY。

      4我删除了 IIC-1并检查了 EEPROM 的地址、然后检查了 PHY MDIO 地址。

      5我构建并加载我的代码到我的板,但我的 PC 显示没有连接。

      6我甚至 通过硬件将 DP83826的模式从增强型更改为基本型、仍然无法与我的 PC 连接。

      但我发现  ICSSG0_Instance 已定义、但 ti_drivers_config.h 中只有 ICSS1的宏

        /* PRUICSS Instance Macros */
    #define CONFIG_PRU_ICSS1 (0U)
    #define CONFIG_PRU_ICSS1_CORE_CLK_FREQ_HZ (200000000U)
    #define CONFIG_PRU_ICSS1_CORE_CLK_PERIOD_NSEC (5)
    #define CONFIG_PRU_ICSS1_IEP_CLK_FREQ_HZ (200000000U)
    #define CONFIG_PRU_ICSS1_IEP_CLK_PERIOD_NSEC (5)
    #define CONFIG_PRU_ICSS1_UART_CLK_FREQ_HZ (192000000U)
    #define CONFIG_PRU_ICSS1_UART_CLK_PERIOD_NSEC (5.208333333333333)
    #define CONFIG_PRUICSS_NUM_INSTANCES (1U)

      在  tiescsoc.c 中、它   为参数使用了大量 pruIcs1Handle、但没有 pruIcs0Handle。 如下所示:  

    void tiesc_socEvmInit()
    {
    #ifdef ICSSG0_INSTANCE
    tiesc_addOnBoardResetSequence();
    #endif
    const PRUICSS_HwAttrs *pruicssHwAttrs;
    uint32_t inEventLatch0, inEventLatch1, outEventLatch0, outEventLatch1;

    pruIcss1Handle = PRUICSS_open(CONFIG_PRU_ICSS1);
    pruicssHwAttrs = PRUICSS_getAttrs(CONFIG_PRU_ICSS1);

    /* Selecting MII-RT mode in GPCFG mux */
    PRUICSS_setGpMuxSelect(pruIcss1Handle, PRUICSS_PRU0, PRUICSS_GP_MUX_SEL_MODE_MII);
    PRUICSS_setGpMuxSelect(pruIcss1Handle, PRUICSS_PRU1, PRUICSS_GP_MUX_SEL_MODE_MII);

    我打算手动将所有 PruIcs1修改为 PruIcs0、我是否在正确的方法上?

    期待您的指导、

    BR、

    春阳  

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

    尊敬的 Chunyang:

    我打算手动将所有 PruIcs1修改为 PruIcs0、我是否在正确的方式上?
    • 这不是必需的、因为  PruIcs1 只是一种命名约定。 如您所见、 PruIcs1 使用 SysConfig 中的 CONFIG_PRU_ICSS1、该 SDK 使用 ICSSG0实例:
    • 因此、尽管它显示 PruIcs1、但它在内部使用 ISCCG0实例。 很抱歉混淆。 我将跟踪在模板内部修复此问题、以避免将来出现此类混乱。

    确保在将 ICSSG0实例与 DP83826 PHY 配合使用时注意以下事项:

    1. 启用增强型链路后、链路极性会得到重视。 您还可以禁用增强链路并查看是否能够扫描设备(这将指出问题是否与增强链路配置有关)
    2. 已实现 tiesc_addOnBoardResetSequence()逻辑-您已注意到。
    3. tiesc_ethphyInit ()逻辑已修改为使用  DP83826 PHY 和相应的模块、而不是 DP83869 PHY。
    4. 在我们的 ICSSG0附加电路板中存在一个 Strap 配置问题、该问题在 tiesc_ethphyEnablePowerDown () API 中实施了软件权变措施。 如果此问题不适用于您的 case、您可以删除此问题。
    5我构建了代码并将其加载到我的电路板上、但我的 PC 显示没有连接。
    • 这里要检查的几个事项是:
      • 您是否能够通过 MDIO 访问 PHY 寄存器?
      •  如果使用 MDIO 固件权变措施(MDIO_MANUAL_MODE_ENABLED)、则是否在 MDIO 链路寄存器中获得链路更改状态 、即0x30010E40 (MDIO 仿真空间的基址)或0x3003240C (如果不使用 MDIO 仿真)?  
      • 固件是否正在接收 EtherCAT 帧? 这可以通过监控0x30010E00至0x30010E03供应商特定 ESC 寄存器来确认:
      • 如果问题类似于常见问题: EtherCAT 调试指南、也可以参阅《EtherCAT 调试指南》

    此致、
    Aaron

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

    另外、我建议您创建一个参考该主题的单独 E2E 主题、因为当前主题标记为已解决、并且很难在内部跟踪。

    此致、
    Aaron

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

    您好 Aaron、

      完全同意您的观点、我们继续  

    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1525628/mcu-plus-sdk-am243x-mcu-plus-sdk-am243x-using-dp83826-for-ethercat-phy----part2

    BR、

    春阳