STM32 ADC基础知识讲解

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


前言

在正式的学习如何编写ADC代码时我们先来学习一下ADC的基础知识部分,只有掌握好了这些基础知识才能顺利的进行后面的代码编写。

一、ADC的基本介绍

ADC 指的是模数转换器(Analog-to-Digital Converter),它是一种用于将模拟信号转换为数字信号的电子设备或电路。
模拟信号是连续变化的信号,可以取无限个可能的值,而数字信号则是离散的,只能表示有限个数值。ADC 的作用就是将模拟信号转换为离散的数字信号,以便数字电子系统进行处理、存储和传输。
ADC 的基本工作原理是通过一系列的采样和量化过程来实现模拟到数字的转换:

1.采样(Sampling):ADC 根据一定的时间间隔,从模拟信号中获取一系列离散的采样点。采样率决定了采样点的密度,较高的采样率可以更精确地表示原始模拟信号。
2.量化(Quantization):采样得到的模拟信号样本通常是连续的,量化则将每个采样点映射为一个特定的数字值。量化过程将连续的模拟信号离散化,并分配给每个样本一个数字值。
3.编码(Encoding):编码将量化后的数字值表示为二进制形式,以便于数字系统处理。常见的编码方式包括无符号二进制、补码和格雷码等。

ADC 的性能特性受到多个指标的影响,包括分辨率(Resolution)、采样率(Sampling Rate)、信噪比(Signal-to-Noise Ratio,SNR)、线性度(Linearity)和动态范围(Dynamic Range)等。
应用领域广泛的 ADC 包括音频处理、数据采集、传感器测量、工业控制、通信系统等。根据不同应用的需求,ADC 可以有不同的类型和工作原理,如逐次逼近型 ADC、积分型 ADC、闩锁型 ADC、ΔΣ(Delta-Sigma) ADC 等。
总结来说,ADC 是将模拟信号转换为数字信号的设备,广泛应用于各个领域的电子系统中,使得我们能够对模拟信号进行准确地采集、处理和分析。

二、STM32 ADC讲解

1.ADC分辨率

在手册中我们可以看到这款STM32F1的ADC位数是12bit的。

ADC 的分辨率决定了它能够将模拟信号转换为多少不同的数字值。12 位的分辨率意味着 ADC 能够将模拟信号分为 2^12(4096)个离散的量化级别。每个量化级别在数字表示上对应于一个不同的数字值。
stm32 adc扫描模式,STM32框架式编程,stm32,嵌入式硬件,单片机,原力计划

2.ADC通道讲解

这个 ADC 具有 16 个复用通道,可以将转换分为两个组:常规组和注入组。一个组包含一系列的转换,可以在任何通道上以任意顺序进行。例如,可以按照以下顺序进行转换:Ch3, Ch8, Ch2, Ch2, Ch0, Ch2, Ch2, Ch15。

常规组(Regular Group):常规组允许进行按照一定顺序执行的转换。可以选择将转换进行到任意通道,并且可以定义转换的顺序。在常规组中,可以设置转换的采样时间、分辨率和触发方式等参数。通过配置 ADC 控制器和寄存器,可以定义常规组的转换顺序和通道的使用。

注入组(Injected Group):注入组也允许进行按照一定顺序执行的转换,但与常规组不同,注入组通常用于特殊的转换需求,如快速转换、优先级更高的转换等。注入组可以在常规组的转换之间进行插入,以满足特定的应用需求。与常规组类似,可以设置注入组转换的参数和顺序。
stm32 adc扫描模式,STM32框架式编程,stm32,嵌入式硬件,单片机,原力计划

3.ADC转换模式

stm32 adc扫描模式,STM32框架式编程,stm32,嵌入式硬件,单片机,原力计划

单次转换模式

单次转换模式是一种简单的模式,ADC在执行一次转换之后就会停止工作。在单次转换模式下,ADC可以执行以下操作:

通过设置ADC_CR2寄存器中的ADON(ADC使能)位启动转换。对于常规通道,这是最常用的方法。
通过外部触发器(external trigger)启动转换。外部触发器可以是来自其他外设的信号或特定的事件触发源。
一旦选定的通道的转换完成,ADC会采取以下操作:

