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.

[参考译文] TMS320F28379D:从 CLA 对索引脉冲进行计数

Guru**** 2559730 points
Other Parts Discussed in Thread: SYSCONFIG, TMS320F28377D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1275128/tms320f28379d-count-number-of-index-pulses-from-cla

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

您好!

是否有一种快速简便的方法可以对来自 CLA、来自编码器的索引脉冲进行计数。

现在我将轮询 CLA_QEP_FLAG_IEL_EVENT 任务中的 CLA_QEP_FLAG_IEL_EVENT 标志、并手动对索引脉冲进行计数。 但我认为这在高转速下是不可靠的。

if (fclVars[1].ptrQEP->QFLG.all & CLA_QEP_FLAG_IEL_EVENT)
{
    indexCount[1]++;
}

是否有更好的方法直接通过 QEP 模块实现此目的?

谢谢!

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

    你好、

    您计划使用多少个 eQEP 模块?

    使用 CLB 可以是捕获索引脉冲数量的一种可能的解决方案。

    此模块的配置:

    1.输入选择

    为了将索引脉冲路由到 CLB、您必须使用 Input-XBAR 和 CLB-XBAR。  

    2.配置 CLB

    设置 INPUT-XBAR 和 CLB-XBAR 后、您可以配置 CLB 实例并设置输入类型以使用全局多路复用器选项来选择 AUX SIG。 然后、您可以附加一个逻辑块以配置计数器0。 计数器0可通过将边界输入0和方向设置为1来启用。 这会将计数器设置为根据 BOUNDARY 输入上升沿进行计数。  将输入滤波器设置为上升沿检测。  

    这些配置都可以通过提供 GUI 选项的 SysConfig 轻松完成。

    此致!

    马瑞安

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

    您好、Ryan、我使用2个 QEP 模块来读取2个编码器。

    GPIO 已设置为索引引脚,所以它仍然可以提供给输入交叉开关吗?

    // GPIO13->EQEP1I->CHB_RES_NM
    GPIO_setMasterCore(13, GPIO_CORE_CPU1);
    GPIO_setPinConfig(GPIO_13_EQEP1I);
        
    // GPIO81->EQEP2I->CHA_RES_NM
    GPIO_setMasterCore(81, GPIO_CORE_CPU1);
    GPIO_setPinConfig(GPIO_81_EQEP2I);

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

    是的、您仍然可以使用输入 XBar 访问 GPIO 信号。

    此致!

    马瑞安

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

    谢谢 Ryan、我们未来计划使用 TMS320F28377D、产品说明书中没有 CLB。

     CLB 计数器是否有任何其他替代方法?  

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

    你好、

    不幸的是,没有另一种方式。  

    此致!

    马瑞安

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

    是否可以在同一个引脚上有一个 GPIO 中断、以便对边沿进行计数? 如果这是可能的,增加迟滞的可能性有多精确?

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

    你好、

    如果要准确计算边沿数、CLB 会很有用。 而不是使用 GPIO 中断来对边沿进行计数。 您是否可以考虑使用 eCAP 来捕获上升沿和下降沿、并在第二个事件后生成中断以添加到计数器变量?

    此致!

    马瑞安