同通俗易的理解 ADC

news2024/11/17 16:27:25


理解什么是ADC

文章目录

      1、通俗理解什么是ADC
      2、什么是ADC
      3、ADC的采样率
      4、采样位数
      5、采样精度

ADC实际没有这么的简单,深入了解需要去学各种寄存器之间如何协作,信号如何走通。这些概念在后面会有讲解。

1、通俗理解什么是ADC

完全理解什么是ADC还是比较难的,以下通过举例可以通俗易懂后建议实操一下;

2、什么是ADC

我们在高中物理学习时都了解过电压表,在生活中也都见过。万用表的红表头、黑表头分别去触碰待测电路两端,就可以测出来这段的分压。如果让黑表头去触碰电源的负极,那么测出来的就是红表头所在的地方的电压。

如果测试点是1V,电压表就显示1V,2V呢就显示2V。可以说他们有如下的对应关系

测试点电压

万用表显示的值

0.00V

0V

1.65V

1.65V

3.3V

3.3V

于是我们有了概念:万用表是一种感知电压大小的器件。

ADC也是这样的器件。不过呢ADC不能显示小数,我们以STM32F1单片机12位ADC为例。他只能显示0-4095这些整数。
                                       4095=(1111  1111  1111)二进制=2^{12}-1
这就是12位ADC的含义。

那么ADC的电压对应关系就要改一改,没有像电压表一样一一对应。具体关系如下

测试点电压

ADC的测试值

0V

0

1.65V

2048

3.3V

4096

表1

这个关系如果写成如下公式。

掌握表1对应关系就可以,没必要背公式
                             ADC的返回值=4096\tfrac{?}{3.3V}(?:待测电压)

比如我用ADC去测量1V的电压,那么ADC返回的数值是

                                                       4096*\frac{1}{3.3}=1241

当单片机收到ADC返回的1241,单片机就可以知道待测电压是1V了。

3、ADC的采样率

采样率这个概念需要在使用中去感受,这里就简单提下,在后续的文章中,我们会对他有更加准确的认识

之前我们都是在讨论用ADC去采集直流电压,比如一个稳定的1V。可是如果我们要采集的是一个在不断变化的信号呢?

比如采集1hz正弦信号。我们可以每1s采集一次,那么完全看不出这个信号的变化和波形;但如果我们每100ms采集一次呢,一个信号周期内就采集了10个点,可以大致看出这个信号的波形;如果我们每1ms,每1us采集一次呢?那么这个信号的波形就完全被我们知道了。

上面的1s,100ms,1us分别对应的是1 sps、10 sps、1M sps采样率。采样率表示的是ADC的采样速度。对于不同ADC,有自己的采样率上限的。比如STM32F103的单个ADC采样率支持1hz-1Mhz。

拿1M采样率去采集1K信号,一个周期有1000个点,效果非常好;但是如果1M去采集1M信号,这和每1s去采集一个1hz信号一样,一个周期1个点,根本看不出波形

常用单位:

M=10^{-3},U=10^{-6},N=10^{-9}
K=10^{3},M=10^{6},G=10^{9}

4、采样位数

这个对于初学者来说,可以忽略。当真的要临选择一款合适的ADC时,再来了解这个。先记住,采样位数越高,电压分辨能力越强(可以简单的认为测得越准)

(下面的讨论均默认采样位数=精度位数)

我们回看表1,一个可以测量0-3.3V的12位ADC。他有如下对于关系:

测试点电压

ADC的测试值

0V

0

1.65V

2048

...

...

3.3V

4096


相当于把0-3.3V等比例划分为了4096份,它的电压分辨能力是

                                                          0.0008V=\frac{3.3}{4096}
这是一个什么概念呢?

因为ADC只能返回整数,我们测量0V,ADC返回的是0。我们测量0.0008V,ADC返回的是1。同理,测量0.008V,ADC返回的是10。可是如果我们测量0.0004V呢?他返回的是0,测试结果与测量0V时是一样的。

可以看到12位的ADC是没办法分辨0V和0.0004V,原因在于我们把0-3.3V分成了4096份,这个份数还不够多,要分成8192份。就可以分辨了。
                                                          0.0004V=\frac{3.3}{8192}

