您好!
我的项目需要这个 MCU 16 ePWM 输出为负逻辑:高电平为 PWM 禁用;低电平为启用以驱动 MOSFET (电压电平 转换器导致这个问题、但只能通过 MCU 编程来解决)。 我想知道如何实现这一目标:
(1) 单元在上电复位后全部16个 PWM 处于高电平(或 HI)。
(2)在故障跳闸或软件强制停止后、将这些 PWM 设为高电平(不能使用 EPwm1Regs.AQCSFRC.ALL = 0x0A 等)
(3) 是否可以使用 CLB 来反向 PWM 输出?
非常感谢您的帮助。
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.
您好!
我的项目需要这个 MCU 16 ePWM 输出为负逻辑:高电平为 PWM 禁用;低电平为启用以驱动 MOSFET (电压电平 转换器导致这个问题、但只能通过 MCU 编程来解决)。 我想知道如何实现这一目标:
(1) 单元在上电复位后全部16个 PWM 处于高电平(或 HI)。
(2)在故障跳闸或软件强制停止后、将这些 PWM 设为高电平(不能使用 EPwm1Regs.AQCSFRC.ALL = 0x0A 等)
(3) 是否可以使用 CLB 来反向 PWM 输出?
非常感谢您的帮助。
你好、Nima、
我使用 DBCTL 对 PWM_A 和 B 对进行编程。 S0 = 1;S1 = 1;S2 = 1;S3 = S4 = S5 = S6 = S7 = 0。

正常运行(PWM_A 或 B 低电平-> MOSFET 导通)是可以的。
要停止 PWM (强制 PWM_A 或 B 为高电平)、 请设置 EPwm1Regs.AQCSFRC.bit.CSFA = 2;设置 EPwm1Regs.AQCSFRC.bit.CSFB = 2。
但是、它只能强制 PWM_A 为高电平、但 PWM_B 仍为低电平。 我想知道如何强制 PWM_A 和 B 都处于高电平。
谢谢
你好、Nima、
它应该起作用。 所以、我设置:(1) EPwm1Regs.TZSEL.bit.DCAEVT1 = TZ_ENABLE;(2) EPwm1Regs.TZCTL.bit.DCAEVT1 = TZ_FORCE_HI;然后让我们:.TZFRC.bit.DCAEVT1 = 1。 它显示 EPwm1Regs.TZFlG.bit.DCAEVT1为1。 但是、它仅 显示 PWM_A 为高电平。 PWM_B 拒绝变为高电平。
谢谢、