D/A转换器

1.二进制权电阻网络型D/A转换器

基准电压Vref 数据D(d3d2d1d0) 输出模拟电压V0

  i0 = Vref/8R    i1 = Vref/4R     i2 = Vref/2R     i3 = Vref/R

  i∑ = i0+i1+i2+i3 = Vref * (d3*2^3 + d2*2^2 + d1*2^1 +d0*2^0) / (R*2^3)

设RF = R / 2,可得

  Vo = -RF*if = -R/2 * i∑ = -Vref (d3*2^3 + d2*2^2 + d1*2^1 +d0*2^0) /2^4

输出电压最大变化范围  

  0~-(2^n - 1)*Vref/2^n

2.倒T型电阻网络D/A转换器

电路特点:①分别从ABCD往右看等效电阻都是R

     ②开关不论01,各支路电流不变

  

  Iref = Vref / R

  I3 = Iref/2 = Vref/2R    I2 = Iref/4 = Vref/4R     I1 = Iref/8 = Vref/8R    I0 = Iref/16 = Vref/16R

运放求和电压

  Vo = -RF*if = -RF*i = -Vref*RF *(d3*2^3 + d2*2^2 + d1*2^1 +d0*2^0) /(R * 2^4)

当RF = R时

  Vo = -Vref*(d3*2^3 + d2*2^2 + d1*2^1 +d0*2^0) / 2^4

3.D/A转换器的主要参数

①分辨率  分辨率 = 1 / (2^n - 1)

②转换精度  转换精度指输出模拟电压的实际值与理想值之差。通常要求误差小于Vlsb/2

③转换速度  用转换时间表示,转换时间是指从输入数字起,到输出电压或电流到达稳定值所学时间,也称建立时间。

④非线性误差  非线性误差(也称线性度)是实际转换特性曲线与理想直线特性之间的最大偏差。常以相对于满量程的百分数表示。                                                                如±1%是指实际输出值与理论值    之差在满刻度的±1%以内。

4.DAC0832芯片

特性

  分辨率8位;

  电流建立时间1μS;

  数据输入可采用双缓冲、单缓冲或直通方式;

  输出电流线性度可在满量程下调节;

  逻辑电平输入与TTL电平兼容;

  单一电源供电(+5V~+15V);

  低功耗,20mW。

  D7~D0:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);
  ILE:数据锁存允许控制信号输入线,高电平有效;
  CS(上划线):片选信号输入线(选通数据锁存器),低电平有效;
  WR1(上划线):数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随                           输入数据线变换,LE1的负跳变时将输入数据锁存;
  XFER(上划线):数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;
  WR2(上划线):DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存                             器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。
  IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;
  IOUT2:电流输出端2,其值与IOUT1值之和为一常数;
  Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;
  Vcc:电源输入端,Vcc的范围为+5V~+15V;
  VREF:基准电压输入线,VREF的范围为-10V~+10V;
  AGND:模拟信号地;
  DGND:数字信号地。
              
  输出为电流,用运算放大器转化成电压。
  CS(上划线)为低电平,芯片被选中,数据总线上数据开始保持有效。再将WR(上划线)置低,从Iout线上可看出,WR(上划线)置低ts后D/A转化结束,Iout输出稳定。若只控制完成一次,则拉高WR(上划线),CS(上划线)即可。
 
A/D转换器
1.采样和保持
  由于A/D转换需要一定的时间,为了保持转换器就输入信号的恒定,采样后的值必须保持不变。若输入信号变化较快,而A/D转换速度较慢,则需要加上采样-保持电路。
  
 
  在取样脉冲s(t)有效期间,开关VT导通,u1向C充电,u0(=uc)跟随u1变化而变化;
  在s(t)无效期间,开关VT截止,u0(=uc)不变,直到下次采样。
 
 
 
常用 采样-保持器LF198/298/398
 
       vL=1,S闭合,进入采样阶段,A1、A2均为A=1的电压跟随器,所以v0=vo'=v1,        如果将电容Ch接到R2的引出端和地之间,则电容上的电压也等于v1。
 
    vL=0,S断开,由于Ch上的电压不变,所以输出电压v0的数值保持下来了。  
 
 
 
2.转换方法
逐次比较型:转换精度高
  Vref是基准电压,,D/A转换器输出Vn比输入Vin比较。
 
  开始转换时,寄存器最高位为1,D/A转换器输出Vn = Vref/2 与Vin比较,若Vn大于Vin,则下一个脉冲后,寄存器最高位为0;若Vn小于Vin,则下一个脉冲后,寄存器最高位为1。第二个脉冲后Vn = Vref/4 或Vref*3/4,以此类推。最终确定寄存器N位数值,至少需要n个时钟周期。
 
 
 
 