转换的结果将存储在16位的ADC_DR(数据寄存器)中。
EOC(End Of Conversion)标志位将被设置,指示转换已完成。
如果已启用中断,将产生一个中断以通知转换完成。
单次转换模式适用于那些只需要在特定事件或时间间隔内获取单次模拟信号的应用场景。例如,对于传感器数据采集、触发式数据采集或周期性地获取模拟信号的要求较低的应用。

连续转换模式

连续转换模式允许ADC连续不断地执行模数转换,以持续地获取模拟信号的变化。在连续转换模式下,ADC可以执行以下操作:

通过设置ADC_CR2寄存器中的ADON位启动转换(常规通道)。
通过外部触发器启动转换(常规或注入通道)。
在连续转换模式下,ADC将不断地进行转换,以持续获取选定的通道的模拟信号,直到被显式地停止或发生特定的事件(如中断触发)。

连续转换模式适用于需要持续监测模拟信号变化的应用场景。例如,声音或图像处理、实时控制系统或需要高速数据采集的应用。

4.扫描模式

ADC的扫描模式(Scan mode)是一种工作模式,允许ADC按照预定义的通道顺序对多个通道进行连续的模数转换。

在扫描模式下,ADC可以按照用户指定的通道顺序连续地进行模数转换,而不需要在每次转换中重新配置通道。以下是扫描模式的关键要点:

通道顺序:用户可以定义一组转换通道,并按照特定的顺序执行转换。通常,这个顺序由用户在配置ADC时设置的通道顺序寄存器(例如ADC_SQRx)来确定。

转换顺序:ADC按照预定义的通道顺序执行模数转换。对于每个通道,ADC执行一次转换,并在完成后自动转到下一个通道进行转换,直到转换完所有指定的通道。

转换结果:每个转换的结果将存储在相应的数据寄存器(例如ADC_DR)中。用户可以使用这些数据寄存器来读取每个通道的转换结果。

扫描结束:一旦完成了指定的所有通道的转换,ADC将发出一个扫描结束标志(Scan End Flag)来指示扫描的完成。

扫描模式适用于需要同时或按照特定顺序转换多个模拟信号的应用。它方便地允许将多个模拟输入通道连接到单个ADC,并按照预定义的顺序进行连续转换。例如,当需要监测多个传感器输入或以特定顺序采集不同模拟信号时,扫描模式是非常有用的。
stm32 adc扫描模式,STM32框架式编程,stm32,嵌入式硬件,单片机,原力计划

5.数据对齐方式

左对齐

左对齐(Left-Alignment):
在左对齐模式下,ADC转换结果的最高有效位(MSB)被放置在数据寄存器的最高位(最左侧),而低有效位(LSB)则按照递增的顺序排列在其右侧。也就是说,数据的高位位于数据寄存器的高位,低位填充为零。

D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0

其中D11到D0表示转换结果的有效位。

左对齐的优点是可以直接将转换结果的高位作为有效数据进行处理,对于一些位操作和直接输出到外设的应用比较方便。

右对齐

在右对齐模式下,ADC转换结果的最低有效位(LSB)被放置在数据寄存器的最低位(最右侧),而高位则按照递增的顺序排列。也就是说,数据的低位位于数据寄存器的低位,高位填充为零。

对于12位ADC转换结果的右对齐模式,排列可能如下所示:

0 0 0 0 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

其中D11到D0表示转换结果的有效位。

右对齐的优点是可以将转换结果直接与常量进行比较或进行数值计算,因为有效位的位置是固定的,更方便进行数据处理。
stm32 adc扫描模式,STM32框架式编程,stm32,嵌入式硬件,单片机,原力计划

总结

本篇文章讲解了STM32的ADC的一些基础知识,大家有必要掌握一下。文章来源地址https://www.toymoban.com/news/detail-697985.html

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

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

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

