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.

[参考译文] PROCESSOR-SDK-AM437X:EtherCAT 从站3缓冲模式

Guru**** 2549910 points
Other Parts Discussed in Thread: AM4379

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/614906/processor-sdk-am437x-ethercat-slave-3-buffer-mode

器件型号:PROCESSOR-SDK-AM437X
主题中讨论的其他器件:AM4379

您好!

我一直在处理器 SDK RTOS (PROCESSOR_SDK_RTOS_AM437X_3_03_00_04)中为 AM4379 IDK 板(PDK_AM437X_1_0_6)处理 EtherCAT (PRU-ICSS-ETHERCAT_Slave_01.00.03.01)。

ESC 在缓冲模式(3个缓冲区)下与同步管理器2 (RxPDO)和同步管理器3 (TxPDO)一起运行、在1个邮箱模式(1个缓冲区)下与同步管理器0和同步管理器1一起运行。 ESC 配置为在 SM 同步模式(中断模式)下运行。

在分析同步管理器3 (TxPDO 同步管理器)的3个缓冲区时、我可以观察到、在每次接收到 RxPDO 并写入 TxPDO 时、TxPDO 缓冲区都会递增、指向写入数据的3个缓冲区组的下一个缓冲区。

我想知道缓冲区地址何时递增以指向下一个缓冲区、是否有任何递增条件?

由于 ESC 是作为固件实现的、因此在 EtherCAT 从站堆栈级别是否可以控制3个缓冲器的递增。 是否有任何基于 ESC 寄存器的寄存器可以控制缓冲区的递增?

谢谢、此致
Kirthi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Biser、

    感谢您的回答

    来自 RTOS 团队的任何更新?

    谢谢、此致

    Kirthi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉耽误你的时间。 我已升级您的查询。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kirthi、请查看我们对您的问题和意见的答复:

    问题1:我想知道缓冲区地址何时递增以指向下一个缓冲区,是否有任何递增条件?

    A1:根据3种缓冲模式的 Beckhoff 规范(硬件数据表第1部分-> 8.1缓冲模式)、缓冲地址递增。 对于 ET1100、3缓冲模式在堆栈侧也不可见、通过直接访问 SM 地址来完成访问。  但是、由于 我们在 PRU 固件中实现了它、因此无法完全 采用与 ET1100相同的方法。 为了从堆栈应用程序中获取正确的缓冲区、必须由提供的 API 进行处理数据访问、以确保从正确的缓冲区中读取数据。

    Q2:由于 ESC 是作为固件实现的、因此在 EtherCAT 从站堆栈级别是否对3个缓冲器的递增进行了任何控制。 是否有任何基于 ESC 寄存器的寄存器可以控制缓冲区的递增?

    A2:缓冲器切换时、从堆栈级别没有控制权、因为它完全由固件控制。 此外、没有用于控制3个缓冲器的 ESC 寄存器。

    此外、您能否告诉我们您的用例(应用)、或者您所面临的确切问题是什么? 通过这种方式、我们可以更好地帮助您...

    谢谢、

    Paula