器件型号: AM2432
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
关于 ICSS_EMAC + HSR_PRP 模式的问题:
请勿在 AM64/AM243 上使用此表达式 — 此表达式已被弃用
此解决方案是否优于 ICSS_EMAC?
是的、它可以通过 DMA 集成等支持高达千兆位的速度和卓越的性能
同时使用 Enet CPSW 和 Enet ICSS 的建议策略是什么?
Teja Rowthu 能帮你解决这个问题
[quote userid=“643222“ url=“~/support/processors-group/processors/f/processors-forum/1632774/am2432-am243x-cpsw-to-hsr-network-forwarding---icss_emac-vs-enet-icss-implementation-questions 是否可以在 CPSW 和 ICSSG (PRU) 之间建立直接 DMA 路径而不进行 CPU 复制?直接 DMA 不是选项、但这可以重复使用数据包缓冲区来执行某种零复制实现
[quote userid=“643222“ url=“~/support/processors-group/processors/f/processors-forum/1632774/am2432-am243x-cpsw-to-hsr-network-forwarding---icss_emac-vs-enet-icss-implementation-questions 在任何配置(有或没有 R5 参与)中、从 CPSW 到 ICSSG 的直通转发是否可行?CPSW 无法切换到主机 CPU 接口。 因此,这是不可行的 IMO
尊敬的 Remi:
同时使用 Enet CPSW 和 Enet ICSS 的建议策略是什么?
我们可以有两个不同的 R5 内核、一个处理 CPSW、另一个处理 ICSSG。 我们有一个基于共享存储器的隧道驱动程序、可用于在内核之间转发数据、速度高达 200Mbps @ 100% CPU 负载。 这包括将完整的数据包复制到共享内存池中或从共享内存池中复制出。 这适用于 AM64x EVM、但也可启用以与 AM243x 配合使用。
您应用中 CPSW 和 ICSSG 之间的预期流量吞吐量是多少?
谢谢。此致、
Teja。
尊敬的 Teja:
感谢您的回答。
在前一个工程中、我使用了 lwipif_IC 在两个 R5 内核之间进行通信。
这是您推荐用于 CPSW <= ICSSG 通信的解决方案吗?或者您是否具有更优化的共享存储器机制? 在该工程中、我们在内核之间实现了 MDIO 共享方面存在一些限制 — 当在两个不同内核上同时使用 CPSW 和 ICSSG 时、是否有建议的方法来正确处理 MDIO?
我的主要目标是 在 CPSW(以太网入口)和 ICSSG(HSR 转发)之间实现超低延迟。
您能否提供 共享内存隧道解决方案的测量延迟?
此外、我正在考虑采用另一种架构:
是否可以:
您是否有关于此类最小 CPSW 数据路径使用的任何示例或指南?
我的用例不是以吞吐量为导向、而是对延迟至关重要、因此避免不必要的堆栈层和存储器副本至关重要。
谢谢。此致、
R é mi
尊敬的 Remi:
]这是您推荐用于 CPSW <=> ICSSG 通信的解决方案吗?还是您有更优化的共享存储器机制?
可以、但如果应用纯粹是转发数据包、我们可以对此进行优化、以减少读取/写入操作长度并改善总体延迟和开销。 您遇到的 MDIO 问题是否与 CPSW 和 ICSSG 共享其中一个端口有关? 如果是、我们可以配置 ICSSG0 而不是 ICSSG 1、以实现完全独立的 CPSW 和 ICSSG MDIO 链路。
[引述 userid=“643222“ url=“~/support/processors-group/processors/f/processors-forum/1632774/am2432-am243x-cpsw-to-hsr-network-forwarding---icss_emac-vs-enet-icss-implementation-questions/6305414遗憾的是、这目前无法实现、这也是推荐使用两个不同内核而不是单个内核的唯一主要原因。 即使数据包从 CPSW 直接转发到 ICSSG 也无法使用 DMA 完成、而 需要由 R5 完成。 如果工程时间线支持、我们可以跳过 lwip 栈、并在 CPSW 到 ICSS 的内核之间直接在第 2 层共享数据包。
有一个非常规的想法涉及 DMA 映射以使相同的 R5 同时接收 CPSW 和 ICSSG 流量、但这仅在纸上谈起、并且尚未经过测试。 这可能是我们可以使应用程序达到零副本的最接近值。 如果您想 考虑这些选项、请告诉我、以便我们进一步规划。
谢谢。此致、
Teja。
尊敬的 Teja:
感谢您的详细回答、这对您很有帮助。
如果是、我们可以配置 ICSSG0 而不是 ICSSG 1、以实现完全独立的 CPSW 和 ICSSG MDIO 链路。
我使用的是 AM24 EVM。 我必须 在 syscfg 中将 ICSSG 实例从 1 更改为 0 吗?
es、但如果应用纯粹是转发数据包、我们可以对其进行优化、以减少读取/写入操作长度并改善总延迟和开销。 您遇到的 MDIO 问题是否与 CPSW 和 ICSSG 共享其中一个端口有关?
在共享内存方法方面、我了解优化的可能性、但由于我的用例对延迟至关重要、而不是以吞吐量为导向、因此我尝试尽可能避免任何额外的存储器副本。
有一个涉及 DMA 映射的非常规想法、旨在使同一 R5 同时接收 CPSW 和 ICSSG 流量、但这只是纸上谈兵、未经测试。 这可能是我们可以使应用程序达到零副本的最接近值。 如果您想 考虑这些选项、请告诉我、以便我们可以进一步规划。
我绝对想进一步探索这个选项。 这看起来比双核解决方案更容易、并且与双核解决方案相比、延迟应该得到显著改善。
谢谢。此致、
R é mi
尊敬的 Teja:
感谢您的支持。
以下是我们应用的基本要求:
•CPSW 以太网帧→ICSSG 上的 HSR 帧、目标延迟为 17µs HSR± 4µs
•ICSSG→CPSW 以太网帧上的 HSR 帧、目标延迟为 17µs± 4µs
预期的链路速度为 100Mbps、这对于我们的用例已经足够。 欢迎使用更高的吞吐量、但不是强制性的。
该应用主要侧重于 CPSW 和 ICSSG 之间的快速 L2 转发、具有极少的处理能力。
但是、如果我们能够:
•选择性地处理 R5 上的特定数据包(通过 L2 滤波)
•同时尽可能快地转发其余部分
低延迟和确定性比吞吐量更重要。
谢谢。此致、
R é mi
尊敬的 Remi:
由于主机端口开关延迟高于该延迟、因此我们无法满足 CPSW 开关 17us +/–4us @ 100M 的要求。 因此、我们只能考虑 1G 链路速度。 我们计划使用第二个 R5 内核来控制 CPSW init 序列、并且根据设计要求、运行时操作可由两个运行的 R5 内核中的一个来处理。 让我们起草一个最终设计、与您进行讨论。
如果需要进一步考虑、请告知我们。 我们的一种方法是 对 ICSSG 使用专用的 Tx 和 Rx 通道、这意味着总体 QoS 不会高达 8 个级别。
谢谢。此致、
Teja。
尊敬的 Remi:
很高兴再次与您联系。
17us +/–4us @ 100m
这里的数据包大小是多少?
[引述 userid=“643222“ url=“~/support/processors-group/processors/f/processors-forum/1632774/am2432-am243x-cpsw-to-hsr-network-forwarding---icss_emac-vs-enet-icss-implementation-questions/6309334该应用主要侧重于 CPSW 和 ICSSG 之间的快速 L2 转发、具有极少的处理能力。
[/报价]您能否详细介绍一下“L2 转发和最小处理“的含义? ICSS port1->port-2 L2 HSR 转发方案中、数据包内容保持不变。 无论如何、目前无法在 ICSS -> CPSW 之间实现 L2 转发。
BR
Jc.
您好 Jayachadran、
很高兴再次与您联系。 [/报价]谢谢,我也一样:)
我简要介绍了全球系统:
实际上、以黄色显示的是我们使用 ENET LLD CPSW 和 ICSS-EMAC(采用 HSR_PRP)。
=> ICSS 为 100Mb
==>我们从 cpsw 到 icssg 端口 200µs 延迟:太多了。
此处的数据包大小是多少?延迟目标为 5 –10µs +帧传输时间。
根据我们的理解、要实现该目标、需要迁移到 HSR_PRP_1G(采用 ENET LLD 的 ICSSG)。
但是、这会引入一个关键限制:
- ENET LLD 无法同时用于单个内核上的 CPSW 和 ICSSG
- 这意味着使用两个具有内核间通信的 R5 内核来进行数据包传输
- 这个额外的步骤将增加延迟、这已经是我们的用例需要关注的问题
为了满足延迟要求、我们认为解决方案需要:
- CPSW 和 ICSSG 之间的优化数据路径
- 将 HSR 标签插入/移除转移到 PRU 上、而不是在 R5 上对其进行处理
希望这一信息澄清了我们努力达成的问题和目标、请告诉我。
谢谢。此致、
R é mi
[/quote]
尊敬的 Remi:
感谢您的解释。
[报价 userid=“643222“ url=“~/support/processors-group/processors/f/processors-forum/1632774/am2432-am243x-cpsw-to-hsr-network-forwarding---icss_emac-vs-enet-icss-implementation-questions/6313074 ]延迟目标为 5 –10µs +帧传输时间。延迟目标将不会完全一样? 因为、这取决于数据包大小、因为这不是真正的直通场景。
[引述 userid=“643222“ url=“~/support/processors-group/processors/f/processors-forum/1632774/am2432-am243x-cpsw-to-hsr-network-forwarding---icss_emac-vs-enet-icss-implementation-questions/6313074PRU ICSSG 支持 在 PRU ICSSG 中进行 HSR 卸载 — 标签插入/移除。
[引述 userid=“643222“ url=“~/support/processors-group/processors/f/processors-forum/1632774/am2432-am243x-cpsw-to-hsr-network-forwarding---icss_emac-vs-enet-icss-implementation-questions/6313074我会让 Teja 对此发表评论,或者他可能已经在研究架构建议。
BR
Jc.
尊敬的 Jayachandran 和 Teja:
我们的实际红框目标是将 CPSW 用于非 HSR 标记的数据包、将 ICSSG1 用于 HSR 标记的数据包:我们使用 AM24 EVM 允许这样的配置、但我们还有一个问题:如何将 ICSSG0 用于非 HSR 标记的数据包? 如果我们使用 icssg0 <=>1 作为红盒、我们可以改进数据路径并使用直通方式吗?
此致、
R é mi
尊敬的 Remi:
我们的实际红框目标是将 CPSW 用于非 HSR 标记的数据包、将 ICSSG1 用于 HSR 标记的数据包:我们使用的是 AM24 EVM 允许的这种配置、但我们还有一个问题:如何将 ICSSG0 用于非 HSR 标记的数据包? 如果我们将 icssg0 <=>1 用于红框、我们可以改进数据路径并使用直通功能吗?
是的、这是可以实现的、但需要自定义 PRU 固件来处理 ICSSG 实例之间的数据包转发、因为主机到 ICSSG 数据包接收(用于 TX 甚至 RX)通过 PSIL DMSS 接口进行。
BR
Jc.
尊敬的 Jayachandran 和 Teja:
是的、这是可行的、但需要自定义 PRU 固件来处理 ICSSG 实例之间的数据包转发、因为通过 PSIL DMSS 接口进行主机到 ICSSG 数据包接收(用于 TX 甚至 RX)。
好的、明白。 您是否有使用 ICSSG0 和 ICSSG1 的评估板?
有一个涉及 DMA 映射的非常规想法、旨在使同一 R5 同时接收 CPSW 和 ICSSG 流量、但这只是纸上谈兵、未经测试。 这可能是我们可以使应用程序达到零副本的最接近值。 如果您想 考虑这些选项、请告诉我、以便我们可以进一步规划。
请注意、您认为何时能够提供设计的初稿版本?
此致、
R é mi