STM32 ADC 有关精度参数的理解(ET、EO、EG、ED、EL)

2023-11-06

提到ADC,都会问是10位12位16位是什么意思?
10位就是10位2进制的意思0-1023。
12位就是12位2进制的意思0-4095。
16位就是16位2进制的意思0-65534。
也就是ADC的分辨率。
比如说我们想采集一个3.3v的电压值,3.3v分成1024份表示和分成65536份表示,当然65536表示的精度更高。ADC里叫LSB,也就是1024 LSB。

如何选择ADC
我们在选择ADC的时候除了要知道他的分辨率,参考电压,还有速度之外还要知道一些ADC的性能指标。这些性能指标会影响你的采集精度,虽然你可以后期通过各种算法校准过来,但这些属于硬件基础。
在这里插入图片描述
在这里插入图片描述

1.总未调整误差(ET):实际转换曲线与理想转换曲线最大差别

在这里插入图片描述

2.偏移误差(EO):实际转换-理想转换

在这里插入图片描述

3.增益误差(EG):最后一次转换-理想转换
在这里插入图片描述

4.微分线性误差(ED):实际步长和理想步长的最大差别。
在这里插入图片描述

5.积分线性误差(EL):实际转换点与终点连线的最大差别。

在这里插入图片描述

上面是ADC的一些内部特性,里面的误差由厂家来把控,不用我们关心。

外部的ADC误差来源:

1.电源噪声

通常参考电压 = 电源电压 = 3.3VDC (PS:也有5v等等)

当电源噪声叠加到电源电压上,引起测量误差。

       电源电压:   3.3VDC

       输入信号:   1.0VDC

       电源噪声:   0.04VDC

误差: 1 / (3.34-3.26)*4096 (12位AD)
2.输入噪声

当输入噪声叠加到电源电压上,引起测量误差。

      电源电压:3.3VDC

      输入信号:1.0VDC

      输入信号噪声:0.04VDC

误差: (1.04-0.96) / (3.3)*4096 (12位AD)
3.信号源阻抗的影响

在这里插入图片描述

源阻抗RAIN和芯片内部电阻RADC,影响充电时间,

从而影响测量结果,Tc =(RAIN+RADC)*CADC。
4.信号外部电容和PCb分布电容影响
在这里插入图片描述
外部电容CAIN和分布电容CP,影响充电时间、频率,从而导致测量误差。

如何来减小误差
通过降低电源的噪声提高采样准确性
在这里插入图片描述
电源和地线之间增加0.1uF和1-10uF钽电容。
2.通过降低输入信号的噪声

增加外部滤波器,如RC低通滤波,带通、高通滤波等,保证需要频率信号有效,阻断或限制不需要的噪声。通过信号的多次采样,通过软件平均的方法,可有效消除不频繁变化模拟信号上的噪声。

3.调整ADC采集的动态范围
在这里插入图片描述
充分利用AD可测量的范围,提高参考电压和采用前置放大器。

4.选取合适的源阻抗

假设最大允许误差1/2LSB,也就是VAIN-VC=1/2LSB,VC为内部实际电压,VAIN为输入电压。

已VAIN=VREF输入时,ts为采样时间,计算最大源阻抗。
在这里插入图片描述
Rmax=(RAIN + RADC)max

N为ADC分辨率

Rmax=ts / (CADC * ln(2^(N+1)))

最终计算公式:在这里插入图片描述
例:

fADC=14MHz,CADC=8pF,RADCmax=1kΩ,当采样Ts=7.5秒时,误差1/2LSB时的RAINmax是多少

5.合理布线减小数字信号(I/O引脚)对模拟信号的影响
在这里插入图片描述
信号线用地线隔离

6.减小EMI(电磁干扰)

采用屏蔽线将远距离信号连接到PCB,屏蔽层在信号接收端接地。如下图
在这里插入图片描述
7.合理PCB 布局,采用数字模拟分开布局方式
在这里插入图片描述
8.合理PCB布局,采用独立电源给模拟和数字供电,星型网络连接模拟,数字地
在这里插入图片描述
9.高输入阻抗源信号采样减小采样误差的方法在这里插入图片描述
当S1开关闭合时,Csh上电压会施加到输入管脚上,当采样结束S2断开时,Csh上电压不能有效释放,导致测量电压不准,通过添加Cext减小,使得采用完成后,Csh上电压得到有效释放如1/2LSB。
在这里插入图片描述
后续代码加一些关于ADC的算法即可。

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

STM32 ADC 有关精度参数的理解(ET、EO、EG、ED、EL) 的相关文章

