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.

[参考译文] TMS320F28069:如何在 CLA 中实现计数器来测量时间间隔?

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1219464/tms320f28069-how-to-implement-a-counter-in-cla-to-measure-a-time-interval

器件型号:TMS320F28069

我有一个在不同时间实例中频繁调用的函数(来自 eCAP 中断)、并且我确实在该函数中设置了 CPU Timer0、以测量每次调用之间经过的时间。 (下面附加了部分代码)现在我将把我的 C28x 代码传输到 CLA、并且由于 CLA 无法访问 CPU Timer0寄存器、很难使用计时器计数器实现相同的函数。 有人能建议一种在 CLA 中实现该计数器的方法吗?

void exFunction (void)

停止时间0 ();
COUNTER_VALUE =(CpuTimer0Regs.PRD.All - CpuTimer0Regs.TIM.all);
Start_Timer0 ();

...

...

}

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

    您好!

    如果您有备用 ePWM 实例、您可以考虑使用它吗?

    您可以 在 EPWM 模块中读取时基计数器值

    此致、

    Veena

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

    大家好、我尝试了 ePWM 模块时基计数器、但它没有为已知频率提供稳定的计数器值、就像 CPU Timer0一样。 计数器值在与正确的计数器值之间的10个值范围内频繁变化。 您能告诉我如何设置计数器  、在这里、我可以停止计数器、读取计数器值以获取经历的时间、然后从0重新启动计数器吗?

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

    您能告诉我如何设置计数器以实现准确的读数和读取时间间隔吗?

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

    您好!

    您可以使用 TBCLKSYNC 位来启动和停止 PWM 计数器。 在将 TBCLKSYNC 位重新设置为1之前、即在再次启动到 PWM 模块的时钟之前、您必须将计数器复位为零。

    谢谢。

    Aditya.