(单片机应用实例开发)实例九数模转换接口的设计

上传人:au****y 文档编号:118825839 上传时间:2019-12-26 格式:PPT 页数:75 大小:1.41MB
返回 下载 相关 举报
(单片机应用实例开发)实例九数模转换接口的设计_第1页
第1页 / 共75页
(单片机应用实例开发)实例九数模转换接口的设计_第2页
第2页 / 共75页
(单片机应用实例开发)实例九数模转换接口的设计_第3页
第3页 / 共75页
(单片机应用实例开发)实例九数模转换接口的设计_第4页
第4页 / 共75页
(单片机应用实例开发)实例九数模转换接口的设计_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《(单片机应用实例开发)实例九数模转换接口的设计》由会员分享,可在线阅读,更多相关《(单片机应用实例开发)实例九数模转换接口的设计(75页珍藏版)》请在金锄头文库上搜索。

1、9.1 D/A转换器接口 9.2 简单波形发生器的设计 9.3 模拟心电图发生器的设计与制作 9.4 习题,实例九 数/模转换接口的设计,学习目标 理解心电图发生器的工作原理。 理解D/A转换的工作原理,并设计D/A转换接口电路。 工作任务 设计简单波形发生器。 设计与制作模拟心电图发生器。,9.1 D/A转换器接口 学习目标 理解D/A转换的工作原理,并设计D/A转换接口电路。 工作任务 设计TLC5620与单片机的接口。,9.1.1 D/A转换原理 D/A转换器的解码网络主要有两种:权电阻解码网络和T型电阻网络。 1权电阻解码网络 根据一个二进制数的每一位的权,产生一个与二进制数的权成正比

2、的电流,只要将代表每一个二进制位权的电流叠加起来就是该二进制数所对应的模拟电流信号。如图9-1所示,开关闭合对应二进制数“1”,开关断开对应二进制数“0”。最后通过一个集成运放将电流信号转换成电压信号。,图9-1 权电阻解码网络,以图9-1所示的4位DAC为例,当二进制代码Di为1时,开关Si接到VR,则该支路电流Ii = VR/23i;当Di为0时,开关Si断开,则该支路电流Ii = 0。因为,所以 同理,n位权电阻解码网络DAC的输出模拟电压与输入数字量的转换关系为,2T型电阻网络 T型电阻网络的特点是电阻接成“T型”,电阻网络由相同的环节组成,每一环节仅有两个电阻R和2R,如图9-2所示

3、。开关接基准电压对应二进制数“1”,开关接地对应二进制数“0”。,图9-2 T型电阻网络,当某一端点接基准电压时,流进该端点的电流I = VR/(3R) (每个端点均一样),但对运算放大器反相端的电流贡献却不一样。 根据戴维宁定理和叠加原理,当四位二进制数字信号D0、D1、D2、D3转换成开关状态时,流入集成运放的总电流 I总 = I0D0 + I1D1 + I2D2 + I3D3,即,集成运放输出的模拟电压: 同理,当RF = 3R时,n位T型电阻网络DAC的输出模拟电压与输入数字量的转换关系为,9.1.2 D/A转换器的主要技术指标 衡量D/A转换器质量的技术指标有很多,使用时主要应考虑以

4、下几个: (1) 分辨率:指单位数字量变化引起的模拟量输出的变化,通常定义为满量程值的1/2n(n为待转换的二进制位数)。显然,位数越多,分辨率越高。例如,满量程为5 V的8位D/A转换器,其分辨率为5 V/28=19.5 mV,而相同量程的10位D/A转换器的分辨率为5 V/210=4.9 mV。,(2) 转换精度:表明了实际模拟输出值与理想值之间的最大偏差,用于衡量D/A转换器所得模拟量的精确程度。位数越多,转换精度也越高。但应当注意,转换精度和分辨率是两个不同的概念,相同量程、相同位数的不同转换器,其分辨率相同,但精度可能会有所不同。 (3) 线性度:也称非线性误差,是实际转换特性曲线与

