stm32 ADC实例解析(3)-多通道采集互相干扰的问题

文章目录

  • 一、问题现象:
  • 二、原因分析:
    • 1、测量值不准问题分析:
    • 2、采样干扰问题分析
  • 三、解决办法:
    • 1、硬件:
      • (1)、电源供电
      • (2)、引脚电容
      • (3)、减少采样回路的输入阻抗
    • 2、软件
      • (1)、增加采样时间
      • (2)、通道隔离
      • (3)、单通道采集
  • 四、总结

一、问题现象:

1、在实际项目中,使用ADC+DMA方式读取多路通道ADC采样值,发现当其中一路电压变化时会影响其他路采集值跟着变化,有差不多0.1V的抖动。
2、分压电路测量值和采集值有差别

二、原因分析:

1、测量值不准问题分析:

采样保持电路工作过程如下:
在这里插入图片描述
在采样阶段外部信号 VAIN 在采样开关 K 闭合后开始对采样保持电容 CADC 进行充电或是放
电,具体过程取决于此时 VAIN 与 CADC 上的电压情况:
• VAIN 电压高于 CADC 电压,则 VAIN 对 CADC 充电;
• VAIN 电压低于 CADC 电压,则 CADC 对 VAIN 放电。
RAIN 和 RADC 代表充/放电回路上的阻抗,其将限制充放电流大小。RADC 为内部阻抗,RAIN 为外部阻抗;
在设定的采样保持时间结束后,采样开关 K 断开,ADC 进入量化转换阶段,最终的转换结
果只取决此时 CADC 上的电压。为了得到准确的采样结果,就需要进行采样电路的阻抗匹配设
计,选择合理的采样保持时间和输入阻抗,保证在采样阶段结束后,CADC 上的电压与 VAIN 一
致。

2、采样干扰问题分析

在一个 ADC 转换单元中,所有的通道共用一个采样保持电容,假设在当前通道进行采样
前,前一个通道采样时输入电压接近 VREF(比如 3.3V),而当前需要采样的通道电压为 0V,该情
况下采样开关闭合后,CADC 将对外放电。在 RAIN 一定的情况下,若是采样时间 Ts
不够,则会出现在采样时间结束后,CADC 上电压并没有达到与 VAIN (即 0V)一致,
最终结果解释转换结果偏大

三、解决办法:

1、硬件:

(1)、电源供电

采用纹波噪声系数更小的 LDO 来供电,然后在 LDO 与 VREF+之间串联一颗磁珠,以屏蔽外部电源对于 VREF+的影响,对于 VREF+基准源,建议靠近引脚并联一个 uF 级以及一个 nF 级的去耦电容,一方面可以滤除来自外部低频与高频的电源噪声,另一方面,也可使ADC 在量化编码过程的基准源更加稳定。在 layout 过程中,相关电源线的走线上,推荐加宽电源迹线,以减小迹线的 ESR,在量化阶段,减小转化电容网络瞬间充电对输入基准源的影响。

(2)、引脚电容

外部并联滤波电容 CEXT,容值至少为 CADC 的 8192 倍(12bit,允许 0.5LSB 误
差),且采样前 CEXT 的电平与 VAIN 一致。
在这里插入图片描述

(3)、减少采样回路的输入阻抗

  • 减少 RAIN
  • 采样信号添加一级运放跟随,然后再进入 ADC 输入端口
    在这里插入图片描述

2、软件

(1)、增加采样时间

  • 软件配置更长的采样周期
  • 降低 ADC 时钟
    如果对于采样率没有要求的情况下,我们可以降低 ADC 的采样时钟,变相提高采样时间来使得采样电容充电到正确电位,ADC 在采样时间内,采样电容上的电压必须被充分充放电,其被充电的电压值与外部输入电压之间的差值不应超过 0.5LSB,否则无论后级 ADC 性能如何卓越,都无法真实反映信号的幅值.

(2)、通道隔离

将不同通道配置到不同的AD转换器上,例如将通道5配置到ADC1,通道6配置到ADC2,这样可以彻底隔离两个通道,避免干扰

(3)、单通道采集

DMA方式一次只配置一个通道可以减少干扰,采用分时采样的方法,每次只让一个通道进行采集,例如先让通道5采集500ms,再让通道6采集500ms,同时丢弃前100ms的数据

四、总结

通过软件的解决办法可以把抖动减少一个量级,即从0.1V抖动减小到0.01V,可以满足大部分应用要求,如果想要获得更高的精度,则需要硬件来配合解决,并且使用专门的ADC采样芯片

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core 路由规则,自定义特性路由 ,IActionConstraint 路由约束 总结 mvc

资料 资料 路由服务 路由服务是在 Program.cs 中使用 builder.Services.AddRouting()注册的, 只是默认在 builder 之前已经注册过了,无需我们再次注册。 AddRouting()方法必须在 UseRouting()方法之前运行,它是路由的基础服务。 MapContro…

在数据库设计中,如何避免全表扫描?

2024年10月NJSD技术盛典暨第十届NJSD软件开发者大会、第八届IAS互联网架构大会在南京召开。百度文心快码总经理臧志分享了《AI原生研发新范式的实践与思考》,探讨了大模型赋能下的研发变革及如何在公司和行业中落地,AI原生研发新范式的内涵和推动经验。 …

Maven的安装配置

文章目录 一、MVN 的下载二、配置maven2.1、更改maven/conf/settings.xml配置2.2、配置环境变量一、MVN 的下载 还是那句话,要去就去官网或者github,别的地方不要去下载。我们下载binaries/ 目录下的 cd /opt/server wget https://downloads.apache.org/maven/maven-3/3.9.6/…

