高电压、真差分信号采集的SAR ADC驱动电路设计

news2024/11/4 15:54:51

 1 简介

        本设计展示了一种用于驱动高压 SAR ADC 以实现高压全差分信号数据采集的解决方案。该差分信号可能具有广泛的共模电压范围,具体取决于放大器的电源和输入信号振幅。使用一个通用高压精密放大器来执行差分到单端信号转换,并以最高吞吐量驱动 ±10V 的高压 SAR ADC 单端输入量程。这种类型的应用在终端设备中十分常见,如:多功能继电器、交流模拟输入模块以及铁路运输的控制装置。

2 设计目标

2.1 运放输入

  • VinDiffMin=-20V
  • VinDiffMin=+20V

2.2 ADC输入

  • CH_{x}=10V
  • CH_{x}=-10V

2.3 数字输出

  • ​​​7FFFH@10V
  • 8000H@-10V

2.4 电源

  • AVDD=5V
  • DVDD=3.3V
  • V_{cc}=+15V
  • V_{ss}=-15V

3 规格

规格OPA827计算值OPA827仿真值OPA192计算值OPA192仿真值
共模输入范围 (Vdif = ±20V)±26V±26V±35V±35V
瞬态 ADC 输入误差<1/2LSB(152uV)0.002LSB(0.568uV)<1/2LSB(152uV)0.006LSB(1.86uV)
驱动器的相位裕度>45°67.1°>45°68.6°
噪声(ADC 输入端)14.128uVrms15.88uVrms5.699uVrms6.44uVrms
  • 根据共模电压、输入摆幅和电源,确定放大器线性范围
  • 在此设计电路中,输入信号共模电压可以为 VInputCM 范围内的任意值
  • 选择 COG 电容器以最大限度减少失真
  • 请使用 0.1% 20ppm/°C 或更高规格的薄膜电阻器,以实现良好的精确度、低增益漂移,并最大限度减少失真

 4 设计计算

  • 根据差分输入信号水平和 ADC 满量程输入范围,计算增益

    Gain_{OPA}=\frac{\pm V_{ADC}(range)}{\pm V_{Difin}(range)}=\frac{\pm 10V}{\pm 20V}=0.5\frac{V}{V}

  • 选择差分增益Rf和Rg标准电阻值

    Gain_{OPA}=\frac{R_{f}}{R_{g}}=\frac{5.05k\Omega }{10.1k\Omega }=0.5

  • 计算放大器线性运行的最大和最小输入(即,放大器的共模范围 Vcm_amp)

     V_{-}+3V<V_{cm_opa}<V_{+}-3V=>-12V<V_{cm_opa}<12V @\pm 15V

  • 根据放大器输入范围和前面所示的配置,计算最大共模电压范围

     V_{cm_opa}=(V_{inputCM}\pm \frac{V_{dif}}{2})*\frac{R_{f}}{R_{f}+R_{g}}

    (V_{cmopaMin})*\frac{R_{f}+R_{g}}{R_{f}}+\frac{V_{dif}}{2}<V_{inputCM}<(V_{cmopaMax})*\frac{R_{f}+R_{g}}{R_{f}}-\frac{V_{dif}}{2}

    以OPA827为例,共模输入可为 ±26V,差分输入为 ±20V计算

        (-12V)*\frac{5.05k+10.1k}{5.05k}+\frac{20V}{2}<V_{inputCM}<(12V)*\frac{5.05k+10.1k}{5.05k}-\frac{20}{2}

        -26V<V_{inputCM}<26V

  • 在本例中,我们需要的带宽约为 10kHz。注意:如果您需要调整带宽,由于闭环带宽影响趋稳,需要核实电荷储能滤波器趋稳(Cfilt 和 Rfilt)

        C_{f}=\frac{1}{2*\pi *R_{f}*f_{c}}=\frac{1}{2*\pi *5.05k*10kHz}=3.1nF\approx 3nF

5 噪声计算

        本部分展示了全噪声分析,包括电阻噪声。此外,我们还分析了低于fc(噪声增益= 1.5)及高于fc(噪声增益= 1)的噪声。在本例中,噪声主要为宽频放大器噪声,故电阻器的影响不大。但在很多情况下,电阻器噪声也可能很重要,故我们提供了完整的噪声计算方法。

  • 反馈回路带宽:

        f_{c}=\frac{1}{2*\pi *R_{f}*C_{f}}=\frac{1}{2*\pi *5.05k*3nF}=10.6kHz

