大家好!
我正在设计一种方案、希望 epwm1 通过 EXTSYNCIN1同步到外部脉冲。 EXTSYNCIN1的源 实际上是频率锁定到 SYSCLK、我知道它的周期是多少、因此我只需要一个同步事件来对齐 epwm1的时基。 从那时起、事情将通过死算保持锁定状态。
我的计划是设置 epwm1 使其能够自由运行、但 EXTSYNCIN1最初会通过 INPUTXBAR5连接到未绑定的 GPIO、以防止 SYNCI 发生。 然后、当我想同步时、我可以执行以下操作
但是在读取 TRM 时、我注意到了 TBCTL2中的 OSHTSYNC 和 OSHTSYNCMODE 位。 TBCTL2表似乎是提及这些位的唯一位置、但它们听起来是实现我所需内容的更好方法(无需循环轮询 TBSTS.SYNCI)。
我只能在 E2E 上找到关于这些位的另外几个问题。 该线程 提示"单触发同步输入将立即发出。 如果已启用。" 这不是我需要的。 但对我来说、这一点不太合理... 它与 TBCTL 中的 SWFSYNC 有何不同?
另一个线程 似乎建议 OSHTSYNC 按照我的要求执行它。 但该主题与 F28002x 器件有关。 F28002x 的 TRM 对该函数有更详细的描述、但存在许多其他差异、包括 F2837x TRM 中未提到的整个寄存器。 《 C2000实时控制 MCU 外设参考指南》中的表3-30指出这两种器件都具有4类 EPWM、但也指出它们之间存在一些差异...
如有任何帮助,将不胜感激。
此致、
迈克