TI中文支持网
TI专业的中文技术问题搜集分享网站

DSP28335 EPWM1/2/3不能同时触发信号的问题

差了大概13个ns 也就是一个SYSCLK/2的时间,我查PWM手册说同步时钟先进入EPWM1,在由EPWM1输入到EPWM2,再从EPWM2输入到EPWM3,这个现象怎么避免?

user3593196:

死区时间是一样的,红色线是CH1-CH2

差了大概13个ns 也就是一个SYSCLK/2的时间,我查PWM手册说同步时钟先进入EPWM1,在由EPWM1输入到EPWM2,再从EPWM2输入到EPWM3,这个现象怎么避免?

user3593196:

我的配置是

EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;

EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

差了大概13个ns 也就是一个SYSCLK/2的时间,我查PWM手册说同步时钟先进入EPWM1,在由EPWM1输入到EPWM2,再从EPWM2输入到EPWM3,这个现象怎么避免?

user3593196:

我通过调整EPWM2和EPWM3的相位寄存器使之超前一个时钟,现在基本做到了EPWM123的同时触发,不知道这种手法是否正确?

差了大概13个ns 也就是一个SYSCLK/2的时间,我查PWM手册说同步时钟先进入EPWM1,在由EPWM1输入到EPWM2,再从EPWM2输入到EPWM3,这个现象怎么避免?

user3593196:

我将GPIO32作为外部同步的输入,给一个触发信号,这样PWM1/2/3能够完全同步….

问题是为什么将epwm1作为基准的话,2和3总是同步不到1上呢,总是延迟一个时钟

差了大概13个ns 也就是一个SYSCLK/2的时间,我查PWM手册说同步时钟先进入EPWM1,在由EPWM1输入到EPWM2,再从EPWM2输入到EPWM3,这个现象怎么避免?

user3593196:

The delay from internal master module to slave modules is given by:– if ( TBCLK = SYSCLKOUT): 2 x SYSCLKOUT– if ( TBCLK != SYSCLKOUT):1 TBCLK

手册上这么说的意思是EPWM1是主模块,其他的EPWM1是通过菊花链连接到的EPWM1上的从模块,所以如果让EPWM1作为主的话,其他模块肯定会引入延时?不知道我理解的对不对,如果我理解正确的话,我想问下TI这么设计PWM的原因在哪里,同步时钟根本就没有体现出来!

差了大概13个ns 也就是一个SYSCLK/2的时间,我查PWM手册说同步时钟先进入EPWM1,在由EPWM1输入到EPWM2,再从EPWM2输入到EPWM3,这个现象怎么避免?

Victor Zheng:

回复 user3593196:

您好

你的理解是对的。对于60MHz的芯片一到两个时钟周期的延时最多就是33.3ns对于绝大多数的应用,你的MOS管的开通时间的差异比这个要大的多。不会影响应用。

赞(0)
未经允许不得转载:TI中文支持网 » DSP28335 EPWM1/2/3不能同时触发信号的问题
分享到: 更多 (0)