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.

[参考译文] CC2340R5:LMT01的脉冲计数器

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1518051/cc2340r5-pulse-counter-for-lmt01

器件型号:CC2340R5
主题中讨论的其他器件:LMT01

工具/软件:

我在 CC2640R2上为 LMT01使用了脉冲计数器、现在想在 CC2340R5上为 LMT01使用脉冲计数器、但无法找到合适的 API。

CC2340R5是否支持脉冲计数器来集成 LMT01?

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

    您好、Sam、

    我相信、在设置您的计时器以依赖外部事件后:


    您可以使用以下 API: https://dev.ti.com/tirex/explore/content/simplelink_lowpower_f3_sdk_9_10_00_83/docs/drivers/doxygen/html/_l_g_p_timer_l_p_f3_8h.html#a5eaa994c40e4b8ed2946c607157f92dc

    此致、

    Arthur

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

    尊敬的 Arthur:

    是否有代码片段或参考示例?

    我在 CC2640R2等文档中找不到边沿脉冲计数模式。

    例如

    dev.ti.com/.../_l_g_p_timer_l_p_f3_8h.html

    我应该使用哪种模式?

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

    您好、Sam、

    您将使用  LGPTimerLPF3_CH_PULSE_WIDTH_measure 通道操作和 LGPTimerLPF3_CTL_MODE_UP_ONCE  或 LGPTimerLPF3_CTL_MODE_UP_PER  作为 LGPTimerLPF3_START ()的函数参数。  很遗憾、TI 未提供此特性的开箱即用示例、您可以参考这 两个相关的 E2E 主题。  根据工程要求、您还可以通过 GPIO 中断引脚实现所需的功能。

    此致、
    Ryan

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

    您好、Ryan、

    我没有点使用 LGPTimerLPF3_CH_PULSE_WIDTH_measure 来计算脉冲数。

    似乎会在脉冲边沿中断 CPU 以通过2个边沿之间的周期测量脉冲宽度或周期。

    对于脉冲计数、GPIO ISR 中的递增计数没有什么不同。

    但是、LMT01脉冲频率为80KHz、这超过了 GPIO ISR 功能。

    这是 CC2640R2中默认提供的一项简单功能、但在 CC2340中找不到。

    我认为 LGPTimerLPF3_CH_PULSE_WIDTH_measure 与此用例无关。

    是否有任何帮助?

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

    您是对的、很抱歉您有这么大的困惑:CC13XX/CC26XX 具有具有特定边沿计数模式的 GPT 硬件外设、而 CC23XX LGPT 硬件外设提供"在捕获时设置"或"脉宽测量"连续捕获模式。

    但是 LMT01脉冲频率为80KHz、超过了 GPIO ISR 功能。

    你是怎么弄出来的?  CC2340R5主时钟为48 MHz、 应为对脉冲进行计数留出足够的处理空间。  对于此器件、UART RX 位拆裂实现已成功以115200波特运行、因此它应该 能够处理88kHz。

    此致、
    Ryan

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

    您好、Ryan、

    您是否说 FreeRTOS 中的 GPIO 中断处理程序可以处理88kHz 频率?

    在哪里可以找到有关 GPIO 处理程序可以处理的最大频率的文档?

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

    我运行了一个测试、 向 CC2340R5发送一个200kHz 脉冲、并在 FreeRTOS 环境中使用 GPIO ISR 准确地每秒测量一次脉冲数。  当然、在此期间 MCU 相当加载、但 应能够以较慢的频率并选择何时测量 LMT01 (即在不需要测量时禁用 GPIO)、从而在您的应用中实现这一点。

    此致、
    Ryan

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

    您好、Ryan、

    谢谢您、我将以 GPIO ISR 作为备份计划。  

    如果可能、我仍想将 LGPT 用于脉冲计数器。

    基本思路是 GPIO 引脚作为计时器输入(例如时钟)和获取计数。

    你认为这是可行的 LGPT 吗?

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

    您好、Sam、

    我会在内部询问、并在选项上与您联系。

    此致、
    Ryan