ADC--模拟量转换成数字量

2024-02-17 21:28
文章标签 adc 转换成 数字 模拟量

本文主要是介绍ADC--模拟量转换成数字量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、ADC硬件组成七大部分:

二、单次转换,连续转换,不连续采样模式,扫描模式区别

1、举例(5种组合情况)

2、模拟看门狗中断的作用:

三、MCU使用ADC步骤


一、ADC硬件组成七大部分:

①输入电压:

(1) ADC 输入范围 VREF–≤VIN≤VREF+

② 输入通道

(1) ADC 的输入通道, ADC1 有 16 个外部通道和 3 个内部通道,而 ADC2和 ADC3 只有有 16 个外部通道。 ADC1 的外部通道是通道 17、通道 18 和通道 19,分别连接到内部温度传感器、内部 Vrefint和 Vbat,具体的外部通道对应的GPIO引脚,要看对应的芯片手册,比如STM32F407的ADC通道:

③ 转换顺序

(1)规则组:每个外部通道,都可以放入规则组的任何序列,由SQR1、 SQR2 和 SQR3 寄存器决定,转换顺序由序列组决定,从小到大,序列组的长度由SQL 寄存器决定。

(2)注入组

转换顺序由序列组决定,从小到大;但注入组可以中断到规则组先转换。

④ 触发源

(1)软件触发(常用):通过写 ADC_CR2 寄存器的 ADON 这个位来控制,写 1 就开始转换,写 0 就停止转换,

(2)硬件触发:定时器事件,外部中断。

⑤ 转换时间

(1) STM32F407 的 ADC 总转换时间的计算公式如下: 

TCONV = 采样时间(至少三个时钟周期) + 12 个周期(逐次逼近型转换决定)

ADC的时钟频率:不高于36M Hz

(2)由于ADC在STM32中是挂载在APB2总线上的,所以ADC得时钟是由PCLK2(72MHz)经过分频得到的。

⑥ 数据寄存器

ADC 转换完成后的数据输出寄存器。根据转换组的不同,规则组的完成转换的数据输出到ADC_DR 寄存器,注入组的完成转换的数据输出到 ADC_JDRx 寄存器:

(1)规则组:16个规则通道共用一个ADC_DR 寄存器保存转换结果,所以多通道转换要用扫描模式,并且要开DMA保存转换结果。

(2)注入组:4个注入通道分别对应四个ADC_JDRx 寄存器保存转换结果。

⑦ 中断

(1)规则和注入组转换结束时能产生中断;

(2)当模拟看门狗状态位被设置时也能产生中断 ;

(3)规则和注入组转换结束时还可以产生 DMA 请求,把转换好的数据存储在内存里面,防止读取不及时数据被覆盖。

二、单次转换,连续转换,不连续采样模式,扫描模式区别

1、举例(5种组合情况)

用ADC1 规则通道的顺序为CH0,CH1,CH2,CH3,

(1) 在单次转换模式下,不启动SCAN模式

启动ADC1,则

a、开始转换CH0(ADC_SQR的第一通道)

b、转换完成后停止,等待ADC的下一次启动,继续从第一步开始转换

(2) 在单次转换模式下,启动SCAN模式

启动ADC1,则

a、 开始转换CH0

b、转换完成后自动开始转换CH1

c、转换完成后自动开始转换CH2

d、 转换完成后自动开始转换CH3

e、转换完成后停止,等待ADC的下一次启动下一次ADC启动后从第一步开始转换

(3) 在连续转换模式下,不启动SCAN模式

启动ADC1,则

a、开始转换CH0(ADC_SQR的第一通道)

b、转换完成后回到第一步,继续转换

(4) 在连续转换模式下,启动SCAN模式下:

启动ADC1,则

a、开始转换CH0

b、转换完成后自动开始转换CH1

c、转换完成后自动开始转换CH2

d、转换完成后自动开始转换CH3

e、转换完成后返回第一步,继续转换

