STM32 ADC介绍(硬件原理篇)

STM32——ADC篇(基于stm32f103) HAL_Init();/* 初始化HAL库 *//* 设置时钟, 72Mhz *//* 延时初始化 *//* 串口初始化为115200 */led_init();/* 初始化LED *//* 初始化LCD */adc_init();/* 初始化ADC *//* 先在固定位置显示小数点 */while (1)/* 显示ADCC采样后的原始值 */printf("原始值:%d\n",adcx); 阅读详情
AI摘要

本文围绕STM32 ADC硬件原理展开。先阐述引入模数转换电路解决模拟与数字信号接口问题,介绍AD转换器经采样、保持、量化、编码四步完成转换。接着说明DA、AD转换原理,包括T型电阻网络DA转换及逐次逼近、并联比较型AD转换,还提及相关逻辑器件如触发器等。

目录

背景

AD转换器

采样与保持

量化

编码

AD转换器转换原理

DA转换原理

AD转换原理

1.逐次逼近型AD转换器

2.并联比较型AD转换器

编码器

同步D触发器和边沿D触发器

基本RS触发器

同步RS触发器

同步D触发器

边沿型D触发器(维持-阻塞D触发器)


背景

在数字系统的广泛应用中,用数字系统处理模拟量的情况十分普遍,因此引入了模拟信号和数字信号的接口问题。为了解决这一问题,首先利用模数转换电路把模拟信号转成数字信号。(数字信号经过处理之后,也可以通过数模转换电路将模拟信号转换回模拟信号)。单片机开发当中,ADC是经常要到的外设。通过本篇文章对ADC硬件部分进行原理说明。本篇文章需要涉及到基尔霍夫电压定理、理想运放的虚短虚断特性、以及采样量化编码、触发器知识,所以需要电路、模拟电路、数字电路的基础知识。另外,DA转换方法有多种、AD转换的方法也有多种。本篇中就以最常用的方法(T型电阻网络DA转换器、逐次逼近AD转换器并联比较型AD转换器)来对DA转换和AD转换原理进行说明。嵌入式软件工程师能理解更好,但是不一定要掌握,只要懂得和硬件工程师合作懂得配置相关寄存器或者调用相关固件库函数即可。不要被吓倒!

AD转换器

AD转换器中一般要经过采样、保持、量化、编码这四个步骤来完成从模拟量到数字量的转换。

采样与保持

截图部分就是经典的采样保持电路。Ui(t)为输入的模拟信号。其中场效应管做成采样开关。它通过采样频率f(sample)的采样脉冲来完成控制开关的通断。电容C为保持功能,当采样开关导通的时候,电容迅速通电,使得电容的电压=输入的模拟电压!;当采样开关断开的时候,由于电容的漏电很小,所以电容电压基本保持不变!

因此经过采样保持电路之后,输入的模拟信号变成了一系列时间间隔内的阶梯信号。

量化

将采样输出的电压用某个最小单位的整数倍来表示的过程。这个最小数量单位称为量化单位(经常用🔺表示)。

编码

将量化的结果用代码来表示出来的过程称为编码(最小量化单位的整数倍->二进制数)。

AD转换器转换原理

本篇文章只是对原理进行一个说明。不同的芯片可以采用不同的技术。不代表stm32就是采用该技术。这篇文章只是个人学习过模电和数电的知识。在ADC原理说明的时候,将这些知识串联起来,形成一个知识的闭环。

因为AD转换器转换原理DA转换器,因此先对DA转换的原理先进行说明!

DA转换原理

。

本篇文章以T型电阻网络型进行说明

当dn-1闭合的时候,也就是说最左边的电阻接到参考电压,其他的模拟开关接地。

看截图中的电路,从左往右看,两个2R并联再和R串联 等价于一个2R电阻。所以最终的等效电路是

理想运放的两个特性(虚短和虚断)

虚短:反向输入端和同向输入端电位相同

虚断:运放的反向输入端和同相输入端的电流为0.

1)根据虚短特性可以知道,反相输入端的电压和同相输入端的电压相等,都为0.

