关于ADC的笔记1

news/2024/12/29 17:28:05/

ADC,全称Anlog-to-Digital Converter,模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件,我们能通过ADC将外界的电压值读入我们的单片机中.

常见的ADC有两种

1.并联比较型:

它的优点是转换速度最快,但也有成本高功耗高、分辨率低的问题。

Vref是参考电压,用来与从v1输入的模拟电压输入进行对比从而获取相应电压值。比较器会一级一级地输出电压,不断逼近我们真实的输入电压。最后从编码器引出3个引脚,这个就是ADC的分辨率。比如最后有12个数字输出引脚,那我们的比较端需要2^12个电阻,2^12-1个比较器,这样才能获得相应精度的电压值。

 2.逐次逼近型:

该类型的模拟/数字转换器的工作原理是这样的:先在数码寄存器中将最高位置1,然后通过D/A转换器将数字量转化为模拟量发送给比较器,让测试电压于模拟输入进行比较,如果模拟输入电压大于等于这个D/A转换器输出的电压,则数码转换器则会将这个1锁定;如果不够大,则置0,然后把下一位置1,再次进行这样的比较,大于等于就锁定,小于就把相应位置0,最后循环之后会得到相应的结果。

 总结出的规律是分辨率越高,采样速度越低。

--------------------------------------------------------------------------------------

下面介绍ADC的几个特性参数:

1、分辨率(刻度划分):表示ADC所能辨别的最小模拟量,用二进制位数表示,比如8、10、12位,比如12位的A/D转换器,它的分辨率就是3.3V/2^12;

2、转换时间:表示完成一次A/D转换所需要的实际,采样时间越短,采样率就越高;

3、精度(物理量的精确程度):在最小刻度上叠加的各种参数,收ADC性能、温度、气压等因素的控制,对于12位的A/D转换器,精度就是3.3V/2^12±Δ;

4、量化误差:因为A/D转换器实际上是通过数字量近似表示模拟量,采样四舍五入法则,此时产生的误差为量化误差

一般STM32的A/D的参考电压是3.3V.

--------------------------------------------------------------------------------------

下图中是STM32的部分A/D的输入通道:

--------------------------------------------------------------------------------------

A/D转换器被组织为:规则组(常规转换组)和注入组(注入转换组)。

规则组:最多有16个转换。规则组的执行优先级对比中,它会按照规则组的排列,从第一个转换、第二个转换······直到第N个转换,顺序进行到后续的转换中;

注入组:最多有4个转换。一开始它是进行顺序执行,但会收中断触发的影响。比如先执行了第一个,然后在执行第二个转换的期间,第一个又被触发了,则会先完成第二个的转换,再跳到第一个转换进行执行,执行完第一个转换之后再执行第2,3,4个转换。

通常,A/D转换是由外部事件触发转换。

如何设置A/D时钟如图,A/D转换的时间转换公式为:Tcvt = 采样时间 + 12.5个周期,而采样时间可通过SMPx[2:0]设置,x=0~17(18个通道),对应的ADC周期如下二图,比如最小的周期里,Tcvtmin=(12.5+1.5)周期=14/(12MHz)=1.17us。


http://www.ppmy.cn/news/64021.html

相关文章

操作系统相关问题——应用程序和操作系统怎么配合

应用程序和操作系统都是软件, CPU会将它们一视同仁,甚至CPU不知道自己在执行的程序是操作系统还是一般应用软件。CPU只知道去cs:ip寄存器中指向的内存取出指令并执行,它不知道什么是操作系统。 编程语言其实只是编译器和大家的约定&#xff…

Django框架之视图HttpResponse 对象

本篇文章主要内容为:视图中HttpResponse对象的属性、方法及json、redirect子类包含使用cookie使用、跳转、json返回的示例。 概述 HttpResponse对象是对用户访问的响应,与HttpRequest对象由django创建,HttpResponse对象是由开发人员创建。Ht…

微服务高频面试题

1、Spring Cloud 5大组件有哪些? 早期我们一般认为的Spring Cloud五大组件是 Eureka : 注册中心Ribbon : 负载均衡Feign : 远程调用Hystrix : 服务熔断Zuul/Gateway : 网关 随着SpringCloudAlibba在国内兴起 , 我们项目中使用了一些阿里巴巴的组件 注册中心/配置…

1960-2014年各国二氧化碳排放量(人均公吨数)

1960-2014年各国二氧化碳排放量(人均公吨数)(世界发展指标, 2019年12月更新) 1、来源:世界发展指标 2、时间:1960-2014年 3、范围:世界各国 4、指标: 二氧…

数据可视化工具 - ECharts以及柱状图的编写

1 快速上手 引入echarts 插件文件到html页面中 <head><meta charset"utf-8"/><title>ECharts</title><!-- step1 引入刚刚下载的 ECharts 文件 --><script src"./echarts.js"></script> </head>准备一个…

二叉树原理

二叉树原理TOC 二叉树是公认的难解型数据结构&#xff0c;这里试着系统化的讨论一些与二叉树有关的内容&#xff1a; 二叉树的数据标记方法&#xff1a;层次数据&#xff08;int t[N];&#xff09;,左右树标记&#xff08;bool lr:0standForL, 1standForR&#xff09;&#xf…

软考--快速掌握七层模型与各种协议的划分

目录 协议族 网络层涉及的协议 传输层涉及的协议 应用层涉及的协议 协议族 认识几个协议族&#xff0c;所谓协议族就是说他不是单一的协议。而是很多协议拼在一起的。 TCP/IP协议族是internet的标准协议族&#xff0c;所以使用广&#xff0c;但是tcp/ip协议族传输效率是比较…

【Jetpack】DataBinding 架构组件 ⑥ ( RecyclerView 数据绑定 )

文章目录 一、RecyclerView 数据绑定核心要点1、启用数据绑定 / 导入依赖2、RecyclerView 条目 DataBinding 布局3、自定义 RecyclerView.Adapter 适配器要点 ( 本博客重点 ★ ) 二、RecyclerView 数据绑定源码示例1、build.gradle 构建脚本 ( 启用数据绑定 / 导入依赖 )2、主界…