OPA827 电压噪声谱密度:e_{n827}=3.8\frac{nV}{\sqrt{Hz}}

        E_{namp1}=e_{n827}*\sqrt{K_{n}*f_{c}}=3.8nv/\sqrt{Hz}*sqrt{1.57*10.6kHz}=490nVrms

  • 反馈回路(Rf1 和Rg1 )和RC同相输入(Rf2 和Rg2 )的热噪声密度:

        R_{eq}=R_{f}||R_{g}=5.05k||10.1k=3.37k

        e_{nfeedback}=\sqrt{4*K_{n}*T_{K}*R_{eq}}=\sqrt{4*1.38*10^-23*298*3.37k}=7.4nV/\sqrt{Hz}

        E_{nfeedback}=e_{nfeedback}*\sqrt{K_{n}*f_{c}}=7.4nV/\sqrt{Hz}*\sqrt{1.57*10.6kHz}=0.955uVrms

  • 来自于同相输入电阻器的噪声与来自于反馈电阻器的噪声相同

        E_{ninput}=E_{nfeedback}=0.955uVrms

  • 放大器输出的总噪声(增益值):

        E_{nbeloWfc}=G_{n}*\sqrt{E_{namp1}^{2}+E_{nfeedback}^{2}+E_{ninput}^{2}}

        E_{nbeloWfc}=1.5*\sqrt{0.49uV^{2}+0.955uV^{2}+0.955uV^{2}}=2.155uVrms

  • 超过fc的噪声由输出滤波器限定(截止值如下所示):

        f_{output}=\frac{1}{2*\pi *R_{filt}*C_{filt}}=\frac{1}{2*\pi *49.9\Omega *370pF}=8.6MHz

        E_{nabovefc}=e_{n827}*\sqrt{K_{n}*f_{output}}=3.8\frac{nV}{\sqrt{Hz}}*\sqrt{1.57*8.6MHz}=13.963uV

  • 施加在ADC 输入端的总噪声:

        E_{ntotal}=\sqrt{E_{nbelowfc}^2+E_{nvbovefc}^2}=\sqrt{2.155uV^2+13.963uV^2}=14.128uVrms

6 电路仿真

时域仿真:

频域仿真:

噪声仿真:

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

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

相关文章

在VS Code中操作MySQL数据库

【基础篇】 【小白专用24.5.26 已验证】VSCode下载和安装与配置PHP开发环境&#xff08;详细版&#xff09;_vscode php-CSDN博客 ~~~~~~~~~~~~~~~~~~~~~~~~~ 在VS Code中下载插件 Prettier SQL VSCode 和 MySQL : 随后在VS Code中点击Database图标 在连接界面输入MySQL数据库…

Java唯一键实现方案

数据唯一性 1、生成UUID1.1 代码中实现1.2 数据库中实现优点缺点 2、数据库递增主键优点 3、数据库递增序列3.1 创建序列3.2 使用序列优点缺点 在Java项目开发中&#xff0c;对数据的唯一性要求&#xff0c;业务数据入库的时候保持单表只有一条记录&#xff0c;因此对记录中要求…

【MySQL】可重复读级别下基于Next Key Lock解决幻读

昨天读到了一篇文章[1]&#xff0c;里面讲&#xff0c;面试官说mysql的可重复读级别下有解决幻读的方式&#xff0c;最后公布了答案&#xff0c;是在sql后面加for update。这么说倒是没错&#xff0c;但是这种问法给我一种奇怪的感觉&#xff0c;因为for update无论在哪个隔离级…

vscode通过.vscode/launch.json 内置php服务启动thinkphp 应用后无法加载路由解决方法

我们在使用vscode的 .vscode/launch.json Launch built-in server and debug 启动thinkphp应用后默认是未加载thinkphp的路由文件的&#xff0c; 这个就导致了&#xff0c;某些thinkphp的一些url路由无法访问的情况&#xff0c; 如http://0.0.0.0:8000/api/auth.admin/info这…

【canal 中间件】canal 实时监听 binlog

文章目录 一、安装 MySQL1.1 启动 mysql 服务器1.2 开启 Binlog 写入功能1.2.1创建 binlog 配置文件1.2.2 修改配置文件权限1.2.3 挂载配置文件1.2.4 检测 binlog 配置是否成功 1.3 创建账户并授权 二、安装 canal2.1 安装 canal-admin(可选)2.1.1 启动 canal-admin 容器2.1.2 …

在阿里云快速启动Umami玩转网页分析

阿里云计算巢提供了Umami快速部署能力&#xff0c;使用者不需要自己下载代码&#xff0c;不需要自己安装复杂的依赖&#xff0c;不需要了解底层技术&#xff0c;只需要在控制台图形界面点击几下鼠标就可以快速部署并启动Umami&#xff0c;非技术同学也能轻松搞定。 什么是Umam…

【模型学习之路】手写+分析bert

手写分析bert 目录 前言 架构 embeddings Bertmodel 预训练任务 MLM NSP Bert 后话 netron可视化 code2flow可视化 fine tuning 前言 Attention is all you need! 读本文前&#xff0c;建议至少看懂【模型学习之路】手写分析Transformer-CSDN博客。 毕竟Bert是tr…

stm32移植LVGL(LVGL 8.2.0)

目录 1.下载LVGL源码 2.修改LVGL文件夹 (1)文件夹 examples 改动 (2)文件夹 demos 改动 3.最终LVGL文件夹内容 4.软件Keil配置、添加头文件 5.程序配置 6.其它配置参考链接 1.下载LVGL源码 LVGL源码地址&#xff1a;https://github.com/lvgl/lvgl 2.修改LVGL文件夹…