随机推荐

  • Java—RPC:远程过程调用(1)

    Java RPC 远程过程调用 1 在我们学习RPC的过程中 首先我们先认识一下项目结构在发展中干的变化 一 项目结构变化 1 单体结构 单体结构又叫单一项目 在我们所认识的传统项目基本上都是单一项目 j可是在互联网逐步发展的过程中 逐渐的
  • 卡通渲染技巧(三)——崩坏3卡通渲染实践

    系列链接 卡通渲染技巧 一 漫反射部分 卡通渲染技巧 二 高光部分 描边 卡通渲染技巧 三 崩坏3卡通渲染实践 耳听为虚眼见为实 不实际看一下你永远不知道技术分享里吹了多少牛 其实是没有实际应用到游戏里 前排赞美 SnapDragon Pr
  • 【手写一个RPC框架】simpleRPC-04

    目录 前言 实现 项目创建 配置依赖 common service server client 文件结构 运行 本项目所有代码可见 https github com weiyu zeng SimpleRPC 前言 之前谈到 网络传输使用BI
  • 音频——WAV 格式详解

    文章目录 WAV 文件格式解析 概述 块解析 RIFF chunk fmt chunk data chunk 示例分析 代码解析 WAV 文件格式解析 概述 wav 文件支持多种不同的比特率 采样率 多声道音频 WAV 文件格式是 Micr
  • 考研经验

    1 初试 考研初试准备的开始时间主要有两批 第一批是从3月份开始准备 第二批是从7月份开始准备 我属于前面那一批 接下来按照考研科目的顺序来讲一下我在考研初试准备的一些经验 政治 100分 题型 选择题 单选 多选 分析题 科目 马原 史纲
  • 修改Nuget默认包存放位置

    nuget默认的全局包下载地址一般为 C Users UserName nuget packages 项目多了之后 nuget下载的包就回慢慢的变多 导致c盘被大量占用 这时候我们想要将nuget的默认的包存放位置放在其其他的目录下面 可以
  • 边缘计算与智能服务

    随着信息化的不断发展 人们对互联网提出了更高的生活需求 5G 人工智能 物联网等新兴技术应运而生 万物互联已经成为一种新的发展趋势 网络技术不再只停留于原来的数字层面 在物质生活中可以提供更加智能化的服务帮助 而与物之间的密切交流带来的不仅
  • 三菱PLC N:N 通讯

    简介 三菱NN通讯是采用485通讯方式 只能用于COM1通讯口 其通讯是程序中设定好固定的模式以及站点号 参照软元件通讯表就可以由主站直接访问软元件寄存器来获取从站数据 要是从站之间进行数据交互 则必须从站先将数据发送到主站 再由主站发送至
  • Typora改变字体颜色

    方法一 下载AutoHotkey并创建快捷键的方法 推荐 第一步 在官网 https www autohotkey com 下载 AutoHotkey并傻瓜式安装 安装在任意盘符下均可 第二步 在安装目录下创建AutoHotKey ahk文
  • Proxmox虚拟环境(PVE)简介

    Proxmox虚拟环境 简称PVE 是用于操作来宾操作系统的基于Debian Linux和KVM的虚拟化平台 Proxmox免费提供 可以通过制造商 维也纳的Proxmox Server Solutions GmbH 购买商业支持 Prox
  • Eclipse查看java源代码

    第一步 点击Window下的Preferences 第二步 选择Java下的Installed JRES 鼠标点击右边的jre1 8 0 点击Edit 第三步 打开以rt jar结尾的jar包 双击Source attachment 如果是
  • python21天打卡Day12--for循环,列表推导式-构建列表

    for循环 a range从左开始 不包括右 如下输出1 100 for i in range 1 101 a append i print a 列表推导式 b i for i in range 1 101 print b D 学习 Pyt
  • 【神经网络搜索】ENAS:Efficient Neural Architecture Search

    GiantPandaCV导语 本文介绍的是Efficient Neural Architecture Search方法 主要是为了解决之前NAS中无法完成权重重用的问题 首次提出了参数共享Parameter Sharing的方法来训练网络
  • 浅谈web架构之架构设计

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 前言 题目有点大 所以不可能说得非常具体 笔者也不能驾驭全部 前面介绍过网站发展过程中架构的演化过程 本文主要针对网站架构各个方面的建设进行简单介绍 架构模式 先来说说模式
  • python语言程序设计_梁勇—第五章练习题重点题目答案

    1 统计正数和负数的个数后计算这些数的平均值 编写程序来读入不指定个数的整数 然后决定已经读取的整数中有多少个正数和负数并计算这些输入值 def calculate avg sum 0 positive 0 negative 0 while
  • 如何用 Redis 实现一个分布式锁

    场景模拟 一般电子商务网站都会遇到如团购 秒杀 特价之类的活动 而这样的活动有一个共同的特点就是访问量激增 上千甚至上万人抢购一个商品 然而 作为活动商品 库存肯定是很有限的 如何控制库存不让出现超买 以防止造成不必要的损失是众多电子商务网
  • JC前导班

    JC前导班 一 时间安排 一级4个科目 二级6个科目 核心资料 二 各科目框架详解 1 风险管理基础20 1 Porfolio组合 management theory 2 Risk Management 3 GARP Code of Con
  • JDK 新特性篇:JDK 9 新特性详解

    Java 9概述 Java 9不得不说的新特性 java 9 提供了超过 150 项新功能特性 包括备受期待的模块化系统 可交互的 REPL 工具 JShell JDK 编译工具 Java 公共 API 和私有代码 以及安全增强 扩展提升
  • vue2&vue3:封装子组件el-dialog弹框

    一 Vue2实现 使用 sync修饰符 实现子组件同步改变父组件通过props对应绑定的父组件变量值
  • STM32 ADC 有关精度参数的理解(ET、EO、EG、ED、EL)

    提到ADC 都会问是10位12位16位是什么意思 10位就是10位2进制的意思0 1023 12位就是12位2进制的意思0 4095 16位就是16位2进制的意思0 65534 也就是ADC的分辨率 比如说我们想采集一个3 3v的电压值 3