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采样芯片

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

定制ShardingSphere-Proxy镜像满足业务需求

Sharding官方提供的proxy镜像是基础版的,如果我们使用Sharding有以下任意需求,就需要添加额外的依赖到容器{path}/ext-lib目录下。 向Docker容器中添加jar包的方式多种多样,推荐采取使用Dockerfile的方式添加依赖。将原有的镜像作为基础镜像&…

【数据分享】1901-2023年我国省市县镇四级的逐年降水数据(免费获取/Shp/Excel格式)

之前我们分享过1901-2023年1km分辨率逐月降水栅格数据和Shp和Excel格式的省市县四级逐月降水数据,原始的逐月降水栅格数据来源于彭守璋学者在国家青藏高原科学数据中心平台上分享的数据!基于逐月数据我们采用求年累计值的方法得到逐年降水栅格数据&#…

virtualBox部署minikube+istio

环境准备 virtualBox安装 直接官网下载后安装即可,网上也有详细教程。镜像使用的centos7。 链接(不保证还可用):http://big.dxiazaicc.com/bigfile/100/virtualbox_v6.1.26_downcc.com.zip?auth_key1730185635-pWBtV8LynsxPD0-0-…

深入浅出WebSocket(实践聊天室demo)

文章目录 什么是WebSocket?WebSocket连接过程WebSocket与Http的区别重连机制完整代码使用方法心跳机制实现聊天室demo(基于Socket.io)参考文章、视频小广告~什么是WebSocket? WebSocket 是一种在单个TCP连接上进行全双工通信的协议(计算机网络应用层的协议) 在 WebSocket A…

[CKS] Audit Log Policy

最近准备花一周的时间准备CKS考试,在准备考试中发现有一个题目关于audit policy的题目。 What’s the audit policy 使用K8s Audit Policy,管理员可以定义哪些操作需要被审计,包括创建、删除、更新和查看集群中的资源。审计记录包括操作的时…

【C++】map和set的介绍及使用

前言: map和 set 是 C STL(标准模板库)中的两种非常重要的容器,它们基于一种叫做平衡二叉搜索树(通常是红黑树)的数据结构来实现。在 C 中,map 是一个键值对容器,set 只存储唯一的键…

ai外呼机器人的作用有哪些?

ai外呼机器人具有极高的工作效率。日拨打成千上万通不是问题,同时,机器人还可以快速筛选潜在客户,将更多精力集中在有价值的客户身上,进一步提升营销效果。183-3601-7550 ai外呼机器人的作用: 1、搭建系统&#xff0c…

QT版发送邮件程序

简单的TCP邮箱程序 **教学与实践目的:**学会网络邮件发送的程序设计技术。 1.SMTP协议 邮件传输协议包括 SMTP(简单邮件传输协议,RFC821)及其扩充协议 MIME; 邮件接收协议包括 POP3 和功能更强大的 IMAP 协议。 服务…

汽车牌照识别系统的设计与仿真(论文+源码)

1设计原理 车牌识别系统的设计是一项利用车辆的动态视频或者静态图像实现牌照区域定位车牌号码识别的技术。其硬件部分通常包括触发设备、拍摄设备、照明设备、图像收集设备、进行车牌号码识别的处理器等,其软件的关键部分包含车牌区域定位的算法、车牌字符的分割算…

vue通过iframe方式嵌套grafana图表

文章目录 前言一、iframe方式实现xxx.xxx.com拒绝连接登录不跳转Cookie 的SameSite问题解决不显示额外区域(kiosk1) 前言 我们的前端是vue实现的,监控图表是在grafana中的,需要在项目web页面直接显示grafana图表 一、iframe方式实现 xxx.xxx.com拒绝连…

学习笔记:黑马程序员JavaWeb开发教程(2024.11.9)

9.1 Mybatis-基础操作-环境准备 这里也没做,到时候写案例,如果需要环境配置什么的,可以看看这个 9.2 Mybatis-基础操作-删除 删除需要动态获取需要删除的id,使用方法传参,#{}的方式实现 在编写的delete方法中&a…

[Docker#3] LXC | 详解安装docker | docker的架构与生态

目录 1.LXC容器操作 安装LXC LXC容器操作步骤 2.理论 LXC 是什么? Docker 是什么 Docker 和虚拟机的区别 Docker 和 JVM 虚拟化的区别 Docker 版本 ⭕Docker 官方网站(建议收藏) Docker 架构 生活案例 Docker 生态 Docker 解决…

Spark的学习-02

Spark Standalone集群的安装 架构:普通分布式主从架构 主:Master:管理节点:管理从节点、接客、资源管理和任务 调度,等同于YARN中的ResourceManager 从:Worker:计算节点:负责利用自己…

白杨SEO:百度在降低个人备案类网站搜索关键词排名和流量?怎样应对?【参考】

很久没有写百度或者网站这块内容了,一是因为做百度网站朋友越来越少,不管是个人还是企业;二是百度上用户搜索与百度给到网站的流量都越来越少。 为什么想到今天又来写这个呢?因为上个月有个朋友来咨询我说网站百度排名全没了&…

一个怀旧,俺的第一个共享软件

今天网友说起了 福彩双色球的程序。俺就想起这个来了,这是俺的第一个共享软件,收入大约15000。在当时来说,速度算是最快的。有些地方用了汇编优化(题外话,最近俺看到新闻,FFmpeg的作者也用汇编优化 性能提升…

QCustomPlot添加自定义的图例,实现隐藏、删除功能(二)

文章目录 QCustomPlot初识和基本效果图实现步骤:详细代码示例:实现原理和解释:使用方法:其他参考要实现一个支持复选框来控制曲线显示和隐藏的自定义 QCPLegend 类,可以通过继承 QCPLegend 并重写绘制和事件处理方法来实现,同时发出信号通知曲线的状态变更。 QCustomPl…

96.【C语言】存储体系结构

目录 1.金字塔图 2.形象理解的图 3.分析 4.推荐阅读 1.金字塔图 2.形象理解的图 3.分析 缓存的大小<<内存的大小 缓存分三级:速度:一级>二级>三级 在95.【C语言】数据结构之双向链表的头插,头删,查找,中间插入,中间删除和销毁函数文章遗留了一个问题,缓存命…

智能合约在供应链金融中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 智能合约在供应链金融中的应用 智能合约在供应链金融中的应用 智能合约在供应链金融中的应用 引言 智能合约概述 定义与原理 发展…

ODOO学习笔记(4):Odoo与SAP的主要区别是什么?

Odoo 和 SAP 都是知名的企业资源规划&#xff08;ERP&#xff09;软件&#xff0c;它们之间存在以下一些主要区别&#xff1a; Odoo与SAP的区别 一、功能特点 功能广度 Odoo&#xff1a;提供了一整套全面的业务应用程序&#xff0c;涵盖了销售、采购、库存管理、生产、会计、…

Leetcode 买卖股票的最佳时机 Ⅱ

使用贪心算法来解决此问题&#xff0c;通过在价格上涨的每一天买入并在第二天卖出的方式&#xff0c;累计所有上涨的利润&#xff0c;以实现最大收益。关键点是从第二天开始遍历&#xff0c;并且只要当前比前一天价格高&#xff0c;我们就在前一天买入然后第二天卖出去。下面是…