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:用于工业通信的 MII/RGMII 和用于 cpsw 的 RMII/RGMII

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1098821/am2432-mii-rgmii-for-industrial-communication-and-rmii-rgmii-for-cpsw

器件型号:AM2432

您好、专家、

我想与您确认以太网通信 I/F

  • MII/RGMII 可用于工业通信(ICSS-EMAC)
  • RMII/RGMII 可用于通用平台以太网交换机(CPSW)

是这样吗? 如果是、您能否分享 RMII 不能用于  ICSS-EMAC 且 MII 也不能用于 CPSW 的原因?

对于我们在 Lwip 之上运行第三方 EtherNet/IP 功能的产品、TI 确认我们必须选择 ICSS-EMAC、而不是 CPSW。  

因此、对于硬件设计、我们必须尽快决定 MII、RMII 或 RGMII 是否适合我们产品中的以太网 I/F。

  •   ICSS-EMAC 的 MII 或 RGMII?
  • ICSS-EMAC 的 RMII 如何?

请分享您的指南以了解我们的选择。 如果您能分享有关此主题的更多知识、我将不胜感激。  

最棒的

Moonil

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

    你(们)好

    [引用 userid="506396" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1098821/am2432-mii-rgmii-for-industrial-communication-and-rmii-rgmii-for-cpsw "]
    • MII/RGMII 可用于工业通信(ICSS-EMAC)
    [/报价]

    是的、正确。 RMII 不能用于 ICSS-EMAC、因为 PRU-ICSS HW 仅支持 MII 和 RGMII。

    [引用 userid="506396" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1098821/am2432-mii-rgmii-for-industrial-communication-and-rmii-rgmii-for-cpsw "]

    因此、对于硬件设计、我们必须尽快决定 MII、RMII 或 RGMII 是否适合我们产品中的以太网 I/F。

    [/报价]

    您将决定选择哪个接口。  与 RGMII 相比、MII 更便宜、延迟更低。

    此致
    Dhaval Khandla

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

    您好 Dhaval Khandla、

    感谢您的及时澄清。  

    因此、我们的决定是、  

    • 启用 ICSS-EMAC +开关模式+ MII (2个端口)
    • 在 Lwip 上运行第三方 EtherNet/IP (非 KUMBUS)
    • 在 Lwip (如 TFTP 或 HTTP 服务器)上运行标准 TCP/IP 应用程序
    • PRU 固件?

    另一个问题是、应在我们产品的 PRU 上加载哪个 PRU 固件二进制文件?

    我在"ICSS_prp_pru0_bin.h"、"EtherNetIP_adapter_pru0_bin.h"中找到了 PRU0_firmware[]、在 SDK 中找到了其他选项。

    我们是否应该使用"EtherNetIP_adapter_pru0_bin.h"中的那个、即使我们没有将 KUNBUS 堆栈用于以太网 IP?

    如果您能分享有关加载/使用 PRU 固件的指南/示例以及任何预防措施、我将不胜感激。

    此致、

    Moonil

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

    你(们)好

    [引用 userid="506396" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1098821/am2432-mii-rgmii-for-industrial-communication-and-rmii-rgmii-for-cpsw/4074774 #4074774"]

    另一个问题是、应在我们产品的 PRU 上加载哪个 PRU 固件二进制文件?

    [/报价]

    有关 EtherNet/IP 固件的详细信息、请查看文档中的以下页面:  

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_02_00_31/exports/docs/api_guide_am243x/ETHERNETIP_ADAPTER_FWHAL.html

    EtherNet/IP 适配器 FWHAL (固件和硬件抽象层)允许加载和运行 EtherNet/IP 固件、并充当固件的接口。 FWHAL 在 EtherNet/IP 适配器固件和 EtherNet/IP 适配器协议栈之间实现关键接口。  FWHAL 独立于任何特定的堆栈。

    EIP drvInit API 将在 PRU 内核上加载相应的固件。

    此致
    Dhaval Khandla

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

    您好 Dhaval Khandla、

    感谢您提供信息。 我想知道是否有一个示例代码可使用"以太网/IP 适配器 FWHAL"。

    当我检查 SDK 示例时、我只找到了 KUNBUS EtherNet/IP 的示例、但使用 FWHAL (如 EIP_drvInit API )的代码似乎隐藏在其库中。

    您能否共享一个示例项目来使用包括创建 EIP 句柄在内的"以太网/IP 适配器 FWHAL"? 我可以加快移植定制 EtherNet/IP 适配器的进度、这对我非常有帮助。

    此致、

    Moonil

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

    您好 Dhaval、  

     

    [引用 userid="4285100" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1098821/am2432-mii-rgmii-for-industrial-communication-and-rmii-rgmii-for-cpsw/4075347 #4075347"]EIP drvInit API 将在 PRU 内核上加载相应的固件。[/quot]

    要使用 EIP API、需要将 EIP_Handle 作为其参数、它是下面结构的指针类型。  

    根据我的理解, 在调用 EIP drvInit()之前,应填写 EIP 句柄。 对吧?

    如果是、我是否可以对  该结构的 pruicssHandle、emacHandle 和 timeSyncHandle 使用相同的 HSR_prp 示例代码?

    其他器件、如 cipSyncObj dlrHandle、情况如何

    typedef 结构体 cipSyncObj

        PRUICSS_Handle pruicssHandle;
        ICSS_EMAC_Handle emacHandle;
        Timesync_ParamsHandle_t timeSyncHandle;
        cipSyncConfig_t cipSyncObj;
        /**复制数据包的临时占位符*/
        uint8_t tempFram[ICSS_EMAC_MAXMTU];
        EIP DLRHandle dlrHandle;
    } EIP 配置;

    您能更详细地分享一份指南吗? 如果您共享一个示例代码来初始化此结构的这些字段、这对我非常有帮助。

    此致、

    Moonil

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

    您好 Dhaval、

    我能否向您询问有关我的问题的任何更新以及如何使用 EIP API 的一些示例?

    此致、

    Moonil

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

    你(们)好
    您可以按照此顺序操作

    [引用 userid="506396" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1098821/am2432-mii-rgmii-for-industrial-communication-and-rmii-rgmii-for-cpsw/4081845 #4081845"]

    根据我的理解, 在调用 EIP drvInit()之前,应填写 EIP 句柄。 对吧?

    如果是、我是否可以对  该结构的 pruicssHandle、emacHandle 和 timeSyncHandle 使用相同的 HSR_prp 示例代码?

    [/报价]
    1. 初始化 PRU-ICSS 句柄。   有关详细信息、请参阅 software-dl.ti.com/.../DRIVERS_PRUICSS_PAGE.html
    2. 初始化 ICSS-EMAC 句柄。   有关详细信息、请参阅 software-dl.ti.com/.../ICSS_EMAC.html
    3. 初始化 Timesync 句柄
      1. 为 Timesync_ParamsHandle_t 分配内存
      2. 填充句柄内的值。 您可以参考 PRP 示例、但它不能按原样使用。 有些值会有所不同、例如 timeSyncConfig.type 将是 E2E 而不是 PTP、 timeSyncConfig.protocol 将是 UDP_IPv4、 timeSyncConfig.custom_TX_API 将是0。
    4. 初始化 DLR 句柄
      1. 为句柄分配内存
      2. 填充句柄内的值。 设置 PRU-ICSS 和 ICSS-EMAC 句柄。 为 dlrObj 分配内存
    5. 初始化 EIP FWHAL 句柄
      1. 为句柄分配内存
      2. 填充句柄内的值。 设置 DLR、PRU-ICSS 和 ICSS-EMAC 句柄
    6. 调用 EIP drvInit  和  EIP drvStart

    此致
    Dhaval

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

     您好 Dhaval、

    感谢您的友好解释。

    我从稍微不同的角度对 PRU 固件有一个简短的问题。

    正如我们在前面的会议中所讨论的、您可能记得我们的产品中将运行 Lwip 顶部的定制 EIP 堆栈。 该定制堆栈不会使用 TI EIP PRU 固件提供的任何 API 或功能、并且仅使用 Lwip API。

    因此、我想知道、如果仅使用了 Lwip、但未使用 TI 的 EIP 功能、我们是否可以采用更简单的方法来使用以太网网络端口(2端口开关模式)。 在这种情况下、 您是否认为我们仍然需要执行您描述的相同步骤? 或者、对于我们的案例、我们是否可以跳过 Timesync 或 DLR 等步骤?

    我还想知道是否有办法甚至不使用 PRU 固件进行以太网通信。

    如果您能再次分享您的经验并为您提供指导、我将不胜感激。

    最棒的

    Moonil

     

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

    您好 Moonil、

    抱歉、我们的这条线被删除了。

    如果您仍在查找信息、请告知我们? 请告诉我们、我们将与您联系。

    感谢您的理解。

    此致、

    Prasad

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

    你(们)好

    [引用 userid="506396 " URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1098821/am2432-mii-rgmii-for-industrial-communication-and-rmii-rgmii-for-cpsw/4108773 #4108773"]SO、我想知道、如果仅使用了 Lwip 但未使用 TI 的 EIP 功能、我们是否可以实施更简单的方法来使用以太网端口(2端口交换模式)。 在这种情况下、 您是否认为我们仍然需要执行您描述的相同步骤? 或者、我们是否可以针对我们的案例跳过 Timesync 或 DLR 等步骤?

    如 https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_04_00_17/exports/docs/api_guide_am243x/ETHERNETIP_ADAPTER_FWHAL.html 中所述、 PRU-ICSS 实现了 EtherNet/IP 的数据链路层。 它还将执行 DLR 和 PTP 特定处理。  

    [引用 userid="506396" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1098821/am2432-mii-rgmii-for-industrial-communication-and-rmii-rgmii-for-cpsw/4108773 #4108773"]

    我还想知道是否有办法甚至不使用 PRU 固件进行以太网通信。

    [/报价]

    将 PRU-ICSS 用于工业协议具有以下优势:

    更好的直通延迟  
    2. SDK 中的认证解决方案
    3. DLR 和 PTP 支持

    此致
    Dhaval