ADC(模数转换)详解

这篇具有很好参考价值的文章主要介绍了ADC(模数转换)详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在STM32微控制器中,ADC代表模数转换器(Analog-to-Digital Converter)。ADC是一种用于将模拟信号转换为数字信号的电子设备或模块。
ADC(模数转换)详解

STM32微控制器中的ADC模块用于将模拟电压信号转换为数字表示,以便微控制器可以对其进行处理和分析。它可以将外部传感器、电压源或其他模拟信号的变化转换为微控制器可以理解和处理的数字形式。

ADC的工作原理是将连续变化的模拟电压信号分割成离散的取样,并对每个取样进行量化,生成相应的数字表示。通常,ADC使用一种称为逐次逼近法(successive approximation)的转换技术,通过逐步比较模拟输入信号和一个内部参考电压来逼近原始模拟信号的值,并将其转换为对应的数字值。

STM32微控制器中的ADC模块提供了多个转换通道,可以选择不同的输入引脚来进行模拟信号的采样和转换。它还提供了各种配置选项,如采样时间、分辨率、转换速率等,以满足不同应用场景的需求。

通过使用STM32的ADC功能,开发者可以方便地将外部模拟信号转换为数字形式,从而实现各种测量、检测和控制应用,如温度监测、电压测量、传感器读取等。

ADC的定义

ADC是模拟到数字转换器(Analog-to-Digital Converter)的缩写。它是一种电子设备或模块,用于将连续变化的模拟信号转换为离散的数字信号,以便数字系统(如微处理器、微控制器等)能够对其进行处理和分析。
ADC(模数转换)详解
ADC(模数转换)详解

模拟信号是连续变化的电压或电流信号,其数值在一定范围内变化。而数字信号是由一系列离散的数字表示,只能取有限的值,通常以二进制形式表示。

ADC的工作原理是将模拟信号分割成一系列离散的取样,并将每个取样值转换为相应的数字表示。这个过程涉及到两个主要步骤:采样和量化。

  1. 采样:ADC将连续变化的模拟信号在一定时间间隔内进行取样。取样频率决定了每秒采集的样本数,通常以赫兹(Hz)表示。采样过程通过保持并测量模拟信号在每个采样时间点的电压值来实现。

  2. 量化:采样得到的连续模拟信号经过量化转换为数字形式。量化是将每个采样值映射到一个离散的数字值的过程。这通常通过比较采样值与参考电压之间的差异,并将其转换为数字表示。

ADC的分辨率是指它可以将模拟信号分成多少个离散的级别。较高的分辨率意味着ADC能够提供更精细的数字表示,从而更准确地捕捉和量化模拟信号的细微变化。

ADC在许多应用中起着重要作用,例如传感器信号采集、音频采样、数据采集和控制系统等。它使得模拟信号能够与数字系统进行交互和处理,从而实现各种测量、监测和控制任务。

ADC简介

12 位 ADC 是一种逐次逼近型模拟数字转换器。
它有多达 19 个通道,可测量 16 个外部通道(从外部GPIO口连接的16通道模拟输入)
3个内部信号源,分别为内部温度传感 (VSENSE) 输入、内部参考电压 (VREFINT) 输入、外部电池 VBAT 供电引脚输入
各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。
ADC的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。
ADC(模数转换)详解

ADC特性

量程:
能测量的电压范围 0 ~ 3.6V
分辨率:
ADC的分辨率通常以输出二进制数的位数表示,位数越多,分辨率越高,一般来说分辨率越高,转化时间越长。
可配置的转换精度:
6位,8位,10位,12位
转化时间:
模拟输入电压在允许的最大变化范围内,从转换开始到获得稳定的数字量输出所需要的时间称为转换时间
ADC(模数转换)详解

ADC时钟

SYSCLK 系统时钟
HSI 16Mhz 高速内部时钟
PLL 锁相环倍频器
ADC(模数转换)详解

工作模式

EOC: 通道转换结束信号
EOS: 序列转换结束信号
单次转换模式: ADC只执行一次转换;
连续转换模式: 转换结束之后马上开始新的转换;

ADC(模数转换)详解
ADC的单次模式和连续模式
这两种模式的概念是相对应的。这里的单次模式并不是指一个通道。假如同时开了ch0,ch1,ch4,ch5这四个通道。单次模式转换模式下会把这四个通道采集一遍就停止了。而连续模式就是这四个通道转换完以后再循环过来再从ch0开始。

