
上图为f2803xpwm.h、f2833xpwm.h两个头文件中的ePWM单元同步配置,配置是一致
但是有两个问题:
第一、ePWM1单元也配置为了SYNCOSEL = 0,即:

如28335 TRM第298页寄存器定义描述,SYNCOSEL设置为0,则将EPWMxSYNCO的源设置为EPWMxSYNCI,但是注意寄存器定义里描述00是“EPWMxSYNC”,既不是“EPWMxSYNCI”,也不是“EPWMxSYNCO”,首先请TI工程师确认i下,手册里的寄存器定义是不是写错了,对比其他同系列芯片手册,应该为“EPWMxSYNCI”。但是实际控制电机的时候,应该并不需要对ePWM1单元还要给一个外部同步信号,TI的各例程里我目前还没发现那个例程有这样的操作,所以作为master的ePWM1单元,EPWMxSYNCO的源是不是不应该选择为EPWMxSYNCI。
第二、两个代码里都将ePWM单元的PHASE EN使能了((*ePWM[ch1]).TBCTL.bit.PHSEN = 1;),其实作为master的ePWM1是不是应该不使能。
对于以上两个问题,28335数据手册的3.3.6 Controlling Dual 3-Phase Inverters for Motors (ACI and PMSM)章节中,有类似的应用,ePWM1作为master,ePWM2、ePWM3作为ePWM1的slave,287页代码如下:

我觉得这个配置应该是合理的,ePWM1作为master,不用使能phase en,而且其EPWMxSYNCO的条件应该配置为CTR为0,而不是以EPWMxSYNCI为源。
请大家看下f2803xpwm.h、f2833xpwm.h两个头文件的PWM_INIT_MACRO宏函数ePWM单元同步配置是不是有问题