电压模式R-2R DAC的工作原理和特性

news2024/9/20 0:51:58

本文将探讨电压模式R-2R DAC结构。

在本文中,我们将探索什么是R-2R DAC以及如何实现它们。

首先,我们将简要回顾一下开尔文分压器DAC。这种结构很简单,但它们需要大量的电阻和开关来实现高分辨率DAC。这个问题的一个解决方案是称为R-2R DAC的DAC结构。这些结构巧妙地利用梯形网络来实现电阻较少的DAC。

什么是数字转换器?

数模转换器(DAC)接收以数字代码表示的数据,并产生等效模拟输出(见下面的图1)。值得一提的是,除了数字输入外,DAC还需要模拟基准电压或电流才能工作。该基准电压源可在DAC芯片内部产生,也可在外部提供。

图1. 图片由 ADI公司.

上述理想传递函数对应于一个三位单极性DAC。请注意,DAC输入和输出都是量化值,传递函数实际上由八个点组成(而不是穿过这八个点的线)。此外,模拟输出(输入代码全为1的输出)比满量程(FS)值低。

串式DAC(开尔文分频器)简介:2的问题n 电阻

产生图1传递函数的基本结构如下图2所示。这种结构称为串式DAC或开尔文分压器,使用八个相等的电阻串联来产生三位DAC的八个不同电压电平。例如,要产生等于 V 的模拟输出裁判/4,我们只需要转动开关SW4 上。

输出缓冲器用于防止电阻串受到DAC输出节点V的任何负载效应代数转换器.

图2

开尔文分频器的一个主要缺点是n位DAC需要2n 电阻器和开关。这就是为什么使用这种方法来构建高分辨率DAC并不容易的原因(尽管可以将开尔文分频器与其他技术结合使用来构建更复杂的DAC)。

然而,有一种有趣的方法,它使用梯形网络来显着减少电阻器的数量。这些结构称为R-2R DAC,将在下一节中讨论。

分析 R-2R DAC 电路

基本的四位R-2R电压模式DAC如图3所示。数字代码应应用于输入 D3...D0,其中 D3 是有效位 (MSb),D0 是有效位 (LSb)。请参考Robert Keim之前的文章以了解更多信息 /有效位/字节和字节序.

如您所见,梯形图中有两种不同的电阻值(R 和 2R)。

图3

R-2R DAC 电阻器

一些观察可以使电路的分析更简单:

  • 在每个R电阻的左侧,我们总是会看到R的等效电阻。如图 4 中的蓝色箭头所示。
  • 考虑到前面的观察结果,我们知道从R电阻的右侧端子看,我们总是会看到一个2R的等效电阻(图4中的红色箭头)。

请注意,为了计算等效电阻,施加到 D3...D0 的电压源对地短路。

图 4

电路操作

现在让我们检查电路操作。假设 D0 连接到 V REF并且其他位为逻辑低电平;我们得到图5中的电路。

图 5

应用戴维宁定理,我们可以对虚线左侧的电路建模,如图 6 所示。

图 6

戴维南等效电压为VREF除以2,戴维南等效电阻等于R。

现在,我们使用这个等效电路,得到图 7 中的电路。

图 7

使用戴维南方程简化 R-2R DAC 电路

如果我们考虑图7中虚线左侧的电路,我们会观察到重复的模式。有两个2R电阻和一个电压源。这部分电路的戴维宁等效值如图8所示。

图8

因此,V裁判 再次降低两倍,等效电阻仍为R。如果我们将此模型连接到电路的其余部分,则先前的模式将再次出现。如图 9 所示。

图9

考虑到我们之前的简化,我们可以很容易地在虚线左侧找到电路的戴维宁等效物。戴维宁电压将为V裁判/8,

如果 D2 连接到 V裁判 其他三位逻辑低电平,我们得到图13中的模型。

图13

应用戴维宁定理,我们得到图14中的电路。

图14

考虑到运算放大器反相输入端的虚地,电流 (V REF /2)/2R 应该流过反馈电阻。因此,我们有:V DAC = -V REF /2。

为了检查 MSB,我们假设 D3 连接到 V REF(逻辑高电平),其他三位接地(逻辑低电平)。在这种情况下,我们获得图 15 中的模型。

图 15

因此,输出电压将为 V DAC = -(V REF /2R)?2R = -V REF。

