7、低功耗和ADC
(1)低功耗模式
-- 睡眠、停机、待机模式
-- VBAT为RTC和后备寄用电池
(2)2个12位模数转换器,1μs转换时间(多达16个输入通道)
-- 转换范围:0~3.6V
-- 双采样和保持功能
-- 温度传感器
低功耗模式
ADC(模拟/数字转换器)
ADC上接口的其他逻辑功能包括:
同步采样和保持
交叉的采样和保持
单次采样
普通的数字信号一般只能输出电源0V或3.3V,它无法读取中间的电压值,所以单片机内部内置了一个ADC,它能读取中间的电压值。
ADC内嵌两个独立的12位的模拟/数字转换器(ADC),每个ADC共用多达16个外部通道,可实现单次或扫描转换。在扫描模式下,自动进行在选定一组模拟输入上的转换。
ADC可以使用DMA(可以独立完成数据的缓存)操作
一般是,CPU通过程序向ADC发送指令,让ADC初始化采集数据,这个时候ADC从外接接口读到电压值,然后再将值发送ARM内核。ARM内核将值进行处理后,将它放入SRAM中。这个过程中CPU是不断在工作的,所以DMA是用于解放CPU的,让CPU空闲。可以直接将ADC的值通过DMA的绿色通道,直接读出来放到SRAM里面。
8、DMA和IO端口
(1)DMA
-- 7通道DMA控制器
-- 支持外设:基本和高级控制定时器TIMx、通用、ADC、SPI、I2C和USART
灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输。
每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道:传输的长度、传输的源地址和目标地址都可以通过软件单独设置。
传统的传输方法,如果不使用DMA的话,我们想把数据读出来放到FLASH和SRAM里面,必须从外设读出来通过内部AHB总线放到CPU,然后再存放到FLASH和SRAM里面。但有了DMA之后,它可以直接连接各种设备和存储器之间,存储器和存储器之间也可以用DMA连接起来。
(2)多达80个快速I/O端口
--26/37/5180个I/O口,所有I/O口可以映像到16个外部中断;几乎所有端口均可容忍5V信号
通用输入输出接口(GPIO):
每个GPIO引脚都可以由软件配置成输出(推挽/开漏)、输入(带或不带上啦或下拉)或复用的外设功能端口。
多数的GPIO引脚都与数字或模拟的复用外设共用。除了具有模拟输入功能的端口,所有引脚都有大电流通过能力。
在需要情况下,I/O引脚的外设功能可以通过一个特定的操作锁定,为了防止意外写入I/O寄存器,在APB2上的I/O脚可达到18MHZ的翻转速度。
GPIO_Mode_AIN 模拟输入
GPIO_Mode_IN_FLOATING 浮空输入
GPIO_Mode_IPD下拉输入
GPIO_Mode_IPU上拉输入
GPIO_Mode_OUT_PP推挽输出
GPIO_Mode_OUT_OD开漏输出
GPIO_Mode_AF_PP 复用推挽输出
GPIO_Mode_AF_OD复用开漏输出