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.

[参考译文] CCS/TMS320F2.8379万D:ePWM1和ePWM2之间的短切换

Guru**** 2559610 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/590299/ccs-tms320f28379d-phaseshift-between-epwm1-and-epwm2

部件号:TMS320F2.8379万D

工具/软件:Code Composer Studio

您好,

我叫Mauricio,目前我正在使用Delfino F2.8379万xD来生成驱动转换器所需的PWM信号。

我根据TI提供的一些示例进行了程序,现在我有4个PWM (PWM1A和PWM1B (相互补充,并带有死时红色和FED),PWM2A和PWM2B (也相互补充,带死时红色和FED))。

最后一步是使用PWM1和PWM2的相移通道。

为此,我定义了一个称为PHASESHift的常量,通过该常量,我可以选择所需的相位移。

我的问题是:要实时更改(就像我目前正在处理占空比和死机时间一样),我是否需要使用此Phaseshift的特定寄存器? 您可以在下面找到几行代码来了解系统。

#define PHASESHift         250 //两腿之间的相移->从0 (0º)到500 (180º)

....

   EPwm2Regs.TBPRD = EPWM2_TIMER_TBPRD;        //设置计时器周期801 TBCLK
   EPwm2Regs.TBCTR = PHASESHift;               //相移
   EPwm2Regs.TBPHS.bit.TBPHS = 0x0000;

我是否可以像处理占空比和停滞时间一样,使用方框"表达式"实时更改PHASESHIFT的值? 我需要将此值置于哪个寄存器才能实时更改?

非常感谢您的支持。

Mauricio

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

    PHASESHLIFT是 一个#define, 因此在运行时不存在。 它在构建时被替换为其值。 如果要在运行时对其进行修改,则可以创建全局变量来保存该值。 然后,您可以通过表达式视图调整全局变量的值。

    此致,
    John