这样的话测量0V测到是0,测量0.0004V得到的是1。

测试点电压

ADC的测试值

0V

0

0.0004V

1

...

...

1.65V

4096

...

...

3.3V

8192

上面所提到的4096和8192分别对应着12位ADC,13位ADC。因为

                                                          2^{12}=4096, 2^{13}=8192

ADC位数反应的是电压的分辨能力。一个24位的ADC能非常灵敏的检测到12位ADC感应不到的电压变动。

5、采样精度

这个对于初学者来说,可以忽略。默认采样精度和ADC位数基本成正比就行,ADC位数越高,采集的电压越精确。虽然这样说是错的,但是目前阶段够用。——真理的相对性

这个概念经常和采样位数混淆。精度的概念需要有一定的实际操作后才能理解他的含义。

还是拿0-3.3V的12位ADC为例子。如果我们去测量80mv的信号,理论值应该是

                                                            100=4096*\tfrac{0.08}{3.3}
可是实际我们测量出来的是95-105波动的,这是因为实际上的ADC不是理想器件,他会有误差。一个12位的ADC虽说能分辨0.0008V的电压,但是他的波动电压有10mv,那么这个分辨能力也就失去了他测得准的意义。

因为测得的电压的波动。通常一个12位的ADC只能当作8-9位的理想ADC来用,8-9位就是ADC的采样精度。

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

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

相关文章

UE4_X光效果设置_法线图影响透明度

UE4_X光效果设置_法线图影响透明度 2019-03-22 13:37 Exponentin 设置轮廓光扩散度 baseReflectFactionIn 设置内部黑色的亮度值。nromal,连接应用一张法线图,Lerp两色插值,给两个数值,制造一个渐变。 法线图影响透明度&#xf…

harbor机器断电之后服务正常,但是不能访问问题

1.进到harbor目录查看harbor服务是否正常 2.检查监听端口 3.检查防火墙 4.检查ip端口转发(我这里刚刚开启,之前是关闭的。 1是开起,0是关闭) 5.改为之后重启就可以正常访问了

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《提升光储充电站运行效率的多目标优化配置策略》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Redis的配置文件详解

单位:Redis配置对大小写不敏感! 注意这里:任何写法都可,不区分大小写。 units are case insensitive so 1GB 1Gb 1gB are all the same.包含:搭建Redis集群时,可以使用includes包含其他配置文件网络&…

泰迪·南通师范大数据智能工作室挂牌签约仪式圆满结束

为促进毕业生高质量就业,拓宽就业渠道,加强校企合作,4月2日,泰迪智能科技股份有限公司上海分公司总经理彭艳昆一行来校出席南通师范高等专科学校“泰迪科技南通师范大数据智能工作室”签约揭牌仪式。学校党委副书记陈玉君、科技处…

瑞吉外卖实战学习--16、登录短信验证

登录短信验证 前言环境准备(根据mybatisPlus 规范实体类和接口)1、User实体类2、mapper文件3、service文件4、impl文件5、随机生成验证码的工具类6、发送验证码的工具类7、获取验证码和移动端登录前言 本项目gitee位置:gitee网址 本项目采用的技术是:springboot + mybatis…

c++虚函数表中的内存布局

c虚函数表中的内存布局 1.Class的内存分布2.其他修改Class中变量的方法3.通过虚函数表内存偏移调用虚函数4.继承状态下的虚函数表内存5.派生类函数中多出来的虚函数访问("基类指针指向子类对象") 1.Class的内存分布 #include <iostream>using namespace std;#…

ThreadLocal核心源码阅读

1. 概述 ThreadLocal为每个使用该变量的线程提供独立的变量副本&#xff0c;因此每一个线程都可以独立地改变自己的副本&#xff0c;而不会影响其他线程。 入门例子&#xff1a; public class ThreadLocalStudy {static ThreadLocal<String> stringThreadLocal new T…

Python爬取公众号封面图(零基础也能看懂)

&#x1f4da;博客主页&#xff1a;knighthood2001 ✨公众号&#xff1a;认知up吧 &#xff08;目前正在带领大家一起提升认知&#xff0c;感兴趣可以来围观一下&#xff09; &#x1f383;知识星球&#xff1a;【认知up吧|成长|副业】介绍 ❤️感谢大家点赞&#x1f44d;&…

