嵌入式硬件篇---ADC模拟-数字转换


文章目录


前言

以上就是今天要讲的内容,本文仅仅简单介绍了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

  1. 选择ADC通道。
  2. 设置分辨率。
  3. 选择转换模式(单次或连续)。
  4. 配置触发源。
  5. 设置采样时间(对于不同通道可能不同)。
  6. 启动ADC校准(如果需要):校准是为了提高转换精度。

2.启动ADC转换

  1. 在单次转换模式下,通过软件命令启动转换。
  2. 在连续转换模式下,转换会自动开始。
  3. 读取转换结果:转换完成后,结果存储在ADC数据寄存器中,可以通过软件读取。
  4. 中断和DMA:转换完成后,可以配置ADC产生中断或直接使用DMA(直接内存访问)将转换结果传输到内存中,减少CPU的负担。

第三部分:ADC转化

1.抽样

对模拟信号进行采样(间隔固定周期),获得在时间上离散的信号(抽样信号)

2.量化

本质:根据某一标准进行分级

通过提高分辨率,实现准确的ADC转换

3.编码

将量化结果进行编码存储

第四部分:额外小知识

  1. 数字信号:高电平或者低电平
  2. 模拟信号:任意的电压值
  3. STM32中使用逐次逼近法来实现模拟数字转化(通过二分比较来判断大小)将比较结果存储到专门存储比较结果的数据寄存器中,通过归一化转化及乘以参考电压来实现结果值获取
  4. STM32会通过存储待测电压于电容上实现提高测量准确率的效果
  5. STM32F103有16个GPIO口能进行电压值采样工作(16个ADC外部通道);但在STM32F103C8T6上只前10个ADC外部通道,但有两个内部通道来采集芯片内部的电压值(内部的芯片传感器上、内部的参考电压上)
  6. STM32存在连个ADC转换通道
  7. STM32的内部参考电压会比外部参考电压更准确,因此可以使用对内部参考电压的ADC测量反推实际的参考电压进而实现更准确的ADC测量
  8. ADC实现方法:Pipeline ADC、逐次逼近ADC、Sigma-Delta ADC,这三种ADC实现方法的分辨率逐渐提高同时采样速度逐渐下降

总结

以上就是今天要讲的内容,本文仅仅简单介绍了STM32中ADC模拟-数字转换的实现。

相关推荐
马***4117 小时前
适配成人英语学习痛点,打造落地性强的学习辅助方式
人工智能·学习
民乐团扒谱机7 小时前
【AI笔记】短时纯音时长对音高感知偏移效应研究综述
人工智能·笔记
暴躁小师兄数据学院8 小时前
【AI大数据工程师特训笔记】第12讲:表分区与索引
大数据·笔记·sql·postgresql
小拉达不是臭老鼠9 小时前
Unity学习_ScriptableObject
学习·unity
暴躁小师兄数据学院9 小时前
【AI大数据工程师特训笔记】第16讲:大数据环境安装
大数据·hadoop·笔记·flink·spark·database
MartinYeung510 小时前
[论文学习]LLM 与其他 AI 模型的隐私考量:输入与输出隐私框架方法
人工智能·学习
Lin_Aries_042110 小时前
最终成果报告:导航模型与无人机导航方向
笔记·具身智能·datawhale
pluviophile_s10 小时前
数据结构:第2讲:线性表
数据结构·笔记
(●—●)橘子……10 小时前
力扣第503场周赛练习理解
python·学习·算法·leetcode·职场和发展·周赛
搭贝10 小时前
低代码+AI赋能文化传媒财务结算:搭贝平台技术架构与实战解析
人工智能·低代码·架构