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.

[参考译文] CCS/TMS320F28388D:ECAP 模块的时间戳

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/873656/ccs-tms320f28388d-time-stamp-of-ecap-module

器件型号:TMS320F28388D
主题中讨论的其他器件:C2000WARE

工具/软件:Code Composer Studio

大家好、

我尝试根据 C2000ware 调试"ecap_ex2_capture_pwm.c"的演示程序。 但我发现在 EVENT1/2/3/4上捕获的时间戳是不同的。 调试信息如下所示:

   ECAP_setEventPolarity (ECAP1_base、ECAP_EVENT_1、ECAP_EVNT_FALLING_EDGE);
   ECAP_setEventPolarity (ECAP1_base、ECAP_EVENT_2、ECAP_EVNT_RISTING _EDGE);
   ECAP_setEventPolarity (ECAP1_base、ECAP_EVENT_3、ECAP_EVNT_FALLING_EDGE);
   ECAP_setEventPolarity (ECAP1_base、ECAP_EVENT_4、ECAP_EVNT_RISTING _EDGE);

   cap1Count = ECAP_getEventTimeStamp (ECAP1_base、ECAP_EVENT_1);
   cap2Count = ECAP_getEventTimeStamp (ECAP1_base、ECAP_EVENT_2);
   cap3Count = ECAP_getEventTimeStamp (ECAP1_base、ECAP_EVENT_3);
   cap4Count = ECAP_getEventTimeStamp (ECAP1_base、ECAP_EVENT_4);

基于上述代码、我认为 cap1Count shoud 具有与 cap2Count、cap3Count 和 cap4Count 相同的时间戳值。

但 cap1Count 有时比其他捕获计数器多4个、或比其他计数器少4个。(cap2Count/cap3Count/cap4Count)。

我不n‘t 发生了什么。 请帮我解决。

谢谢!

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

    您好!

    Event1、Event2、Event3和 Event4上的时间戳捕获应不同、即 cap1Count、 cap2Count、cap3Count 和 cap4Count 都应具有不同的值。 我不确定为什么您看到的 cap1Count、cap2Count 和 cap3Count 值相同。

    您是否修改了 C2000Ware 示例? 当您按原样运行示例时、您是否会看到不同的值或相同的值?

    此致、

    Nirav

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

    您好、Lei、

    您看到的并非意外。 您将注意到、原始示例没有"cap1Count"变量。 这是因为在示例中、ECAP 配置为增量捕捉和单次触发模式。 ECAP 在每个事件后重置计数器,但当它捕获 Event4时,它也会停止计数,直到它重新启用。 由于 ECAP 在 Event4之后停止计数,Event1没有良好的参考点,因此从“cap1Count”读取的任何内容都没有太大意义。


    如果不清楚,请告诉我们。

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

    非常感谢!

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

    您好 Frank,í a

    对于一个 ECAP 模块、有四个事件、也称为 EVENT_1/EVENT_2/EVENT_3/EVENT_4。 如果我只想使用其中的两个、例如 EVENT_1和 EVENT_2、如何配置它?  我发现 、如果仅配置了 EVENT_1和 EVENT_2、EVENT_3和 EVENT_4也会生效。

    谢谢。

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

    您好!

    这里有什么用例? 您是在单次触发模式还是连续模式下使用 ECAP?  

    您可以在单次触发模式下停止计数器、或使用 ECCTL2.STOP_Wrap 寄存器在连续模式下对计数器进行换行。

    此致、

    Nirav

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

    要扩展 Nirav 的响应:是的、ECAP 最多可以捕获4个事件。 您不必使用全部4个事件、但必须从事件1开始使用它们。 例如、如果您仅需要2个事件、则需要配置和使用 EVENT1和事件2。 例如、您不能使用事件3和事件4并跳过 EVENT1和事件2。

    如果不清楚、请告知我们。

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