(5)不连续采样模式举例:

规则组:

ADC多通道必须开启扫描模式此模式必须搭配DMA功能才能实现ADC的数据处理,注意;另外DMA只能用于ADC的规则序列,不能用于注入序列

2、模拟看门狗中断的作用:

(1)掉电检测

(2)程序可以基于各通道的转换结果进行合法性或安全性监测,此时使用ADC模拟看门狗功能就很方便。我们可以先让模拟看门狗做第一步把关,只有出现异常数据时才去进一步检查确认。

(3)模拟看门狗可以设置为多通道和单通道模式,即可以通过设置相应的寄存器位来选择某一通道或多通道打开模拟看门狗检测:

4、多通道扫描模式开启DMA?

三、MCU使用ADC步骤

这篇关于ADC--模拟量转换成数字量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/719033

相关文章

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

webm怎么转换成mp4?这几种方法超多人在用!

webm怎么转换成mp4?WebM作为一种新兴的视频编码格式,近年来逐渐进入大众视野,其背后承载着诸多优势,但同时也伴随着不容忽视的局限性,首要挑战在于其兼容性边界,尽管WebM已广泛适应于众多网站与软件平台,但在特定应用环境或老旧设备上,其兼容难题依旧凸显,为用户体验带来不便,再者,WebM格式的非普适性也体现在编辑流程上,由于它并非行业内的通用标准,编辑过程中可能会遭遇格式不兼容的障碍,导致操

多重背包转换成0-1背包

http://acm.hdu.edu.cn/showproblem.php?pid=2191 多重背包特点: 一种物品有C个(既不是固定的1个,也不是无数个) 优化的方法: 运用神奇的二进制,进行物品拆分,转化成01背包 物品拆分,把13个相同的物品分成4组(1,2,4,6) 用这4组可以组成任意一个1~13之间的数! 原理:一个数总可以用2^

Prompt - 将图片的表格转换成Markdown

Prompt - 将图片的表格转换成Markdown 0. 引言1. 提示词2. 原始版本 0. 引言 最近尝试将图片中的表格转换成Markdown格式,需要不断条件和优化提示词。记录一下调整好的提示词,以后在继续优化迭代。 1. 提示词 英文版本: You are an AI assistant tasked with extracting the content of

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

STM32 ADC+DMA导致写FLASH失败

最近用STM32G070系列的ADC+DMA采样时,遇到了一些小坑记录一下; 一、ADC+DMA采样时进入死循环; 解决方法:ADC-dma死循环问题_stm32 adc dma死机-CSDN博客 将ADC的DMA中断调整为最高,且增大ADCHAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_Buffer_Size); 的ADC_Bu

AIGC6: 走进腾讯数字盛会

图中是一个程序员,去参加一个技术盛会。AI大潮下,五颜六色,各种不确定。 背景 AI对各行各业的冲击越来越大,身处职场的我也能清晰的感受到。 我所在的行业为全球客服外包行业。 业务模式为: 为国际跨境公司提供不同地区不同语言的客服外包解决方案,除了人力,还有软件系统。 软件系统主要是提供了客服跟客人的渠道沟通和工单管理,内部管理跟甲方的合同对接,绩效评估,BI数据透视。 客服跟客人

NC 把数字翻译成字符串

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 有一种将字母编码成数字的方式:‘a’->1, ‘b->2’, … , ‘z->26’。 现在给一串数字,返回有多少种可能的译码结果 import java.u

34465A-61/2 数字万用表(六位半)

34465A-61/2 数字万用表(六位半) 文章目录 34465A-61/2 数字万用表(六位半)前言一、测DC/AC电压二、测DC/AC电流四、测电阻五、测电容六、测二极管七、保存截图流程 前言 1、6位半数字万用表通常具有200,000个计数器,可以显示最大为199999的数值。相比普通数字万用表,6位半万用表具有更高的测量分辨率和更高的测量准确度,适用于精度比较高的测