5、理想特性曲线之间的最大偏差。线性度常以百分数表示,如1是指实际输出值与理论值之间的偏差在满量程的1以内。 (4) 转换时间:指从二进制数输入到模拟量输出所需的转换时间。时间越短,速度越快。,9.1.3 TLC5620 根据接口的数据传送格式不同,D/A转换器可分为并行和串行两种。本节以8位串行D/A转换器TLC5620为例,简单说明串行D/A转换器与MCS-51单片机的接口设计方法。 1内部结构和引脚功能 TLC5620的内部结构框图如图9-3所示。它有两级缓冲,四路模拟电压输出各带有一个可编程增益放大器,放大倍数可编程设为1倍或2倍。输出电压VO可表示为 式中,VREF为基准电压,CODE为

6、输入数字量(0255),RNG可编程为“0”或“1”。,图9-3 TLC5620的内部结构框图,TLC5620采用双列直插式封装,共有14个引脚,如图9-4所示。,图9-4 TLC5620的引脚图,GND:接地端。 REFAREFD:4路输入基准电压,定义输出模拟电压范围。 DATA:数字量串行输入端。 CLK:串行接口时钟输入端,最高频率为1 MHz。 VDD:+5 V电源电压输入端。 LDAC:装入DAC控制端。该引脚从高电平变为低电平时,DAC更新输出。 DACADACD:4路模拟输出端。 LOAD:串行接口装入控制端。当LDAC引脚为低电平时,LOAD信号的下降沿将输入的数字量锁存到输

7、出锁存器中,并在模拟输出端立即产生相应的模拟电压信号。,2操作时序 TLC5620的数据格式为11位命令字,分别是2位DAC选择位A1A0、1位增益控制位RNG和8位数据位。其中,A1A0的四种状态00、01、10、11分别对应4路模拟输出DACA、DACB、DACC、DACD;RNG可设置成“0”或“1”;8位串行输入的数据位高位在前,低位在后。,当LOAD为高电平时,串行数据在CLK的每个下降沿输入到DATA端。当数据全部输入后,LOAD信号变低,脉冲下降沿将数据从串行输入寄存器传送到所选中的DAC中。若LDAC此时为低电平,则一旦LOAD变低,所选中DAC的输出电压就会更新,如图9-5所

8、示;若LDAC为高电平,则输入的数据被锁存在第一级缓冲中,直到LDAC变为低电平时才将数据传送到DAC,完成转换,如图9-6所示。,图9-5 LOAD信号控制DAC更新(LDAC = 0),图9-6 LDAC信号控制DAC更新(LDAC = 1),11位命令字也可以分为两个8时钟周期写入DAC,即先写DAC选择位A1A0和增益控制位RNG,再写8位数据位。在没有写操作期间,CLK保持低电平,如图9-7所示。,图9-7 采用8位串行命令字时LDAC信号控制DAC更新,3TLC5620与MCS-51单片机的接口设计 图9-8是MCS-51单片机与TLC5620的接口电路。图中,P1.0为TLC56

9、20提供时钟信号,P1.1串行写入数字量,P1.2控制串行数据的写入,P1.3控制DAC的更新输出。这种接法适用于多路D/A转换,可先将各通道数据分别写入第一级缓冲,再通过P1.3控制LDAC来实现各路DAC的同步输出,相当于双缓冲方式。当然,LDAC也可直接接地,一旦LOAD信号由高电平变为低电平,对应的输出通道即可更新输出电压,相当于单缓冲方式。注意,输出电路中的电阻应大于等于10 k。,图9-8 MCS-51单片机与TLC5620的接口电路,【练习】 项目:TLC5620与单片机的接口设计。 项目编号:EX9_1。 任务要求:假设通过TLC5620的通道C将数字量96H转换成模拟量,且不

10、进行放大,其控制命令字为多少?若基准电压为+5 V,则转换结果为多少?利用Proteus仿真软件绘制TLC5620(或TLC5628)与单片机的接口连接图。 结果如下: 控制命令字 = 10010010110。 转换结果 = 2.93 V。 接口连接图请读者自行绘制。,9.2 简单波形发生器的设计 学习目标 理解D/A转换的工作原理,并设计D/A转换接口电路。 工作任务 设计简单波形发生器。,1设计思路 通过D/A转换将数字量00H、01H、02H、0FEH、0FFH依次转换成电压信号,然后从00H开始循环转换,即可从模拟量输出端输出锯齿波,这可由示波器观察得到。Proteus元件库中没有TL

