当前位置: 首页 > article >正文

数模转换电路(D/A转换器)

将数字信号转换成模拟信号称为数/模转换, 简称D/A(Digital to Analog)转换,实现

D/A 转换的器件称为D/A转换器,简称 DAC(Digital-Analog Converter)。

将模拟信号转换成数字信号称为模/数转换, 简称A/D(Analog to Digital)转换,实现

A/D 转换的器件称为A/D转换器,简称 ADC(Analog-Digital Converter)。
本文介绍几种典型DAC及ADC的电路组成及工作原理。

D/A转换器

D/A转换,先将输入的二进制数字量的每一位转换成与其成正比的模拟电流量,再相加这些电流量并转换为电压量, 即得与输入的二进制数字量成正比的模拟电压量。
二进制权电阻网络D/A转换器
1.电路组成
在这里插入图片描述
高位权电阻的阻值是相邻低位阻值的1/2。
D3 ~D0为输入数字量,uO为输出模拟电压。
电子开关的状态由输入数字量控制:
当Di=0时,Si电子开关将权电阻接地;
当Di=1时,Si电子开关将权电阻接基准电压源VREF。

权电阻网络的输出电流:
在这里插入图片描述
推广到n位权电阻网络D/A转换器:
在这里插入图片描述
推广到n位权电阻网络D/A转换器:
在这里插入图片描述

由理想运算放大器的虚短、虚地特性,输出模拟电压uO的表达式为:
在这里插入图片描述
推广到n位权电阻网络D/A转换器:
在这里插入图片描述

由理想运算放大器的虚短、虚地特性,输出模拟电压uO的表达式为:
在这里插入图片描述

当取 RF=R/2 时,则输出模拟电压uO的表达式为:
在这里插入图片描述

转换关系式表明,输出模拟电压uO正比于二进制输入数字量Dn-1~D0,从而实现数字量到模拟量的转换。
若基准电压源(参考电压源)VREF取负值, 则输出模拟电压uO为正极性。
3.电路特点
二进制权电阻网络D/A转换器的电路结构简单, 但随着输入二进制数字量位数的增加,
权电阻的阻值相差过大,难于保证精度,且大电阻不宜集成在IC内部。

R-2R倒T形电阻网络D/A转换器

在这里插入图片描述

电阻网络电阻的阻值只有R、2R 2种。
D3 ~D0为输入数字量,uO为输出模拟电压。电子开关的状态由输入数字量控制:
当Di=0时,Si电子开关接至地端;
当Di=1时,Si电子开关接至运算放大器的反相输入端,即虚地端。

工作原理
在这里插入图片描述

基准电压VREF处的等效电阻为R, 基准电压VREF提供的总电流为:
在这里插入图片描述

iR流入电阻网络后,各个节点按两个支路对电流分流且各支路等效电阻均为2R, 因此
电阻网络的输出电流即流向运算放大器反相输入端的电流为

在这里插入图片描述
在这里插入图片描述

推广到n位R-2R倒T形电阻网络D/A转换器:

在这里插入图片描述

推广到n位R-2R倒T形电阻网络D/A转换器:

在这里插入图片描述

由理想运算放大器的虚短、虚地特性,输出模拟电压uO的表达式为

在这里插入图片描述
在这里插入图片描述
电路特点
R-2R倒T形电阻网络D/A转换器电阻种类少,仅为R和2R两种;输入二进制数字量变
化时,即无论电子开关接至地端还是虚地端, 各支路电流恒定不变 , D/A转换时不存在电
流建立时间,具有较高的转换速度。

D/A转换器的主要技术指标

分辨率是指对输出最小电压的分辨能力。
其定义为最小输出电压(输入数字量仅最低有效位为1时的输出电压)与最大输出电压(输入数字量为全1时输出满量程电压)之比。
在这里插入图片描述

DAC的位数越多,分辨率越小,分辨能力越高。
分辨率也可用输入数字量的位数表示,在分辨率为n位的D/A转换器中, 输出电压能
区分出2n个不同的输入二进制状态, 能给出2n个不同等级的输出模拟电压。

