主题中讨论的其他器件:TMS320F28069、
大家好、
我们需要定期生成固定数量的 PWM 周期。
要求:
我们需要在 ECAP1中断中启动 PWM 信号、并通过在每个周期溢出时向 PWM 寄存器写入数字周期数、并在传输结束时生成 DMA 中断(93个周期)、从而使用 DMA 对数字周期进行计数 在 DMA ISR 中、禁用 PWM 并在下一个 ECAP 中断时重复该操作。
实施:
PWM_Initialization
{
...
…
//强制为低
EPwm2Regs.AQCSFRC.bit.CSFA = 0x01;
EPwm2Regs.AQCSFRC.bit.CSFB = 0x01;
…
...}
eCAP1_ISR{
…
…
//强制被禁用
EPwm2Regs.AQCSFRC.bit.CSFA = 0x03;
EPwm2Regs.AQCSFRC.bit.CSFB = 0x03;
…
...}
DMA_INT //这在93个 PWM 周期
后得到处理{.....
…
//再次强制为低
EPwm2Regs.AQCSFRC.bit.CSFA = 0x01;
EPwm2Regs.AQCSFRC.bit.CSFB = 0x01;
....
}
我们正在观察 PWM 启动延迟和 PWM 信号停止延迟? 我在开始时已经发布了延迟的图片。
**在图中,PWM2和 PWM3被强制为低电平,PWM4未被强制为低电平,PWM2 -> PWM3 -> PWM4被同步。
请建议一种方法来消除开始和结束时的这2个周期延迟
谢谢、
Ajay



