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:EtherNet/IP — 两个具有不同 MAC 地址的 PHY

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1589844/am2432-ethernet-ip---two-phys-with-different-mac-address

器件型号: AM2432

大家好!

 

在 ODVA 实验室对我的 DUT (EtherNet/IP) 通用器件进行认证期间、可能存在一个问题。

 

在我的 DUT 上、我有两个具有不同 MAC 地址的 PHY、因为两个 PHY 中的一个连接到另两个与 EtherNet/IP 器件一起销售的器件、因此它有一个 Mac。

 

是否有办法在栈中使用 API 设置两个不同的 MAC?

 

此致。

 

Stefano

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

    尊敬的 Stefano:

    您能分享您正在使用的 SDK 版本吗?

    此致
    Archit

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

    您好、

    我使用的是 11.00.00.08。

    此致

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

    尊敬的 Stefano:

    很抱歉耽误了回复。 如规范 Vol2-1.34 第 5-5.3.2.3 节中所述:

    “具有多个端口但具有单个 MAC 接口的设备(例如,具有嵌入式交换机技术的设备)可能会在以太网链路对象的每个实例中对该属性使用相同的值。“

    由于 EIP 堆栈 使用嵌入式交换机技术、这也适用于您的用例、这意味着您的设备只需使用一个 MAC 地址即可运行。

    但是、如果希望 EIP 报告 PHY 中未由 EIP 示例处理的 MAC 地址(自定义 MAC 地址)、可以通过修改 app_task.c 中名为“EI_app_task_macAddress"的“的数组轻松完成此操作

    此外、您需要将符号“_debug_use_custom_mac_address"添加“添加到预定义符号中 、如下所示:


    此致、
    Pourya

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

    尊敬的  Pourya:

    好的、谢谢。  

    但如何管理两个不同的 MAC 呢? 通过这种方式、我可以在两个 PHY 上设置 MAC 的值、对吗? 因为我有两种不同的器件和两个 PHY。

    实验室告诉我、结果是:

    模块上标有“***"的“的端口 2 使用的 MAC 地址不同于端口 1。 原则上、这当然是可能的。 但是、在 EthernetLink 对象中、在属性 3 中为两个实例指定了相同的 MAC 地址。

    此致。

    Stefano

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

    尊敬的 Stefano:

    我相信您使用的 MAC 地址不正确、如果我正确地记得您的工程详细信息、具体来说是第二个端口和第三个外部公开的 PHY 之间的隐藏中间 PHY 地址。 请遵循我之前提供的说明(使用第三个 PHY 的 MAC 地址、因为它是暴露的 PHY)、然后重试以查看这样是否解决了您的问题。

    在 TI AM243x-LP 上、当您从端口 1 和端口 2 运行示例并读取属性 3 时、您会注意到 MAC 地址在两种情况下都是相同的。 更重要的是、Wireshark 中显示的 MAC 地址与该相同地址匹配。

    供您参考:EIP Stack/Example 实施了“具有多个以太网接口和单个 IP 地址和 CIP 接口的设备“拓扑、如 Vol2-1.34 第 6-3.4 节所述。

    此致、
    Pourya

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

    尊敬的 Pourya:

    只是为了清楚。  

    是否 必须使用 EI_APP_TASK_macAddress 数组或其他结构?

    因为在示例中我看到了它  

    //设置模块的 MAC 地址
    OSAL_MEMORY_memcpy (tParam.ai8uMacAddr、EI_APP_TASK_macAddress、6);

    在  EI_APP_TASK_macAddress 中、如果启用了 define、则在缓冲区中复制一个 Mac 地址。

    我错了吗?

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

    尊敬的 Stefano:

    是的、您应该 使用公开 PHY 的 MAC 地址 (TJA1101B) 设置 EI_APP_TASK_macAddress 的内容。 此方法支持在系统中的所有端口上维护单个统一 MAC 地址的目标。

    请确认我是否正确理解了您的实施目标。

    此致、
    Pourya

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

    尊敬的 Pourya:

    不,我的目标是两个接口有 2 个不同的 Mac。 因为 TJA1101 到达的端口位于另一个带有另一个 MAC 的设备上。  

    那么、是否可以为 RJ45 端口设置一个 Mac (phy 83826e)、为 phy TJA1101 设置一个 Mac?

    通常、我想设置不同的 MAC。

    此致

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

    尊敬的 Stefano:

    我离开了几天、很抱歉回复延迟。
    否、无法为不同端口设置两个不同的 MAC 地址。 因为如前所述、标准 SDK 支持以下拓扑:

    "具有“具有多个以太网接口和单个 IP 地址和 CIP 接口的器件“拓扑、如 Vol2-1.34 第 6-3.4 节所述。

    [引述 userid=“608769" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1589844/am2432-ethernet-ip---two-phys-with-different-mac-address/6130176

    VOL2-1.34、第 5-5.3.2.3 节:

    “具有多个端口但具有单个 MAC 接口的设备(例如,具有嵌入式交换机技术的设备)可能会在以太网链路对象的每个实例中对该属性使用相同的值。“

    [/报价]

    这就是我建议您为设备使用统一 MAC 地址的原因。

    此致、
    Pourya