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.

[参考译文] TMS570LC4357-CPU:要读取 EP 输入的值、信号必须到达2个 CPU 引脚。

Guru**** 2448780 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1338423/tms570lc4357-ep-to-read-the-value-of-an-ecap-input-must-the-signal-go-to-2-cpu-pins

器件型号:EP

我正在尝试使用3个 ECAP 输入来测量电机霍尔反馈时序、但在每次霍尔边沿转换时、我都需要读取输入的逻辑值。 为了使用 ECAP、似乎我需要将引脚多路复用器分配为 ECAP (不是 N2HET)、但我没有在 ECAP 寄存器中看到读取 ECAP 输入上存在的逻辑值的能力。 此 ECAP 输入是否也需要路由到第二个 GPIO/N2HET 输入端以读取逻辑值?

谢谢。

吉姆

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

    您好、Jim、

    是的、回答正确。 引脚只能执行一项功能、这意味着如果我们对某个引脚启用 eCAP 功能、则将在相应的引脚上禁用其他功能。

    此 ECAP 输入是否也需要路由到第二个 GPIO/N2HET 输入以读取逻辑值?

    是的、这是一种实现方法。

    然而,我想建议你再一个方法,我从来没有测试过,但它应该工作. 优点是这种方法不需要任何额外的引脚、但缺点是它不能用于高频。

    1.首先禁用预分频器、因为这将更改波形。

    因此、要获得 eCAP 模块的原始波形、我们应该禁用预分频器。

    2.现在按如下所示配置捕获极性

    CAP1-上升

    CAP2-下降

    CAP3-提升

    CAP4-下降

    3。现在启用全部四个捕捉的捕捉中断

    这意味着、我们将在输入的第一个上升沿(低到高事务)获得 CAP1中断、在输入的第一个下降沿(高到低事务)获得 CAP2中断、在第二个上升沿(低到高事务)获得 CAP3中断    输入信号、并在输入的第二个下降沿(高电平到低电平事务)发生 CAP4中断。 该序列每次都会继续。

    4.现在只需假设有一个 Input_Value 标志来指示输入状态。

    现在我要做的是、 每当我收到 CAP1或 CAP3中断时、我都会在中断处理程序中将 "CAP"设置为1、因为 Input_Value 或 CAP3中断是一个上升沿中断、并且输入值会从低电平转移到高电平、这意味着我的输入波形现在处于逻辑高电平。 相比之下、每当我收到 CAP2或 CAP4中断时、我都会在中断处理程序中将"CAP2"复位为0、因为 Input_Value 或 CAP4中断是下降沿中断、并且输入值会从高电平变为低电平、这意味着我的输入波形现在处于低电平。

    现在、我将在代码中使用此 Input_Value、并根据需要执行必要操作。

    --
    谢谢。此致、
    Jagdish。