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.

[参考译文] TM4C1290NCZAD:PWM 模式下的计时器输出不同步

Guru**** 2524460 points
Other Parts Discussed in Thread: TM4C1290NCZAD

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1560816/tm4c1290nczad-outputs-of-a-timer-in-pwm-mode-are-not-synchronized

器件型号:TM4C1290NCZAD


工具/软件:

您好、

我已将 TM4C1290NCZAD 的 Timer1 配置为一个拆分对、其中 TIMER A 和 TIMER B 均设置为 PWM。 其中一个在 ILR 中加载了一个 60000 的周期、而另一个加载了 30000、因此系数正好是两个。 占空比设置为 50%、但实际上问题仍然存在。 我 同时启用两个计时器。 查看示波器上的输出时、我会看到它们发生漂移。 如果我将定时器 B 的时间设置为 29999、它开始以大约相同的速度朝相反方向漂移。 如果两个计时器的周期相同、则没有问题。

同一计时器的 PWM 输出未同步的原因是什么、是否有权变措施?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

      您可以使用 TimerSynchroize() API 来同步两个计时器。  

    13.3.5 同步 GP 计时器块
    GPTM0 块中的 GPTM 同步器控制 (GPTMSYNC) 寄存器可用于
    同步所选计时器以同时开始计数。 设置 GPTMSYNC 中的位
    寄存器使相关计时器执行超时事件的操作。 不是中断
    计时器同步时生成。 如果在连接模式下使用计时器、则只能使用
    计时器 A 的位必须在 GPTMSYNC 寄存器中设置。
    注意:所有计时器必须使用相同的时钟源才能使该功能正常工作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    不幸的是、即使在调用 TimerSynchronize (TIMER0_BASE、TIMER_1A_SYNC | TIMER_1B_SYNC) 后、也没有差异。 原因不是输出是异相的,如果我正确理解,这将被 TimerSynchronize() 纠正,而是输出的相位漂移。 我会尝试附加视频。

    e2e.ti.com/.../oscilloscope.mp4

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

     您能给我发送您的代码吗?