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.

[参考译文] MSPM0G1518:如何为两个计时器比较计时器配置同一计时器的两个通道?

Guru**** 2535750 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1565078/mspm0g1518-how-to-configure-two-channels-of-the-same-timer-for-two-timer-compare-timers

器件型号:MSPM0G1518
主题:SysConfig 中讨论的其他器件

工具/软件:

我需要配置两个计时器比较计时器来测量电机转速计数。 我需要使用 TIMA1 的通道 0 和 1 来检测这两个脉冲信号。 但我无法在 syscfg 工具中为两个计时器比较选择相同的计时器。 它报告“资源冲突“错误。 这是 TI syscfg 工具的限制吗? 是否有任何方法可以使其正常工作? 谢谢!

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

    比较(边沿计数)模式使用外部触发器来“勾选“计数器、即所谓的前进条件 (ACOND)[Ref TRM (SLAU846C) 表 27-6]。 可以从任何通道触发 ACOND、但只能使用一个源。 (我想这是资源冲突;SysConfig 让我无法解决这个问题。)

    捕获模式允许每个通道有一个触发器、但您必须自行计算。 (对于低频信号,计时器捕获通常优于边沿计数。)  

    QEI/霍尔模式基本上会将多个输入信号分成单个计数触发器[请参阅 TRM 第 27.2.3.1.3 节]。 这仅在 TIMG 中可用、特别是器件中的 TIMG8/9。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    比较(边沿计数)模式使用外部触发器来“勾选“计数器、即所谓的前进条件 (ACOND)[Ref TRM (SLAU846C) 表 27-6]。 可以从任何通道触发 ACOND、但只能使用一个源。 (我想这是资源冲突;SysConfig 让我无法解决这个问题。)

    是的、CCx 输入触发计时器的计数器要计数、一个计时器只有一个计数器、因此不能使用单个计数器来对外部两个边沿进行计数。

    捕获模式允许每个通道使用一个触发器、但您必须自己进行计数。 (对于低频信号,计时器捕获通常优于边沿计数。) 

    在通用实现中、我们使用失效边沿将计数器复位为零/加载并启动计数器、然后在下一个上升沿捕获到 CC0 的计数器值、在下一个下降沿捕获到 CC1、然后得到周期和占空比。

    在某些特殊应用中、您仍然可以使用 PWM1 失效边沿-> CC1 和 PWM1 上升 沿-> CC0、PWM 2 失效边沿-> CC1 和 PWM 2 上升沿-> CC0、在这种方法中、您需要手动控制计时器计数器重新加载/溢出并计算每个 PWM 的周期和占空比。

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

    SYSCFG 提供了一些常见的比较/捕获方法、使用 MSPM0 的计时器硬件功能。

    例如、如果需要检测两个脉冲宽度、则如果仅使用 syscfg、则需要两个计时器。

    但是、您也可以使用一个计时器(具有 4CC)来捕获两个 PWM 的脉冲宽度、但需要添加一些额外的软件功能。

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

    感谢您的答复! I 拥有的脉冲频率约为 8.3kHz(如果仅计数上升沿或下降沿)。 它不是低电平、我们不希望这么多的中断会占用大量 CPU 时间。 但我有另一个计时器、所以现在可以使用比较模式。