模拟开关--扩展模拟采集通道需要考虑的问题

2、多通道模拟采集
  • 项目需求多通道的模拟采集,但是MCU内置ADC通道有限,如果外置ADC芯片则会升高成本、增大电路板尺寸等,同时对电路Layout难度也有上升,需要考虑电路板的各种电磁特性和噪声。

  • 所以一般的多通道采集方案,尤其是上了几十个通道以上的,均为模拟开关作通道拓展的方式,来实现对几个ADC接口扩展为多个物理接口。

  • 当然,很多要求通道拓展数量不多,比如三到五个,但要求高精度的、低噪声等要求,都会采用外置高性能ADC芯片 + (模拟信号)继电器 的方案来设计。

3、使用模拟开关做ADC采集通道扩展需要注意的点:

**模拟开关优点:**使用极少量的物理ADC处理模块,实现多通道的扩展。

需要注意的点:模拟开关由于采用的是集成MOS管作为开关的器件实现开关功能;由于MOS管自身物理特性,在使用的时候需要注意一下几个性能指标:
①开关速度:
模拟开关的开关速度一般能达到
兆Hz的速度
,可以快速实现链路切换。
②开关耐压:
模拟开由于其应用的信号链路为电子板低压工作环境,关耐压值一般在15v以内;常见的有3.3v、5v、12v、15、等最大耐压值;选择时必须注意信号链路的最大电压与器件最大耐压值。
③开关最大电流:
模拟开关的导通能够承受的最大电流值,现在常见的模拟开关的开关最大电流一般在几百毫安以内;安培级别的模拟开关很少。
④导通电阻:
常见的模拟开关的导通阻抗一般从几个欧姆到100欧姆之间;在模拟信号和弱信号设计的时候使用模拟开关必须注意这个参数。
⑤关断阻抗:
关断阻抗代表着开关的关断能力,关断好坏,一般产品的关断阻抗足以达到抑制相邻两个信号链路相互干扰的能力。

1 多路开关通断方式的选择

目前市场上的多路开关的通断切换方式大多为**“先断后通”(Break-Before-Make)**。在自动数据采集中,应选用“先断后通”的多路开关。否则,就会发生两个通道短接的现象,严重时会损坏信号源或多路开关自身。

然而,在程控增益放大器中,若用多路开关来改变集成运算放大器的反馈电阻,以改变放大器的增益,就不宜选用“先断后通”的多路开关。否则,放大器就会出现开环状态。放大器的开环增益极高,易破坏电路的正常工作,甚至损坏元器件,一般应予避免。

2 通道数量

集成模拟开关通常包括多个通道。比如8/16通道。通道数量对传输信号的精度和开关切换速率有直接的影响,通道数越多,寄生电容和泄漏电流就越大。因为当选通一路时,其它阻断的通道并不是完全断开,而是处于高阻状态,会对导通通道产生泄漏电流,通道越多,漏电流越大,通道之间的干扰也越强。

3 泄漏电流

一个理想的开关要求导通时电阻为零,断开时电阻趋于无限大,漏电流为零。而实际开关断开时为高阻状态,漏电流不为零,常规的CMOS漏电流约1nA。

