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.

[参考译文] TMS320F28377D:在不同事件发生时在 ePWM 上设置跳闸区域 CBC 操作

Guru**** 2539500 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/610618/tms320f28377d-set-trip-zone-cbc-action-on-epwm-on-different-event

器件型号:TMS320F28377D

大家好、

在我的应用中、EPWM1A 和 EPWM1B 使用互补配置。 我还监控一个模拟输入信号。 一旦高于阈值上限、强制 EPWM1A 为低电平并强制 EPWM1B 为高电平;当它低于阈值下限时、强制 EPWM1A 为高电平并强制 EPWM1B 为低电平。 两个 EPWM 应在 CBC 模式下工作。

现在、我可以使用数字比较子模块为我提供 DCAEVT2和 DCBEVT2 (我只能使用 EVT2、因为只有 EVT2可以与 CBC 配合使用)。 DCAEVT2可被配置为触发区 CBC 源并且触发区操作可被设定为"强制 ePWM 为低电平"或者"强制 ePWM 为高电平"。 我可以对 DCBEVT2执行同样的操作。

这种方法的唯一问题是、我无法在不同事件上设置 ePWM 跳闸区域。

例如、当超过上限阈值时、我可以设置 DCAEVT2、当超过上限阈值时、我可以设置 DCABEVT2。 然后配置 TZA =强制 ePWM 为低电平、并配置 TSB =强制 ePWM 为高电平。 这样、我只需要完成一半的工作。

有人能帮我解决这个问题吗? (此外、TZCTL2在我的情况下不起作用、因为 ePWM 在递增和递减计数模式下工作)。

谢谢!

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

    PWM 的输出是否仅根据模拟输入变化? 或者、您是否使用 CMPA/CMPB 事件来设置 PWM、并希望根据模拟事件覆盖这些设置?

    借助直流/ TZ 模块、我们可以在上下模拟事件上完成一个事件、但困难的是、您希望 PWM 通道在每个事件上处于不同的状态。 如果您希望通道 A 和通道 B 在上下事件上处于相同状态、我们可以使用直流/ TZ 子模块实现这一点。

    如果您真的不需要 CBC 事件、而只需要 PWM 通道的输出进行更改、我们可能能够通过 AQ 子模块中的 T1/T2事件来实现这一点。 查看 AQTSRCSEL 寄存器、看看这是否适合您的应用。

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

    首先、我的 ePWM 由 CMPA 和 CMPB 事件设置、我希望根据模拟事件覆盖这些设置。

    我认为这可能是一种解决方案(通过不同事件同时保留 CBC 功能和 TZ)。 请看一下。

    在直流模块中、执行以下设置:
    DCAH 高电平有效:模拟输入超过上限
    DCAL 高电平有效: 模拟输入超出下限
    DCBH 高电平有效:模拟输入超过下限
    DCBL 高电平有效: 模拟输入超出上限

    在 TZDCSEL 中、执行以下设置:
    DCAEVT1:DCAH =高电平、DCAL =无关
    DCAEVT2:DCAL =高电平、DCAH =无关
    DCBEVT1:DCBH =高电平、DCBL =无关
    DCBEVT2:DCBL =高电平、DCBH =无关

    在 TZCTL 中、执行以下设置:
    DCAEVT1:强制1A 输出为低电平
    DCAEVT2:强制1A 输出为高电平
    DCBEVT1:强制1B 输出为低电平
    DCBEVT2:强制1B 输出为高电平

    在 TZSEL 中、执行以下设置:
    DCAEVT2: CBC 源
    DCBEVT2: CBC 源

    在 TZCTL 中、禁用 TZA 和 TXB 强制(强制 EPWM1A 和1B 注意)

    谢谢你