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.

[参考译文] 66AK2E05:基于 PA EMAC 的以太网支持1Gb/s

Guru**** 2595805 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/581707/66ak2e05-road-to-1gb-s-on-pa-emac-based-ethernet

器件型号:66AK2E05

你好!!

因此、我一直使用 PA EMAC 示例作为在我的 PC 和 K2E 的 ARM 内核之间传输数据的基础。


我的问题很简单、当我尝试以高于200-300 Mb/s 的速率传输 UDP 数据包时、我会丢失大量数据包。

我知道问题不在数据包加速器中、而是在队列管理和/或中断处理中、因为我能够以更高的位速率看到离开 PA 的数据包。

我的系统前景如下所示

PA->Que 704 ->累加器->中断(只释放去饱和 等等,这里没什么大做的)

我已经使用了多个累加器配置(较大的页条目、 中断的时间延迟等)、但我总是会丢失数据包。

我的问题是

  1. 队列管理器是否足够快、只需一个队列即可实现1 Gb/s?
  2. 我如何检查离开 PA 后数据包丢失的来源?
  3. 如果单个队列的速度不够快、我可以使用多个累加器通道来创建一个交替加载和复位机制、该机制利用2个2通道2中断、即半个数据包在队列2中占一半?
  4. 没有使用 NDK 或 Linux、我还能以其他方式获得1Gb/s 吗?

以下是我的系统规格

K2e ARM 内核0

PDK 4.0.2

我的应用是裸机、但使用了90%的 PA EMAC 示例代码

发送并记录。 以更低的速率完美工作

原始 PA_EMAC 示例具有相同的问题

此致

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

    我已通知团队。 他们的反馈将在此处发布。

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

    当接收到的数据包小于~32-34时、接收到的数据包数为32 FDQ 时、数据包丢失率为0%

    对于48 Rx FDQ、当传入数据包小于~50个数据包时、数据包丢失率为0%

    我的累加器具有16个数据包的长度

    如果我发送更多数据包描述符、那么我将得到数据包丢失
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    实现高吞吐量的最佳方法是使用 Linux OS。 为了使用 RTOS、有一个针对 Keystone I 器件开发的 HUA 演示、此演示基于 NDK、在 Processor SDK RTOS 版本中已停产。 EMAC 驱动器下的 PA 示例旨在显示数据包 Tx/Rx、而不是用于高吞吐量。 我需要检查如何改进它或预期是什么。 您是否看到数据包在 Rx 方向(PC 到 K2E)或 Tx 下降?

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

    数据包在 Rx 端丢弃。更具体地说、我认为我无法足够快地释放 RX 空闲描述符队列
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗯、假设问题在自由描述符中、我错了。 问题是主机端口0!=端口1处的数据包如下所示。 那么、在如何解决此问题方面有什么帮助呢?

    块编号的统计数据:0

    秘书长的报告

        (笑声)

        发送了良好的帧              576.

        (笑声)

        八位位组大小为65到127 576的 Tx&Rx 总数

        …

        网络72576上所有八位位组 Tx 或 Rx 的总和

    秘书长的报告

    块编号的统计数据:1.

    秘书长的报告

        接收到良好的帧            800

        .

        八位位组大小为65到127 800的 Tx&Rx 总数

        …

        网络100800上所有八位位组 Tx 或 Rx 的总和

    秘书长的报告

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

    这是您的定制板还是 TI K2E EVM? 交换机是5端口 GB 交换机。 您能否使用更大的 UDP 封包大小(例如1500字节)来查看交换机中是否存在数据包丢失? 如果主机端口 Tx 小于 SGMII 端口 Rx 正常帧、您是否在主机端口中看到任何错误数据包?

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

    这是库存的 K2e EVM。 当我设置"rxFlowCfg.rx_error_handling 时、开始出现问题 = 1;"。 如果我将此值设置为0、则端口1和端口0上的值均为800、但这会在数据退出 PA 后导致高数据包丢失。所有其他值都不是0、因此省略
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正在等待您的更新!!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    等待!!