11、C5620,在此用TLC5628代替。TLC5628是8通道D/A转换器,其DAC选择位共有三位:A2、A1、A0,且000111分别对应通道AH(前文介绍的TLC5620只有A1、A0两位DAC选择位)。因此,TLC5628的数据格式为12位命令字:A2、A1、A0、RNG、D7、D6、D1、D0。假设选用通道A,并且放大倍数设为1倍,则每输入一字节待转换的数字量之前,必须先串行输入四位二进制代码0000。,2设计步骤 1) 设计图 仿真图如图9-9所示,流程图如图9-10所示。,图9-9 波形发生器仿真图,图9-10 波形发生器设计流程图,2) 程序设计所需指令表 程序设计所需指令表如表9

12、-1所示。,3) 参考程序代码 参考程序代码如下: DAT EQU P1.7 ;定义串行数据线 CLKDA EQU P1.6 ;定义串行时钟线(下降沿输入数据) LOAD EQU P3.5 ;定义LAOD信号线 ORG 0000H LJMP MAIN ORG 0100H ;从0100H起的地址开始存放程序 MAIN: MOV 30H,#0 ;待转换的初始数字量 SS: LCALL D_A ;调用转换子程序 SJMP SS,;* ;D_A 单次D/A转换子程序 ;* D_A: MOV R2,30H ;转换数据送R2 MOV R1,#8 ;每字节8位二进制代码 L1: CLR LOAD ;经过反相

13、器置位LOAD CLR DAT ;设置A2=0 LCALL CLK_1 ;输入A2=0 CLR DAT ;设置A1=0 LCALL CLK_1 ;输入A1=0 CLR DAT ;设置A0=0,;* ;时钟下降沿输入数据子程序 ;* CLK_1: SETB CLKDA ;产生下降沿 CLR CLKDA RET END 编译好的程序代码可以加载到Proteus仿真电路中进行调试,从示波器中可直接观察到锯齿波波形。,【练习】 项目:方波信号发生器设计。 项目编号:EX9_2。 任务要求:利用TLC5620(或TLC5628)设计方波信号发生器,要求实现的方波信号周期为1 s。在MedWin集成开发环

14、境中编辑/编译控制程序,并产生代码,在Proteus平台里仿真系统,撰写练习报告(格式要求见附录A)。 设计设备与软件:计算机1台,MedWin或其他同类软件1套,Proteus软件1套。,设计步骤: (1) 打开MedWin软件。 (2) 新建源程序文件,编辑源代码。 (3) 编译源程序,若没有错,则产生代码;若有错,则修改错误。 (4) 仿真调试程序代码。 (5) 在Proteus中绘制方波信号发生器电路图。 (6) 加载程序代码,调试。,9.3 模拟心电图发生器的设计与制作 学习目标 理解心电图发生器的工作原理。 理解D/A转换的工作原理,并设计D/A转换接口电路。 工作任务 设计与制作

15、模拟心电图发生器。,模拟心电信号发生器为低频信号源,在心电图机检定、医学专业教学等领域应用广泛。 1设计要求 (1) 能输出正常心电波形; (2) 心率四挡可选:30 b/m、60 b/m、90 b/m,默认为30 b/m。 (3) 显示当前心率。 2硬件设计 1) 工作原理 查表法DDS(直接数字频率合成)技术在信号源设计中应用广泛,其原理框图如图9-11所示。,图9-11 查表法DDS的原理框图,每一时钟周期来临时相位累加器将相位增量累加一次,根据相位累加器输出的相位值从表存储器中读出D/A转换器需要的幅度值,D/A转换器将该幅度值转换为模拟量,低通滤波后得到所需信号。因此,在存储器内存入波形的均匀间隔采样值(满足采样定理要求),便可通过DDS产生相应波形。 典型的心电图波形周期为1 s左右,每隔4 ms对其采样,得到250个数据,将这些数据以

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号