相关文章

  • STM32_基础入门(十三)ADC

    嵌入式之路,贵在日常点滴                                                                 ---阿杰在线送代码 目录 一、ADC简介 二、ADC特点  三、 ADC通道和引脚对应关系 四、 ADC框图 五、 ADC测量的电压范围 六、输入通道分类  ​​七、常用库函数  八、库函数配

    2024年02月04日
    浏览(25)
  • C/C++ stm32基础知识超详细讲解(系统性学习day14)

    目录 前言 一、ARM和STM32是什么? 二、STM32的开发方式 三、GPIO----寄存器开发方式 1.八种输入输出模式分析 2.寄存器  四、stm32芯片图片 五、怎么学好stm32  总结 stm32的广泛含义及背景: STM32是一款由意法半导体(ST)公司开发的32位微控制器,其全称是意法半导体32位系列微控

    2024年02月04日
    浏览(42)
  • STM32H750驱动ADC的一些知识与经验

    1、ClockPrescaler: *ADC 预分频系数选择。 *可选的分频系数为 1、2、4、6、8、10、12、16、32、64、128、256。 *但是请记住,ADC的最大时钟为 36MHZ不管是定时器触发还是软件触发!! 2、Resolution: *ADC 的分辨率。 *可选的分辨率有 16 位、12 位、10 位和 8 位 *16位时需要消耗8.5个ADC时钟

    2024年02月16日
    浏览(47)
  • STM32G070RBT6基于STM32CubeMX自动生成ADC输入电压采样工程全过程讲解

    📌相关篇《【硬件开源电路】STM32G070RBT6开发板》 🛠STM32CubeMX工程配置过程演示 📢Keil工程完成业务代码以及烧录演示放在资源中,gif文件过大无法上传。 📚工程概要 本工程是基于STM32CubeMX工具来配置项目,功能需求:在PA0引脚接入一个外部模拟量信号(单片机能承受的电

    2024年02月01日
    浏览(45)
  • STM32-02-STM32基础知识

    STM32F103 STM32F103是ST公司基于ARM授权Cortex M3内核而设计的一款芯片,而 Cortex M内核 使用的是 ARM v7-M架构 ,是为了替代老旧的单片机而量身定做的一个内核,具有低成本、低功耗、实时性好、中断响应快、处理效率高等特点。 架构 、 内核 、 芯片 的关系: 架构 : (ARMv7-M)

    2024年02月03日
    浏览(41)
  • 【STM32】基础知识 第二课 初识 STM32

    ARM 公司: 只做内核设计和 IP 授权, 不参与芯片设计. 对比项 Cortex-A (Application) Cortex-R (Real-time) Cortex-M (Microcontroller) 特点 高时钟频率, 长流水线, 高性能 较高时钟频率, 较长的流水线, 实时性强 时钟频率较低, 通常较短的流水线, 超低功耗 应用场景 移动计算, 智能手机, 平板电脑

    2024年02月02日
    浏览(45)
  • STM32 MCU ADC详解(1)--初识ADC

    ADC中文全称 模拟数字转换器 ,其主要功能是将模拟信号(通常是连续变化的电压/电流信号)转换成数字信号,提供给程序进行处理。这个转换有什么作用呢?举个例子,当我们在淋浴的时候,感觉到水温过高了,会伸手对开关进行一个调节,这是因为我们大脑对皮肤神经末

    2024年01月23日
    浏览(39)
  • STM32CubeMX教程15 ADC - 多重ADC转换

    开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 野火DAP仿真器 XCOM V2.6串口助手 3个滑动变阻器 使用STM32CubeMX软件配置STM32F407开发板的 ADC实现多重ADC采集 ,具体为使用ADC1_IN5、ADC2_IN6实现二重ADC采集,使用ADC1_IN5、

    2024年01月16日
    浏览(61)
  • STM32 ADC采样

    目录 1.基础概念 2.原理:ADC采样过程分为四步:采样、保持、量化、编码。 3.采样定理 4.采样保持放大器(SHA) 5.ADC电压值转换 6.ADC轮询采样 1.基础概念 ADC 全称:Analog-to-Digital Converter,指模拟/数字转换器,就是将模拟信号转换成数字信号 ①模拟信号:是连续变化的,具有电

    2024年02月04日
    浏览(46)
  • STM32之ADC

    ADC全称: Analog-to-Digital Converter,指模拟/数字转换器,是指将连续变化的模拟信号转换为 离散的数字信号。 量程: 能测量的电压范围。 分辨率: ADC能辨别的最小模拟量,通常以输出二进制数的位数表示,比如:8、10、12、16位等。位数越多,分辨率越高,一般来说分辨率越高,

    2024年02月05日
    浏览(66)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包