如果信号源内阻很高,传输信号是电流量,就特别需要考虑模拟开关的泄漏电流,一般希望泄漏电流越小越好。

  • 4 导通电阻

    导通电阻的平坦度与导通电阻一致性。导通电阻会损失信号,使精度降低,尤其是当开关串联的负载为低阻抗时损失更大。应用中应根据实际情况选择导通电阻足够低的开关。【注】:导通电阻的值与电源电压有直接关系,通常电源电压越大,导通电阻就越小,而且导通电阻和泄漏电流是矛盾的。要求导通电阻小,则应扩大沟道,结果会使泄漏电流增大。

    导通电阻随输入电压的变化会产生波动,导通电阻平坦度是指在限定的输入电压范围内,导通电阻的最大起伏值△RON=△RONMAX—△RONMIN。它表明导通电阻的平坦程度,△RON应该越小越好。导通电阻一致性代表各通道导通电阻的差值,导通电阻的一致性越好,系统在采集各路信号时由开关引起的误差也就越小。多路开关的导通电阻RON(一般为数10Ω至1kΩ左右)比机械开关的接触电阻(一般为mΩ量级)大得多,对自动数据采集的信号传输精度或程控制增益放大的增益影响较明显,而且RON通道随电源电压高低、传输信号的幅度等的变化而变化,因而其影响难以进行后期修正。实践中一般是设法减小RON来降低其影响。以CD4051为例:CD4051的RON随电源电压和输入模拟电压的变化而变化。当VDD=5V、VEE=0V时,RON=280Ω,且随V1的变化突变;当VDD>10V、VEE=0V时,RON=100Ω,且随V1的变化缓变。可见,适当提高CD4051的VDD有利于减小RON的影响。必须注意:提高VDD的同时,应相应提高选通控制端A、B、C的输入逻辑电平。

    可见,根据具体情况,适当提高多路开关的电源电压,是降低其RON影响的一种有效措施。此外,适当提高电源电压,还可以同时减小导通电阻路差ΔRON和加快开关速度。

  • 5 开关速度

    开关速度指开关接通或断开的速度。通常用接通时间TON和断开时间TOFF表示。对于需要传输快变化信号的场合,要求模拟开关的切换速度高,同时还应该考虑与后级采样保持电路和A/D转换器的速度相适应,从而以最优的性能价格比来选择器件。

    多路开关的切换速度与其自身的结构、工作条件以及外电路的情况都有关系。

    在实践中应注意以下几点:所有的多路开关的平均传输延迟时间tpd均随VDD的升高而减小。传输信号的信号源内阻Rs对多路开关的切换时间有重要影响。在其它条件不变的情况下,**切换时间近似与Rs成正比,即Rs越小,开关的动作就越快。**所以,对高内阻的信号源(一些传感器就是如此),宜用阻抗变换器(如电阻跟随器),将阻抗变低后再接入多路开关。此外,减小Rs还可同时减小多路开关的关断漏电流造成的误差。

  • 6 选择合适的传输信号输入方式

    传输信号一般有单端输入和差动输入两种方式,分别适用于不同的场合。

    单端输入方式,即把所有信号源一端接同一信号地,信号地与ADC等的模拟地相接,各信号源的另一端分别接多路开关。

    差动输入方式,即把所有信号源的两端分别接至多路开关的输入端。其优点是抗共模干扰的能力强,缺点是实际通道数只有单端输入方式的一半。当传输信号的信噪比较低时,必须使用差动输入方式。模拟开关和多路转换器主要特性

  • 7 消除抖动引起的误差
    和机械开关类似,多路开关在通道切换时也存在抖动过程,会出现瞬变现象。若此时采集多路开关的输出信号,就可能引入很大的误差。例如:某计算机自动数据采集与处理系统采集三个模拟量:水泵转速、流量、压力。三个模拟量对应的TTL电平分别为:1.5454V,1.5698V、2.9394V。采集系统从通道1、2、3分别对这三个模拟量连续采集10次,采集结果位于1.8554~1.8603、1.5625~1.5673、1.62207~1.62695之间,其中1、3、通道的误差很大。这种误差是由于系统在多路开关通断切换未稳定下来就采集数据造成的。消除抖动的常用方法有两种:一是用硬件电路来实现(硬件方法),即用RC滤波器除抖动;另一种是用软件延时的方法来解决(软件方法)。

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

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

相关文章

Netty开篇——NIO章上(三)

Java NIO基本介绍 java non-blocking I/O 称为NIO(也叫New IO)。JDK4开始提供,同步非阻塞相关内容在 java.nio 包及子包下,对java.io 包中的很多类进行改写。三大核心: Channel(通道),Buffer(缓冲区),Selector(选择器)NIO是面向缓冲区或者面向块编程的。…

Centos7.9服务器编译安装Nginx1.24.0和php8.3

Centos7.9服务器编译安装Nginx1.24.0和php8.3 服务器nginx原版本有安全漏洞,需要升级,由于原始是yum源安装,通过yum直接升级,无法正常升级完成,故而需要卸载yum源,重新编译安装。 1、查看原来nginx版本,ps查看原来nginx进程,运行状态: ps aux | grep nginx ​ root …

【HuggingFace Transformer库学习笔记】基础组件学习:Evaluate

基础组件学习——Evaluate Evaluate使用指南 查看支持的评估函数 # include_community:是否添加社区实现的部分 # with_details:是否展示更多细节 evaluate.list_evaluation_modules(include_communityFalse, with_detailsTrue)加载评估函数 accuracy…

RK3568驱动指南|第十二篇 GPIO子系统-第135章 GPIO子系统与pinctrl子系统相结合实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

解决ELK日志收集中Logstash报错的关键步

