
简介 本文档介绍了超低功耗 STM32F05xx 产品系列内置的两个模拟比较器的六个应用实例。这些应用实例如下:0 K+ h$ E: Z# ^2 @3 m ● 模拟电压监测 ● 停机模式下的模拟看门狗 ● 脉冲宽度测量 ● 脉冲宽度调制 (PWM) 信号控制7 _% K0 `8 }! \$ F/ u* x1 U+ ]5 \: z& b ● 电容测量● 使用光敏电阻 (LDR) 控制亮度 这六个应用实例演示了模拟比较器的用途,并介绍了它们与数模转换器 (DAC) 和定时器等其它外设联合工作的方式。 为确保用户快速入门,本文档介绍的四个应用实例均用 C 语言实现,并在6 A4 d A3 l) S* G/ w* q) K STM32F0xx_StdPeriph_Lib 软件包的 Project\STM32F0xx_StdPeriph_Examples\COMP 中 提供。 请注意,本文档不能替代 RM0091 产品参考手册(针对 STM32F05xx)中的比较器部分。 有关外设的功耗,应参考器件数据手册。& Q+ S' ^% v& U( l% w7 p 1模拟电压监测 STM32F05xx 器件内置一个 12 位高速模数转换器 (ADC),其采样率可达 1 M/秒。但是,该转换器的典型电流消耗为 1.5 mA,如果连续通电,可能会缩短电池使用寿命。因此,建议在超出预定义阈值后需要立即测量模拟输入电压(传感器输出)的应用实例中使用模拟比较器。' P. R; B$ z8 S8 K' z 在 STM32F05xx 器件中,可使用模拟比较器监视模拟输入电压并在需要时为 ADC 上电。监视模拟电压时,器件可以进入停机模式,同时,两个比较器仍处于通电状态。这样既可优化功耗,又可实现节能。2 _ ]5 g; Q# n! e0 D 注: 模拟比较器由内部参考电压 VREFINT 供电,此电压在停机模式下仍处于通电状态。禁止VREFINT 后,便无法再使用比较器。 在模拟电压监测应用中,当传感器输出电压低于阈值时,MCU 可保持在停机模式下,从而实现节能。一旦传感器输出电压超过阈值,MCU 便会唤醒,ADC 通电并开始测量模拟输入电压。当传感器输出电压低于阈值时,MCU 会重新进入停机模式。* Y8 G, [% p0 d. } 无论输入值如何,与连续测量模拟电压的应用相比,此应用的平均功耗都会显著降低。图 1 介绍了如何将传感器输出(温度传感器、压力传感器、热电红外探测器或光电二极管传感器)连接到使用比较器 2 (COMP2) 的模拟电压监测应用中的 STM32F05xx 器件。COMP2在停机模式下监视模拟电压,而 ADC 在运行模式下测量模拟电压。 2 { w, |/ k$ @' o1 \ ![]() % m5 C0 x8 \6 n% U( H ![]() ( u: [% W. `5 I0 q2 e7 N ![]() 2停机模式下的模拟看门狗 STM32F05xx 系列中的 ADC 可用作模拟看门狗,看门狗的阈值上限和下限均可编程。不过,由于 ADC 在停机模式下会断电,因此 MCU 必须保持在运行模式下才能监视输入端的模拟电压。对于 STM32F05xx 器件,可将 COMP1 和 COMP2 这两个模拟比较器组合设置成窗口模式作模拟看门狗,此看门狗可在 MCU 处于停机模式下时保持通电状态。这样既可降低功耗,又可实现节能。 图 4 显示了这类模拟比较器在窗口模式下的配置。阈值 1 设置为内部参考电压 VREFINT,阈值 2 可配置为 VREFINT、3/4 VREFINT、1/2 VREFINT、3/4 VREFINT、DAC_OUT 或外部引脚(PA2 或 PA5)之一。模拟输入电压可施加到(PA1 或 PA3)引脚。 4 G2 p+ J i% P" |. Y) V1 ~ ![]() ![]() / q0 k( m. n; H l; t$ f9 @ / I) d( d. [$ v a9 Y: \" ^ 1 h2 T; a1 _7 N: @ 完整版请查看:附件 7 R% r' }+ t- O# v3 n |
DM00055171_ZHV1.pdf
下载813.88 KB, 下载次数: 4