并行比较型:转换速度快,精度不高
 
  精密电阻分压。
  输入模拟电压vI与各比较参考电平比较,产生的(2^n)- 1位二进制码,通过寄存器寄存,被译码成n为二进制数(D0~Dn-1),完成模拟信号到数字信号转换。
 
 
 
 
 
 
 
双击分型:精度较高,抗干扰能力强,转换速度慢
 
  工作原理:对输入的模拟电压和基准电压分别进行积分,将输入电压平均值变换成与之成正比的时间间隔,然后再这个时间间隔里对固定频率的时钟脉冲计数,结果就是正比于输入模拟信号的数字信号量。
 
 
 
 
 
 
3.A/D转换器的主要参数
①分辨率 输入模拟电压范围最大值*2^-n
②转换误差:实际输出数字了和理论上输出数字量间的差别。常用最低有效位(LSB)的倍数表示
③转换时间:完成一次转换所需时间。
  双积分:几十ms至几百ms
  逐次比较型:10~50us
  并行比较:10ns
 
4.ADC0804
特点:
  工作电压:+5V,即VCC=+5V。
  模拟转换电压范围:0~+5V,即0≤Vin≤+5V。
  分辨率:8位,即分辨率为1/28=1/256,转换值介于0~255之间。
  转换时间:100us(fCK=640KHz时)。
  转换误差:±1LSB。
  参考电压:2.5V,即Vref/2=2.5V。
 
  Vin(+)、Vin(-):两个模拟信号输入端,可以接收单极性、双极性和差模输入信号。
  DB0-DB7:具有三态特性数字信号输出端,输出结果为八位二进制结果。
  CLKIN:时钟信号输入端。
  CLKR:内部时钟发生器的外接电阻端,与CLK端配合可由芯片自身产生时钟脉冲,其频率计算方式是:fck=1/(1.1RC)。R~=10kΩ
  CS:片选信号输入端,低电平有效。
  WR:写信号输入端,低电平启动AD转换。
  RD:读信号输入端,低电平输出端有效。
  INTR:转换完毕中断提供端,AD转换结束后,低电平表示本次转换已完成。
  VREF/2:参考电平输入,决定量化单位。
  VCC:芯片电源5V输入。
  AGND:模拟电源地线。
  DGND:数字电源地线。
 
  对比于上图 其实是一样样的。
  
 
 
 
 
 
 
 
ADC0804启动转换时序图
 CS先为低电平,WR(上划线)随后置低,经过至少tW(WR(上划线))L时间后,WR(上划线)拉高,随后A/D转换器被启动,并经过(1~8个A/D时钟周期+内部Tc)时间后,A/D完成转换,结果存入数据锁存器,同时INTR(上划线)自动变为低电平,通知单片机本次转换结束。
 
sbit adwr = P3^6;  //定义A/D的WR端口
CSAD置0,选通。
adwr = 1;
_nop()_;
adwr = 0;    //启动A/D转换
_nop()_;
adwr = 1;
 
 
ADC0804读取数据时序图
  当INTR(上划线)变低电平后,将CS(上划线)先置低,接着再将RD(上划线)置低,在RD(上划线)置低至少经过tACC时间后,数字输出口上的数据达到稳定状态,此时直接读取数字输出端口数据便可得到转换后数子信号,读走数据后,将RD(上划线)拉高,再将CS(上划线)拉高,INTR(上划线)自动拉高。
 
sbit adrd = P3^7;  //定义A/D的RD端口
P1 = 0xff;  //读取P1口之前先给其写全1
adrd = 1;  
_nop()_;
adrd = 0;  //A/D读 使能
uchar adval = P1; //从P1读取数据
adrd = 1;  //读取结束
 
  连续读取数据时没必要每次都把CS置低再拉高,CS是片选信号,置低表示该芯片可被操作。一开始将CS置低,启动转换或读取数据时只需要操作WR(上划线)和RD(上划线)即可。

