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.

[参考译文] TMS320F280049:PWM 跳闸在死区模块之后生效?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/797179/tms320f280049-pwm-trip-taking-effect-after-the-dead-band-module

器件型号:TMS320F280049

各位专家、您好!

在 F280049的方框图中、跳闸区域位于 DB 模块的下游。 但是、当我用软件强制触发事件使 PWM3的 A 和 B 在死区配置下(在 红线标记信号连接)变为低电平时。 跳闸结果是 A 和 B 是互补的。 我想知道我是否有任何问题。 (请参阅随附的代码)

顺便说一下、您能帮我检查这两件事吗? 首先、如果我是以建议的方式进行软件访问。 其次、如果有一种方法可以在我的 PWM 配置中使 A 和 B 都跳闸为低电平。

谢谢

死区配置:

PWM 配置:

EALLOW;
CpuSysRegs.PCLKCR0.bit.TBCLKSYNC = 0;
EDIS;

EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;//向上计数
EPwm3Regs.TBPRD = PWM3_TIMER_MAX;EPwm3Regs.bit.PWM3LAQ=EPWCMRA.SET



= 0xW3Rq.EP_Rq.TCMS.P=EP_COM.W3Rq.Rq.TCMS.P=0_Rq.rg.r.r.Tb.TCM.T32.Rq.rq.rq.rq.rq.rq.rq.rk.rk.rk.rq.rq.rq.rq.rk.r
EPwm3Regs.AQCTLB.bit.CAU = AQ_SET;
EPwm3Regs.AQCTLB.bit.ZRO = AQ_CLEAR;

//死区
EPwm3Regs.DBCTL.bit.IN_MODE = DBA_ALL;
EPwm3Regs.DBCTL.bit.SEL = EPw3DBCTL.DB_ENABLE_DULL.DB_DULL.DB_DB_DB_DULL.DB_DB_DB_DB_DB_REF_DULL.DB_DULL.DB_DB_DB_DB_REF_DB_DULL.DB_DB_DB_REF_DB_DB_DB_REF_REF_REF_DB_DULL.DB_DB_DB_DB_REF_REF_




//
// TBCLK = SYSCLKOUT
//
EPwm3Regs.TBCTL.bit.HSPCLKDIV = 1;
EPwm3Regs.TBCTL.bit.CLKDIV = 0;

EPwm3TimerDirection = ePWM_TIMER_UP;

EALLOW;CSysRegs.TBCLKDIV = 0
;EPwm3TimerDirection = ePWM_TIMER_UP;EALCLKCRKCRKP.TBIN.TCMPUT0;SYCLKCRKC.TCMPUT0
EDIS; 

软件强制跳闸配置:

if (i = 1){
EPwm3Regs.AQSFRC.bit.ACTSFA = 1;//调用一次性软件强制 A 时的操作:清除
EPwm3Regs.AQSFRC.bit.ACTSFB = 1;
EPwm3Regs.AQSFRC.bit.OTSFA = 1;//启动单个软件强制事件
EPwm3Regs.AQSFRC.bit.OTSFB = 1;

EPwm3Regs.AQCSFRC.bit.CSFA = 1;//强制输出为低电平
EPwm3Regs.AQCSFRC.bit.CSFB = 1;//强制 B 输出为低
电平} 

谢尔登

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

    AQSFRC 寄存器位于动作限定符子模块本身的边界内。 因此、DB 配置仍将覆盖 AQSFRC 配置。

    要配置跳闸事件,您需要使用跳闸区域子模块(TZ*寄存器集)下的寄存器。 您可以将 TZFRC 配置为启动软件跳闸事件、并将 TZCTL/TZCTL2配置为强制输出为低电平。 有关详细信息,请参阅 TRM ePWM 一章中的跳闸区域子模块(第18.9节)。

    www.ti.com.cn/.../sprui33b.pdf

    谢谢、此致
    Pramod