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.

[参考译文] TMS320F28069:扩展 QPOSCNT 寄存器

Guru**** 2535360 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/668286/tms320f28069-extend-qposcnt-register

器件型号:TMS320F28069

我需要扩展 eQEP QPOSCNT 寄存器的范围。(从32位扩展到48位).递增和递减计数。

这样做的好解决方案是什么?

我只找到:位置计数器溢出中断标志和位置计数器下溢中断标志
我只需要一个非中断解决方案。

谢谢、

EV

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

    您是否只希望计数比计时器更多的脉冲? 您是否可以仅计算上升沿? QDECCTL.bit.XCR = 1. 这适用于上数或下数模式。

    您使用的是 eQEP 的哪种模式?

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

    Mark、

    应用:有一个主伺服驱动器和一个从伺服驱动器、它们之间通过正交编码信号进行通信。 仅在2小时内、我就跑完了。 因此、我必须将 QPOSCNT 扩展 到48或64位以解决此问题。 我不想使用 QDECCTL.bit.XCR = 1、因为这样会失去分辨率。

    谢谢、

    EV

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

    我想我现在理解了这一点。

    下溢和上溢中断将为您提供一个无限计数器大小、就像您在上溢/下溢事件上递增/递减一样。 如果从不复位计数器、理论上可以使用整个 RAM 块。

    一种想法可能是在方向计数模式下利用第二个 eQEP 模块、该模块根据方向信号递增或递减计数器。 您需要通过某种方式从主器件侧提供此信息、然后将其馈送到第二个 eQEP。 这只会为您提供额外的2位、因为它不会在 EQEPA 和 EQEPB 的每个边沿上递增、而是仅在 EQEPA 的上升边沿上递增。

    谢谢、
    标记