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.

[参考译文] AM6442:使用 PSDK Linux 的 PRP 和 HSR 支持的速度

Guru**** 2823625 points

Other Parts Discussed in Thread: TMDS64EVM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1612288/am6442-speeds-supported-for-prp-and-hsr-using-psdk-linux

器件型号: AM6442
Thread 中讨论的其他器件: TMDS64EVM

您能告诉我使用 PSDK Linux 的 PRP 和 HSR 支持的速度吗?

这些文件中的资料如下。

针对基于 ArmRegistered的微控制器和处理器的工业通信协议支持
www.ti.com/.../sprt769.pdf
DECEMBER 2023

6 PRP 支持
“AM243x SDK 包括对 100Mbps PRP 的支持、AM64x SDK 包括对的支持 1Gbps PRP。“

7 HSR 支持
“AM243x SDK 包括对 100Mbps HSR 的支持、而 AM64x SDK 包括对的支持 1Gbps HSR。“

TI 处理器和 MCU 支持的工业通信协议(修订版 F)
www.ti.com/.../sprach6f.pdf
2025 年 9 月修订

2.5 并行冗余协议 (PRP)
“AM64x/AM243x 可以支持 100M/1G PRP“

2.6 高可用性无缝冗余 (HSR)
“AM64x/AM243x 版本可以支持 100M/1G HSR“

对于 PRP 和带 ICSSG 的 HSR、最新的 PSDK Linux 是否支持 10/100/1Gbps 的所有速度?

对于具有 CPSW 的 PRP、最新的 PSDK Linux 是否支持 10/100/1Gbps 所有速度?

PROCESSOR-SDK-LINUX - AM64X
www.ti.com/.../PROCESSOR-SDK-LINUX AM64X-AM64X
版本:11.02.08.02
发布日期:2025 年 12 月 15 日

此致、

