stm32入门教程--ADC模拟-数字转换器

news2024/10/25 21:49:32

ADC(Analog-Digital Converter)模拟-数字转换器

ADC可以将引脚上连续变化的模拟电压转你换位内存中存储的数字变量,建立模拟电路到数字电路的桥梁。

12位逐次逼近型ADC,1us转换时间

输入电压范围:0-3.3V转换结果范围:0-4095

18个输入通道,可以测量16个外部和2个内部信号源

规则组和注入组两个转换单元

模拟看门狗自动检测输入电压范围

STM32F1系列的ADC介绍

        STM32F1的ADC为12位ADC,是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部 信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右 对齐方式存储在16位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。 ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。

ADC转换时间:

STM32F103xx增强型产品:时钟为56MHz时为1us(时钟为72MHz为1.17us)

STM32F101xx基本型产品:时钟为28MHz时为1us(时钟为36MHz为1.55us)

STM32F102xxUSB型产品:时钟为48MHz时为1.2us

STM32F105xx和STM32F107xx产品:时钟为56Mhz时为1us(时钟为72MHz为1.17us)

工作原理

STM32的ADC模块通常基于逐次逼近寄存器(SAR)架构,其工作原理包括采样、转换和数据存储三个阶段。在采样阶段,ADC将模拟输入信号保持在采样电容上,以稳定输入电压。在转换阶段,ADC通过逐次逼近算法,将模拟电压与参考电压进行比较,生成相应的数字值。最后,在数据存储阶段,转换完成的数字值被存储在数据寄存器中,供CPU读取或通过DMA(Direct Memory Access,直接存储器访问)传输到内存。

关键参数

  1. 分辨率:通常以位(bit)表示,决定了数字输出的精度。例如,12位ADC可以将输入电压分辨为4096(2¹²)个不同的数字值。
  2. 采样率:单位时间内采样的次数,决定了ADC能够捕捉的信号变化速度。
  3. 输入通道数:ADC可以同时采集的模拟输入信号数量。STM32的ADC模块支持多个输入通道,用户可以通过配置选择不同的输入源。
  4. 转换精度:包括信噪比(SNR)、总谐波失真(THD)等指标,反映ADC的性能。
  5. 功耗:ADC在工作时消耗的电能,影响整体系统的能效。

工作模式

STM32的ADC支持多种工作模式,以适应不同的应用需求:

  1. 单次转换模式:每次触发只进行一次ADC转换,适用于不频繁采样的应用。
  2. 连续转换模式:持续不断地进行ADC转换,适用于需要连续数据流的应用,如音频采集。
  3. 扫描模式:在单次或连续转换模式下,依次转换多个通道,适用于多通道数据采集。
  4. 注入转换模式:用于优先级更高的ADC转换任务,通常与常规转换并行工作。
  5. 双ADC模式:多个ADC模块协同工作,提高采样速度和数据精度。

配置步骤

在STM32中配置ADC通常包括以下几个步骤:

  1. 启用相应的时钟信号。
  2. 将ADC输入引脚配置为模拟模式,避免数字干扰。
  3. 使用HAL库或其他库函数配置ADC的基本参数,如分辨率、采样时间、扫描模式等。
  4. 配置ADC通道,选择要转换的ADC通道,并设置相应的采样时间。
  5. 根据工作模式选择不同的启动方法,如单次转换或连续转换。
  6. 读取转换结果,可以使用DMA通道将转换结果直接存储到内存,也可以直接读取寄存器中的值。

实际应用

STM32的ADC模块在传感器数据采集、温度监测、音频信号处理等方面具有广泛应用。例如,在温度监测系统中,可以通过ADC采集温度传感器的模拟信号,并将其转换为数字信号进行处理和显示。在音频信号处理中,ADC可以将模拟音频信号转换为数字音频信号,进行后续的数字信号处理和分析。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2223572.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MCK主机加固与防漏扫的深度解析

在当今这个信息化飞速发展的时代,网络安全成为了企业不可忽视的重要议题。漏洞扫描,简称漏扫,是一种旨在发现计算机系统、网络或应用程序中潜在安全漏洞的技术手段。通过自动化工具,漏扫能够识别出系统中存在的已知漏洞&#xff0…

基于大型语言模型的智能网页抓取

