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

epwm的AQ模块指令执行完到IO口发出PWM为什么总有差不多一个PWM周期的延迟?

(*ePWM[ch1]).AQCSFRC.bit.CSFA = 0; /* Forcing disabledd on output A of EPWM1 */\
(*ePWM[ch1]).AQCTLA.bit.CAU = 2; /* Set high when CTR = CMPA on UP-count */\
(*ePWM[ch1]).AQCTLA.bit.CAD = 1; /* Set low when CTR = Zero */\

这些指令执行完到IO口发出PWM为什么总有差不多一个PWM周期的延迟?

Emma Wang:

请问您是通过什么方式测出IO口发出PWM与指令执行之间的延迟的?

PWM模块的计数器从0开始计时,然后到了上升阶段的CMPA开始动作置1,到了下降阶段的0置零,这样的话,会有小于半个周期的延迟。

(*ePWM[ch1]).AQCSFRC.bit.CSFA = 0; /* Forcing disabledd on output A of EPWM1 */\
(*ePWM[ch1]).AQCTLA.bit.CAU = 2; /* Set high when CTR = CMPA on UP-count */\
(*ePWM[ch1]).AQCTLA.bit.CAD = 1; /* Set low when CTR = Zero */\

这些指令执行完到IO口发出PWM为什么总有差不多一个PWM周期的延迟?

Hong Ji:

回复 Emma Wang:

是的,理论上应该是小于半个周期的延迟。我在PWM命令发出前在IO口输出端加了一个测试信号,输出的PWM可以直接在示波器测出,两个信号会有一个或一个半周期的差别

赞(0)
未经允许不得转载:TI中文支持网 » epwm的AQ模块指令执行完到IO口发出PWM为什么总有差不多一个PWM周期的延迟?
分享到: 更多 (0)