250 likes | 532 Views
第 8 章 D/A 转换. 8.1 D/A 转换器 (DAC) 简介. 转换器的分类见表. * 10Msps—— 转换速度为 10 兆次 / 秒. 分辨率. 一种是 用 DAC 输入的二进制数的位数来描述,如 10 位的 DAC 的分辨率就是 10 位。. 另一种是 用 DAC 能够分辨出来的最小输出电压与最大输出电压之比来描述,如 10 位的 DAC 的分辨率就是 :. 由此看来,分辨率就是 DAC 在理论上可以达到的精度。. 8.2 DAC0832 应用. 8.2.1 DAC0832 简介.
E N D
第8章 D/A转换 8.1 D/A转换器(DAC)简介 转换器的分类见表 * 10Msps——转换速度为10兆次/秒
分辨率 一种是用DAC输入的二进制数的位数来描述,如10位的DAC的分辨率就是10位。 另一种是用DAC能够分辨出来的最小输出电压与最大输出电压之比来描述,如10位的DAC的分辨率就是: 由此看来,分辨率就是DAC在理论上可以达到的精度。
8.2 DAC0832应用 8.2.1 DAC0832简介 DAC0832采用了CMOS工艺的8位DAC芯片,它有两级缓冲锁存器(简称缓存),以电流形式输出。 DAC0832的主要特点: 8.2.2 DAC0832结构功能及特点 分辨率为8位; 电流稳定时间(即建立时间)1μS; 可双缓冲、单缓冲或直接数字输入; 设有增益调节(即满度调节)端子; 单电源供电(+5~+15V); 低功耗(小于20mW)。
一级 (数输入) 缓冲 二级(DAC)缓冲 D/A 转换 参考电压 数字量输入 电流输出 增益控制 允许锁存 片选 高电平:透明(输入=输出) 低电平:锁存(输出保持) 写1 写2 只有两个输入均为0时,输出为1 数据传送
输出 0-5V 可以串一电位器,调节增益,即输出电压最大值 8.2.3 DAC0832应用实例1 只有一路A/D时两级缓存无意义,这里只控制/CS 189页图8-4 P0口做I/O使用(模拟口线)时,必须接上拉电阻。 DCA0832和运放的接法比较固定(典型)。 参考电源为正时,输出时负的,参考电源为负时,输出时的正。
书中这一句没有意义 dig
5V 0V 周期 实际上是256个小“台阶”,只是“太密”,看似一条斜线 在这一句之前或之后加一个延时,可振荡周期
将DAC0832当做外存,P0口不接上拉电阻 在没有其他外部I/O设备时,只用/WR控制/CS 只要“写”(数据输出),就只对DAC0832
把D_A定义为一个外部存储器的单元(地址),只用/WR控制/CS,这个赋值语句就自动完成DAC0832所要求的时序把D_A定义为一个外部存储器的单元(地址),只用/WR控制/CS,这个赋值语句就自动完成DAC0832所要求的时序
8.4 TLV5625(串行D/A) 在转换速度要求不太高的情况下,使用串行DAC是比较合理的,串行DAC具有体积小,功耗低,节省外部资源,特别是总线的宽度(总线的位数)等优点。 8.4.1 TLV5625简介 TLV5625是双通道8位电压输出的DAC,采用串行外围接口SPI(串行外围接口 Serial peripheral interface),可编程的建立时间(转换速度),高速:1.5μS,低速:12μS。 TLV5625,只有8个引脚。
放大倍数=2的放大器 8.4.2 TLV5625结构功能及特点 TLV5625的功能框图 模拟信号缓冲器,减小D/A转换对参考源REF的影响 数字控制的分压器(数字电位器) 如:DA=255,VREF=2.048V OUTA=4.08V 8位,28 串口/并口转换,指令译码,数据分配
8.4.2 TLV5625结构功能及特点 TLV5625的功能框图 数据写入A通道8位DAC锁存器,即启动A/D转换 以后这样表述:数据送A通道转换 数据写入B通道8位DAC锁存器,即启动A/D转换 以后这样表述:数据送B通道转换
(二)TLV5625的数据格式 数据格式,分为两部分: 编程位:D15~D12。 数据:D11~D4,D3~D0均为0(12位的TLV5618使用了D3~D0)。 SPD:速度控制位: 1——高速模式(电源电流1.7mA), 0——低速模式(电源电流0.7mA)。 PWR:电源控制位: 1——节电模式(电源电流小于1μA); 0——运行模式。 上电后,SPD=PWR=0,即通电时默认:低速、工作模式。
寄存器选择位: 缓存器数据送B通道转换 数据送A通道转换 数据送B通道转换,同时写入缓存器 数据只写入缓存器 实现了A、B通道同时进行数模转换
下降沿有效 TLV5625的时序图 片选/CS低电平有效
TLV5625应用实例 要求较低时,可以用电阻分压(0.02元)获得。要求较高时,应用专业基准源,价格较高(3-50元)
下面只讨论高两,其他14位为任意值(x)的发送过程下面只讨论高两,其他14位为任意值(x)的发送过程 如:xData=10xxxxxxxxxxxxxx i=0时xData:10xxxxxxxxxxxxxx & 1000000000000000 ,即0x8000 = 1000000000000000 ,即0x8000 “当前最高”=1 发送1:DIN=1 左移1位,低位补0 xData<<1: 0xxxxxxxxxxxxxx0 i=1时xData: 0xxxxxxxxxxxxxx0 & 1000000000000000, 即0x8000 = 0000000000000000 ,即≠0x8000 “当前最高”=0 发送1:DIN=0
/SC CLK DI PWR SPD R1 R0 置/CS(片选)=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 1 D12…………………….D4 D3 D2 D1 D0 无意义 数值0X55 1:高速 1:运行 10:写数据到A通道锁存器,同时将缓冲器的数据送到B通道锁存器
模式1 高速,转换A通道 模式2 高速,转换B通道 模式3 低速,A/B通道同时转换 通道A的数据 通道B的数据 自定义的工作模式 同时,缓冲器的数据送B通道
因为temp时16位(int), 先将8位的Adata转换成16位:00000000 Adata, 再左移4位变成0000Adata0000 最后再和0xc0(1100000000000000)相与得到TLV5625的数据格式
A通道数据 加到255,再加1就回到0 1——写数据到A通道锁存器,同时将缓冲器的数据送到B通道锁存器 自定义的工作模式 通道B的数据 通道A的数据