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.

[参考译文] AM2434:EPWM 与 IEP (SDFM、Endat) 同步偶尔不起作用

Guru**** 2524370 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1562877/am2434-epwm-sync-to-iep-sdfm-endat-sporadically-not-working

器件型号:AM2434
主题:SysConfig 中讨论的其他器件

工具/软件:

大家好:

在过去的几天里、我一直在调试一个我想分享的棘手且零星的问题、希望如果其他人遇到同样的问题、它可以节省一些时间。

我的设置:

  • EPWM0–2 用于电机 PWM
  • 在 ICSSG0 上运行的 SDFM 和 EnDat
  • 由 IEP0 比较事件触发的周期性采样
  • IEP0 旨在与 EPWM0 同步、因此我通过 CMP1 禁用了 IEP0 的周期性复位

问题: 启动后、SDFM 和 EnDat 采样运行良好或根本无法正常运行。 我发现在非工作情况下、尽管 EPWM 和 IEP 的所有配置寄存器都与工作情况相同、但 IEP0 绝不会被 EPWM 同步输出事件复位。

有趣的是、我可以通过在 EPWM0 上手动触发软件同步来使其再次正常工作。

根本原因: EPWM 在 250MHz 下运行 、而 IEP0 设置为 200MHz 的 SysConfig 默认值 。 我怀疑 IEP0 未正确锁存或同步 EPWM 同步输出信号、导致由于频率不匹配而每隔第 5 个同步事件就会丢失。

因此、根据启动期间同步输出事件是否恰好落入该“盲点“、同步可能会失败。

解决方案: 将 IEP0 频率增加到 ≥EPWM 频率 。 这可确保 IEP0 能够可靠地检测同步输出事件。

理想情况下、该条件应由 SysConfig 强制执行或由 SDFM 驱动程序进行验证。

此致、
Stefan

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

    您好 Stefan、非常感谢您的调试信息。 我将在内部分享您的调查结果、以查看是否有任何其他评论和/或如何解决这些问题。

    来确认您使用的是哪个 Motor Control SDK 版本?

    再次感谢

    Paula

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

    大家好 Paula、我使用的是电机控制 SDK  09.02.00.12。

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

    谢谢!

    Paula