关于ADC的笔记1

2023-05-16

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。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于ADC的笔记1 的相关文章

  • 解决STM32新增加函数出现Undefined symbol HAL_ADC_Init (referred from main.o). 问题

    最近在开发STM32L0xx系列产品的ADC采集项目 xff0c 在老工程上添加库函数 xff0c stm32l0xx hal adc h stm32l0xx hal adc c函数 进行ADC初始化 xff0c 编译不通过出现 xff0c
  • 小松的STM32教程(6)——ADC

    预备 学习目标 学会调用Get Adc Average函数会使能多个ADC通道 概述 ADC输入电压范围 xff1a 2 4V 3 6V xff0c 一般使用0V和3 3V 数据对齐 xff1a 16bit存放12bit的转换数据 xff0
  • nRF52832芯片使用ADC的代码示例

    nRF52832芯片使用ADC的代码示例 define ADC REF VOLTAGE IN MILLIVOLTS 600 lt Reference voltage in millivolts used by ADC while doing
  • STM32H7A3 ADC+DMA使用问题

    问题1 xff1a DMA采用半字传输16位ADC值 xff0c 用于存储ADC数据的数组一定是采集数的两倍 xff0c 否则会产生ADC溢出的错误中断HAL ADC ErrorCallback xff0c 从而无法进入ADC采集完成中断H
  • STM32CubeMX在F103上的ADC注入通道配置异常问题

    前言 最近业余时间在搞无刷电机FOC的控制 xff0c 其中有一部分是关于流过电机三相绕组电流采集的 xff0c 需要用到STM32内置的ADC xff0c 核心是需要使用注入通道以确保ADC数据采集的实时性 xff0c 但是我在STM32
  • 光敏,红外,人体红外检测模块的模拟输出(ADC)实验——入门

    前面给大家介绍了传感器的开关输出的使用 xff0c 今天给大家介绍一下常见传感器的模拟输出的用法 xff0c 用到了STM32的ADC xff08 模数转换 xff09 模块和USART串口通信模块 代码就是正点原子的ADC实验的代码 今天
  • stm32---ADC模数转换

    ADC xff1a 模数转换器 xff0c 将模拟信号 xff08 0v xff0c 3v xff0c 6v等 xff09 转换为表示一定比例电压值的数字信号 xff08 1 xff0c 2 xff0c 3等 xff09 STM32F10x
  • 【干货】STM32通过ADC模拟看门狗实现掉电保存

    1 前言 很多时候我们需要将程序中的一些参数 数据等存储在EEPROM或者Flash中 xff0c 达到掉电保存的目的 但有些情况下 xff0c 程序需要频繁的修改这些参数 xff0c 如果每次修改参数都进行一次保存 xff0c 那将大大降
  • 16位精度 ADC 选型

    ADS8320 售价 xff1a 人民币25 40元 ADS8320 16 Bit High Speed 2 7 V to 5 V microPower Sampling Analog to Digital Converter 1Featu
  • 关于ADC的笔记1

    ADC xff0c 全称Anlog to Digital Converter xff0c 模拟 数字转换器 是指将连续变量的模拟信号转换为离散的数字信号的器件 xff0c 我们能通过ADC将外界的电压值读入我们的单片机中 常见的ADC有两种
  • stm32F4的ADC+DMA+Timer,实现2MHz连续采样。1LSB分辨率,极低噪声。

    1 ADC DMA Timer的实现原理 stm32F407 405的ADC为12位逐次逼近型ADC 有着高达2 4MHz的采样率 分辨率 1LSB 这样参数的ADC放在市面上单卖 也起码是 10 起步 而 stm32F407 405不仅内
  • INL/DNL Measurements for High-

    Abstract Although integral and differential nonlinearity may not be the most important parameters for high speed high dy
  • 关于OELD屏显示电池电量的简易方法

    如何采集电源电压大家可能都熟悉 stm32的ADC DMA能很方便迅速的帮我们采集到自己想要的电压数据 使用DMA进行数据搬运也能很好的减轻CPU的一部分压力 但是这样只是第一步 数据 用户想看到的有时候并不是数据 他们想要更直观方便的看到
  • STM32 ADC没有输入电压时,采集结果不为0

    目录 1 问题概述 2 问题分析 2 1 钳位二极管 2 2 反向漏电流 3 复用功能 4 总结 1 问题概述 硬件焊接完成后测试程序ADC采集功能 先通过接入3 3V来看下 结果发现三个通道可以采集到0V 3 3V 而另外三个通道在没有接
  • 48脚STM32内部基准电压校准ADC的一些心得记录

    STM32的48脚的单片机因为没有Vref Vref 所以我们使用一些高精度参考电压芯片来提高ADC的精度很不方便 这里还有一种方法可以参考下 STM32内部有一个专门用于校准的稳压器VREFINT 它由外部的VSSA供电 他的电压一般为1
  • ESP32-C3入门教程 基础篇(一、ADC采样)

    经过前面的折腾 设计好了自己的测试开发板 搭建好了开发环境 然后正式开始进行功能测试了 测试顺序先从简单的开始吧 一步一步来 目录 前言 1 ADC采样示例测试 1 1 DMA连续采样 1 2 单次采样 1 3 测试源码 2 ESP32 C
  • 高速模数转换器(ADC)的INL/DNL测量

    摘要 尽管积分非线性和微分非线性不是高速 高动态性能数据转换器最重要的参数 但在高分辨率成像应用中却具有重要意义 本文简要回顾了这两个参数的定义 并给出了两种不同但常用的测量高速模数转换器 ADC 的INL DNL的方法 近期 许多厂商推出
  • simulink仿真 adc 采样ePWM输出例程

    新建文件夹并用matlab打开 写入这两个模块 配置 ADC 配置ePWM 不使能B 关了就行 其他的默认即可 配置烧录 连线 示波器接pwma1 和地 adc chanl1接 3 3v或者 0 3 3 都行 转化是 x 3 3 2 12
  • STM8的ADC的五种工作模式

    STM8的ADC的五种工作模式 STM8的ADC是10位的逐次比较型模拟数字转换器 多达16个多功能的输入通道 拥有5种转换模式 转换结束可产生中断 STM8 ADC的初始化顺序如下 1 AD输入通道对应的IO设置为上拉输入 2 配置AD参
  • 我使用 opencv python 形式将模拟时钟转换为数字数据的小时和分钟,但我也需要它显示秒数

    我已经使用 opencv 来读取图像 将其转换为灰度 并使用 canny kernel thesh erode 等找到边缘 并且我已经使用 HooughLineP 检测到图像中的所有线条 并且我已经检测到时间和分针 但我还需要找到秒针 这是