ReactPress系列—NestJS 服务端开发流程简介

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎提出宝贵的建议,感谢Star。 NestJS 服务端开发流程简介 NestJS 是一个用于构建高效、可靠和可扩展的服务器端应用程序的框架。它使用 TypeScript(但也支持纯 Java…

Redis数据库测试和缓存穿透、雪崩、击穿

Redis数据库测试实验 实验要求 1.新建一张user表,在表内插入10000条数据。 2.①通过jdbc查询这10000条数据,记录查询时间。 ②通过redis查询这10000条数据,记录查询时间。 3.①再次查询这一万条数据,要求根据年龄进行排序&#…

JavaCV 图像边缘检测 之 Canny 算法

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…

Java Agent使用

文章目录 基本使用premain使用场景 agentmain 关于tools.jar https://docs.oracle.com/en/java/javase/20/docs/specs/jvmti.html com.sun的API,如果使用其他厂商的JVM,可能没有这个API了,比如Eclipse的J9 https://www.ibm.com/docs/en/sdk…

解决客服打字慢的快捷回复软件

客服每天都要打字回复咨询,打字慢必然影响回复效率,聊天宝就是一款解决客服打字慢的快捷回复软件 前言 总所周知,客服每天都要打字回复咨询,打字慢必然影响回复效率,所以解决打字速度慢的问题,就是很多客服…

【2024最新版Kotlin教程】Kotlin第一行代码系列第六课-嵌套类,数据类,密封类

【2024最新版Kotlin教程】Kotlin第一行代码系列第六课-嵌套类,数据类,密封类 数据类在之前的课程已经讲了,嵌套类和密封类可以不学,很少用到的。 但为了系统的完整性还是说一下 一、嵌套类: 选学:按我经…

uniapp 开发公众号 h5 页面 错误 “redirect_uri 参数错误“

公众号 h5 支付 调错避坑 1. 一直显示以下错误 ”redirect_uri 失效了“不用管直接 打包上传服务器 2. 直接在”微信开发者工具“ 进行调试( 使用线上地址访问 )就能看到真实 接口 错误,在进行调试

闪存学习_2:Flash-Aware Computing from Jihong Kim

闪存学习_2:Flash-Aware Computing from Jihong Kim【1】 一、三个闪存可靠性问题二、内存的分类三、NAND 闪存和 NOR 闪存四、HDD和SSD比较Reference 一、三个闪存可靠性问题 耐性(即寿命):最多能经受编程和擦除的次数。数据保留…

代码随想录算法训练营Day55 | 图论理论基础、深度优先搜索理论基础、卡玛网 98.所有可达路径、797. 所有可能的路径、广度优先搜索理论基础

目录 图论理论基础 深度优先搜索理论基础 卡玛网 98.所有可达路径 广度优先搜索理论基础 图论理论基础 图论理论基础 | 代码随想录 图的基本概念 图的种类 大体分为有向图和无向图。 图中的边有方向的是有向图: 图中的边没有方向的是无向图: 图…

OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放

环境准备 安装x11grab(用于捕获屏幕流)和libx264(用于编码) # 基础开发环境&x11grab sudo dnf install -y \autoconf \automake \bzip2 \bzip2-devel \cmake \freetype-devel \gcc \gcc-c \git \libtool \make \mercurial \pkgconfig \zlib-devel \libX11-devel \libXext…

【Simulink仿真】混合储能平抑光伏功率波动

摘要 本文基于Simulink仿真平台,提出了一种混合储能系统(Hybrid Energy Storage System, HESS)来平抑光伏发电中的功率波动。该系统将超级电容与电池相结合,通过双向DC-DC变换器实现能量的动态分配。超级电容响应快,主…

C语言必做30道练习题

C语言练习30题(分支循环,数组,函数,递归,操作符) 目录 分支循环1.闰年的判断2.阅读代码,计算代码输出的结果3.输入一个1~7的数字,打印对应的星期几4.输入任意一个整数值,…

进程与线程+多线程优势

区别: 1、进程中包含线程,每一个进程都至少一个线程(主线程) 2、进程是申请系统资源的最小单位 3、进程是CPU调度的最小单位 4、线程之间共享进程申请的系统资源 5、一个线程崩溃了会影响整个进程 进程的组织方式&#xff1…

期权懂|期权策略中两边开卖方实值对冲会有盈利区间吗?

期权小懂每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 期权策略中两边开卖方实值对冲会有盈利区间吗? 一、期权策略中两边开卖方实值对冲的盈利区间可以‌核心策略‌分析‌: 期权对冲策略的核心是利用期权的特…

Follow软件的使用入门教程

开篇 看到很多兄弟还不知道怎么用这个当下爆火的浏览器!在这里简单给需要入门的小伙伴一些建议: 介绍 简单解释一下,RSS 意思是简易信息聚合,用户可以通过 RSS 阅读器或聚合工具自主订阅并浏览各个平台的内容源,不用…

数字孪生的建构之路:从数据到智能

数字孪生是一种将物理实体系统或产品的数字化表示与其实体对应物相结合的概念,通过这种数字化技术,可以实时监测、预测和优化管理实体系统。实现数字孪生需要经历从数据采集、处理到智能化决策等多个步骤。以下是关于如何实现数字孪生的详细介绍。 1. 数…

【C#】创建一个主菜单和弹出菜单系统

文章目录 1. 创建WinForms项目2. 设计窗体3. 添加MenuStrip4. 配置菜单项5. 添加TextBox6. 编写事件处理代码7. 运行和测试 根据您提供的文件内容,看起来您需要在C# WinForms应用程序中设置一个窗体,其中包含一个文本框和几个菜单项,用于改变…