文章目录
前言
以上就是今天要讲的内容,本文仅仅简单介绍了STM32中ADC模拟-数字转换的实现。
第一部分:STM32 ADC的主要特点
1.分辨率
分辨率:STM32的ADC通常具有12位、10位、8位或6位的分辨率。这意味着它们可以将模拟信号分为212、210、28或26个不同的电平。
2.多通道
多通道:STM32微控制器通常具有多个模拟输入通道,允许同时或分时转换多个信号。
3.转换模式
单次转换模式:ADC只执行一次转换。
连续转换模式:ADC连续执行转换,不需要软件干预。
4.转换速度
转换速度:STM32的ADC转换速度可以从几微秒到几十微秒不等,具体取决于MCU型号和配置。
5.触发源
触发源:转换可以由软件触发,也可以由外部事件(如定时器捕获事件)触发。
6.数据对齐
数据对齐:数据可以在左对齐或右对齐的格式中读取。
7.温度传感器和Vrefint通道
温度传感器和Vrefint通道:某些STM32微控制器内置了温度传感器和内部参考电压(Vrefint)通道,可以直接连接到ADC。
第二部分:STM32 ADC的工作流程:
1.配置ADC
- 选择ADC通道。
- 设置分辨率。
- 选择转换模式(单次或连续)。
- 配置触发源。
- 设置采样时间(对于不同通道可能不同)。
- 启动ADC校准(如果需要):校准是为了提高转换精度。
2.启动ADC转换
- 在单次转换模式下,通过软件命令启动转换。
- 在连续转换模式下,转换会自动开始。
- 读取转换结果:转换完成后,结果存储在ADC数据寄存器中,可以通过软件读取。
- 中断和DMA:转换完成后,可以配置ADC产生中断或直接使用DMA(直接内存访问)将转换结果传输到内存中,减少CPU的负担。
第三部分:ADC转化
1.抽样
对模拟信号进行采样(间隔固定周期),获得在时间上离散的信号(抽样信号)
2.量化
本质:根据某一标准进行分级
通过提高分辨率,实现准确的ADC转换
3.编码
将量化结果进行编码存储
第四部分:额外小知识
- 数字信号:高电平或者低电平
- 模拟信号:任意的电压值
- STM32中使用逐次逼近法来实现模拟数字转化(通过二分比较来判断大小)将比较结果存储到专门存储比较结果的数据寄存器中,通过归一化转化及乘以参考电压来实现结果值获取
- STM32会通过存储待测电压于电容上实现提高测量准确率的效果
- STM32F103有16个GPIO口能进行电压值采样工作(16个ADC外部通道);但在STM32F103C8T6上只前10个ADC外部通道,但有两个内部通道来采集芯片内部的电压值(内部的芯片传感器上、内部的参考电压上)
- STM32存在连个ADC转换通道
- STM32的内部参考电压会比外部参考电压更准确,因此可以使用对内部参考电压的ADC测量反推实际的参考电压进而实现更准确的ADC测量
- ADC实现方法:Pipeline ADC、逐次逼近ADC、Sigma-Delta ADC,这三种ADC实现方法的分辨率逐渐提高同时采样速度逐渐下降
总结
以上就是今天要讲的内容,本文仅仅简单介绍了STM32中ADC模拟-数字转换的实现。