TMS320F280049C: 关于GLDCTL2[OSHTLD]的状态确认与事件加载?

Part Number: TMS320F280049C


Hi TI团队:

在使用epwm的一次加载功能时,我注意到GLDCTL2[OSHTLD]的状态是手动写1开启单次锁定,当特定事件加载后自动清零;但是我无法读取到这个寄存器位的状态,即在下一次更新PWM值时,我无法确认它是否已经有事件触发并清零,如果已经加载并清零,那我可以正常更新EPWM的相关寄存器,如果还未加载清零,那我需要在下一周期更新相关寄存器;我读取它的状态时一直都为0;我一般设置单次加载为CNT_ZRO时产生相关事件;你是否有什么好办法可以帮我确认GLDCTL2[OSHTLD]的相关状态,万分感谢。

  • 您好,收到了您的案例,调查需要些时间,感您的耐心等待。

  • 您好,

    正确 — 在 GLDCTL2 中、OSHTLD 位将始终读为 0、因此您无法检查此寄存器以查看是否发生了 OSHT GLD。

    一种选择是使用 GLDCTL 寄存器、您可以在这里读取 GLDCNT 寄存器 — 该寄存器跟踪发生了多少个全局加载选通事件。 虽然它不会区分单次触发加载的状态、但它将指示所选事件已发生。 或者、您也可以检查全局加载的 PWM 变量的值

  • 你好,

    感谢你的回复,关于你说的第一种方案,我有一些疑问,在GLDCTL 寄存器中,可以读取GLDCNT 寄存器来查看发生了多少个全局加载事件;但我看到它是一个3bit的寄存器,它收到全局加载选通事件后会+1,那它在什么状态下清零?--是超上限清零,还是单次触发后清零;因为我没在数据手册中找到关于这个寄存器的更多说明。

  • 你好,

    我将于明天确认并更新。