ADC模拟/数字转换器

ADC是什么?

全称: Analog-to-Digital Converter ,指模拟 / 数字转换器
它是一种电子设备或电路,用于将连续的模拟信号转换为相应的数字形式,以便于数字系统进行处理。模拟信号是连续变化的,而数字系统则处理离散的数字信号。
ADC的工作原理是采样和量化。采样是指按照一定的时间间隔测量模拟信号的值,而量化则是将这些连续的模拟值映射为离散的数字值。ADC通常具有不同的性能参数,如分辨率(量化级别)、采样率、精度等,这些参数决定了其性能和适用范围。

ADC的性能指标

  • 量程:能测量的电压范围
  • 分辨率:ADC能辨别的最小模拟量,通常以输出二进制数的位数表示,比如:81012
  • 16位等;位数越多,分辨率越高,一般来说分辨率越高,转化时间越长
  • 转化时间:从转换开始到获得稳定的数字量输出所需要的时间称为转换时间

ADC特性

  • 12位精度下转换速度可高达1MHZ
  • 供电电压:V SSA 0VV DDA 2.4V~3.6V
  • ADC输入范围:VREF- ≤ VIN ≤ VREF+
  • 采样时间可配置,采样时间越长, 转换结果相对越准确, 但是转换速度就越慢
  • ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中

ADC通道

总共 2 ADC ADC1 ADC2 ),每个 ADC 18 个转换通道 : 16 个外部通道、 2 个内部通道(温度
传感器、内部参考电压)。
外部的 16 个通道在转换时又分为规则通道和注入通道,其中规则通道最多有 16 路,注入通道最多
4 路。
规则组:正常排队的人;
注入组:有特权的人(军人、孕妇)

 

 ADC转换顺序

  • 每个ADC只有一个数据寄存器,16个通道一起共用这个寄存器,所以需要指定规则转换通道的转换顺序。
  • 规则通道中的转换顺序由三个寄存器控制:SQR1SQR2SQR3,它们都是32位寄存器。
  • SQR寄存器控制着转换通道的数目和转换顺序,只要在对应的寄存器位SQx中写入相应的通道,这个通道就是第x个转换

 

和规则通道转换顺序的控制一样,注入通道的转换也是通过注入寄存器来控制,只不过只有一个
JSQR 寄存器来控制,控制关系如下:

 

注入序列的转换顺序是从 JSQx[ 4 : 0 ] x=4-JL[1:0] )开始。只有当 JL=4 的时候,注入通道的转换
顺序才会按照 JSQ1 JSQ2 JSQ3 JSQ4 的顺序执行。

ADC触发方式

  1. 通过向控制寄存器ADC-CR2ADON位写1来开启转换,写0停止转换。
  2. 也可以通过外部事件(如定时器)进行转换。

 ADC转化时间

ADC 是挂载在 APB2 总线( PCLK2 )上的,经过分频器得到 ADC 时钟( ADCCLK ),最高 14 MHz
转换时间 = 采样时间 +12.5 个周期
 12.5 个周期是固定的,一般我们设置 PCLK2=72M ,经过 ADC 预分频器能分频到最大的时钟只能
12M ,采样周期设置为 1.5 个周期,算出最短的转换时间为 1.17us

在STM32系列微控制器中,PCLK2是ADC(模数转换器)的时钟。ADC预分频器用于将PCLK2分频以得到ADC的时钟。ADC时钟的最大频率由ADC的最大工作频率决定。对于STM32系列微控制器,ADC的最大时钟频率一般为14 MHz。

假设你设置PCLK2为72 MHz,然后通过ADC预分频器进行分频,得到的ADC时钟最大频率为:

                                        最大ADC时钟频率=PCLK2/分频因子

ADC转化模式

扫描模式
  • 关闭扫描模式:只转换ADC_SQRxADC_JSQR选中的第一个通道
  • 打开扫描模式:扫描所有被ADC_SQRxADC_JSQR选中的所有通道
单次转换/连续转换
  • 单次转换:只转换一次
  • 连续转换:转换一次之后,立马进行下一次转换

 

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

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

相关文章

sensitive-word 敏感词之 DFA 双数组实现源码学习

拓展阅读 敏感词工具实现思路 DFA 算法讲解 敏感词库优化流程 java 如何实现开箱即用的敏感词控台服务? 各大平台连敏感词库都没有的吗? v0.10.0-脏词分类标签初步支持 v0.11.0-敏感词新特性:忽略无意义的字符,词标签字典 …

分享一个项目——Sambert UI 声音克隆

文章目录 前言一、运行ipynb二、数据标注三、训练四、生成总结 前言 原教程视频 项目链接 运行一个ipynb,就可操作 总共四步 1)运行ipynb 2)数据标注 3)训练 4)生成 一、运行ipynb 等运行完毕后,获得该…

全国1900+监测站点空气质量日数据,shp/excel格式,2023年最新数据

基本信息. 数据名称: 全国1900监测站点空气质量监测日数据 数据格式: shpexcel 时间版本:2023年 数据几何类型: 点 数据精度:全国 数据坐标系: WGS84 数据来源:网络公开数据 数据字段: 序号字段名称字段说明1province省…

echarts饼图点击区块事件