十天学会单片机Day3 D/A与A/D转换器的更多相关文章

  1. 《十天学会单片机和C语言编程》

    <十天学会单片机和C语言编程> 大家注意了这个文件只有最新版迅雷可以下载,下面的lesson几就是第几课.点击右键使用迅雷下载. ed2k://|file|[十天学会单片机和C语言编程]. ...

  2. 十天学会单片机Day1点亮数码管(数码管、外部中断、定时器中断)

    1.引脚定义 P3口各引脚第二功能定义 标号 引脚 第二功能 说明 P3.0 10 RXD 串行输入口 P3.1 11 TXD 串行输出口 P3.2 12 INT0(上划线) 外部中断0 P3.3 1 ...

  3. 十天学会单片机Day4串行口通信

    并行与串行基本通信方式 1.并行通信方式 通常是将数据字节的各位用多条数据线同时进行传送. 并行通信控制简单.传输速度快:由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难. 2.串行通 ...

  4. 十天学会单片机Day2键盘检测(独立键盘、矩阵键盘)

    1.键盘的分类 编码键盘:键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘 非编码键盘:靠软件编程来识别的称为非编码键盘.独立键盘.矩阵键盘 2.按键消抖   ...

  5. 十天学会单片机Day0点亮LED (锁存器、三极管、继电器)

    C51常用的数据类型 数据类型 关键字 所占位数 表示数范围 无符号字符型 unsigned char 8 0~255 有符号字符型 char 8 -128~127 无符号整型 unsigned in ...

  6. 十天学会单片机Day5 IIC总线AT2402芯片(EEPROM)应用

    1.采用串行总线技术可以使系统的硬件设计大大简化.系统的体积减小.可靠性提高.同时,系统的更改和扩充极为容易. 常用的串行扩展总线有: IIC (Inter IC BUS)总线.单总线(1-WIRE ...

  7. 十天学会单片机Day6 学会看数据手册 (IIC总线PCF859芯片( A/D D/A)应用)

    1.实际电路 2.引脚图 3.地址 高四位为固定地址1001,A2A1A0可编程地址,通过观察实际电路,可知A2A1A0 为000.最低位为读写为,1为读,0为写. 4.控制字 控制寄存器的高半字节用 ...

  8. 十年学会编程 著者: Peter Norvig 翻译: Dai Yuwen

    为何人人都这么着急? 信步走进任何一家书店,你会看到名为<如何在7天内学会Java>的书,还有各 种各样类似的书: 在几天内或几小时内学会Visual Basic, Windows, In ...

  9. PHP学习过程_Symfony_(3)_整理_十分钟学会Symfony

    这篇文章主要介绍了Symfony学习十分钟入门教程,详细介绍了Symfony的安装配置,项目初始化,建立Bundle,设计实体,添加约束,增删改查等基本操作技巧,需要的朋友可以参考下 (此文章已被多人 ...

随机推荐

  1. php中引用符号(&)的使用详解

    php的引用就是在变量或者函数.对象等前面加上&符号,在PHP 中引用的意思是:不同的名字访问同一个变量内容,下面介绍如何使用PHP的引用 与C语言中的指针是有差别的.C语言中的指针里面存储的 ...

  2. 《Head First 设计模式》ch.3 装饰(Decorator)模式

    设计原则 类应该对修改关闭,对扩展开放(开放-关闭原则).在每个地方使用开放-关闭原则是一种浪费,也没有必要,因为这通常会引入新的抽象层次,增加代码复杂度.需要把注意力集中在设计中最有可能改变的地方. ...

  3. Battery-historian 参数说明

    部分参数说明 battery_level 电量,可以看出电量的变化.比如上图中的数据显示刚开始电量是100%,然后在第11秒-12秒中间的某个时刻降到了99%. plugged 充电状态,这一栏显示是 ...

  4. python学习笔记(递归函数)

    博主看了看递归.说的简单点就是程序里面再调用程序本身,或者是方法里面再调研方法本身.或者是函数里面再调研函数本身 用于什么场景呢,博主这里是父子节点排序,父子节点的查询 直接上代码: #!/usr/b ...

  5. Effective Modern C++翻译(1):序言

    /*********************************************************** 关于书: 书是我从网上找到的effective Modern C++的样章,内 ...

  6. AX2012全新的批处理方式

    AX2009 的批处理操作我们是通过RunBaseBatch framework,我们所要做的事情就是继承RunBaseBatch class,实现里面该实现的方法来执行批处理. AX2012 的批处 ...

  7. 洛谷P2751 [USACO4.2]工序安排Job Processing

    P2751 [USACO4.2]工序安排Job Processing 18通过 78提交 题目提供者该用户不存在 标签 难度普及+/提高 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 一家工 ...

  8. 洛谷P1461 海明码 Hamming Codes

    P1461 海明码 Hamming Codes 98通过 120提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 给出 N,B 和 ...

  9. Android fragment 想activity 传送数据

    fragment可以通过定义 fragment的接口的方法来 想activity传送数据: 而activity则是通过实现 fragment的接口来接收fragment的送来的数据: 1.在fragm ...

  10. Dede后台验证码不显示解决方法详解(dedecms 5.7)

    今天朋友问我他本地与服务器上安装了dedecms5.7无法显示验证码,一般这种情况很少见,一般情况就是服务器设置问题,还有临时目录的权限问题 Dede后台验证码不显示或不正常分三种情况,下面来逐一分析 ...