2)根据虚断原理可以知道流过RF的电流(截图中的红色箭头)。

3)根据基尔霍夫电压定理可以知道Uo的电压就等于Rf上的电压大小相等,方向相反!

当d0为1(连接参考电压时),其他位模拟开关全部接地情况。

该等效电路也很好理解,通过从右往左看,就可以知道,和dn-1接参考电压的类似。

再根据电路知识中的线性电路的叠加原理可知

显然看截图中最后的式子就可以看出数-模的转换了!

DA转换器的最小输出电压与最大输出电压的比值称为分辨率,显然DA转换器的位数越多,分辨出的最小电压能力就越强。

前面的知识讲完了,我们现在就可以介绍AD的转换原理了。

AD转换原理

1.逐次逼近型AD转换器

1)转换开始前,将逐次逼近寄存器清零。

2)开始转换时将逐次逼近寄存器最高位置为1,其他位全0.此时DA转换器会输出电压和输入的模拟电压进行比较

A.DA转换器的输出电压U0 < 输入的模拟电压U1.说明DA转换的电压太大,要减小,此时Uc=1.

通过控制逻辑将最高位清零,次高位置为1,继续比较。

B.DA转换器的输出电压U0 > 输入的模拟电压U1.说明DA转换的电压太小,要增大,此时Uc=0.

通过控制逻辑将最高位保持为1,次高位置为1,继续比较。

就这样子逐位进行直到最低位,转换过程结束。此时寄存器的数值就是转换的结果。

2.并联比较型AD转换器

1)显然通过并联比较型工作示意图,根据电阻的伏安特性可以知道各个电阻的电压。

2)各个电阻的电压与模拟输入电压在运放电路中进行比较

      A.当模拟输入电压>电阻侧电压,输出1

      B.当模拟输入电压<电阻侧电压,输出0

3)和运放的比较结果有7中情况,可以用编码器将7中状态信息转化为计算机系统可以处理的二进制信息

编码器

因为数字系统只能处理二值运算,因此需要将数字电路的各种信息用二值代码表示出来。这个过程就是编码。实现编码的电路就称为编码器。编码器是一个多输入和多输出的组合逻辑电路。m表示输入信息的状态数,n表示代码的位数,一般情况下他们之间存在m<= 2的n次方关系。

寄存器+代码转换器-》编码器

输入有7种状态,所以3条输出线即可(2的3 次方-1)!

显然就完成了模数的转化。

下面对编码器的涉及到的逻辑器件进行说明,以完成所学的电路、模电、数电的知识闭环。

同步D触发器和边沿D触发器

在复杂的数字电路中,要继续进行各种的复杂的运算与控制,就必须将曾经的输入过的信号以及运算结果暂时保存起来。以便与新的输入信号进一步运算来共同确定电路的输出状态。这样子就要求电路中必须包含记忆功能的电路单元-触发器

触发器输出有Q和Q非,因此也称为双稳态触发器。

同步D触发器的由来:

基本RS触发器 -> 同步RS触发器 ->同步D触发器 和边沿D触发器

基本RS触发器

同步RS触发器

同步RS触发器是为了使得多个相关的触发器同时工作,必须给电路加上统一的控制信号,这个控制信号就叫做时钟脉冲信号,简称CP.,这种触发器叫做同步RS触发器

D触发器是在同步RS触发器的基础上解决约束条件问题(即同步RS寄存器都是有效设置信号情况)而产生的。

特性方程

补充同步输入端和异步输入端的概念!

同步D触发器

D触发器的特性方程位

边沿型D触发器(维持-阻塞D触发器)


由同步RS触发器与利用反馈构成了边沿型D触发器!

STM32-ADC-电压采集 STM32F429IGT6 有 3 个 ADC,每个 ADC 有 12 位、10 位、8 位和 6 位可选,每个 ADC 有 16 个外部通道。另外还有两个内部 ADC 源和 VBAT 通道挂在 ADC1 上。ADC 具有独立模式、双重模式和三重模式,对于不同 AD 转换要求几乎都有合适的模式可选。ADC 功能非常强大,具体的我们在功能框图中分析每个部分的功能电压采集是ADC常见的应用之一。 阅读详情