loadEchart: function (echartname, data) {option {title: {text: ,subtext: ,left: center},tooltip: {trigger: item,formatter: {c}%},legend: {orient: vertical,left: left,},series: [{name: ,type: pie,radius: 70%,data: [[name>合同额,value>12312312],],labe…

ros2机器人在gazebo中移动方案

原文连接Gazebo - Docs: Moving the robot (gazebosim.org) 很重要的地方:使用虚拟机运行Ubuntu的时候,需要关闭”加速3D图形“的那个选项,否则gazebo无法正常显示。 Moving the robot(使用命令移动机器人示例) In t…

SpringBoot知识点回顾01

Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 Spring是如何简化Java开发的 为了降低Java开发的复杂性,Spring采用了以下4种关键策略: 1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean; 2、通…

《JVM由浅入深学习【一】 2023-12-19》JVM由简入深学习提升

JVM由浅入深一(类加载) JVM的类加载1. java运行时是什么时候被加载的?2. JVM类加载过程大致阶段3. 父类与子类初始化各个类型顺序4. 什么是类加载器?6. 双亲委派机制 JVM的类加载 1. java运行时是什么时候被加载的? …

TikTok获客工具开发,这些代码不能少!

随着TikTok的全球影响力不断扩大,越来越多的企业和个人开始将目光投向这个短视频平台。 为了在竞争激烈的市场中脱颖而出,开发一款高效的TikTok获客工具成为了迫切的需求,而在开发过程中,掌握一些基础源代码是必不可少的。 本文…

虾皮ERP系统:提升电商企业管理效率和水平的利器

虾皮ERP(Enterprise Resource Planning,企业资源规划)系统是电商企业管理业务流程和资源的重要工具。通过整合企业的各种功能模块,如采购、销售、库存和财务等,虾皮ERP系统实现了数据共享和流程自动化,从而…

Java自动化测试系列[v1.0.0][多种数据驱动实现附源码]

数据驱动测试是自动化测试中一种重要的设计模式,这种设计模式可以将测试数据和测试代码分开,实现数据与代码解耦,与此同时还能够实现一次任务中使用不同的数据来执行执行相同的测试脚本,因此它会使得我们的代码层次结构清晰&#…

数据结构学习 Leetcode300最长递增子序列

是我在学习动态规划时遇到的一道题。 题目: 一共有两种解法: 动态规划贪心 二分(很难理解,我还没完全懂。。。) 解法一:动态规划 思路: 状态:nums的前i个数的最长递增子序列。dp…

天空卫士协助蒙牛打造数据安全堡垒

“真正的世界领先不光是看规模和销量,还要看给行业、给消费者、给这个世界带来更多的价值与贡献。” ——蒙牛总裁 卢敏放蒙牛集团1999年成立于内蒙古自治区,总部位于呼和浩特,是全球乳业八强。除中国内地外,蒙牛产品还进入了东南…

量子登月计划!Infleqtion与日本JST研发中性原子量子计算机

​(图片来源:网络) 美国量子信息公司Infleqtion,已被日本科学技术振兴机构(JST)选定为“量子登月计划”唯一的外国量子计算合作伙伴。该计划旨在增强日本的量子技术能力,预计将在2050年之前对日…

LDO的工作原理

LDO,全称是低压差线性稳压器。LDO使用的是在线性区域内运行的晶体管或者场效应管。通过调节晶体管或场效应管两端的电压,产生经过调整过的输出电压。 但仅能使用在降压应用中,也就是输出电压必须小于输入电压。 LDO内部基本都是由4大部件构成…

前端加密后端校验(MD5)

前端加密后端校验(MD5) 因为md5是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的密文。因此校验可以比较加密之后的密文是否相同。 前端 md5 加密工具类(js): https://pan.baidu.…

Java8中的流如何正确使用?

Java 8引入的流(Stream)是一种强大而灵活的处理数据集合的方式。流提供了一种声明性的编程风格,使得对数据的操作更为简洁和可读。以下是一些关于如何正确使用Java 8中的流的建议: 创建流: 使用Collection接口的stream…

翻译: 负责任的人工智能 Responsible AI

负责任的人工智能指的是以道德、值得信赖和社会负责任的方式开发和使用人工智能。许多开发者、企业和政府都关心这一点,并且一直在进行对话,也在努力确保人工智能的构建和使用是负责任的。由于对负责任的人工智能的所有这些关注和努力,我们在…

信息收集 - 端口

端口 -简介 端口是计算机网络中用于标识特定应用程序或服务的数字标识符。当计算机之间进行通信时,数据传输通过端口进行。每个端口都有一个唯一的数字值,范围从0到65535。 端口分为三类: 知名端口(Well-known Ports):范围从0到1023,这些端口通常被系统或公共服务使用。…

2. 运算符和表达式

2. 运算符和表达式 ​ 在Java中,使用算术运算符、-、*、/表示加、减、乘、除运算。 ​ 当参与/运算时,两个操作数都是整数时,表示整除法;否则表示浮点除法。 ​ 整数的求余操作(取模)用%表示。例如&…

求解器的可行解存在一个允许的误差范围

在模型计算中,由于浮点计算的存在,包括数学建模当中常用的大M法等,都可能会使得结果存在轻微偏离预期的情况。然而,对于一些一定范围内的轻微偏移,我们常常是能够接受的,因为这些轻微的偏移能通过简单的调整…