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.

[参考译文] EtherCAT-AM243X:清除 MCU-PLUS-SDK 同步管理器事件挂起标志("AL 事件请求(0x0220)"寄存器中)

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1492372/mcu-plus-sdk-am243x-clear-ethercat-sync-manager-event-pending-flag-s-in-al-event-request-0x0220-register

器件型号:AM243X - MCU-PLUS-SDK

工具/软件:

您好:

目前、我们正在开发一个具有6个同步管理器的 EtherCAT 从站。 SM0和 SM1用于邮箱、SM2和 SM3用于 PDO、SM4和 SM5用于 SPDO (安全 PDO)。

我们的目标是将过程数据分成两个帧。 在帧接收时调用 PDI_ISR ()、根据"AL 事件请求(0x0220)"寄存器位[10:13]的内容、我们决定是否调用 PDO IN-/输出处理+ PDO 应用程序(对于 SM2和 SM3、位[10:11] )、或者应调用 SPDO IN /输出处理+ SPDO 应用程序(对于 SM4和 SM5、位[12:13])。

每个帧接收都会导致调用 pdi_isr (),因此对于两个连续的帧,我们会得到两个 pdi_isr ()调用。 这是我们的问题:在第一个 pdi_isr ()调用 SM2、SM3和 SM5事件的位被设置,一切都很好。 在第二个调用中、设置 SM4的位以及 SM2和 SM5的位。 这会使我们的应用程序执行 SPDO 输出映射和 SPDO 应用程序两次。 第一个调用和第二个调用中设置的位会因帧到达的时间而异。 是否有办法复位挂起的中断位?

此致

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

    尊敬的 Kevin:

    请问您使用哪个 SDK 版本进行 EtherCAT 开发?

    在第二个调用中设置 SM4的位以及 SM2和 SM5的位
    • 好的、您所说的是、在第二个帧中、只应设置与 SM4相对应的位。  是否要清除其余 SM 中断状态位?
    Unknown 说:
    第一个和第二个调用中设置的位因帧到达的时间而异。 是否有办法复位挂起的中断位?
    • 让我检查一下实现情况、看看是否有任何问题。

    此致、
    Aaron

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

    您好 Aaron、

    非常感谢您的答复。

    是否可以知道您使用哪个 SDK 版本进行 EtherCAT 开发?

    适用于 AM243x 的工业通信 SDK [9.2.0.08]

    好的、您说的是、在第二个帧中、只应设置与 SM4相对应的位。 剩余 SM 中断状态位将被清除?

    是的、这是我的期望。

    此致、

    Kevin

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

    尊敬的 Kevin:

    是的、这是我的期望。
    • 好的。 我明白。 我会检查一下、然后返回给您。

    此致、
    Aaron

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

    您好 Aaron、

    非常感谢!

    此致、

    Kevin

    好的。 我明白。 我将查看此内容、然后返回给您。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的耐心。

    此致、
    Aaron

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

    您好 Aaron、

    我可以要求您提供有关此主题的更新信息吗?

    此致、

    Kevin

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

    嗨、Kevin、

    很抱歉遇到了另一个任务。 我将通过我们为8SM 提供的一个示例对此进行检查、并按今天的 EOD 更新您(最长明天的上半年)。

    此致、
    Aaron

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

    嗨、Kevin、

    为了提供更新、我有一个示例、它使用6 SM 进行 PDO 通信、如果我使用 LRW 或 LRD+LWR 帧进行 PDO 通信、我会看到 ESC Reg.0x0220的位10和位11正在设置中。 我必须进一步检查此项、并进行正确的配置、以匹配您的测试场景。

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

    您好 Aaron、

    感谢您的更新!

    此致、

    Kevin

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

    感谢您的耐心 Kevin。 由于我将离开办公室几天、请预计下周结束时会有更新。

    此致、
    Aaron

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

    如果您的同事在此期间查看一下、是否有可能? 我们想在下周开始测试、现在变得越来越紧迫。

    此致、
    Kevin

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

    让我在内部进行检查。

    此致、
    Aaron

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

    您好、

    是否有任何更新?

    此致、

    Kevin

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

    尊敬的 Kevin:

    很抱歉耽误你的时间。 目前、该团队正在忙于 AM243x/AM64x 工业通信 SDK 的发布活动。 我将在应用程序中对此进行进一步检查、并检查固件是否相同、并在下周初提供更新。  

    此致、
    Aaron

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

    您好 Aaron、

    我仍在等待您的更新、您是否可以查看此主题、我们真的希望尽快解决此问题。

    此致、
    Kevin

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

    尊敬的 Kevin:

    对延迟深表歉意。 在我用于重现场景的应用程序中、如前所述、即使所有定义的 SMS 都有 PDO 传输、我也只看到位10和位11被设置并重置:(在我的应用程序中捕获定义的 SMS)

    我正在检查我这边是否有任何未使用 SM4到 SM7的 PDO 映射不匹配。

    同时、要确认您的情况之一、您能否 通过监控 SM 条目的相应中断位来确认是否为第二次调用 pdi_isr ()设置了与 SM2和 SM5对应的读/写中断:

    在本例中、应为寄存器0x0815.bit0、 0x0815.bit1和0x082D.bit0、0x082D.bit1。   

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

    您好 Aaron、

    我已按照您的建议检查了寄存器内容。
    在第一种情况下,只有1个 PDI_ISR ()被调用,以下值包含在寄存器中:

    寄存器 数据值
    0x220 0x0C00
    0x815 0x01
    0x81D 0x02
    0x825 0x00
    0x82D 0x00

    但在具有两个连续 PDI_ISR 的第二种情况下、内容如下:

    第1个 PDI_ISR

    寄存器 数据值
    0x220 0x0C00
    0x815 0x01
    0x81D 0x02
    0x825 0x00
    0x82D 0x00

    第2个 PDI_ISR

    寄存器 数据值
    0x220 0x3800
    0x815 0x00
    0x81D 0x02
    0x825 0x01
    0x82D 0x02

    PDI #1和 PDI #2之间的时间偏移大致为20µs (如果某种程度上相关)  

    此致、
    Kevin

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

    感谢 Kevin 的详细信息。

    很抱歉回复和状态更新延迟。  我将在我这边修复8SM 实施的设置、并对此进行进一步检查。

    此致、
    Aaron