数-模(D/A)转换器
将实现数字信号到模拟信号的转换电流称为数模(D/A)转换器,简称为DAC(Digital - Analog Convert)。
目前常见的D/A转化器中,有:权电阻网络D/A转换器、倒T型电阻网络D/A转换器、权电流型D/A转换器、权电容网络D/A转换器、开关树形D/A转换器
一、数字信号的表达
在数字信号中,我们使用二进制对数字信号大小进行表达,比如一个n位二进制用Dn=dn-1*dn-2*……d1d0表示,其中一个多位二进制数中每一位的1所代表的数值大小称为这一位的权,从最高位(MSB)到最低位(LSB)的权依次为2^n-1、2^n-2、……、2^1、2^0
二、权电阻网络D/A转换器
如上图,S3、S2、S1和S0的状态分别受代码d3、d2、d1和d0的取值控制,代码为1时,开关接到参考电压Vref上,代码为0时开关接地。
该求和放大器是一个负反馈的运算放大器,理想放大器的开环放大倍数为无穷大,其输入电流为零(输入电阻为无穷大),输出电阻为零。
当参考电压经电阻网络加到V-时,只要V-稍高于V+,便在Vo产生很负的输出电压,V0经Rf反馈到V-端使V-降低,其结果必然使V-≈V+=0
在运算放大器输入电流为零的条件下可得:V0=-Rf*I=-Rf*(I3+I2+I1+I0)------------------①
由于V-≈0,因而各支路电流分别为
将各直流电流代入公式①中,并取Rf=R/2,可得:
对于n位的权电阻网络D/A转换器,当反馈电阻取为R/2时,输出电压的计算公式为
自此,我们可以提取出数字信号的表达形式:
即,当Dn=0时,Vo=0,当Dn=11...11时,
这个电路的优点是结构比较简单,所用的电阻元件比较少,但它的各个电阻阻值相差比较大,尤其在输入信号的位数较多时,这个问题更加突出。如输入信号增加到8位时,如果取权电阻网络中最小的电阻为R=10K,那么最大的电阻阻值将达到2^7R=1.28M,其两者相差128倍之多。要想在极为宽广的阻值范围内保证每个电阻阻值都有很高的精度十分困难,尤其对于集成电路更为不便。
为解决该问题,可采用倒T形电阻D/A转换器.
三、倒T形D/A转换器
由图可知,电阻网络中只有R、2R两种阻值的电阻,这给集成电路的设计和制作带来了很大的方便
如下图,从AA、BB、CC、DD每个端口向左看过去的等效电阻都是R,因此参考电源流入倒T形电阻网络的总电流为I=Vref/R,而每个支路的电流依次为:I/2,I/4,I/8,I/16
若di=0时开关Si接地(即放大器的V+),而di=1时开关Si接放大器的V-,在求和放大器反馈电阻阻值等于R的条件下,
总电流:
在求和放大器反馈电阻为R的条件下,输出电压(Vo=-R*i∑):
同理,对于n位输入的倒T形电阻网络D/A转换器,在在求和放大器反馈电阻为R的条件下,输出电压
四、权电流型D/A转换器
在分析电阻网络D/A转换器和倒T型电阻网络D/A转换器的过程中,都把模拟开关作为理想开关处理,但实际中每个开关都有一定的导通电阻和导通压降,而且每个开关的情况也不完全相同,这些问题的存在会引起转换误差,影响转换精度。
如下图,权电流型D/A转换器,采用了恒流源,每个支路电流的大小不再受开关内阻和压降的影响。从而降低了对开关电路的要求。
对于恒流源电路,如下图:
只要电路保证Vb和和Vee稳定不变,则三极管的集电极电流即可保持恒定,不受开关内阻的影响,电流大小近似为:
当输入数字量的某位代码为1时,对应开关将恒流源接至运算放大器的输入端,当代码为0时,对应的开关接地,故输出电压为:
可见,Vo正比于输入的数字量
在相同的Vb和Vee取值下,为了得到一组依次为1/2递减的电流源就需要用到一组不同阻值的电阻,为减少电阻阻值的种类,在实际中经常利用倒T型电阻网络的分流作用产生所需的一组恒流源。如下图(为保证所有三级管的发射结压降相等,在发射极电流较大的三极管中按比例地加大了发射结的面积,在图中用增加发射极的数目来表示):
数-模(D/A)转换器的更多相关文章
- 当Python与数模相遇
数模有一个题目要处理杭州自行车在每个站点可用数量和已经借出数量,这数据在www.hzbus.cn上可以获取,它是10分钟更新一次的.这些数据手动获取,需要不停的刷页面,从6:00am到9:00pm,显 ...
- Python数模笔记-Sklearn(1) 介绍
1.SKlearn 是什么 Sklearn(全称 SciKit-Learn),是基于 Python 语言的机器学习工具包. Sklearn 主要用Python编写,建立在 Numpy.Scipy.Pa ...
- Python数模笔记-(1)NetworkX 图的操作
1.NetworkX 图论与网络工具包 NetworkX 是基于 Python 语言的图论与复杂网络工具包,用于创建.操作和研究复杂网络的结构.动力学和功能. NetworkX 可以以标准和非标准的数 ...
- Python数模笔记-NetworkX(3)条件最短路径
1.带有条件约束的最短路径问题 最短路径问题是图论中求两个顶点之间的最短路径问题,通常是求最短加权路径. 条件最短路径,指带有约束条件.限制条件的最短路径.例如,顶点约束,包括必经点或禁止点的限制:边 ...
- Python数模笔记-StatsModels 统计回归(4)可视化
1.如何认识可视化? 图形总是比数据更加醒目.直观.解决统计回归问题,无论在分析问题的过程中,还是在结果的呈现和发表时,都需要可视化工具的帮助和支持. 需要指出的是,虽然不同绘图工具包的功能.效果会有 ...
- Python数模笔记-StatsModels 统计回归(1)简介
1.关于 StatsModels statsmodels(http://www.statsmodels.org)是一个Python库,用于拟合多种统计模型,执行统计测试以及数据探索和可视化. 2.文档 ...
- Python数模笔记-Scipy库(1)线性规划问题
1.最优化问题建模 最优化问题的三要素是决策变量.目标函数和约束条件. (1)分析影响结果的因素是什么,确定决策变量 (2)决策变量与优化目标的关系是什么,确定目标函数 (3)决策变量所受的限制条件是 ...
- Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评
新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...
- 【数学建模】数模day13-灰色系统理论I-灰色关联与GM(1,1)预测
接下来学习灰色系统理论. 0. 什么是灰色系统? 部分信息已知而部分信息未知的系统,我们称之为灰色系统.相应的,知道全部信息的叫白色系统,完全未知的叫黑色系统. 为什么采用灰色系统理论? 在给定信息不 ...
随机推荐
- EFCore执行Sql语句的方法:FromSql与ExecuteSqlCommand
前言 在EFCore中执行Sql语句的方法为:FromSql与ExecuteSqlCommand:在EF6中的为SqlQuery与ExecuteSqlCommand,而FromSql和SqlQuery ...
- Css 进阶篇
一.Css2 高阶知识(常用) 1. css 优先权 优先权(从低到高) 浏览器缺省设置 外部样式表 内部样式表(位于 <head> 标签内部) 内联样式(在 HTML 元素内部) 因此, ...
- Cats(1)- 从Free开始,Free cats
cats是scala的一个新的函数式编程工具库,其设计原理基本继承了scalaz:大家都是haskell typeclass的scala版实现.当然,cats在scalaz的基础上从实现细节.库组织结 ...
- 6、ASP.NET MVC入门到精通——ASP.Net的两种开发方式
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 目前,ASP.NET中两种主流的开发方式是:ASP.NET Webform和ASP.NET MVC.从下图可以看到ASP.NET WebFo ...
- jQuery:详解jQuery中的事件(一)
之前用过一些jQuery的动画和特效,但是用到的部分也不超过10%的样子,感觉好浪费啊——当然浪费的不是jQuery,而是Web资源.后来就想深入研究下jQuery的内部机理,读过两遍jQuery源代 ...
- HTML字符实体(关于 ><等)
常用字符实体 注意:实体名称是区分大小写的! 结果 描述 实体名 实体编号 non-breaking space < less than < < > greate ...
- 分享15个优秀的 CSS 解决方案和工具
CSS 代码是很难管理,尤其是在大型项目. 样式都写在一个全局作用域里,通过复杂的选择器来指向特定的页面元素.冗余.膨胀和维护可以成为前端开发人员的一场噩梦.幸运的是我们有一些 CSS 工具来帮助开发 ...
- 免费薪资总额管控系统-JXHR2016
•工资总额是指按照国家统计局规定的统计口径或企业规定,在一定时期内支付给各类用工的劳动报酬总额 •工资总额,即基本工资,包括岗位工资.各项津补贴 •JXHR2016以薪酬管控为核心,结合人力资源规划. ...
- SCRIPT5011:不能执行已释放Script的代码
环境:win7 64位 IE9 错误:SCRIPT5011:不能执行已释放Script的代码. 现象:在父窗体的close()中调用嵌套的iframe页面的js方法返回一个对象时抛此异常. 原因:在一 ...
- Intent的七大组件——Android开发之路5
------Intent------ Android中三个核心组件——Activity.Services.BroadCastProvider都是通过Intent传递参数. startActivity( ...