扫描模式
ADC扫描选中的所有通道,在每个组的每个通道上执行单次转换。在每个转换结束时,这一组的下一个通道被自动转换。如果设置了CONT位(开启了连续转换模式),转换不会在选择组的最后一个通道上停止,而是再次从选择组的第一个通道继续转换。

间断模式
触发一次,转换一个通道,在触发,在转换。在所选转换通道循环,由触发信号启动新一轮的转换,直到转换完成为止。

ADC单通道
单次转换: 只进行一次ADC转换:配置为“单次转换模式”,扫描模式关闭。ADC通道转换一次后,就停止转换。等待再次使能后才会重新转换
连续转换: 进行连续ADC转换:配置为“连续转换模式”,扫描模式关闭。ADC通道转换一次后,接着进行下一次转换,不断连续。

ADC多通道
单次转换: 只进行一次ADC转换:配置为“单次转换模式”,扫描模式使能。ADC的多个通道,按照配置的顺序依次转换一次后,就停止转换。等待再次使能后才会重新转换
连续转换:进行连续ADC转换:配置为“连续转换模式”,扫描模式使能。ADC的多个通道,按照配置的顺序依次转换一次后,接着进行下一次转换,不断连续。

单通道单次转换练习

采集光照/火焰/可燃气传感器数值(这里以G030为例,请根据自己情况配置引脚)
采集光照/火焰/可燃气传感器数值(这里以G030为例,请根据自己情况配置引脚)
采集光照/火焰/可燃气传感器数值(这里以G030为例,请根据自己情况配置引脚)

1.打开ADC对应通道
ADC(模数转换)详解
2. 使能串口
ADC(模数转换)详解
3. 编程实现
1)启动ADC

   HAL_StatusTypeDef HAL_ADC_Start (ADC_HandleTypeDef *  hadc)
   功能:启动ADC开始转换
    参数:ADC_HandleTypeDef *  hadc  句柄
    返回值:   状态

2)等待转换结束

  HAL_StatusTypeDef HAL_ADC_PollForConversion  (ADC_HandleTypeDef * hadc, uint32_t Timeout)
  功能:等待转换完成
  参数:   ADC_HandleTypeDef * hadc   句柄   
               uint32_t Timeout    超时时间
   返回值好:转换状态

3)获取转换结果

    uint32_t HAL_ADC_GetValue (ADC_HandleTypeDef * hadc)
   功能:获取转换结果
   参数:ADC_HandleTypeDef * hadc 句柄
   返回值:转换结果

4)停止ADC

 HAL_StatusTypeDef HAL_ADC_Stop (ADC_HandleTypeDef *  hadc)
 功能:停止ADC
  参数:ADC_HandleTypeDef *  hadc  句柄
  返回值: 状态       

5)串口输出转换结果
重定向printf到串口,再通过printf输出转换结果
ADC(模数转换)详解

多通道扫描模式单次转换

  1. 将PA1(多向按键)设置为ADC的输入通道

ADC(模数转换)详解

  1. 选择序列-扫描模式
    ADC(模数转换)详解

  2. 编程实现
    现在有两个通道需要转换且获取结果,当第一个通道转换完成时,会产生一个EOC信号,当整个序列转换完成时,会产生一个EOS信号
    ADCx_ISR 中断和状态寄存器
    ADC(模数转换)详解
    ADC(模数转换)详解
    ADC(模数转换)详解
    ADC(模数转换)详解文章来源地址https://www.toymoban.com/news/detail-495516.html

