STM32学习100步之第六步——低功耗和ADC

  • 工作模块

  • ADC模块

工作模块

正常模式:系统正常工作,功耗最高。
其他模式都是以低功耗、节能为目的而设定,可以使用特定的方法来唤醒CPU工作,根据不同的需求,有以下几种工作方式。
休眠模式:该模式关闭了ARM内核。唤醒方式:所有内部、外部功能的中断/事件。
停机模式:该模式关闭了ARM内核、内部所有的功能、PLL分频器、HSE。唤醒方式:外部中断输入接口EXTI(16个I/O之一)、电源电压测控中断PVD、RTC闹钟、USB唤醒信号。
待机模式:该模式关闭了ARM内核、内部所有的功能、PLL分频器、HSE、还有SRAM内容消失。
唤醒方式:NRST接口的外部复位信号、独立看门狗IWDG复位、专用唤醒WKUP引脚、RTC闹钟。

ADC模块

在单片机等硬件电路中,数据是以二进制数存储的(因为各种寄存器的位数决定了存储的方式),外界的模拟量(连续量无法存储在单片机中),因为单片机有供电电压和GND电压(0V),因此它只存储了两个值,之间的值却无法存储,如何将两个值之间的电压值都采样存储出来呢?这就用到了量化的概念,将电源电压在响应的ADC转换模块中寄存器中所有值都设置成1,而零点电压全部设置成0,之间的按比例平均下来便可将二者之间的值存储在相应的寄存器中,便达到了AD转换。具体采样的电压值的范围需要根据单片机来确定,比如STM32F103的电源电压是3.3V,因此取样的范围便是0-3.3V。AD模块中模拟量转化为数字量的用处在于:取样外界的电压值,电压值是连续的,无法在单片机存储,因此,须将采集进来的电压值转换为数字量存储在单片机中,在转换存储的过程中存在一定的误差,可以增加转换器的位数来提高精度为目的。数字量转换为模拟量,则是将二进制数按权值展开,从单片机中输出即可。

STM32F103增强型产品内嵌2个12位的模拟/数字转换器(ADC),每个ADC共用多达16个外部通道,可以实现单次或扫描转换。 在扫描模式下,自动进行在选定的一组模拟输入上的转换。
ADC接口上的其他逻辑功能包括:
1、同步的采样和保持。
2、交叉的采样和保持。
3、单次采样。
ADC可以使用DMA操作(以后介绍)
模拟看门狗功能允许非常精准地检测一路、多路或所有选中的通道,当被监视的信号超出预置的阈值时,将产生中断。
由标准定时器(TIMx)和高级控制定时器(TIM1)产生的事件,可以分别内部级联到ADC的开始出发和注入触发,应用程序能使AD转换与时钟同步。

你可能感兴趣的:(STM32学习100步之第六步——低功耗和ADC)