代码之家  ›  专栏  ›  技术社区  ›  Guillaume Petitjean

使用STM32L4 ADC优化功耗

  •  0
  • Guillaume Petitjean  · 技术社区  · 7 年前

    到目前为止,我是在连续转换模式下启动ADC,由定时器触发。然而,这防止了把STM32在转换之间的停止模式,这将是非常有效的功耗方面,因为99%+ot的时候,该产品没有做什么。

    因此,我的想法是使用单转换模式:使用低功耗定时器每5ms将产品从停止模式唤醒一次,在LPTIM中断处理程序中启动单转换(等待ADC在轮询中结束转换),然后返回停止模式。

    是否必须在每次转换之间禁用/启用ADC(位ADEN)?

    另外,我必须知道一次转换持续多长时间才能评估解决方案是否有趣。我对采样时间(位SMP)感到困惑。参考手册中说:“这个采样时间必须足够让输入电压源将嵌入式电容器充电到输入电压水平。”找到正确SMP值的方法是什么?

    1 回复  |  直到 7 年前
        1
  •  1
  •   followed Monica to Codidact    7 年前

    总体思路没有问题, LPTIM1 可以通过 EXTI 控制器甚至处于Stop2模式。

    您可能希望在定时器中断中将MCU置于休眠模式,并在转换完成时让ADC触发一个中断。所以禁用 SLEEPDEEP 在定时器中断中,并在ADC中断中启用它。

    找到正确SMP值的方法是什么?

    经验方法:从最长取样时间开始,然后开始减少取样时间。当转换结果发生显著变化时,请后退一到两步。

    推荐文章