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.

[参考译文] AM2612:AM2612 — 支持直通

Guru**** 2774745 points

Other Parts Discussed in Thread: AM2612

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1615999/am2612-am2612---enabling-cut-through

器件型号: AM2612

您好:

我目前正在使用以下示例应用程序、以便通过实验验证网络中集成的交换机延迟: https://software-dl.ti.com/mcu-plus-sdk/esd/AM261X/latest/exports/docs/api_guide_am261x/EXAMPLES_ENET_LAYER2_CPSW_SWITCH.html

 

我注意到、使用上述应用程序的修改版本获取了以下结果: https://software-dl.ti.com/mcu-plus-sdk/esd/AM261X/latest/exports/docs/api_guide_am261x/enetlld_performance.html

 

我想知道需要对 examples_ENET_Layer2_CPSW_switch 代码进行哪些修改、以确保在两个 Mac 端口上为所有优先级为 6 或更高的数据包启用内部交换机? (IET 导通)

 

我尝试对示例应用程序进行往返时间延迟测量、我的初始测量似乎意味着 CPSW 仍配置为存储和转发、而不是直通。 我希望 1518 字节数据包实现 2.0us @1Gbps。

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

    澄清此 API 也有助于 Enet LLD:

    ...

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

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

    尊敬的 Nicholas:

    我可以建议对 Enet 层 2 开关示例进行以下几项基本修改:

    1. 删除所有日志
    2. 使用发布版本进行测试、以进行延迟测试
    3. 禁用 CPSW 统计中断
    我希望 1518 字节数据包实现 2.0us @1Gbps。

    问题 1: 是此往返延迟时间、还是仅是从一个 Mac 端口到另一个端口的直通切换时间。

    问题 2:这只是硬件切换延迟、还是数据包预计会被 CPU 复制并填充回 MAC 端口?

    ]我想知道我需要对 examples_enet_Layer2_CPSW_switch 代码进行哪些修改、以确保在两个 Mac 端口上均启用了内部交换机

    此外、可以针对特定优先级启用/禁用直通切换、您粘贴的屏幕截图基本上会配置优先级的位掩码、例如、如果您只想针对优先级 6 和优先级 7 启用直通切换、则可以将其设置为“0b110000000"。“。

    为确保开通直通开关、

    检查以下文件:soc mcu_plus_sdk_am261x_11_01_00_19/source/networking/enet/enet/am261x/enet_soc_cfg.h

    此文件配置 AM261x 的 CPSW。 如果您对此文件进行了任何更改、则需要使用以下命令重建 enet-cpsw 库

    所有优先级为 6 或更高的数据包? (IET 已打开)

    要开启 IET、您可以按照此处的指南操作:

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM261X/latest/exports/docs/api_guide_am261x/enet_iet_userguide.html

    此致、
    Shaunak

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

    您好 Shaunak、

    感谢您的快速答复。

    回答 Q1:我尝试表征当数据包在启用直通的情况下从一个 Mac 端口传递到另一个端口时、AM2612 内的 CPSW 会增加多长时间的延迟。

    回答问题 2:在我的设置中、数据包是 不会 预计将被 CPU 复制、并在我的应用程序中的 Mac 端口上回显。 我相信我已经修改了应用程序、使 CPU 不会回显发送给它的数据包(但它仍会在后台处理接收到的数据包,但会静默忽略它们)。

    我已经验证了 enet_soc_cfg.h 中的 ENET_CFG_CPSW_CUTTHRU 是 ENET_ON

    QA:如果 IET 已关闭(未修改的  Examples_ENET_Layer2_CPSW_switch 代码似乎是这样)、且通过交换机的数据包未标记 VLAN、则应在应用程序中默认对所有流量执行直通、这是正确的吗?

    Qb:我注意到、在浏览 IET 用户指南后、syscfg 生成的变量 gEnetCpswCfg.vlanCfg.vlanAware = false 默认。 我想知道是否应在应用代码中启用此功能? 还是没有关系?

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

    遗憾的是、尝试上述修改没有任何帮助。 然而,在转回统计数据并重新登录之后,我在测试过程中成功地捕获了以下统计数据:

    我注意到 txLateCollFrames 异常高。

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

    尊敬的 Nicholas:  

    以下响应涉及解决您在转发多播直通数据包时看到的延迟问题:

    -您可以尝试启用 CPSW_NC_CPPI_P0_Rcontrol_REG 寄存器的位 19 吗

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

    这似乎导致了一个明显的改进! 非常感谢!