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.

[参考译文] TMS570LS1224:ECAP:更高频率方波捕获限制

Guru**** 2539500 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1107916/tms570ls1224-ecap-higher-frequency-square-wave-capture-limitation

器件型号:TMS570LS1224
主题中讨论的其他器件:HALCOGEN

你好。

我已经通过 halcogen 配置了 eCAP1寄存器。 当我尝试馈送50%占空比和1kHz 频率的方波时、我看不到 ecapREG1.CAP1-CAP4上的任何更新。但当我以500Hz 的频率馈送输入时、我可以看到计时寄存器(cap1-cap4)上的更新。我尝试使用预分频器、它将最大更新为800 Hz。

问题 ECAP 上是否存在更高频率和占空比的限制、或者是否缺少任何配置?   

我的 eCAP1 halcogen 配置:

我正在尝试使用 TMS570手册中的以下配置。

任何指针都很有用。

此致、

区域

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

    您好、区域、

    要测量周期和占空比、您能否尝试此设置? 您的设置无法测量占空比。

    为什么在每次捕获后复位 eCAP1/2/3/4计数器? 所有 ECAP 计数器在每个上升沿之后被清除。

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

    您好 QJ、

    因此 、我已根据 pdf 中的示例重置了所有这些内容。

    我根据您的建议设置 Halcogen。 我仍然有同样的问题。 当我将 PWM 频率从函数发生器设置为1kHz 时、我的计时器寄存器(cap1-cap5)不会更新。 但它确实会更新到900Hz。  

    我要附加一个寄存器快照。  

    那么、问题是、我是否缺少一些配置?

    此致、

    区域

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="523913" URL"~μ C/support/microcontrollers/arm-based microcontrollers-group/arm-based microcontrollers/f/arm based-microcontrollers-forume/1107916/tms570ls1224-ECAP-uper-frequency-square-wave-captive-limite/4112194#4112194"]我的计时器寄存器(未更新[/Cap1)

    此设置中不使用 CAP4和 CAP5。 CAP1、CAP2和 CAP3应在边沿 EVENT1、边沿事件2和边沿事件3上更新。  

    ECAP 不提供周期和占空比。 您需要使用 CAP1 (上升沿)、CAP2 (下降沿)和 CAP3 (上升沿)中的值来计算它们。 您如何获得900Hz 的周期? 您的快照显示 CAP1/2/3具有相同的值。

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

    您的配置有问题。  请发布您的 HALCOGEN 文件(*。HCG 和*。DIL)。  

    请仔细检查您的 ECAP 设置:

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

    您好 Qj、

    所以我知道我不会在默认情况下得到期限和关税,所以我要通过以下方式计算:

    CAP_val3 =(float32) ecapGetCAP3 (ECAP);
    CAP_val2 =(float32) ecapGetCAP2 (ECAP);
    CAP_VAL1 =(float32) ecapGetCAP1 (ECAP);

    eCAPPERIOD = CAP_VAL3-CAP_VAL1;
    eCAPOnTime = CAP_VAL2 - CAP_VAL1;

    if (eCAPPeriod >= 1)

       FREQ = clkfreq/eCAPPeriod;

       占空比= eCAPOntime/eCAPperoid;

    希望上述代码有意义;

    我还连接了*。cfg 和*。DIL

    至于为什么寄存器不更新(我的计时器寄存器(cap1-cap5)不会更新):甚至我也怀疑为什么当我从函数发生器中将 PWM 频率切换到900hz 时寄存器中的更新停止。


    此致、
    区域

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

    请找到 halcogen 和 DIL 文件

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

    您好 Qj、

    我无法在此论坛上附加这些文件。您能否给我发送一个链接、我可以在其中上传配置和 DIL 文件

    区域

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="523913" URL"~/support/microcontrollers/arm-based microcontrollers-group/arm-based microcontrollers/f/arm-based microcontrollers-forume/1107916/tms570ls1224-ECAP-uper-frequency-square-captive-limite/4113736#4113736"]希望上述代码有意义/引用]

     ecapGetCAPx()的返回值为 unit32而不是 float32。

    [引用 userid="523913" URL"~μ C/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1107916/tms570ls1224-ECAP-uper-frequency-square-wave-captive-limite/4113742#4113742"]我无法在本论坛上附加此文件[引用/引用]。

    (+)[常见问题解答]如何将文件或链接附加到我的帖子? -站点支持论坛-站点支持- TI E2E 支持论坛