相关推荐

STM32外设介绍4(ADC)

本文介绍了STM32微控制器的ADC(模数转换器)模块及其应用。主要内容包括:ADC模块的基本特性(多通道输入、高分辨率、快速采样等)、工作原理(采样保持、量化转换、数据读取)和配置流程。重点通过STM32F103系列MCU的实例,详细说明了如何使用HAL库配置ADC实现电压采样,并通过串口实时输出数据(MD输出)。文章还提供了硬件连接方案、CubeMX配置步骤、关键代码实现(包括ADC初始化和电压计算转换),并总结了ADC采样相关的10个实用注意事项,涵盖GPIO配置、采样时间设置、参考电压、抗干扰处理等

weixin_43756295的博客 1456

ADC相关电路的总结及提高ADC采样精度的方法(以STM32F系列为例)

以STM32F系列为例对ADC相关电路的总结,包括:ADC基本原理简介,ADC准确性指标,ADC经典结构图,提高ADC采样精度的方法

粉色挖掘机的博客 3万+

STM32 ADC和DMA

STM32 ADC和DMA简单总结

Master_0_的博客 4216

STM32学习之ADC

stm32学习笔记

Dkkkkk20的博客 2364

STM32—ADC详解

12位逐次逼近型的模拟数字转换器。最多带3个ADC控制器最多支持18个通道,可最多测量16个外部和2个内部信号源。支持单次和连续转换模式转换结束,注入转换结束,和发生模拟看门狗事件时产生中断。通道0到通道n的自动扫描模式自动校准采样间隔可以按通道编程规则通道组和注入通道组均有外部触发选项转换结果支持左对齐或右对齐方式存储在16位数据寄存器ADC转换时间:最大转换速率 1us。(最大转换速度为1MHz,在最大时钟ADCCLK=14M,采样周期为1.5个ADC时钟下得到。

zqx的博客 7134

Aurix TC3xx系列MCU硬件触发ADC采集的原理(二)

介绍了英飞凌MCU的硬件触发式ADC的采集原理,重点介绍了边沿触发和中心点触发AD采集的采集原理和适用场景。

m0_38045338的博客 3215

STM32的ADC介绍

本文章总结了STM32 ADC的主要知识点,说明了ADC单通道采集、ADC单通道采集(DMA转运数据)、ADC多通道采集(DMA转运数据)的区别和注意点。

qq_52907930的博客 6631

STM32H750 ADC介绍及应用

STM32H750VBT6 ADC模块应用指南 摘要:STM32H750VBT6内置3个独立12位ADC模块,支持最高3.6 MSPS采样率,具备16个外部通道和6个内部信号采集能力。核心特性包括:多模式转换(单次/连续/扫描/间断)、硬件过采样(可提升至16位)、与DMA协同实现零CPU开销采集等。关键应用场景涵盖传感器采集、音频处理和电池管理。本文详细介绍了ADC工作原理、寄存器配置步骤及HAL库实现方法,包含时钟源选择、采样时间计算、通道配置模式等关键技术要点,并提供了STM32CubeIDE配置示例

hazy1k的博客 2028

【STM32 ADC】

学习ADC转换的基本原理,学会使用STM32配置ADC转换功能ADC(ANalog-Digital Converter)模拟-数字转换器;ADC可以将引脚上连续变化的模拟电压转化为内存中存储的数字变量,建立模拟电路到数字电路的桥梁;12为逐次逼近型ADC,1us的转换时间(转换频率为1MHZ);输入电压范围0~3.3V,转换结果范围:0 ~ 4095;

weixin_46187287的博客 5334

未来计算的革命:探索存算一体芯片的潜力与挑战

未来计算的革命:探索存算一体芯片的潜力与挑战

jtwqwq的博客 1611

ArcGIS基础:城市交通网络构建及设施服务分析(一):道路数据处理与拓扑操作

首先需要加载数据, 1:选择这个数据库:,右键导入,选择导入单个要素,弹出“要素类至要素类” 2:输出位置(导入的数据是CAD格式数据)。 3:输出要素类为道路。 4:字段只保留道路类型字段。 这个操作是分类合并各级道路数据。 1:通过属性选择各类道路数据。 2:比如此类都是“干道”。 3:编辑器下来,然后合并即可。 得到如图所示,需要用到三个字段。 上面这个操作是打断道路相交线。 1:选中所有数据。 2:找到高级编辑中的打断相交线。 3:确定即可。 下面进行拓扑检查,虽然我们已经进行合并和打断相交.

yuanYW7556的博客 2万+

【stm32】ADC的介绍与使用

ADC(Analog-Digital Converter)模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁STM32主要是数字电路,数字电路只有高低电平,没有几V电压的概念,所以如果想读取电压值,就需要借助ADC模数转换器来实现,ADC读取引脚上的模拟电压,转换为一个数据,存在寄存器里,再把这个数据读取到变量中,就可以进行显示、判断、记录等等操作ADC可以将模拟信号转换为数字信号,是模拟电路到数字电路的桥梁。

qq_62917398的博客 4733

Hive SQL零基础到精通:100道练习题+答案,SQL能力快速提升

我将以我15年架构与开发的经验,带领大家从零基础到精通,通过精心设计的100道练习题及其详解,系统地、深度地掌握Hive SQL的核心精髓。它可以将结构化的数据文件映射为一张数据库表,并提供了一套类SQL的查询语言——HiveQL(简称HQL),允许熟悉SQL的用户直接查询存储在HDFS上的海量数据。它将Job描绘为DAG(有向无环图),允许更灵活的任务编排,避免不必要的中间落盘,可以复用容器,从而大幅降低延迟。希望你以此文为起点,在广阔的大数据世界里继续遨游,成为一名真正的数据高手!

架构师的AI之路,分享AI应用开发架构的学习与实践。 798

STM32G4之ADC

STM32G4HAL库ADC的原理及其使用

风间琉璃的博客 1万+

苍穹外卖项目面试总结话术

美食速递这个项目最初是我参与制作的大创项目,是一款为中南学生提供校园外卖送至宿舍服务的软件,包含系统管理后台和小程序端两部分。其中系统管理后台主要提供给食堂内部员工使用,可以对食堂各个窗口、员工、订单、菜品等进行维护管理;小程序端可以在线浏览菜品、添加购物车、下单等,由学生兼职做跑腿送餐上门服务。这是个前后端分离的项目,我主要是负责后端的用户登录、员工管理,菜品管理,订单管理模块的编码实现。

qq_45195447的博客 1万+

从‘平行’到‘鱼骨’:手把手拆解AlGaN/GaN HEMT多栅指结构的布局优化实战

本文深入探讨了AlGaN/GaN HEMT多栅指结构的布局优化,从传统的平行栅结构到创新的鱼骨栅结构,详细解析了如何通过优化信号路径和热管理提升功率器件的性能。文章结合实测数据和EDA工具,展示了鱼骨栅结构在相位一致性、热阻和版图利用率方面的显著改进,为射频功率放大器设计提供了实用指导。

weixin_27061475的博客 442

【STM32】ADC

ADC,模数转换器,用于采集模拟信号的大哥,传感器数据采集就靠它了。大部分图片来源:正点原子HAL库课程。

Tesseract_9527的博客 4576

Linux系统搭建OpenClaw(原Clawdbot)全流程指南 最新版

工具定位:开源个人 AI 助手,支持文件读取、命令执行、多渠道交互(Telegram / 本地终端等);系统要求:主流 Linux 发行版(Ubuntu/Debian/CentOS 等),Node.js ≥22(核心依赖);安全提示:OpenClaw 为测试版,具备高权限操作能力,建议使用非主力机,配置权限白名单,避免接触敏感数据。

AI时代老码农的第二春 6560

STM32G474 STM32CubeMX ADC

【不讲原理,单纯应用】STM32G474的ADC功能

LJX_wantAC的博客 2855

MATLAB基础应用精讲-【深度强化学习】SAC(Soft Actor-Critic)算法(附MATLAB和python代码实现)

Actor 网络:用于选择动作。Critic 1 和 Critic 2 网络:用于估计 Q 值。Target Critic 1 和 Target Critic 2:与 Critic 网络架构相同,用于生成更稳定的目标 Q 值。,即在保证探索的情况下选择高价值动作。软更新目标 Q 网络参数,使得目标网络参数缓慢向当前网络靠近,避免振荡。

qq_36130719的博客 454

MTK AWB 色温曲线的进一步猜想

平均距离来判断是否对该色温下白平衡进行全部收白处理,还是保留一些光源的本身的颜色。比如占据图像一大半左右的纯色背景,纵坐标值相对横坐标的距离应该会比较大,大于一般场景下的正常白点分布。反之,位于Plank_curve下方位置的点具有偏洋红色的倾向。此时拟合各个色温下的白点,拟合曲线大致是以X= 0.85)平行于横轴的一条直线。对原始坐标系中的点取对数后的Log坐标系空间。此时拟合各个色温下的白点,拟合曲线大致呈现的是一条直线。,可以认为是各种色温下白点分布所呈现的走向。的算法利用某个色温点的偏离。

