Bootstrap

F280049C_EPWM_同步问题(EPWM4与Master之间的同步分析及解决)

问题:F280049C的EPWM4与EPWM1、2、3始终不能同步

解决思路:

F280039C 的时基计数器同步原理图:

F280049C 的时基计数器同步原理图:

39C和49C的同步配置的比较:        

        49C和39C的时基计数器同步原理图并不一致,这从根本上决定了这两个芯片对于EPWM信号同步的处理方式不一样。对于C2000Ware5.04最新的软件包,39C和49C的EPWM底层库并不完全相同,寄存器配置也不完全一致。对于同步配置寄存器,39C对于同步信号输入源的选择在EPWM.h这个底层文件中也进行了封装。

        39C芯片通过下面的代码,可以配置EPWM4的同步输入源

F280039C-EPWM.h 中定义
EPWM_enableSyncOutPulseSource(DAB_PRIM_LEG1_PWM_BASE,EPWM_SYNC_OUT_PULSE_ON_CNTR_ZERO);  
//设置同步信号的输出源  
EPWM_setSyncInPulseSource(DAB_SEC_LEG2_PWM_BASE ,EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM1);
//设置同步信号的输入源

 49C的EPWM 4 的同步问题解决:

        49C的同步信号根据原理图,可以看出EPWM1 2 3为一组,EPWM4 5 6为一组,EPWM1的同步信号的来源为EXTSYNCIN1。EPWM4如果要和EPWM123同步,需要配置SYNCSELECT寄存器,就可以实现EPWM4的同步。

EPWM1/2/3的同步:

EPWM4的同步:

        注意:这里的配置同步信号的输入输出配置的底层库为 sysctl.h ,如果需要EPWM其他信号同步,需要 SysCtl_setSyncInputConfig 的函数输入项选择即可实现。

2025/01/07 16:17:44 -Erick 
 

;