【江协科技STM32】ADC数模转换器-学习笔记

ADC简介

  • ADC(Analog-Digital Converter)模拟-数字转换器
  • ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁,ADC是一种将连续的模拟信号转换为离散的数字信号的设备或模块
  • 12位逐次逼近型ADC,1us转换时间
  • 输入电压范围:0~3.3V,转换结果范围:0~4095
  • 18个输入通道,可测量16个外部(16个GPIO口)和2个内部信号源(内部温度传感器和内部参考电压),内部温度传感器测量CPU的温度,可用ADC读取;内部参考电压是1.2v左右的基准电压,基准电压不随外部供电电压变化而变化。
  • 各通道的A/D转换可以单次、连续、扫描或间断模式执行。
  • 规则组和注入组两个转换单元
  • 模拟看门狗自动监测输入电压范围
  • STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道(这款芯片最多能测量10个外部引脚的模拟信号)

拓展知识:

DAC是数字-模拟转换器(Digital-to-Analog Converter)的缩写。它是一种用于将数字信号转换为模拟信号的电子设备,以便模拟电路或设备可以处理和输出这些信号。DAC的作用是将数字化的数据转换为模拟信号,使得数字系统可以与模拟系统进行交互。DAC广泛应用于音频设备、通信系统、控制系统等领域。DAC的性能通常由分辨率、采样率、输出精度等参数来衡量,不同类型的DAC适用于不同的应用场景。DAC的输出模拟信号可以被连接到放大器、滤波器等模拟电路中进行进一步处理,以实现数字到模拟的转换。

逐次逼近型ADC

对应看图

ADC框图

按序号理解

ADC预分频器来源于RCC

来源RCC时钟树

ADC基本结构

16个外部通道对应GPIO口-输入通道

对应ADC1、ADC2,10个外部输入通道

引脚定义表

四种转换模式

单次转换,非扫描模式

连续转换,非扫描模式

单次转换,扫描模式

连续转换,扫描模式

触发控制:对应ADC框图EXTXEL开始触发(规则组)位置

数据对齐

这里的ADC是12位的,它的转换结果就是一位12位的数据,但是这个数据寄存器是16位的,所以就存在一个数据对齐的问题。这里一般使用数据右对齐方式,这样读取16位寄存器直接就是转换结构。如果选择数据左对齐,直接读取得到的数据会比实际数据大。因为数据左对齐实际就是把数据左移4次,二进制有个特点,就是数据左移一次,就等效于把这个数据乘2。

转换时间

为什么需要采样保持:37:46

数据校准: 只需要在ADC初始化代码最后加几条代码就可以,暂时无需了解。

硬件电路

记得看手册:坚持最后

相关推荐
Rabitebla5 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
Gary移动存储固件6 小时前
eMMC5.1协议中文学习讲解(6.6.17~6.6.22.4.6)
学习·ufs·emmc·nand·存储固件
威嵌神州6 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
一个天蝎座 白勺 程序猿7 小时前
别让收藏夹替你学习:我搭AI知识体系的完整方法,脚本直接拿去用
人工智能·学习·ai·ai学习
楚山之石7 小时前
【Nat Biomed Eng】Connectome 2.0 超高梯度扫描仪:500 mT/m 与 600 T/m/s 把活体人脑微观结构分辨推进到亚微米级
图像处理·学习·数据分析·mri
坤坤子吖10 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
Zw-awa11 小时前
MPU6050:从原始加速度到姿态变化
stm32
少司府12 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
shimly12345612 小时前
(done) 嵌入式硬件电路图 (8) 获取芯片手册信息
嵌入式硬件
云南新人和数采集团14 小时前
云南靠谱软件开发公司选型指南:以昆明新腾科技为例
大数据·人工智能·科技