总而言之,连接输入 D3, D2, D1和 D0 到 V裁判 可分别产生-V的电压步长裁判, -V裁判/2, -V裁判/4 和 -V裁判/8.这些电压阶跃是执行数模转换时所需的基准电压的二进制加权分数。由于电路是线性的,输入的组合将产生相应的输出电压阶跃的相同组合。例如,如果 D0 和 D1 连接到 V裁判 和 D2 和 D3 逻辑低电平,输出将为-V裁判/8 -V裁判/4 = -3V裁判/8.注意反馈电阻,RF,直接影响DAC的增益。

电压模式R-2R DAC的一些重要特性

R-2R梯形网络中的电阻连接永远不会被开关断开(如开尔文分压器)。该设计使得无论对DAC施加何种数字代码,运算放大器的反相端始终具有恒定的等效电阻。换句话说,梯形网络的输出阻抗是恒定的。这使得放大器或单位增益缓冲器的稳定更加容易。

但是,基准电压源观察到梯形图网络的负载阻抗变化。因此,参考发生器应该能够产生适用于宽负载电阻范围的电压。

如果与理想元件值的偏差相对较大,则R-2R DAC的输入至输出响应可以是非单调的。单调DAC响应要么完全不增加,要么完全不减少。例如,开尔文分频器的输入-输出特性是单调的。如果我们增加输入数字代码,输出模拟电压将增加或(在坏的情况下)保持其值;它不会减少。因此,组件不匹配不会导致非单调响应。

R-2R DAC的情况并非如此。采用图4的结构,模拟输出应随着输入代码的增加而减小。但是,假设由于电阻值不匹配,对应于MSB的输出电压阶跃为-3?V裁判/4而不是理想值 -V裁判.如果输入代码从 0111 更改为 1000,则输出将从 -V裁判/2 - V裁判/4 - V裁判/8 = -7?V裁判/8 至 -3?V裁判/4.

因此,如果我们有不匹配,输入代码的增加会导致模拟输出电压的增加,因此输入到输出的响应可以是非单调的!请注意,某些应用需要在闭环系统中使用DAC。在这些情况下,非单调DAC响应可能会改变 负面反馈 到积极的反馈。这就是为什么单调性可能很重要,具体取决于应用。

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

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

相关文章

【python】用代码实现2024中科大强基计划数学科目第一题

题目: 已知正整数a,b,c满足10a11b12c123,,则(a,b,c)的组数是 思路: 为了找出满足等式 10a 11b 12c 123 的正整数三元组 (a, b, c) 的数量,我们可以使用Python编写一个简单的循环来遍历可能的 a、b 和…

哪种考勤机好用,常见好用的考勤机种类

哪种考勤机好用,常见好用的考勤机种类 用考勤机完成上下班打卡制度,极大地为人事对公司的管理提供了便利。不同种类的考勤机均有各自的长处,那么究竟哪种考勤机比较好用呢?其中,智能云考勤机能够实现异地手机打卡&…

推荐一个Python的前端框架Streamlit

WHY,为什么要用Streamlit 你是不是也想写一个简单的前端界面做些简单的展示和控制,不想写html、css、js,也用不到前后端分离,用不到特别复杂的Flask、Django等,如果你遇到类似这样的问题,我推荐你试试Stre…

Linux下调试代码——gdb的使用

1. 文件准备: 测试代码: Makefile文件: 执行结果: 此时,我们的结果是存在问题的,即最终结果少了100。现在我们用gdb来调试它。 我们发现我们还没有安装gdb,这里安装一下。 2. 环境准备&#…

CUDA系列-Mem-9

这里写目录标题 Static Architecture.Abstractions provided by CUSW_UNIT_MEM_MANAGERMemory Object (CUmemobj) Memory Descriptor(CUmemdesc)Memory Block(CUmemblock)Memory BinsSuballocations in Memory BlockFunctional description Memory Manager 你可能觉得奇怪&…

