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.

[参考译文] RM57L843:使用 eQEP 进行速度测量

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1386987/rm57l843-speed-measurement-using-eqep

器件型号:RM57L843

工具与软件:

您好!

我正在尝试使用 eQEP 模块进行速度测量。 我已经通读了 RM57参考手册、特别是图33-15和33-17。 我有以下问题。

1.什么是差分方程67和68。 等式67中所示。 在等式67中、我们用单元位置事件之间的脉冲数除以单元位置事件之间经历的时间。 而在等式68中、我们用单位计时器事件之间的位置计数器增量值进行除法。

2.它还介绍了如何使用捕捉模块进行低速测量。 低速、中速和高速的标准是什么?

3.单元计时器和捕捉计时器的作用是什么?

任何帮助都将非常感谢。

谢谢!

Ravi

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

    尊敬的 Ravi:

    1. 差分方程67和68是什么。 等式67中所示。 在等式67中、我们用单元位置事件之间的脉冲数除以单元位置事件之间经历的时间。 而在公式68中、我们将位置计数器的增量值除以单位计时器事件。[/QUOT]

    是的、您的理解是正确的。

    采棉头位置:

    这里的位置是固定的、因此这意味着输入速度波形的变化是通过使用时间段的变化来确定的。 此处的时间周期只不过是 CAPCLK 周期的数量。

    单位计时器:

    此处该周期是固定的、因此这意味着输入速度的变化是通过位置计数的变化确定的。 此处、位置计数不会发生任何变化、只是一个单位计时器之间的 QPOSCNT 值会发生变化。

    2. 它还讨论了如何使用捕获模块进行低速测量。 低速、中速和高速的标准是什么?

    首先、我想解释为什么低频需要使用单元位置功能、高频需要使用单元计时器:

    1.低频单元位置:

    如果单元位置现在固定、我的输入速度取决于该位置之间的 CAPCLK 数量、对吧? 因此、为了获得更多的捕获时钟(CAPCLK)、我的位置应该很大、否则、如果我获得更少的时钟、则可能会出现更多错误。

    例如、假设我捕获的频率接近 CAPCLK、那么这意味着我将获取捕获时钟计数仅为-1、这意味着在这里可能会出现另一个 CAPCLK 的误差、我的意思是即使我们施加了几乎两个时钟脉冲、即使我们也可能仅会累计为1个时钟脉冲。

    2.高频单位时间:

    如果单位时间是固定的、那么现在速度将取决于位置数(QPOSCNT)、如果您在上述 pic 中进行了验证、仅当我具有高频输入波形时、才会在单位时间周期之间获得更多的 QPOSCNT。 如果我有低频正交输入波形、意味着我会得到较低的位置值、从而导致更大的误差、就像我们在上面针对单元位置讨论的那样。

    因此、这些测量不会有任何精确的范围。 也许对于某些频率、这两种方法都可以很好。 因此他们没有给出任何频率范围。

    我的建议是、如果您以 kHz 量级(时间、以 ms 为单位)测量您的输入、那么最好使用单位位置、如果您的输入频率以 MHz 为单位(时间、以 us 为单位)、那么最好使用单位时间方法。

    3. 单元计时器和捕捉计时器的作用是什么?[/QUOT]

    抱歉我没有得到正确的问题、希望上面的解释能澄清这个问题。 如果以上解释不能解决问题、请详细说明此问题。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    感谢您的解释。 我想我现在对该模块有了更好的了解。 我有以下跟进问题。

    1.捕获定时器和捕获周期可以配置为在以下条件下锁存。

    a. CPU 读取 QPOSCNT 寄存器
    b. 装置超时事件

    因此、根据我的理解、假设我们每次单元计时器生成中断时、都将其配置为单元超时事件模式、位置计数器(QPOSLAT)、捕获计时器(QCTMRLAT)和捕获周期(QCPRDLAT)。 在单位超时事件 ISR 中、我们将使用低速公式(即)计算速度值 (单元位置)/(QCPRDLAT 值) 或者对于高速测量、我们会使用( QPOSLAT -(上一单位时间中断期间的 QPOSLAT 值)/(QUALPRD) . 我的理解是否正确?  

    2.在计算中我们在哪里使用 QCTMRLAT 值?

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

    尊敬的 Ravi:

    因此、根据我的理解、假设我们每次单元计时器生成中断时、都将其配置为单元超时事件模式、位置计数器(QPOSLAT)、捕获计时器(QCTMRLAT)和捕获周期(QCPRDLAT)。 在单位超时事件 ISR 中、我们将使用低速公式(即)计算速度值 (单元位置)/(QCPRDLAT 值) 或者对于高速测量、我们会使用( QPOSLAT -(上一单位时间中断期间的 QPOSLAT 值)/(QUALPRD) . 我的理解是否正确?  
    2. 在哪里计算 QCTMRLAT 值?[/QUOT]

    你的理解和你的公式对我是完全正确的。

    而无需使用  QCTMRLAT 进行值计算、QCPRDLAT 和 QCTMRLAT  寄存器仅在使用单位位置方法时有用。 但在这里,我认为没有必要。

    最近、在下面的线程中、我们使用了单位位置方法来计算速度、如果您愿意、还可以查看该示例。

    (+) TMS570LC4357:正交脉冲发生器-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    如何读取方向信息? 我看到内部有一个 QDIR 信号、但我看不到可以访问该值的任何寄存器。

    Ravi

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

    尊敬的 Ravi:

    "对不起,我不是这个意思。"

    QEPSTS 寄存器中的第5位将提供方向。

    即使您看到我在我上次评论中提供的示例项目也是如此。

    我们使用了相同的位来确定方向。

    ——
    谢谢、此致、
    Jagadish。