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.

[参考译文] TMS570LS3137:如何在 PCNT 指令中复位周期计数的溢出

Guru**** 2482225 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/725555/tms570ls3137-how-to-reset-overflow-of-periodic-count-in-pcnt-instruction

器件型号:TMS570LS3137

大家好、

根据 PCNT 指令的文档(技术参考手册)、
-"当达到溢出计数(计数器值中的全部为1)时,PCNT 将停止计数,直到检测到下一个复位边沿为止。"

您能否向我们提供有关如何重置周期计数器的更多详细信息或可能的示例?  

我们可以看到、一旦周期计数器达到溢出条件、PCNT 指令将进一步停止计数。

我们非常感谢您的快速响应。

请找到以下用例场景:
我们使用来自引脚0和引脚1的 PCNT 指令对脉冲计数进行采样。
2、引脚0与信号源相连、引脚1未与任何信号源相连。
3.对于两个 PCNT 指令(一个针对引脚0、一个针对引脚1)、脉冲计数递增(在 PCNT 指令中)。
  注意:不确定在这种情况下、为什么引脚1的 PCNT 指令采样脉冲计数也会递增?
因此、对于 PCNT 指令、引脚1的采样脉冲达到所有 F、即使引脚0中存在有效信号、引脚0和1的脉冲计数也会为零。
  这一问题的预期行为和进一步发展方向是不是?

此致、
M.Sreenivasan。

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

    PCNT 计数器的复位边沿由它正在执行的测量类型定义。 例如:如果已将 PCNT 配置为测量脉宽、以便开始从上升沿测量到下一下降沿(RISE2FALL)、并且如果计数器在下降沿发生前溢出、则下一个上升沿将用作复位沿。

    有关用例的一些注释:
    我们使用来自引脚0和引脚1的 PCNT 指令对脉冲计数进行采样。

    >>您在引脚0和引脚1上使用 PCNT 进行哪些测量?

    2、引脚0与信号源相连、引脚1未与任何信号源相连。

    >>引脚1是悬空还是连接到高电平/低电平?

    3.对于两个 PCNT 指令(一个针对引脚0、一个针对引脚1)、脉冲计数递增(在 PCNT 指令中)。
    注意:不确定在这种情况下、为什么引脚1的 PCNT 指令采样脉冲计数也会递增?

    >>您正在对引脚0和引脚1进行什么测量? PCNT 的选择有:FALL2RISE、RISE2FALL、FALL2FALL 和 RISE2RISE。

    因此、对于 PCNT 指令、引脚1的采样脉冲达到所有 F、即使引脚0中存在有效信号、引脚0和1的脉冲计数也会为零。
    这一问题的预期行为和进一步发展方向是不是?

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

    我们正在为 RISE2RISE 进行测量。

    我们使用来自引脚0和引脚1的 PCNT 指令对脉冲计数进行采样。

    >>您在引脚0和引脚1上使用 PCNT 进行哪些测量?
    ===捕获脉冲计数,用于引脚1和0上的给定输入信号。
    2、引脚0与信号源相连、引脚1未与任何信号源相连。

    >>引脚1是悬空还是连接到高电平/低电平?
    =>引脚1未连接到任何输入信号。 因此、它具有默认配置。

    3.对于两个 PCNT 指令(一个针对引脚0、一个针对引脚1)、脉冲计数递增(在 PCNT 指令中)。
    注意:不确定在这种情况下、为什么引脚1的 PCNT 指令采样脉冲计数也会递增?

    >>您正在对引脚0和引脚1进行什么测量? PCNT 的选择有:FALL2RISE、RISE2FALL、FALL2FALL 和 RISE2RISE。
    =>我们正在使用 Rise2Rise。

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

    如果我们不为引脚1提供输入、仍然会执行 PCNT 指令、并且脉冲周期计数递增。 这就是我们注意到的行为。 那么、如果没有提供输入并且周期计数递增、那么如果没有提供输入、我们如何确保在引脚1上发生复位?
    由于、它会影响提供有效输入的引脚0的 PCNT 指令。

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

    您是否为通道0和通道1打开了 HR 共享? 这允许通道0上的输入同时"通过管道传递"到通道0和1的高分辨率计时器结构。 这就是在两个独立的相邻定时器通道上使用两个独立的 PCNT 指令来测量给定输入信号的占空比和周期的方法。 在本例中、引脚1可用于通用 I/O。

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

    我们不是在分享。 请参阅下面我们将使用它的说明。

    l00:PCNT{hr_lr=high、next = L01、type=RISe2RISE、pin=0};

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

    问题:我们是否有办法检测连接到任何 N2HET 引脚的信号?
    我们尝试这样做的一种方法是、在 PCNT 指令中设置控制标志、以便在 CPU 读取 PCNT 指令中的数据后、数据值将被清除、如果没有信号连接到该引脚(在 PCNT 指令中提到)、 数据值不会递增。
    但是、它有一些问题、如下所述:

    让我解释一下我们要测试的测试用例场景:
    l00:PCNT{hr_lr=high、control_flag=on、next =L01、type=RISe2RISE、pin=0};
    (笑声)
    L10:::PCNT{hr_lr=high、control_FLAG = on、next = L11、type=RISe2RISE、PIN=1};

    因此、如果我们在引脚0上提供输入信号、PCNT 控制字值中的周期计数将会变化、但在 L10指令中不会变化、因为引脚1没有输入信号。 因此、在这里、只要 L10被执行、PCNT 控制字中的周期计数就会连续递增。
    问题:为什么在 L10指令中、即使引脚1中没有给出信号、周期计数也应该递增。

    有时、在 L10指令中、PCNT 指令中的周期计数会达到全1、然后 L00中的 PCNT 指令会以位宽的方式运行、大多数情况下、我们在 L00指令中获得数据值0。

    我们将要求发出呼吁,讨论这一问题。 您可以向我们发送会议邀请吗?

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

    如果引脚1悬空、它可能会悬空、超过阈值、从而被视为一个低电平到高电平的转换、从而在 L10中触发 PCNT。 该计数器将使每个循环递增、直到它看到另一个上升沿(如您选择的 RISE2RISE)的"停止捕捉"事件。

    如果您不打算将引脚1用于有效输入(或只是作为解决此问题的实验)、您能否将引脚1接地?

    此致、
    Sunil