到了这里,关于ADC(模数转换)详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32笔记(1)———ADC模数转换器原理及单、双通道转换

    ADC(Analog-Digital Converter),意即模拟-数字转换器,简称模数转换器。 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。 DAC:数字到模拟的桥梁(PWM控制灯的亮度和电机旋转的速度,DAC的使用只要是在信号发生器、音频解码

    2024年02月04日
    浏览(43)
  • STM32读取24位模数转换(24bit ADC)芯片HX711数据

    HX711是一款国产低成本24位ADC芯片,常用于与称重传感器配合实现体重计的应用。这里介绍STM32读取HX711的电路和代码实现。 HX711的内部原理如下图所示: 市面上有普通和带屏蔽的两种模块: STM32可直接与HX711进行连接,选择2个具有FT(5V耐压)的管脚,将其中对应时钟输出的管

    2023年04月08日
    浏览(70)
  • 【第五章】STM32-ADC模数转换(2.AD多通道+DMA转运实验)

    我们在上一节已经了解了ADC以及AD单通道采集的过程,那么既然有AD单通道,那么必然有AD多通道,上一节也已经铺垫了一下: 【问】如果一个规则组同时用多个通道采集数据,那么数据如何读取?                                              --DMA--    

    2024年04月26日
    浏览(37)
  • STM32读取24位模数转换(24bit ADC)芯片ADS1231数据

    ADS1231是一款TI公司出品的24位ADC芯片,常用于与称重传感器配合实现体重计的应用。这里介绍STM32读取ADS1231的电路和代码实现。ADS1231的特点为通过硬件管脚可控制两种采样速率(10SPS和80SPS),及可以控制芯片上下电以实现低功耗过程控制。 ADS1231的内部原理如下图所示(固定

    2024年02月09日
    浏览(55)
  • STM32读取24位模数转换(24bit ADC)芯片TM7711数据

    TM7711是一款国产低成本24位ADC芯片,常用于与称重传感器配合实现体重计的应用。这里介绍STM32读取TM7711的电路和代码实现。TM7711与HX710A是兼容的芯片,而与HX711在功能上有所不同: HX711具有双通道信号采样,三种放大倍数,支持设置模拟电压AVDD(也是内部参考电压)输出给外

    2023年04月08日
    浏览(71)
  • STM32F4_模数转换器(ADC)详解

    目录 1. ADC是什么 2. ADC主要特性 3. ADC框图 3.1 ADC开关控制 3.2 ADC时钟 3.3 通道选择 3.4 单次转换模式和连续转换模式 3.5 时序图 3.6 模拟看门狗 4 温度传感器 5. ADC中断 6. ADC初始化结构体 6.1 ADC相关实验配置 7. 相关寄存器 7.1 ADC控制寄存器:ADC_CR1和ADC_CR2 7.2 ADC通用控制寄存器:A

    2024年02月15日
    浏览(33)
  • STM32配置读取双路24位模数转换(24bit ADC)芯片CS1238数据

    CS1238是一款国产双路24位ADC芯片,与CS1238对应的单路24位ADC芯片是CS1237,功能上相当于HX711和TM7711的组合。其功能如下所示: 市面上的模块: CS1238内部原理如下所示, VDD是DVDD和AVDD的合并: 有单独的参考电压输入设置管脚,以及内部输出与VDD同电压的参考输出电压,可选连接到

    2024年02月16日
    浏览(43)
  • STM32模拟SPI协议获取24位模数转换(24bit ADC)芯片AD7791电压采样数据

    STM32大部分芯片只有12位的ADC采样性能,如果要实现更高精度的模数转换如24位ADC采样,则需要连接外部ADC实现。AD7791是亚德诺(ADI)半导体一款用于低功耗、24位Σ-Δ型模数转换器(ADC) ,适合低频测量应用,提供50 Hz/60 Hz同步抑制。 这里介绍基于AD7791的24位ADC采样实现。 AD7791的管脚

    2024年02月09日
    浏览(58)
  • STM32 MCO+SPI获取24位模数转换(24bit ADC)高速芯片ADS1271采样数据

    STM32大部分芯片只有12位的ADC采样性能,如果要实现更高精度的模数转换如24位ADC采样,则需要连接外部ADC实现。ADS1271是 TI公司一款高速24位Σ-Δ型模数转换器(ADC) ,数据率达到105K SPS, 即一秒可以采样105000次。 这里介绍基于ADS1271的24位ADC采样实现。采用STM32CUBEIDE开发工具,以S

    2024年02月16日
    浏览(36)
  • CAN学习笔记3:STM32 CAN控制器介绍

    STM32 CAN控制器(bxCAN),支持CAN 2.0A 和 CAN 2.0B Active版本协议。CAN 2.0A 只能处理标准数据帧且扩展帧的内容会识别错误,而CAN 2.0B Active 可以处理标准数据帧和扩展数据帧。 波特率最高可达1M bps 支持时间触发通信(CAN的硬件内部定时器可以在TX/RX的帧起始位的采样点位置生成时

    2024年02月15日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包