嵌入式硬件篇---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模拟-数字转换的实现。

相关推荐
GEO从入门到精通44 分钟前
课程怎么选?2026年GEO学习资源全梳理
学习
优化Henry2 小时前
LTE 载波频率与频点配置详解
运维·网络·学习·5g·信息与通信
周洲08302 小时前
STM32 串口底层深度解析|USART 中断标志、硬件 FIFO,乱码根源底层定位
stm32·单片机·嵌入式硬件
xiaomu001232 小时前
高湿环境床垫湿度管理技术框架:湿度阈值、排湿结构与材料选型
经验分享·学习·学习方法
半摆烂日常2 小时前
低代码平台API对接实践:接口鉴权与数据同步的完整实现
android·低代码·rxjava
zhangrelay2 小时前
ROS项目设计案例智能大模型正经乱答案例
linux·笔记·学习·ubuntu·机器人
probex_2 小时前
学习笔记:知识图谱是什么,在测试里能干什么
笔记·学习·知识图谱
液态不合群3 小时前
AI低代码选型终局:SaaS轻量化vs私有化可控性深度博弈
人工智能·低代码·数字化·ai低代码
以为你知道啊3 小时前
90年代复古博客
笔记
波力海苔夹心脆6754 小时前
C# 值类型与引用类型详解:存储位置、赋值机制、参数传递、相等比较、装箱拆箱与常见陷阱
开发语言·jvm·经验分享·笔记·c#·.net