MacOS之解决:开盖启动问题(七十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

LSTM架构的演进:LSTM、xLSTM、LSTM+Transformer

文章目录 1. LSTM2. xLSTM2.1 理论介绍2.2 代码实现 3. LSTMTransformer 1. LSTM 传统的 LSTM (长短期记忆网络) 的计算公式涉及几个关键部分:输入门、遗忘门、输出门和单元状态。 2. xLSTM xLSTM之所以称之为xLSTM就是因为它将LSTM扩展为多个LSTM的变体&#xff…

Spring的自动注入(也称为自动装配)

自动注入(也称为自动装配)是Spring框架中的一个核心概念,它与手动装配相对立,提供了一种更简洁、更灵活的方式来管理Bean之间的依赖关系。 在Spring应用程序中,如果类A依赖于类B,通常需要在类A中定义一个类…

终极版本的Typora上传到博客园和csdn

激活插件 下载网址是这个: https://codeload.github.com/obgnail/typora_plugin/zip/refs/tags/1.9.4 解压之后这样的: 解压之后将plugin,复制到自己的安装目录下的resources 点击安装即可: 更改配置文件 "dependencies&q…

SSMP整合案例

黑马程序员Spring Boot2 文章目录 1、创建项目1.1 新建项目1.2 整合 MyBatis Plus 2、创建表以及对应的实体类2.1 创建表2.2 创建实体类2.2.1 引入lombok,简化实体类开发2.2.2 开发实体类 3、数据层开发3.1 手动导入两个坐标3.2 配置数据源与MyBatisPlus对应的配置3…

第1讲:创建vite工程,使用框架为Vanilla时,语言是typescript,修改http端口的方法

直接在项目根目录创建 vite.config.ts文件。 在该文件中添加内容: import { defineConfig } from vite;export default defineConfig({server: {port: 7777,}, });最后尝试运行package.json中的Debug

【图解IO与Netty系列】Netty编解码器、TCP粘包拆包问题处理、Netty心跳检测机制

Netty编解码器、TCP粘包拆包问题处理、Netty心跳检测机制 Netty编解码器编码器解码器编解码器Netty提供的现成编解码器 TCP粘包拆包问题处理Netty心跳检测机制 Netty编解码器 网络传输是以字节流的形式传输的,而我们的应用程序一般不会直接对字节流进行处理&#x…

金蝶BI方案与奥威BI:智能、高效的数据分析组合

在当今数据驱动的时代,企业对于快速、准确、全面的数据分析需求日益增长。金蝶BI方案和奥威BI SaaS平台正是为满足这一需求而精心打造的智能数据分析工具。 方案见效快 金蝶BI方案以其高效的数据处理能力,能够快速地将海量数据转化为有价值的信息。通过…

跟《经济学人》学英文:2024年6月15日这期 America

America seems immune to the world economy’s problems 美国似乎对世界经济问题免疫 immune to:美 [ɪˈmjun tu] 对…有免疫力;不受…感染;不受…的影响;免疫耐受; Elsewhere, political dysfunction and fiscal…

api-ms-win-crt-runtime-l1-1-0.dll文件丢失的情况要怎么处理?比较靠谱的多种修复方法分享

遇到api-ms-win-crt-runtime-l1-1-0.dll文件丢失的情况实际上是一个常见问题,解决此类问题存在多种方法。首先我们先来了解一下api-ms-win-crt-runtime-l1-1-0.dll文件吧,只有了解了我们才知道怎么去解决这个api-ms-win-crt-runtime-l1-1-0.dll文件丢失的…

【机器学习】计算机图形和深度学习模型NeRF详解(2)

1. 引言 本文是"计算机图形和深度学习模型NeRF详解"系列文章的续篇,进一步深入探讨了NeRF的核心技术。NeRF作为一项突破性技术,因其能够从有限的2D图像中重建出完整的3D场景,而在多个领域,如医学成像、3D场景重建、动画…

Spring中网络请求客户端WebClient的使用详解

Spring中网络请求客户端WebClient的使用详解_java_脚本之家 Spring5的WebClient使用详解-腾讯云开发者社区-腾讯云 在 Spring 5 之前,如果我们想要调用其他系统提供的 HTTP 服务,通常可以使用 Spring 提供的 RestTemplate 来访问,不过由于 …

国际荐酒师携手各国际荐酒师专业委员会深化2024年度合作

国际荐酒师(香港)协会携手广东海上丝绸之路文化促进会及广东省城镇化发展研究会,深化2024年度合作,共同打造品荐与传播大师班培养荐酒师专业人材 近日,国际荐酒师(香港)协会、广东海上丝绸之路…

通过防抖动代码解决ResizeObserver loop completed with undelivered notifications.

通过防抖动代码解决ResizeObserver loop completed with undelivered notifications. 一、报错内容二、解决方案解释: 一、报错内容 我通过el-tabs下的el-tab-pane切换到el-table出现的报错,大致是渲染宽度出现了问题 二、解决方案 扩展原生的 Resiz…

操作系统 文件系统

实验目的: 掌握文件系统设计的基本思想。理解掌握文件系统基本数据结构的设计。理解掌握文件操作中涉及的数据结构访问过程。 实验内容: 1、编程实现一个简单的内存文件系统。实现Linux常见的一些文件操作命令。比如:ls/cat/cp/rm等。 实…