请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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 输出为低 电平}
谢尔登