Google Gemini 是 Google AI 创建的大型语言模型 (LLM) 系列,可提供最先进的 AI 功能。Gemini 模型包括: Gemini Ultra — 最大、最强大的模型,擅长处理编码、逻辑推理和创意协作等复杂任务。可通过 Gemini Advanced(原名 Bard&a…

使用QT绘图控件QCustomPlot绘制波形图

使用QT绘图控件QCustomPlot绘制波形图 下载QCustomPlot 下载QCustomPlot,链接路径 解压之后就能看到源代码了 在Qt中添加QCustomPlot的帮助文档 在Qt Creator的菜单:工具–>选项–>帮助–>文档–>添加qcustomplot\documentation\qcustomplot.qch文件。

《PP-OCRv1》论文精读:PaddleOCR是目前SOTA级别的OCR开源技术(截止2024年10月)

PP-OCR: A Practical Ultra Lightweight OCR System论文地址PP-OCRv2: Bag of Tricks for Ultra Lightweight OCR System论文地址PP-OCRv3: More Attempts for the Improvement of Ultra Lightweight OCR System论文地址PaddleOCR Github OCR工具库 43.5K个star PP-OCRv1由百度…

CMU生成式人工智能大模型:从入门到放弃(四)

引言 在之前的系列博客中,我们深入探讨了生成式AI的基础知识、大型语言模型的发展,以及如何通过递归神经网络(RNN)和Transformer模型来学习语言模型。今天,我们将转向计算机视觉领域,探讨预训练与微调的概…

STM32--SPI原理及应用

1.什么是SPI SPI,Serial Peripheral interface,串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。 2.SPI基本特性 SPI,是一种高速全双工的通信总线。广泛地应用在ADC、LCD等设备与MCU间,适用于对通…

微前端架构新选择:micro-app 框架一文全解析

目录 前言技术方案沙箱withiframe 环境变量主应用生命周期子应用生命周期初始化更新卸载缓存 JS 沙箱样式隔离元素隔离路由系统⭐数据通信⭐资源系统预加载umd 模式其他功能调试工具 前言 https://micro-zoe.github.io/micro-app/ micro-app 是由京东前端团队推出的一款微前端…

Qt 支持打包成安卓

1. 打开维护Qt,双击MaintenanceTool.exe 2.登陆进去,默认是添加或移除组件,点击下一步, 勾选Android, 点击下一步 3.更新安装中 4.进度100%,完成安装,重启。 5.打开 Qt Creator,编辑-》Preferences... 6.进…

【力扣】[Java版] 刷题笔记-21. 合并两个有序链表

题目: 21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 解题思路 从题目和示例可以看出,应该是要循环遍历链表进行比较,然后组成新的链表。 第一种:递归…

人工智能_机器学习100_PCA数据降维算法_协方差和散度矩阵_深入理解_分析_协方差和散度矩阵计算过程---人工智能工作笔记0225

其实上一节我们已经把协方差和散度矩阵都已经说过一遍了。 1.可以看到平均值,我们不用再看了,这里面有一个样本平均值可以看到,其实就是样品样本的总和除以样本的均值. 2.然后样本方差这里我们需要注意一下样本方差和全体方差的区别。样本方差除以的是n-1。因为样本方差,…

基于微博评论的自然语言处理情感分析

目录 一、项目概述 二、需要解决的问题 三、数据预处理 1、词汇表构建(vocab_creat.py) 2、数据集加载(load_dataset.py) 四、模型构建(TextRNN.py) 1、嵌入层(Embedding Layer&#xff…

2024年10月21日计算机网络,乌蒙第一部分

【互联网数据传输原理 |OSI七层网络参考模型】 https://www.bilibili.com/video/BV1EU4y1v7ju/?share_sourcecopy_web&vd_source476fcb3b552dae37b7e82015a682a972 mac地址相当于是名字,ip地址相当于是住址,端口相当于是发送的东西拿什…

任务间通信(1)

任务间通信 目录 任务间通信 回顾 -- WiFi模块:1、所有和服务器相关的操作,2、可以实现局域网通信 -- 操作系统(Freertos): FreeRTOS之任务间通信 消息队列 信号量 更改接收数据方式 互斥量 回顾 -- 我们要…

CSS设置层叠样式时报红(identifier expected css/selector expected css)

不规范语法 如上图所示,在一个 css 文件中添加层叠样式时报红:at-rule or selector expected,意思就是说我们的语句不符合 css 的语法书写规范,虽然不会导致启动报错并且还能达到预期的样式效果,但是对于有强迫症的同学…

Python爬虫进阶(实战篇一)

接,基础篇,链接:python爬虫入门(所有演示代码,均有逐行分析!)-CSDN博客 目录 1.爬取博客网站全部文章列表 ps:补充(正则表达式) 爬虫实现 爬虫代码: 2.爬…

java控制台打印乘法口诀表

目录 前言具体代码完整代码 前言 背乘法口诀表我没记错话,应该是我们在上小学二年级的时候,相信大家对乘法表相当熟悉,那你知道如何用java打印这个漂亮的表吗?下面咱们一起来学习学习。 具体代码 数字乘法表 关键代码&#xf…

shell编程实例1—猜数字游戏

脚本生成一个100以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了, 猜小了或猜大了,直至用户才对数字结束 #!/bin/bash #脚本生成一个100以内的随机数,提示用户猜数字,根据用户的输…

大模型生图安全疫苗注入——进阶解决方案与系统优化(DataWhale组队学习)

引言 大家好,我是GISer Liu😁,上篇博客中,我们基于DataWhale 2024年10月大模型生图安全疫苗注入赛道的任务,介绍了攻击与防御的基本策略,如通过上下文稀释法、隐喻替换等绕过检测机制,并提出了多…

分布式IO模拟量模块:多领域应用的高效能解决方案

分布式IO模拟量模块是分布式IO系统中的重要组件,用于实现现场设备或过程的模拟量信号的采集、监视和控制。该模块通常与现场总线耦合器配合使用,能够接收来自现场设备的模拟量信号(如电流、电压等),并将其转换为数字信…

利用飞腾派进行OpenCV开发

实验目标: 完成飞腾平台OpenCV开发。 实验大纲: Mat数据结构加载、显示、保存图像读写像素RGB图像分离彩色图转灰度图 Mat数据结构 Mat是一个类,由两个数据部分组成:矩阵头(大小,通道,数据类型等)和数据块(像素 值)。创建示例…