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:有关 controlSUITE eQEP 示例的查询

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/853639/ccs-query-about-controlsuite-eqep-example

Thread 中讨论的其他器件:controlSUITE

工具/软件:Code Composer Studio

您好!
是否有人知道如何在"controlSUITE \ device_support \ F2837xD \ V200 \ F2837xD_examples_CPU1 \ eQEP_pos_speed"示例中增加执行速度计算的频率?
谢谢你

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

    您好!

    是否要更频繁地调用速度计算函数?
    它似乎应该增加 prdTick()函数调用的频率。
    这由来自 ePWM 的中断生成。 您可以增加 PWM 模块的频率。

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

    您好! 感谢您的答复、我将对其进行修改。
    我希望更频繁地执行计算功能、因为它大约每200次中断执行一次速度计算。

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

    您好!

    更改 PWM 频率只会加快仿真 QEP 输入。 因为在本测试用例中、PWM 输入用于仿真 QEP 信号。

    //! 到 QEP 外设的 GPIO 引脚(模拟 QEP 传感器)。
    //! - GPIO20/eQEP1A <- GPIO0/ePWM1A (模拟 eQEP A 相信号)
    //! - GPIO21/eQEP1B <- GPIO1/ePWM1B (模拟 eQEP B 相信号)
    //! - GPIO23/eQEP1I <- GPIO4 (模拟 eQEP 索引信号)

    如果我正确理解您的需求- 为了使计算更加频繁、您需要更改单位计时器周期。

    EQep1Regs.QUPRD = 2000000;//频率为200MHz 时、频率为100Hz 的单位定时器
    // SYSCLKOUT

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

    您好!

    是的、我将 PWM 引脚放置在 eQEP 输入上。

    我修改了中的值:

    EQep1Regs.QUPRD = 200000;// 100Hz 至200MHz 的单位定时器// SYSCLKOUT

    也就是说、我将其乘以0.1、速度读数被修改为因数0.1、我认为这不是正确的、因为它修改了实际的"速度"读数。

    另一方面、我看不到"Index (索引)"重置我的原点。

    非常感谢您的回答、您正在为我提供帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    正如我之前所说、本示例中的 EPWM1用于仿真 QEP 输入。 ePWM 中断用于触发速度计算。

    PieVectTable.EPWM1_INT=&prdTick;

    该中断被配置为在每个 ePWM 周期生成。

    EPwm1Regs.ETSEL.All=0x0A;// PRD 上的中断
    EPwm1Regs.ETPS.All=1;

    如果希望在计数器0和 PRD 上生成中断、则可以更改 EPwm1Regs.ETSEL.All=0x0B;  
    如果您希望更频繁地进行计算、则可以使用不同的 PWM 模块(配置为更高的频率)以更快的速率触发中断。

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

    您好!

    您是否尝试过上述建议? 您能否解释一下您的观察结果、以及您的问题为何未能解决?

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

    我每20kHz 执行一次中断、它向我显示相同的速度值200个样本、即每200个中断更新一次该值。

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

    您好!
    为什么您会因为测量频率更高而获得不同的速度值? 如果要更改速度值、则必须更改 QEP 信号输入的频率。

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

    您好! 抱歉、我大约每50个样本更改一次速度、但它没有检测到速度、而是在200个样本中检测到速度。

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

    您好!

    您能否进一步调试并提出更具体的观察结果?
    QEP 计数是否不正确? 单元计时器是否未按照您的预期运行?
    您是否在示波器上监控了输入信号? 预期速度与实际速度是多少?
    尝试找出根本原因、这可能有助于我们识别和修复实现目标所需的任何软件。
    您最初的问题是能够更频繁地进行速度计算-这应该通过更频繁地调用函数来完成、正如我们在上面讨论的那样。 如果不发生这种情况或导致一些错误值、那么深入探究并查看错误的确切来源将会很有帮助。

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

    感谢您的帮助! 但我将放弃该项目。 此致。

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

    您好!

    我希望您能在稍后回到这个项目。 祝你好运。
    请继续并关闭此主题。 如果您需要任何帮助、请随时开始新的主题。

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

    此致