ElK执行日志收集的时候logstash报错: Failed to execute action {:action>LogStash::PipelineAction::Create/pipeline_id:main, :exception>“LogStash::ConfigurationError”, :message>“Expected one of [^\r\n], “\r”, “\n” at line 88, column 4…

ChromeDriver 添加到系统PATH

在软件测试和自动化脚本中,ChromeDriver是一个不可或缺的工具。为了方便使用,将其添加到系统PATH中是一个明智的选择。以下是在Windows、macOS或Linux上完成此任务的详细步骤。 在 Windows 上: 下载并保存 ChromeDriver: 访问Chro…

医院患者满意度调查方案

制定医院患者满意度调查方案是确保调查的有效性和有针对性的关键步骤。以下是一些编制医院患者满意度调查方案的关键步骤和考虑因素: 1. 确定调查目标: 首先,明确调查的主要目标。你希望了解哪些方面的患者满意度?这可能包括医疗…

openEuler安装Docker艰辛路程

文章目录 安装docker测试docker关于windows docker拉取镜像查看所有镜像删除镜像删除不在运行的进程强制删除正在运行的进程 启动docker容器服务-d测试 停止docker容器服务查看docker启动进程更新容器(没有自启动功能,更新为自启动)docker端口映射进入容器修改内容退…

flume

第 1 章 Flume 概述 1.1 Flume 定义 Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的 海量日志采集、聚合和传 输的系统 。 Flume 基于流式架构,灵活简单。 为什么选用 Flume Python 爬虫数据 Java 后台日志数据 服…

Unity AssetBundles资源管理和热更新

项目中的做法,在项目中一般会把资源按照文件目录去划分资源,以文件路径的名字作为AB的名字,一般都是把资源的这些放到预处理中。 一般会分为几个类型,比如把单个文件夹下的每个资源进行打bundle,把单个文件夹下的所有资…

新手练习项目 5:简易计算器(C++)

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder) 目录 一、效果图二、代码(带注释)三、说明 一、效果图 二、代码(带…

HTML--图片

HTML中使用 img标签来显示一张图片 它有三个属性&#xff1a; src alt tiltle src属性&#xff1a; 图片路径建议为相对路径&#xff0c;以免文件移动造成无法正常工作 用法&#xff1a; <img src"图片路径和名字"><!DOCTYPE html> <html> <…

QWebEngineView类方法、属性、信号与槽汇总

文章目录 📖 介绍 📖🏡 环境 🏡📒 使用方法 📒📝 使用示例📝 方法📝 属性📝 信号(Signals)📝 槽(Slots)⚓️ 相关链接 ⚓️📖 介绍 📖 QWebEngineView 是 Qt 提供的一个用于呈现 Web 内容的类,基于 Google 的 Chromium 浏览器引擎。它提供了对现…

算法训练day12Leetcode239滑动窗口最大值347前k个高频元素

今日学习文章链接 https://programmercarl.com/0347.%E5%89%8DK%E4%B8%AA%E9%AB%98%E9%A2%91%E5%85%83%E7%B4%A0.html#%E6%80%9D%E8%B7%AF 239 滑动窗口最大值 题目描述 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只…

小程序自定义添加active类的方法

class"todayBtn {{today true ? btn_isactive : }}"

VCG 拷贝与合并Mesh网格

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 考虑到网格本身的复杂性质,VCG中是严格禁止任何将网格复制为简单对象的尝试;要复制一个网格或者合并两个网格对象,你必须使用Append类。 二、实现代码 合并网格 //VCG #include <vcg/complex/algorithms/crea…

Mac M1 Parallels CentOS7.9 Install Jenkins

官网: https://www.jenkins.io/ 一、Install & Check Java Env Oracle官网下载Java: https://www.oracle.com/cn/ # 拷贝到Jenkins服务器 scp Downloads/jdk-8u391-linux-aarch64.tar.gz root10.211.55.34:~# 解压 mkdir -p /opt/java && tar -zxvf jdk-8u391-li…

电脑上不安装Oracle,但是虚拟机装了Oracle,怎么连接到虚拟机里的Oracle数据库呢?

1、准备工作 1.1、确定数据库版本信息 注&#xff1a;如果知道数据库的版本信息&#xff0c;这个步骤可以跳过。 比较简单的方法&#xff0c;直接看数据库的安装位置&#xff0c;也就是数字&#xff08;但是这个方法确定就是&#xff0c;不好确定是多少位的数据库&#xff09;…

二叉树算法思想和原理:介绍通过递归算法计算二叉树结点个数的基本思路及C#、C++代码示例

二叉树是一种非常常见的数据结构&#xff0c;它由结点组成&#xff0c;每个结点最多有两个子结点&#xff0c;分别称为左子结点和右子结点。在二叉树中&#xff0c;每个结点都有一个数据域和一个指针域&#xff0c;指针域分别指向左子结点和右子结点。二叉树有很多种不同的类型…

【Flask】使用 werkzeug 安全地处理密码

使用 werkzeug 安全地处理密码 假设我们要实现一个登录注册的功能&#xff0c;最简单的方式是先创建一个表&#xff0c;有 username 和 password 字段&#xff0c;然后再编写相应的登录和注册接口。 创建表 以下是一个简单的例子&#xff0c;展示了如何创建一个用户表并定义…