This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
ePWM模块的SYNCOUT信号可以由CMPB CMPC 和CMPD的相等事件触发。
但是规格书中并未提及相等事件,比如CTR = CMPB发生时,CTR应该是增计数还是减计数。
如果不规定CTR的方向,那么CTR处于up-down模式情况下,一个周期内是不是会触发两次SYNCOUT信号?
同步信号可以选择是在上升计数到相等事件或者下降计数到相等事件时产生;
这一条可以通过哪个寄存器配置来实现呢?
手册中给出的寄存器仅使能同步来源,并未规定CTR方向。
struct EPWMSYNCOUTEN_BITS { // bits description
Uint16 SWEN:1; // 0 EPWMxSYNCO Software Force Enable
Uint16 ZEROEN:1; // 1 EPWMxSYNCO Zero Count Event Enable
Uint16 CMPBEN:1; // 2 EPWMxSYNCO Compare B Event Enable
Uint16 CMPCEN:1; // 3 EPWMxSYNCO Compare C Event Enable
Uint16 CMPDEN:1; // 4 EPWMxSYNCO Compare D Event Enable
Uint16 DCAEVT1EN:1; // 5 EPWMxSYNCO Digital Compare A Event 1 Sync Enable
Uint16 DCBEVT1EN:1; // 6 EPWMxSYNCO Digital Compare B Event 1 Sync Enable
Uint16 rsvd1:1; // 7 Reserved
Uint16 rsvd2:8; // 15:8 Reserved
};
不好意思之前看岔了。用于ePWM间移相的同步信号不区分计数方向,所以如果在上下计数模式中使用比较值产生同步信号,确实会在一个上下周期中产生两个同步信号。
作为补充:
ePWM输出到其它外设的同步信号可以在CMPC以及CMPD处区分计数方向产生(其实这两个比较点就是专门用来触发或同步其它外设事件的),通过这个寄存器配置:
13.17.2.21 HRPCTL Register (Offset = 2Dh) [Reset = 0h](spruix1a_TMS320F280013x Real-Time Microcontrollers Technical Reference Manual (Rev. A) P1390)