将实现数字信号到模拟信号的转换电流称为数模(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)转换器的更多相关文章

  1. 当Python与数模相遇

    数模有一个题目要处理杭州自行车在每个站点可用数量和已经借出数量,这数据在www.hzbus.cn上可以获取,它是10分钟更新一次的.这些数据手动获取,需要不停的刷页面,从6:00am到9:00pm,显 ...

  2. Python数模笔记-Sklearn(1) 介绍

    1.SKlearn 是什么 Sklearn(全称 SciKit-Learn),是基于 Python 语言的机器学习工具包. Sklearn 主要用Python编写,建立在 Numpy.Scipy.Pa ...

  3. Python数模笔记-(1)NetworkX 图的操作

    1.NetworkX 图论与网络工具包 NetworkX 是基于 Python 语言的图论与复杂网络工具包,用于创建.操作和研究复杂网络的结构.动力学和功能. NetworkX 可以以标准和非标准的数 ...

  4. Python数模笔记-NetworkX(3)条件最短路径

    1.带有条件约束的最短路径问题 最短路径问题是图论中求两个顶点之间的最短路径问题,通常是求最短加权路径. 条件最短路径,指带有约束条件.限制条件的最短路径.例如,顶点约束,包括必经点或禁止点的限制:边 ...

  5. Python数模笔记-StatsModels 统计回归(4)可视化

    1.如何认识可视化? 图形总是比数据更加醒目.直观.解决统计回归问题,无论在分析问题的过程中,还是在结果的呈现和发表时,都需要可视化工具的帮助和支持. 需要指出的是,虽然不同绘图工具包的功能.效果会有 ...

  6. Python数模笔记-StatsModels 统计回归(1)简介

    1.关于 StatsModels statsmodels(http://www.statsmodels.org)是一个Python库,用于拟合多种统计模型,执行统计测试以及数据探索和可视化. 2.文档 ...

  7. Python数模笔记-Scipy库(1)线性规划问题

    1.最优化问题建模 最优化问题的三要素是决策变量.目标函数和约束条件. (1)分析影响结果的因素是什么,确定决策变量 (2)决策变量与优化目标的关系是什么,确定目标函数 (3)决策变量所受的限制条件是 ...

  8. Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评

    新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...

  9. 【数学建模】数模day13-灰色系统理论I-灰色关联与GM(1,1)预测

    接下来学习灰色系统理论. 0. 什么是灰色系统? 部分信息已知而部分信息未知的系统,我们称之为灰色系统.相应的,知道全部信息的叫白色系统,完全未知的叫黑色系统. 为什么采用灰色系统理论? 在给定信息不 ...

随机推荐

  1. 万能的SqlHelper,麻麻再也不用担心用什么数据库了

    以前只用一种数据库,倒也无所谓,但是再数据库切换的时候,发现代码差不多呀. 最初,两种数据库,大不了写两个SqlHelper,但是多了也就发现代码重用率太低了吧. 因此,下面的SqlHelper诞生了 ...

  2. 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web\4b49f661\23a749fc\App_Web_default.aspx.cdcab7d2.zii776dc.dll”--“拒绝访问。 ” 解决方法:

    解决方法: 找到C:\Windows\Temp 目录,在其属性->安全->编辑->添加 IIS_IUSERS用户 赋予"完全控制"权限 ...注意:这可能不是最佳 ...

  3. C - NP-Hard Problem

    C - NP-Hard Problem Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:262144 ...

  4. No.008:String to Integer (atoi)

    问题: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ca ...

  5. MySQL中进行模糊搜索的一些问题

    在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符.SQL 通配符必须与 LIKE 运算符一起使用.在 SQL 中,可使用以下通配符:通配符 描述       % 替代一个或多个字符     ...

  6. 码农干货系列【20】--add gtTime to Promise.js

    使用场景 在一些时候,希望一件task不能太快完成,需要大于多少时间才可以执行,就可以使用Promise的gtTime方法. 使用方式 Promise.gtTime(f1(), 5000).then( ...

  7. javascript中concat方法深入理解

    最近在恶补js知识的时候,总是会因为js强大的语法而感到震撼.因为以前对前端方面的疏忽,导致了一些理解的错误.因此痛改前非,下定决心,不管做什么事情,都要有专研的精神. 在介绍前,抛出一个问题:如何将 ...

  8. CSS字符编码引起乱码

    乱码引起的CSS失效原理:     由于一个中文是两个字符组成,在编码不一致的情况下会引发字符的“重新”组合,(半个汉字的编码字符与后面的字符组合生成新的“文字”)引发原本的结束符合“变异”,从而导致 ...

  9. 获取WIFI密码

    在十年前,我还在上初中,班上只有极少数的富二代用得起手机:几年后诺基亚.摩托罗拉.三星手机开始盛行:近些年,安卓.苹果系统手机占据了基本整个市场,WIFI出变得越来越重要. Wifi万能钥匙数据库存储 ...

  10. Android Handler、Loop 的简单使用

    1.子线程和子线程之间的通信 package lib.com.myapplication; import android.os.Bundle; import android.os.Handler; i ...