海南华志亿星电子商务有限公司电商服务的璀璨新星

在这个全民直播、短视频带货风起云涌的时代&#xff0c;抖音电商以其独特的魅力成为了众多商家竞相追逐的蓝海市场。而在这片波澜壮阔的商海中&#xff0c;海南华志亿星电子商务有限公司犹如一颗璀璨的新星&#xff0c;以其专业的服务、创新的策略&#xff0c;为无数商家照亮了…

动手学深度学习66 使用注意力机制的seq2seq

1. 使用注意力机制的seq2seq key value等价 是一个东西 第i个词rnn的输出 根据加权的不同&#xff0c;解码器前面用编码器前面的输出&#xff0c;到后面用后面的输出。 2. code 核心代码: context 怎么算 embedding没变&#xff0c;Decoder加了attention层 class Seq2SeqAt…

高校大数据实训平台介绍

高校大数据实验室架构 具体实训平台介绍 编程实训平台 1、大数据开发实训平台 大数据开发实训平台是面向实训课和课后训练的编程实训平台&#xff0c;平台底层基于Docker技术&#xff0c;采用容器云部署方案&#xff0c;预装大数据相关课程教学所需的实训环境…

【快速上手】pyspark 集群环境下的搭建(Yarn模式)

目录 前言&#xff1a; 一、安装步骤 安装前准备 1.第一步&#xff1a;安装python 2.第二步&#xff1a;在bigdata01上安装spark 3.第三步&#xff1a;同步bigdata01中的spark到bigdata02和03上 二、启动 三、可打开yarn界面查看任务 前言&#xff1a; 上一篇介绍的是…

【ARM Linux 系统稳定性分析入门及渐进 1.2 -- Crash 工具依赖内容】

文章目录 Prerequisites1. 内核对象文件2. 内存镜像3. 平台处理器类型4. Linux 内核版本 Prerequisites crash 工具需要依赖下面的内容&#xff1a; 1. 内核对象文件 vmlinux 文件&#xff1a;需要一个 vmlinux 内核对象文件&#xff0c;在本文中称为命名列表&#xff08;na…

【Canal 中间件】Canal 实现 MySQL 增量数据的异步缓存更新

文章目录 一、安装 MySQL1.1 启动 mysql 服务器1.2 开启 Binlog 写入功能1.2.1创建 binlog 配置文件1.2.2 修改配置文件权限1.2.3 挂载配置文件1.2.4 检测 binlog 配置是否成功 1.3 创建账户并授权 二、安装 RocketMQ2.1 创建容器共享网络2.2 启动 NameServer2.3 启动 Broker2.…

Spring Boot2.x教程:(十)从Field injection is not recommended谈谈依赖注入

从Field injection is not recommended谈谈依赖注入 1、问题引入2、依赖注入的三种方式2.1、字段注入&#xff08;Field Injection&#xff09;2.2、构造器注入&#xff08;Constructor Injection&#xff09;2.3、setter注入&#xff08;Setter Injection&#xff09; 3、为什…

解决 ClickHouse 高可用集群中 VRID 冲突问题:基于 chproxy 和 keepalived 的实践分析

Part1背景描述 近期&#xff0c;我们部署了两套 ClickHouse 生产集群&#xff0c;分别位于同城的两个数据中心。这两套集群的数据保持一致&#xff0c;以便在一个数据中心发生故障时&#xff0c;能够迅速切换应用至另一个数据中心的 ClickHouse 实例&#xff0c;确保服务连续性…

【Android】View的事件分发机制

文章目录 分发顺序ActivityViewGroupView 协作方法整体流程注意 Activity事件分发ViewGroup事件分发View点击事件总结 分发顺序 Activity->ViewGroup->View Activity 分发事件&#xff1a;Activity 通过 dispatchTouchEvent 方法分发事件&#xff0c;首先尝试将事件传递…

java项目之微服务在线教育系统设计与实现(springcloud)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的闲一品交易平台。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 微服务在线教育系统设计与…

ChatGPT:真如吹的那般神乎其神吗?

ChatGPT的确是个神奇的东西。短短600多天&#xff0c;就已成全球访问量最大的网站之一。 ChatGPT已经出现在与这些大佬顶级大佬Google、Youtube、X.com、Baidu、Yahoo、amazon、Tiktok一起。 当然ChatGPT很优秀&#xff0c;这没有疑问&#xff0c;主要问题还是对度的把握上。…

【深度学习】实验 — 动手实现 GPT【二】:注意力机制、注意力掩码、多头注意力机制

【深度学习】实验 — 动手实现 GPT【二】&#xff1a;注意力机制、多头注意力机制 注意力机制简单示例&#xff1a;单个元素的情况简单示例&#xff1a;计算所有输入词元的注意力权重推广到所有输入序列词元&#xff1a; 注意力掩码代码实现多头注意力测试 注意力机制 简单示例…