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.

[参考译文] LP-AM243:使用周期计时器触发输出触发 ADC

Guru**** 2463330 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1467859/lp-am243-triggering-adc-with-periodic-timer-trigger-output

器件型号:LP-AM243

工具与软件:

您好!  

我希望通过计时器触发输出定期触发 ADC。 我没有看到任何相关示例。 我怎么能做到这一点?  

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

    您好!

    我正在查看您的问题,您可能希望  今天之前得到回复。

    此致、

    Anil。

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

    仍在等待回复。  

    谢谢。

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

    Mehmet Sahin、您好!

    很抱歉回复延迟。

    在当前的 MCU+SDK 中、不支持来自计时器模块的触发 ADC。

    如果要在特定时间触发 ADC、则需要使用以下 CTRL MMR 寄存器选择 ADC 触发器作为 PWM、计时器 PWM 或 IEP 或外部 GPIO 引脚。

    根据上述建议、使用 MCU+SDK 中的相同 ADC 示例、并查看您是否能够 触发 ADC。

    我的建议是、首先您可以使用外部 HW 引脚、并且可以通过 syscfg 对其进行配置并生成代码。

    请告诉我您的测试结果。

    此致、

    Anil。

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

    感谢您的答复。

    鉴于我相对比较初次使用 MCU+ SDK (TI 产品的新功能)、因此将非常感谢提供有关如何继续的更详细指导。

    我遇到了您在技术参考手册(TRM)中提到的寄存器。
    不过、如果我打算进行寄存器级编程、这是否意味着我需要从头开始开发 ADC 驱动程序和计时器驱动程序?

    我想知道周围是否有任何捷径。

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

    Mehmet Sahin、您好!

    在 MCU+SDK 中、我们(TI)支持一些示例、例如 GPIO、I2C、SPI、ADC 和其他驱动程序。

    我的建议是、首先您可以 从 MCU+SDK 中获取 ADC 示例。

    然后、在 SOC 上运行。

    MCU+SDK 文档中提供了所需的工具以及如何从 CCS 中运行示例所有内容。

    您可以通过以下链接访问文档。

    请完成这些步骤并告诉我  

    因此、我可以在现有的 ADC 示例基础上提供有关如何实现您的要求的建议。

    https://www.ti.com/tool/MCU-PLUS-SDK AM243X

    此致、

    Anil。

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

    是的、我已经这么做了。
    我已经成功连接了电位器、并也通过 EtherCAT 将其值传输到 TwinCAT。
    不过、主查询现在的重点是将此设置转换为周期性采样过程、例如在20kHz 的频率下运行。
    其目的是在指定的时间常数内对这些样本求平均值、然后通过 EtherCAT 传输这些样本。 这仍然是最终目标。

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

    我可以告诉您接下来的步骤。

    请预计您可能会得到大多数星期一的回复。

    此致、

    Anil。

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

    还在等待响应。。。

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

    Mehmet Sahin、您好!

    目前、我们还没有通过计时器生成 PWM 的有效示例。

    请查看下面的常见问题解答。 此常见问题解答可帮助您启用计时器 PWM。

    将计时器 PWM 集成到 MCU+SDK 中提供的现有 ADC 示例中。

    稍后、使用以下代码配置 MMR 寄存器以启用硬件触发器。

    并查看是否每个计时器 PWM 信号都触发了 ADC 中断。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1377521/faq-processor-sdk-am64x-how-to-create-a-pwm-using-a-timer

    ADC 示例 :\ti\mcu_plus_sdk_am64x_10_01_00_32\examples\drivers\adc\adc_singlehot

        /* set timer clock source */
        SOC_controlModuleUnlockMMR(SOC_DOMAIN_ID_MAIN, 1);
        *(volatile uint32_t*)(0x43004710) = xx;
        SOC_controlModuleLockMMR(SOC_DOMAIN_ID_MAIN, 1);

    此致、

    Anil。

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

    谢谢 Swargam Anil。

    我将查看它。