工具与软件:
您好!
关于 ePWM 模块、我有两个问题。
以下是我的配置:
ePWM1被设定为高电平有效互补。 我使用向上/向下双向计数模式。 PWM 模块与外部时钟同步。 当一个同步事件发生且 TBPHS=0时、TBCTR 被载入 TBPHS。
我对几乎所有寄存器使用影子模式、 当 TBCTR = 0时发生影子到活动加载。
问题1:
我需要进行以下确认:
当 SYNCIN 事件发生时、TBCTR 将等于 TBPHS 且 TBPHS 设置为0、因此 TBCTR = 0 =>是否会为我的寄存器引发影子到活动加载(我想确保是)? 我问这个问题是因为在我的案例中、计数器不是续流的。 导致 TBCTR = 0的是 SYNCIN 事件。
问题2:
在发生强制一次性跳闸软件事件(TZFRC.bit.OST = 1)时、我强制将 ePWM1A 和 ePWM1B 置为低电平。
我希望能够在开关周期开始时重新启用 PWM 模块。
问题是当我清除一次性跳闸软件事件时、PWM 模块在开关周期内随机导通、而我想在开关周期开始时开始(这意味着当 CTR = 0时)。
有什么想法要做这个吗?
我尝试过的另一件事,但我认为这不是最好的方法:我尝试使用 AQCSFRC 在阴影模式来实现这一点。 这样、我解决了问题、PWM 在开关周期开始时打开、但使用 AQCSFRC 寄存器时出现了另一个问题。 当我在高电平有效互补模式中配置该模块时、ePWM1A 按照我需要被强制为低电平、但 ePWM1B 被强制为高电平、位 CSFB 被忽略(而我也希望 ePWM1B 为低电平)。
此致、
Adrien