差了大概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管的开通时间的差异比这个要大的多。不会影响应用。