大熊 722

【STM32 标准库】ADC

1.STM32 ADC1.1 ADC简介模数转换器(Analog to Digital Converter, ADC),将模拟信号转换为数字信号。按照原理可分为:逐次逼近型、双积分型、电压频率转换型3种。特性:●12位分辨率18个通道:16个外部通道,2个内部通道● 转换结束、注入转换结束和发生模拟看门狗事件时产生中断●和转换模式从通道0到通道n的自动模式● 自校准● 带内嵌数据一致性的数据对齐● 采样间隔可以按通道分别编程● 规则转换和注入转换均有外部触发选项● 间断模式。

微风の清风的博客 3069

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

STM32使用ADC+电位器测电压

一、电位器 1. 电位器 电位器是具有三个引出端、阻值可按某种变化规律调节的电阻元件。电位器通常由电阻体和可移动的电刷组成。当电刷沿电阻体移动时,在输出端即获得与位移量成一定关系的电阻值或电压。 电位器既可作三端元件使用也可作二端元件使用。后者可视作一可变电阻器,由于它在电路中的作用是获得与输入电压(外加电压)成一定关系得输出电压,因此称之为电位器。 2.原理图: 三根接线柱由标记1、...

AK41君的专栏 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

STM32 --- ADC

ADC(Analog-Digital Converter)模拟-数字转换器,ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。通过选取外部GPIO口,作为模拟信号量的输入,根据STM32不同型号引脚来选取ADC模拟输入引脚。(PS:以STM32F103R8T6为例,有ADC1,ADC2,并且有0~9十个ADC输入引脚复用在下图对应GPIO引脚,不同型号会有所不同,具体可以查看具体型号的引脚定义表)

weixin_48085732的博客 5972

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

STM32的ADC配置

STM32的ADC是:12 位 ADC 是一种逐次逼近型模拟数字转换器。它有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值值。【详细介绍可以看数据手册中文版第16章节】 利用原子的精英开发板实...

Naunyang的博客 1万+

STM32中ADC详解

在嵌入式系统中,模拟信号与数字信号的转换是连接物理世界与数字系统的核心环节。ADC(Analog-to-Digital Converter,模数转换器)作为实现这一转换的关键外设,被广泛应用于传感器数据采集(如温湿度、光照、压力)、电池电压监测、音频信号处理等场景。STM32系列芯片集成了高性能ADC外设,支持多通道、高分辨率、多种转换模式,能满足从低速高精度到高速实时采集的多样化需求。

qq2745567641的博客 2893
上一篇: STM32 I2C通信协议说明
下一篇: STM32 如何使用DMA和获取ADC
sinat_36070482
博客等级 码龄10年 118粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值