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:ETH 1588 时间戳在发送端

Guru**** 2536780 points
Other Parts Discussed in Thread: AM6442

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1562556/am6442-eth-1588-time-stamp-in-send-side

器件型号:AM6442


工具/软件:

尊敬的专家:

客户有以下问题、请帮助检查:

 我们目前正在使用 am6442 的 csg1 网络端口的 1588 时间戳函数。 在 Linux SDK 9.0 中、Icssg 的相关驱动程序从 uboot 移植、并从 Linux 代码移植 IEP 驱动程序。

我们当前的操作系统参考 Linux 驱动程序中的上述代码、可以从网络接收的消息中获取正常的时间戳。

我们操作系统当前的网络数据传输过程是:发送数据-> DMA 传输完成中断->返回传输完成时间戳。 因此、要求发送的报文可在传输完成中断期间通过读取 DMA 描述符或其他外部模块来获取时间戳。 我们了解到、Cadence GMAC IP 内核可以从 DAM 描述符读取时间戳。

我们发现当前 Linux 驱动程序使用 tx_ts0 中断触发 tx_ts_work 来读取发送时间戳、这与我们当前的机制不兼容

您能否提供类似于 Cadence GMAC 的修改方法或示例代码、该 GMAC 通过发送 DMA 描述符来获取发送时间戳。 可以适当放宽精度。

BR、

Biao  

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

    您好 Biao、  

    我需要一些时间来咨询 ICSSG Linux 驱动程序开发人员。 使用 ICSSG 这一事实会使情况变得更加复杂、因为涉及 PRU_ICSSG 固件。 可能需要从固件检索时间戳。  

    如果您没有收到回复、请 Ping 此主题星期四。

    使用 ICSSG 以太网而不是 CPSW 以太网是否有特殊原因?

    -道林

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

    尊敬的 Biao:

    我们发现当前的 Linux 驱动程序使用 tx_ts0 中断触发 tx_ts_work 来读取发送时间戳、这与我们当前的机制不兼容

    通过 DMA 描述符(如 Cadence 的 GMAC)获取时间戳 无法使用 ICSS 宽带宽输入范围。
    以下是时间戳的工作方式:当主机通过 PKTDMA 描述符提交时间戳请求时,它包含一个用于稍后识别的 Cookie。
    PKTDMA 通过 PSIL 接口将数据包推送到 ICSS、PKTDMA 描述符已释放、现在 ICSS 使用其自己的数据包描述符(而非 DMA 描述符)。
    仅当 ICSS 实际将数据包从其端口队列发送到 MII 接口时、才会捕获 TX 时间戳 (TX_SOF)。
    此时、时间戳与原始 Cookie (ICSS 描述符包含从 PKTDMA 描述符复制的 Cookie) 关联、而现在的 ICSS 描述符通过 ICSS 硬件队列管理器返回到主机。 一旦主机使用此 ICSS 描述符来读取时间戳主机、就会将其释放。 之所以存在该设计、是因为数据包可能会在发送队列中等待(例如,当 Express 数据包优先时)、并且 TX_SOF 时间戳必须与实际的 MII 传输保持一致。 这就是 DMA 描述符独立于 ICSS 描述符的原因。
    推荐的方法:在提交数据包后轮询硬件队列、而不是使用中断(如果您的问题正在使用中断)。

    BR
    Jc.

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

    尊敬的专家:

    是否有“在提交数据包后轮询硬件队列“的参考代码示例

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

    尊敬的 Yuchuan:

    请参阅 AM64x RTOS SDK Icssg_pollTxts () api、它位于 source\networking\enet\core\core\config\per\icssg.c src 文件中

    BR
    Jc.