刷题之Leetcode209题(超级详细)

209.长度最小的子数组 力扣题目链接(opens new window)https://leetcode.cn/problems/minimum-size-subarray-sum/ 给定一个含有 n 个正整数的数组和一个正整数 s &#xff0c;找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组&#xff0c;并返回其长度。如果不存在符合条…

地面站Mission Planner从源码编译与运行

0. 环境 - win10&#xff08;基本需要100G硬盘&#xff09; - ubuntu18 1. 安装vs2022 下载 vs2022 community 在线安装包。 https://visualstudio.microsoft.com/ 打开 Visual Studio Installer 先安装 Visual Studio Community 2022本体。占用1.2GB。 Visual Studio Inst…

树状数组相关题目

题目一 方法一 归并分治 代码&#xff1a; # include <stdio.h>int arr[100]; int help[100];int n;//归并分治 // 1.统计i、j来自 l~r 范围的情况下&#xff0c;逆序对数量 // 2.统计完成后&#xff0c;让arr[l...r]变成有序的 int f(int l, int r) {if (l r)return…

html写一个登录注册页面

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册登录界面Ⅰ</title><link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.mi…

CSS属性计算逻辑

CSS 属性计算逻辑 首先&#xff0c;假设在 HTML 中有这么一段代码&#xff0c;在 body 中有一个 h1 标题&#xff1a; <body><h1>这是一个h1标题</h1> </body>目前我们没有设置该 h1 的任何样式&#xff0c;但是却能看到该 h1 有一定的默认样式&…

PHP实现网站微信扫码关注公众号后自动注册登陆实现方法及代码【关注收藏】

在网站注册登陆这环节&#xff0c;增加微信扫码注册登陆&#xff0c;普通的方法需要开通微信开发者平台&#xff0c;生成二维码扫码后才能获取用户的uinonid或openid&#xff0c;实现注册登陆&#xff0c;但这样比较麻烦还要企业认证交费开发者平台&#xff0c;而且没有和公众号…

Linux:五种IO模型的基本认识

文章目录 IO的本质五种IO模型异步和同步 阻塞IO非阻塞IO信号驱动IO IO的本质 在之前的内容中已经结束了对于网络和操作系统的学习&#xff0c;那么回过来再继续看IO&#xff0c;什么是IO呢&#xff1f; 对于网络的学习当中&#xff0c;实际上也是一种IO&#xff0c;数据从计算…

基于单片机钢琴电子节拍器系统设计

**单片机设计介绍&#xff0c;基于单片机钢琴电子节拍器系统设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机钢琴电子节拍器系统设计是一个综合性的项目&#xff0c;它结合了单片机编程、音频处理、用户界面设计等多个领域的…

Ai软件下载安装 Adobe Illustrator一键安装 5分钟搞定

ai软件又叫adobe illustrator软件,它是设计者们比较常用的平面设计软件,不仅可以用来学习日常的学习设计,还能够用作于商业设计用途,作为一款全球知名的矢量图形处理工具,ai软件广泛应用于印刷出版、海报书籍排版、专业插画、多媒体图像处理和互联网页面的制作等.从事设计行业的…

Ceph学习 - 2.分布式文件系统DFS

文章目录 1.分布式文件系统DFS1.1 DFS简介1.1.1 存储基础1.1.2 分布式文件系统1.1.3 DSS简介1.1.4 常见的文件系统 1.2 原理解读1.2.1 分布式数据存储1.2.2 存储角色1.2.3 数据高可用 1.3 小结 1.分布式文件系统DFS 学习目标&#xff1a;这一节&#xff0c;我们从DFS简介、原理…

《MATLAB科研绘图与学术图表绘制从入门到精通》

解锁MATLAB科研绘图魅力&#xff0c;让数据可视化成为你的科研利器&#xff01; 1.零基础快速入门&#xff1a;软件操作实战案例图文、代码结合讲解&#xff0c;从入门到精通快速高效。 2.多种科研绘图方法&#xff1a;科研绘图基础变量图形极坐标图形3D图形地理信息可视化等&a…