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.

[参考译文] TMS570LC4357:是否有启用/禁用多个 N2HET-PWM 输出的原子方法?

Guru**** 2426460 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1322483/tms570lc4357-is-there-an-atomic-way-to-enable-disable-multiple-n2het-pwm-outputs

器件型号:TMS570LC4357

我有一个新设计、既使用 EPWM 进行电机 PWM、也使用4个 N2HET 输出(通过对称 PWM 驱动高侧和低侧、采用4个引脚)。 这一切都可以正常工作、但我看到电源偶尔会崩溃、这意味着会发生击穿(高侧和低侧 FET 同时打开)。 我不确定、但我认为是发生在 PWM 禁用时、为了禁用4个 N2HET PWM 输出、我要更改4引脚 N2HET 指令中的每一个(N2HET 指令的控制寄存器中的 en_pin_action 位)、 因此、为了完全禁用4个 N2HET 输出需要花费很多 CPU 周期(读取控制寄存器并清除每个  en_pin_action 位)。

是否有禁用4个 N2HET PWM 输出的原子方法? 我正在考虑写入 hetREG1->Dir 寄存器来清除一次写入中的所有4个位(设置为输入)、我将对这次写入进行测试。 但我想看看你是否有更好的建议。

谢谢。

吉姆

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

    您好、Jim、

    您为什么不尝试关闭呢?

    --
    谢谢。此致、
    Jagadish。

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

    我对该寄存器中表示"不影响引脚状态"的句子感到关切。 CPU 正在与 N2HET 异步执行、因此我可以  在一个 FET 开启的情况下更改此寄存器并保持开启状态。 我需要将所有4个引脚设置为低电平或作为输入(因为它们被下拉)、并尝试一次将所有4个引脚设置为输入。

    谢谢。

    吉姆

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

    您好、Jim、

    我需要将所有4个引脚设置为低电平或作为输入(因为它们被下拉),并尝试一次将所有4个引脚设置为低电平。

    这在关闭的情况下是不可能的、如果我们确实关闭了、程序执行将在程序循环完成后停止、并且引脚状态在此处不受影响、则它们将在当前程序循环完成后继续保持各自的状态。 都可以打开或关闭。

    然而、在关闭 N2HET 之后、您可以将引脚状态一个又一个变为低电平吗? 这是个问题吗?

    --
    谢谢。此致、
    Jagadish。

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

    如果打开/关闭仅在周期结束时生效、那是个好消息。 我使用对称 PWM (相邻的 N2HET 引脚作为主引脚的异或门)、因此在每个周期结束时、这些引脚都是低电平。 谢谢。