2.转换精度
转换精度一般指最大的静态误差,是输出模拟电压的实际值与理论值之差。
它是一个综合性误差,包括运算放大器的漂移误差、参考电压源VREF漂移产生的比
例系数误差、网络电阻的偏差及电子开关上的压降造成的偏差等非线性误差。
3.转换速度
通常用建立时间定量描述D/A转换器的转换速度。
建立时间的规定是,输入数字量从全0变成全1或由全1变成全0起,到输出电压达到与稳态值相差±1/2LSB范围以内的时间。

集成DAC

      根据分辨率、转换速度及兼容性、接口特性等性能的不同,集成DAC有多种不同

类型、不同系列的产品。
DAC0832是采用CMOS工艺的单片电流输出型8位D/A转换器,它可以和多种可编程
逻辑器件直接连用,且接口电路简单,转换控制容易,在单片机及数字系统中得到广泛
应用。

在这里插入图片描述

8位输入寄存器用于暂存输入的8位数据。
8位DAC寄存器用于暂存要进行D/A转换的8位数据。
8位D/A转换器是R-2R倒T形电阻网络D/A转换器。

在这里插入图片描述
RFB —内部反馈电阻,RFB=15 kΩ。
VREF—转换器的基准电压,其范围可在−10 V +10 V内选定。
AGND—模拟信号地。
DGND—数字信号地。
VCC—芯片电源,其值可在+5V +15V之间选取。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

数模转换电路(D/A转换器)

将数字信号转换成模拟信号称为数/模转换, 简称D/A(Digital to Analog)转换,实现 D/A 转换的器件称为D/A转换器,简称 DAC(Digital-Analog Converter)。 将模拟信号转换成数字信号称为模/数转换, 简称A/D&a…...

网络基础-路由器和交换机工作配置

三、路由器和交换机的工作原理配置以及华为体系下的小型网络的搭建 3.1路由基础 3.1.1数据转发 通过链路层交换机和网络层路由器进行数据转发 交换机(链路层)mac地址表的数据转发路由器(网络层) ip路由表的数据转发 隔离广播域…...

uv包简单使用案例

uv由Charlie Marsh开发,是Astral Tool的一个快速Python包安装器和解析器。它类似于pip和pip-tools,但速度更快。此外,uv还支持虚拟环境管理,替代venv和virtualenv。 参考:https://github.com/astral-sh/uv 安装&#x…...

PHP接口开发:从基础到高级的全面指南