大辅

 

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

    您好、大辅  

    [引用 userid=“102452" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1612288/am6442-speeds-supported-for-prp-and-hsr-using-psdk-linux ]最新的 PSDK Linux 是否支持适用于 PRP 和适用于 ICSSG 的 HSR 的 10/100/1Gbps 所有速度?

    是的、最新的 Linux SDK 支持高达 1Gbps 的 HSR 和适用于 ICSSG 的 PRP。

    ]最新的 PSDK Linux 是否支持 CPSW PRP 的所有 10/100/1Gbps 速度?

    虽然我们不会广播用于 HSR 和 PRP 的 CPSW、但理论上、HSR 和 PRP 非卸载模式(高达 1Gbps)可在 CPSW 以太网上运行。 我们尚未对此进行广泛测试。  

    -道林

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

    Daolin-san,

    感谢您的答复。

    我建议客户使用 ICSSG 而不是 CPSW。

    客户将参考以下文档来测试 HSR 卸载和 PRP 卸载。

    software-dl.ti.com/.../HSR_Offload.html

    software-dl.ti.com/.../PRP_Offload.html

    对于 HSR/PRP 分载、是否通过自动协商根据链路伙伴设置链路速度?

    对于 HSR/PRP 卸载、是否可以强制将本地链路速度设置为 10Mbps 或 100Mbps(例如,使用 ethtool)?

    software-dl.ti.com/.../PRU_ICSSG_Ethernet.html
    # ethtool -s eth1 双工全速 100

    此致、

    大辅

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

    您好、大辅

    对于 HSR/PRP 卸载、链路速度是通过自动协商根据链路伙伴设置的吗?

    是的、假设所使用的以太网 PHY 支持自动协商、则使用自动协商设置链路速度。

    对于 HSR/PRP 卸载、是否可以强制将本地链接速度设置为 10Mbps 或 100Mbps(例如,使用 ethtool)?
    [quote userid=“102452" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1612288/am6442-speeds-supported-for-prp-and-hsr-using-psdk-linux/6217606]software-dl.ti.com/.../PRU_ICSSG_Ethernet.html
    # ethtool -s eth1 双工全速 100

    是的、可以通过自动协商强制设置链路速度以外的速度。 您可以使用指定的命令进行精确操作。

    -道林

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

    Daolin-san,

    感谢您的答复。

    我们的客户通过参考以下文档测试了 HSR/PRP 卸载。

    software-dl.ti.com/.../HSR_Offload.html

    software-dl.ti.com/.../PRP_Offload.html

    它们 通过使用自动协商以 1 Gbps 的 速率工作、或者通过强制固定链路速度以 100 Mbps 的速率工作。

    但是、当强制将其修复为 10 Mbps 时、它们不会运行、并且无法 ping 通。

    要以 100 Mbps 的速率强制修复:
    ethtool -s eth1 速度 100 双工全自动协商关闭
    ethtool -s eth2 速度 100 双工全自动协商关闭

    要以 10 Mbps 的速率强制修复:
    ethtool -s eth1 速度 10 双工全自动协商关闭
    ethtool -s eth2 速度 10 双工全自动协商关闭

    当在执行 HSR/PRP 卸载 shell 脚本之前作为普通以太网进行通信时、即使强制固定为 10Mbps 、它也会运行、并且 ping 也会成功。

    HSR/PRP 卸载是否支持 10Mbps?

    此致、

    大辅

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

    你好大辅、  

    [报价 userid=“102452" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1612288/am6442-speeds-supported-for-prp-and-hsr-using-psdk-linux/6221523 ]HSR/PRP 卸载是否支持 10Mbps?

    客户是否在 SDK 11.2 上进行测试? 客户是使用 RT-Linux SDK 还是常规 Linux SDK?

    虽然我还没有机会使用 SDK 11.2 进行测试、但在采用 HSR 环形架构并采用 3 个 AM64x EVM 的 SDK 11.1 设置中、使用相同的“ethtool -s ethX speed 100 duplex full AutoNeg off“命令将速度设置为 10Mbps、我看到 HSR 卸载可通过 ping 正常工作。  

    客户的测试拓扑是什么? (即 3 个 EVM 或 2 个 EVM?、HSR 或 PRP?)

    -道林

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

    Daolin-san,

    感谢您的答复。

    客户是否在 SDK 11.2 上进行了测试? 客户是使用 RT-Linux SDK 还是常规 Linux SDK?

    我在原始帖子中进行链接时、客户正在使用常规 Linux SDK 的最新版本 (v11.02.08.02)。

    AM64X-AM64X PROCESSOR-SDK-LINUX
    www.ti.com/.../PROCESSOR-SDK-LINUX AM64X-AM64X
    版本:11.02.08.02
    发布日期:2025 年 12 月 15 日

    客户的测试拓扑是什么? (即 3 个 EVM 或 2 个 EVM?、HSR 或 PRP?)

    客户直接连接两个 TMDS64EVM 电路板并测试 HSR 卸载和 PRP 卸载。

    此致、

    大辅

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

    您好、大辅  

    但是、当以 10 Mbps 的速率强制修复它时、它们不会运行、并且无法 ping 通。

    我在两个彼此连接的 AM64x EVM 之间对 SDK 11.2 运行了 HSR 卸载测试、并注意到当两条路径都连接时可以达到 ping。 当一次断开一条路径/电缆时、我确实看到了一些数据包丢失。 客户是否在测试期间断开电缆、或者仅在两条路径完全连接时测试 ping 是否正常工作?

    我发现了最新 SDK 11.2 的一些其他 HSR 问题、我已经创建了错误报告供团队研究。 同时、我建议客户继续在 SDK 11.1 上评估 HSR 和 PRP 卸载、因为 HSR/PRP 卸载功能已在 SDK 11.1 上进行了广泛测试。

    -道林

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

    Daolin-san,

    感谢您的答复。

    SDK 11.1 是否支持 PRP?

    我们的客户使用 SDK 11.1 测试了 HSR/PRP 卸载、但 PRP 功能无效。

    root@am64xx-EVM:~# sh prp_setup.sh prp_hw eth1 eth2 192.168.1.20
    IP=192.168.1.20
    IF=prp0
    MAC=70:ff:76:1f:3c:8e
    Slave-A=eth1
    SLAVE-b=eth2
    找不到设备“prp0"</s>“
    [93.167512] icssg-prueth icssg1-eth eth1:链路断开
    [93.194441] icssg-prueth icssg1-eth eth2:链路断开
    [93.202338] remoteproc remoteproc7:已停止远程处理器 3008a000.txpru
    [93.210562] remoteproc remoteproc14:已停止远程处理器 30084000.RTU
    [93.217540]远程处理器远程处理 13:已停止远程处理器 300b4000.PRU
    [93.224445] remoteproc remoteproc8:已停止远程处理器 3008c000.txpru
    [93.231451] Remoteproc remoteproc16:已停止远程处理器 30086000.RTU
    [93.238350] remoteproc remoteproc15:已停止远程处理器 300b8000.pru
    eth1 的可用卸载功能:
    HSR-TAG-ins-offload:关闭
    hsd-tag-rm-offload:关闭
    HSR-fwd-offload:关
    HSR-dup-offload:关闭
    实际变化:
    HSR-TAG-ins-offload:打开【未请求】
    HSR-dup-offload:打开
    为 eth1 启用卸载功能:
    HSR-TAG-ins-offload:打开
    hsd-tag-rm-offload:打开
    HSR-fwd-offload:打开
    HSR-dup-offload:打开
    eth2 的可用卸载功能:
    HSR-TAG-ins-offload:关闭
    hsd-tag-rm-offload:关闭
    HSR-fwd-offload:关
    HSR-dup-offload:关闭
    实际变化:
    HSR-TAG-ins-offload:打开【未请求】
    HSR-dup-offload:打开
    为 eth2 启用卸载功能:
    HSR-TAG-ins-offload:打开
    hsd-tag-rm-offload:打开
    HSR-fwd-offload:打开
    HSR-dup-offload:打开
    [94.486747] icssg-prueth icssg1-eth eth1:等待命令完成超时
    [94.503900] icssg-prueth icssg1-eth eth2:等待命令完成超时
    [94.510839] icssg-prueth icssg1-eth:无法重新启动固件、中止该过程
    [97.567489] prp0:从 A (eth1) 未启动;请将其启动以获得完全正常运行的 HSR 网络
    [97.576432] prp0:从属 B (eth2) 未启动;请将其启动以获得完全正常运行的 HSR 网络
    [97.608124] Remoteproc Remoteproc13:启动 300b4000.PRU
    [97.614307] remoteproc remoteproc13:ti-pruss/am64x-sr2-pru0-pruprp-fw.elf 的直接固件加载失败、出现错误–2
    [97.625379] remoteproc remoteproc13:request_firmware failed:–2
    [97.631523] icssg-prueth icssg1-eth:无法引导 PRU0:–2
    RTNETLINK 回答:没有此类文件或目录
    [97.654631] Remoteproc Remoteproc13:启动 300b4000.PRU
    [97.660903] remoteproc remoteproc13:ti-pruss/am64x-sr2-pru0-pruprp-fw.elf 的直接固件加载失败、出现错误–2
    [97.671844] remoteproc remoteproc13:request_firmware failed:–2
    [97.677947] icssg-prueth icssg1-eth:无法引导 PRU0:–2
    RTNETLINK 回答:没有此类文件或目录

    SDK 11.1 似乎不包含 SDK 11.2 中包含的 PRP 的 PRUSS 固件。

    am64x-sr2-pru0-pruprp-fw.elf
    am64x-sr2-pru1-pruprp-fw.elf
    am64x-sr2-rtu0-pruprp-fw.elf
    am64x-sr2-rtu1-pruprp-fw.elf
    am64x-sr2-txpru0-pruprp-fw.elf
    am64x-sr2-txpru1-pruprp-fw.elf

    e2e.ti.com/.../sdk11.1_5F00_ti_2D00_pruss_2D00_fw.txte2e.ti.com/.../sdk11.2_5F00_ti_2D00_pruss_2D00_fw.txt

    我检查了下面为 SDK 11.1 预编译映像中的固件文件。

    https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX AM64X/11.01.05.03
    tisdk-default-image-am64xx-evm-11.01.05.03.rootfs.wic.xz

    此致、

    大辅

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

    您好、大辅  

    我在两个相互连接的 AM64x EVM 之间对 SDK 11.2 运行了 HSR 卸载测试、并注意到当两条路径都连接时可以达到 ping。 每次断开一条路径/电缆时、我确实看到数据包丢失

    我想在这里更正我的发言。 我意识到、在测试中我没有为 ICSSG 配置 eth1、导致电缆断开导致数据包丢失。 我已根据 https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/latest/exports/docs/linux/SDK/PRU-ICSS/SDK-PRU_ICSSG Linux_Drivers 以太网.html#cpsw-PRU-以 太网选择中的规定启用 ICSSG dtbo 、从而纠正了这一问题、我在 Foundational_Components 11.2 中不再看到 ping 问题。 为混乱而道歉。  

    关于 SDK 11.2 上 10Mbps 的 ping 连接问题、客户是否已验证 AM64x EVM 上的 eth1 配置用于 ICSSG? 他们可以运行“ethtool -i eth1“进行仔细检查。

    SDK 11.1 似乎不包含 SDK 11.2 中包含的 PRP 的 PRUSS 固件。

    我的理解是、SDK 11.2 应可进行 PRP 卸载、但缺少的相应固件不一致。   到 SDK 11.1 发布时、git.ti.com/.../ 中的固件可能未打包到 SDK 11.1 中。 让我再次与我们的团队核实这一点。  

    客户可以直接将 https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/commit/?h=ti-linux-firmware&id=29d948b63a48ec4ff7883d2e246dfb7b6c8153aa 中的 PRP 固件添加 到/usr/lib/firmware/ti-pruss、并测试 PRP 卸载。  

    -道林

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

    尊敬的 Daolin-san:

    感谢您的答复。

    我还创建了另一个有关 HSR 和 PRP 的 gPTP 的主题。

    e2e.ti.com/.../am6442-gptp-support-using-psdk-linux

    顺便说一下、我尝试在 TMDS64EVM 上测试 HSR 和 PRP 卸载以及 gPTP、但我无法测试它们、因为我们自己的 TMDS64EVM 由于电源问题而损坏。

    此致、

    大辅

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

    你好大辅、  

    对延迟的回复表示歉意。  

    看起来 JC 能够在您创建的另一个线程中为您提供帮助。 正如 JC 所述、基于 HSR/PRP 的 PTP 是一项新功能、计划在下一个 SDK 中发布、目前 SDK 11.2 中不提供。

    我们目前支持 PTP 和 HSR/PRP  单独、 两者一起支持需要进行一些广泛的驱动程序、固件和 HSR 堆栈更改。 此外、使用的 PTP 协议栈/应用代码也应支持 HSR/PRP。 我们目前为 Linux SDK 给出的示例使用开源的 linuxptp 栈。 TI 没有 PTP 协议栈、因此我们由客户决定是否要使用 linuxptp 或其他 PTP 协议栈。 客户有责任确定他们使用的 PTP 协议栈是否支持 HSR/PRP。

    如果本主题中的原始问题有任何其他问题、请告诉我。

    -道林

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

    尊敬的 Daolin-san:

    感谢您的答复。

    我们的客户将等待下一个 SDK 12.0 的发布、并将其用于测试 HSR/PRP (IEC 62439-3)+ PTP (IEEE 1588/IEC 61588)。

    此致、

    大辅