随机推荐

  • Ubuntu安装mysql

    首先执行下面三条命令 xff1a sudo apt get install mysql server sudo apt install mysql client sudo apt install libmysqlclient dev 安装成
  • 10种动态进度条用css3实现

    用css做的10种动态进度条 xff0c 喜欢可以直接去用话不多说先看效果图 xff1a 实现上图的 xff0c 最主要的就是应用了css动画属性 64 keyframes和animation属性结合应用 下面看看语法 xff1a 64 k
  • Yolo训练数据标注工具-Yolo_mark 使用教程

    一 安装与测试 环境 xff1a Ubuntu16 04 43 Opnecv 43 Cmake 项目地址 xff1a https github com AlexeyAB Yolo mark 下载 打开终端 xff0c 键入 xff1a gi
  • x86、ARM分属大小端

    小端模式 xff1a 一个数据的高位在大的地址端 xff0c 低位在小的地址端 xff0c x86也就是pc机就是小端的 xff1a include 34 stdio h 34 include 34 stdlib h 34 int main
  • 二叉树(C语言实现)——链式存储结构

    include lt stdio h gt include lt stdlib h gt include lt stdbool h gt define QueueSize 200 typedef char DataType typedef
  • 栈,堆,常量区都放什么

    1 寄存器 xff1a 最快的存储区 由编译器根据需求进行分配 我们在程序中无法控制 xff1b 1 栈 xff1a 存放基本类型的变量数据和对象的引用 xff0c 但对象本身不存放在栈中 xff0c 而是存放在堆 xff08 new 出来
  • Windows10安装Docker并创建本地Ubuntu环境

    安装Docker参考文章 xff1a https www cnblogs com Can daydayup p 15468591 html label0 安装本地Ubuntu环境 xff1a windows10下安装docker xff0c
  • 机器人操作系统ROS是什么?

    目录 1 什么是ROS 2 ROS的许可协议 3 ROS的主要发行版本 4 ROS的主要功能 5 ROS的应用 6 ROS开发的常用工具 7 ROS的优点 8 ROS的缺点 1 什么是ROS ROS是机器人操作系统 xff08 Robot
  • 【教程】如何移植FPGA关于HDMI例程

    教程 如何移植FPGA关于HDMI例程 时钟IP核约束条件 在完成EDA作业后 xff0c 抽空分享一下如何移植FPGA的例程 我EDA作业用的板子型号是Zybo Z7 xff0c 然后移植的是原子哥的HDMI实现方块移动例程 故本教程是基
  • 【MATLAB UAV Toolbox】使用指南(三)

    可视化自定义飞行日志 通过配置flightLogSignalMapping可从自定义的飞行日志中可视化数据 加载自定义的飞行日志 在本例中 xff0c 假设飞行数据已经被解析到MATLAB 中 xff0c 并存储为M文件 本示例重点介绍如何
  • matplotlib学习笔记

    matplotlib第一章 matplotlib通常有两种绘图接口 xff1a 显示创建figure和axes 依赖pyplot自动创建figure和axes 并绘图 matplotlib环境 本文是在jupyter notebook下运行
  • OPNET 修改节点图标大小

    老是记不住在哪修改图标 xff0c 有一天看急眼了 xff0c 经过半小时的斗争 xff0c 终于找到了 xff0c 这次一定要把它记下来 View gt Layout gt Scale Node icons Interactively
  • 自定义msg使用C++

    在之前创建talker的src文件夹中创建person cpp并编写如下 include 34 ros ros h 34 include 34 learning communication Person h 34 include lt ss
  • GPIO的八种模式分析

    GPIO是general purpose input output 即通用输入输出端口 xff0c 作用是负责外部器件的信息和控制外部器件工作 GPIO有如下几个特点 xff1a 1 不同型号的IO口数量不同 xff1b 2 xff0c 反
  • 关于STM32_IWDG独立看门狗的一些笔记

    独立看门狗 IWDG xff0c Independent watchdog xff0c 本质是一个可以定时产生系统复位信号 并且可以通过 喂狗 复位的计时器 它由独立的RC振荡器 低速时钟 LSI 驱动 xff0c 即使主时钟发生故障它也仍
  • 关于MPU的笔记

    MPU xff08 memory protection unit xff09 内存保护单元 这些系统必须提供一种机制来保证正在运行的任务不破坏其他任务的操作 即要防止系统资源和其他一些任务不受非法访问 嵌入式系统有专门的硬件来检测和限制系统
  • 关于OLED屏的笔记

    OLED即有机发光管 Organic Light Emitting Diode OLED OLED显示技术具有自发光 广视角 几乎无穷高的对比度 较低功耗 极高反应速度 可用于绕曲性面板 使用温度范围广 构造及制程简单等有点 xff0c 被
  • Ubuntu 上 Let‘s Encrypt 生成泛域名证书

    安装生成工具certbot xff1a apt install certbot 查看安装在哪 xff1a which certbot 使用certbot xff08 位置在 usr bin certbot xff09 生成证书 xff1a
  • DMA的补充笔记

    DMA有两个总线 xff1a 1 DMA存储器总线 xff1a DMA通过该总线来执行存储器数据的传入和传出 2 DMA外设总线 xff1a DMA通过该总线访问AHB外设 xff08 AHB主要是针对高效率 高频宽以及快速系统模块所设计的
  • 关于ADC的笔记1

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