一、接口基础与核心概念(约800字) 1.1 接口的本质定义 在PHP中,接口(Interface)是一种特殊的抽象结构,它通过interface关键字定义一组方法的契约规范,不包含具体实现。这种设计强制实现类必须遵循统一的调用标准,如: interface PaymentGateway {public function proc…...

JAVA学习*String类

String类 基本知识 String类的构造方法 String类的构造方法有很多,我们需要掌握常见的构造方法,来赋初识值。 1、new一个String类的对象 String name new String("张三");2、使用字符串常量进行赋值 String name "张三";相当…...

Java IO框架体系深度解析:从四基类到设计模式实践

Java IO框架体系深度解析:从四基类到设计模式实践 一、IO流体系架构总览 1.1 四基类设计哲学 Java IO框架以InputStream、OutputStream、Reader、Writer四个抽象类为根基,构建了完整的流式IO体系。这种设计体现了以下核心原则: 抽象分层&a…...

【读书笔记】华为《从偶然到必然》

note 华为的成功并非偶然,而是通过IPD体系、投资组合管理、平台战略等系统性工具,将研发投资转化为可持续的商业竞争力。书中强调的“管理即内部因素”理念,揭示了企业规模扩张与管理能力匹配的深层规律,为高科技企业提供了可借鉴…...

failed to load steamui.dll”错误:Steam用户的高频崩溃问题解析

当你满心欢喜地双击 Steam 图标,准备进入游戏世界时,屏幕上突然弹出 “failed to load steamui.dll” 的刺眼提示——这是全球数百万 Steam 用户最不愿见到的错误之一。作为 Steam 客户端的核心界面动态链接库文件,steamui.dll 的缺失或损坏会…...

Linux多线程详解

Linux多线程详解 一、Linux多线程概念1.1 什么是线程1.2 进程和线程1.3 进程的多个线程共享1.4 进程和线程的关系 二、Linux线程控制2.1 POSIX线程库2.2 线程创建2.3 获取线程ID pthread_self2.4 线程等待pthread_join2.5 线程终止2.6 线程栈 && pthread_t2.7 线程的局…...

权限提升—Windows权限提升土豆家族溢出漏洞通杀全系

前言 OK,Java安全更新不下去了,实在是太难啦啊,想起来提权这一块没怎么更新过,接下来都主要是更新提权这一块的文章了,Java安全的话以后有耐心再搞了。 手动提权 今天主要是讲这个手动的提权,手动提权相…...

JVM(基础篇)

一.初识JVM 1.什么是JVM JVM全称Java Virtyal Machine,中文译名 Java虚拟机 。JVM本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件(将字节码解释成机器码)。 2.JVM的功能 解释和运行:对字节码文件中的指令号,实时…...

cf1007-D

__builtin_ctzll(x)可以用((int)log2(x&-x))代替 void solve() {int n;i64 l, r;std::cin >> n >> l >> r;std::vector<int> a(n 1);for (int i 1; i < n; i) {std::cin >> a[i];}std::vector<int> pre(n 1);for (int i 1; i …...

【Unity网络编程知识】使用Socket实现简单TCP通讯

1、Socket的常用属性和方法 创建Socket TCP流套接字 Socket socketTcp new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 1.1 常用属性 1&#xff09;套接字的连接状态 socketTcp.Connected 2&#xff09;获取套接字的类型 socketTcp.So…...

深入解析SSL/TLS证书:构建现代网络安全的密码学基石1.1 TLS 1.3握手流程优化

一、协议层深度解析&#xff1a;TLS握手全流程拆解 1.1 TLS 1.3握手流程优化 &#xff08;此处展示TLS 1.3握手流程图&#xff0c;使用Mermaid语法&#xff09; Client Server ClientHello (supported_versions, cipher_suites, key_share) ServerHello (selected_version, ci…...

【深度学习】GAN生成对抗网络:原理、应用与发展

GAN生成对抗网络&#xff1a;原理、应用与发展 文章目录 GAN生成对抗网络&#xff1a;原理、应用与发展1. 引言2. GAN的基本原理2.1 核心思想2.2 数学表达2.3 训练过程 3. GAN的主要变体3.1 DCGAN (Deep Convolutional GAN)3.2 CGAN (Conditional GAN)3.3 CycleGAN3.4 StyleGAN…...

Live555+Windows+MSys2 编译Androidso库和运行使用(二,实验篇)

文章目录 实验下载推流服务端版本运行 摘要&#xff1a;书接上回 https://blog.csdn.net/qq_20330595/article/details/146412411?spm1001.2014.3001.5502 我们先做几个试验&#xff0c;方便我们理解rtsp推流&#xff0c;先把采集和播放体验一下&#xff0c;我们最后回到代码…...

树莓派ollama docker报错尝试网上方法

ollama ps运行bash:ollama:未找到命令 sudo curl -sSL https://get.docker.com | sh 显示“连接被对方重置” sudo docker run hello-world测试 sudo&#xff1a; docker找不到命令 ollama pull qwen2:7b push:ollama 未找到命令 安装 docker sudo apt update sudo apt …...

工作杂谈(十七)——研发阶段术语

EVT/DVT/PVT/MP是指在制造行业一个产品研发导入从试产到量产的不同阶段&#xff1a;   EVT&#xff1a;Engineering Verification Test工程验证测试阶段   DVT&#xff1a;Design Verification Test设计验证测试   PVT&#xff1a;Production Verification Test 小批量生…...

Spring MVC:从历史演变到实战入门

1. Java Web的发展历史与MVC模式 1.1 Model I与Model II的演进 Model I&#xff08;JSPJavaBean&#xff09; 作为早期Java Web开发的主流模式&#xff0c;其核心架构如下&#xff1a; graph LR A[客户端] --> B[JSP页面] B --> C{业务逻辑} C --> D[JavaBean] D -…...

C++中的std::move函数详解:移动语义与资源管理

在C中&#xff0c;std::move 是一个用于将对象转换为右值引用的函数模板&#xff0c;通常用于实现资源的转移&#xff08;如动态内存、文件句柄等&#xff09;&#xff0c;从而避免不必要的拷贝操作。std::move 是C11引入的一个重要特性&#xff0c;主要用于支持移动语义。 目录…...

2025 polarctf春季个人挑战赛web方向wp

来个弹窗 先用最基础的xss弹窗试一下 <script>alert("xss")</script>没有内容&#xff0c;猜测过滤了script&#xff0c;双写绕过一下 <scrscriptipt>alert("xss")</scscriptript>background 查看网页源代码 查看一下js文件 类…...

RabbitMQ 学习整理1 - 基础使用

项目代码&#xff1a;RabbitMQDemo: 学习RabbitMQ的一些整理 基本概念 RabbitMQ是一种基于AMQP协议的消息队列实现框架RabbitMQ可以用于在系统与系统之间或者微服务节点之间&#xff0c;进行消息缓存&#xff0c;消息广播&#xff0c;消息分配以及限流消峰处理RabbitMQ-Serve…...

分布式渲染与云渲染:技术与应用的黄金搭档

一、核心概念&#xff1a;先区分再关联 分布式渲染是通过多台设备并行计算拆分渲染任务的技术&#xff08;如将一帧拆分为 64 个小块&#xff0c;64 台电脑同时渲染&#xff09;&#xff1b; 云渲染是基于云计算的渲染服务&#xff0c;本质是分布式渲染的商业化落地—— 用户无…...

【实战ES】实战 Elasticsearch:快速上手与深度实践-5.2.1 多字段权重控制(标题、品牌、类目)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 电商商品搜索实战&#xff1a;多字段权重控制策略1. 业务场景与核心挑战1.1 典型搜索问题1.2 权重失衡的影响数据 2. 权重控制核心方案2.1 字段权重分配矩阵2.2 多策略组合方…...

如何避免测试数据准备不充分或不可复用

避免测试数据准备不充分或不可复用的关键方法包括明确数据需求、统一数据管理工具、建立数据复用机制、定期维护更新测试数据以及加强团队沟通与协作。 其中&#xff0c;统一数据管理工具对确保数据质量和复用性尤为重要。例如&#xff0c;许多团队采用专门的测试数据管理工具以…...

使用AI一步一步实现若依(23)

功能23&#xff1a;从后端获取路由/菜单数据 功能22&#xff1a;用户管理 功能21&#xff1a;使用axios发送请求 功能20&#xff1a;使用分页插件 功能19&#xff1a;集成MyBatis-Plus 功能18&#xff1a;创建后端工程 功能17&#xff1a;菜单管理 功能16&#xff1a;角色管理…...

C语言的内存模型 (堆区,栈区,静态区,常量区,代码区 )概念讲解

C语言的内存模型分为5个区&#xff1a; 堆区&#xff0c;栈区&#xff0c;静态区&#xff0c;常量区&#xff0c;代码区 。 1、栈区 存放函数的参数值&#xff0c;局部变量等。 由编译器自动分配和释放。通常在函数执行完了就释放了。其操作方式类似于数据结构中的栈。栈内存…...

Vue3 知识点总结

Vue3 知识点总结 1. 核心概念 1.1 Composition API 1.1.1 setup 函数 setup是Vue3中的新的配置项&#xff0c;是组件内使用Composition API的入口在setup中定义的变量和方法需要return才能在模板中使用setup执行时机在beforeCreate之前&#xff0c;this不可用 export defa…...

第一天学爬虫

阅读提示&#xff1a;我今天才开始尝试爬虫&#xff0c;写的不好请见谅。 一、准备工具 requests库&#xff1a;发送HTTP请求并获取网页内容。BeautifulSoup库&#xff1a;解析HTML页面并提取数据。pandas库&#xff1a;保存抓取到的数据到CSV文件中。 二、爬取步骤 发送请求…...

W、M、C练题笔记(持续更新中)

web here are the flag 点击&#xff0c;页面跳转404.php&#xff0c;用bp抓包访问/flag.php页面&#xff0c;得到flag用base64解码 TryToFindFlag 打开后查看源代码 发现是robots协议&#xff0c;访问robots.txt 访问flllaaa......&#xff0c;得到空白页面&#xff0c;查看…...