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.

[参考译文] ECAP 频率测量-TMS320F28379D

Guru**** 2582405 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/968444/ecap-frequency-measurement--tms320f28379d

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

工具/软件:Code Composer Studio

您好!

  使用 ECAP 引脚测量频率 , 通过使用 ECAP 引脚在 GPIO 0 (PWM 引脚)中针对各种频率(1k 至50kHz)生成的 PWM 信号,我可以找出在 PWM 引脚中生成的精确频率。

函数发生器具有相同的功能,生成 具有各种频率(1kz、10kHz、100kHz)的方波,我无法通过 ECAP 引脚获得正确的频率。

我的 ECAP 配置为:

       ECap1Regs.ECEINT.ALL = 0x0000;        //禁用所有捕捉中断*/     \
       ECap1Regs.ECCTL1.bit.prescale=1;                                                \
       ECap1Regs.ECCTL1.bit.FREE_SOFT=2;                                               \
       ECap1Regs.ECCLR.ALL = 0xFFFF;        // 清除所有 CAP 中断标志*/       \
       ECap1Regs.ECCTL1.bit.CAPLDEN = 0;    //禁用 CAP1-CAP4寄存器加载*/     \
       ECap1Regs.ECCTL2.bit.TSCTRSTOP = 0;  /*确保计数器被停止*/      \
       ECap1Regs.ECCTL2.bit.CONT_ONESHT = 0; /*持续*/                           \
       ECap1Regs.ECCTL1.bit.CAP1POL = 1;     /*下降沿*/                        \
       ECap1Regs.ECCTL1.bit.CTRRST1 = 1;     /*差动操作*/                \
       ECap1Regs.ECCTL2.bit.SYNCI_EN = 0;    //禁用同步输入*/                     \
       ECap1Regs.ECCTL2.bit.SYNCO_SEL = 3; /*直通*/                          \
       ECap1Regs.ECCTL1.bit.CAPLDEN = 1;    /*启用捕捉单元*/                 \
       ECap1Regs.ECEINT.BIT.CEVT1 = 1;                                                   \
       ECap1Regs.ECCTL2.bit.TSCTRSTOP = 1;  //开始计数器*/                        \
       ECap1Regs.ECCTL1.bit.CAPLDEN = 1;     //启用 CAP1-CAP4寄存器加载*/     \
       ECap1Regs.ECCTL2.bit.STOP_WOP=0;

      FREQ=((200000000)/ECap1Regs.CAP1)

    ECap1Regs.ECCLR.bit.CEVT1 = 1;

    ECap1Regs.ECCLR.bit.INT = 1;
   PieCtrlRegs.PIEACX.ALL = PIEACK_group4;

是否缺少任何配置来获得准确的值?

我们可以 通过 ECAP 引脚测量外部脉冲信号的精确值吗?

提前感谢

谢谢、此致、

Rani

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

    Rani、

    C2000ware SDK 提供了一个使用输入 X-Bar 的示例。 请参阅示例、如果您有任何疑问、请告诉我。

    C:/ti/c2000/C2000Ware_3_03_00_00/device_support/f2837xd/examples/cpu1/ecap_capture_pwm_xbar