微机原理与接口技术课程论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口技术题目基于DAC0832的函数发生器设计与实现
学生姓名管高翔
学号20071305044
院系电子与信息工程学院
专业电子信息工程
指导教师周欣
二OO九年十二月二十日
基于DAC0832的函数发生器设计与实现
管高翔
南京信息工程大学电子与信息工程学院,南京210044
摘要:在了解DAC0832芯片的基础上,实现数字量到模拟量的转换,通过对8255A的内部控制字、方式字的设置以及将开关置入的数字信号传输到DAC0832进行数模转换,最终达到输出正弦波、三角波、锯齿波、脉冲波的目的,根据开关输入情况进行波形切换,实现用户操作的随意性。
关键词:函数发生器;8086;DAC0832;8255A
0.引言
在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域,经常需要用到各种各样的函数发生器。随着集成电路的迅速发展,用集成电路可以方便地设计各种函数发生器。用集成电路实现的信号波形发生器与其它信号波形发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高。
1.系统方案及思路
需求分析:以PC8086微处理机为基础设计开发能输出多种波形的函数发生器:
(1)能输出正弦波、三角波、锯齿波、脉冲波;
(2)能根据开关的变化进行波形切换。
1.1硬件部分
(1)根据要求及分析,本设计中硬件部分数/模转换器选用National Semiconductor的DAC0832;
(2)选择8255A作为CPU与DAC0832之间的并行接口芯片,其中A口作为开关量的输入端;
(3)另外还需要有:Intel8086CPU(中央处理器)芯片1颗;EL-8086型单板机开发环境一套;PC 机(Personal Computer,个人计算机)一台。
1.2软件部分
(1)程序采用循环依次显示四组波段的方式;
(2)首先对8255A进行初始化,方式0,A口输入;
(3)在显示过程中判断开关量是否有变化;
(4)若没有变化,则继续显示;若有改变,就重新判断要输出的波形;
(5)相应地,在程序中编制显示正弦波段、三角波段、锯齿波段和脉冲波段,由上述的判断结果,根据条件进行跳转。
2.硬件设计
2.1模数转换器 DAC0832 的简要介绍
DAC转换器是一种将数字量转换成模拟量的器件,其特点是接收、保持和转换的是数字信息,不存在随温度和时间的漂移问题,因此电路的抗干扰性能较好。DAC0832是8位分辨率的D/A转换集成芯片,它具有价格低廉、接口简单及转换控制容易等特点。它由8位输入锁存器、8位DAC寄存器、8位DIA转换电路及转换控制电路组成,能和CPU数据总线直接相连,属中速转换器,大约在1us内将一个数字量转换成模拟量输出。
2.1.1DAC0832的结构如下:
图1 DAC0832的内部结构和引脚图
D0~D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;
CS:片选信号输入线(选通数据锁存器),低电平有效;
WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;
XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;
WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR1、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:数字信号地。
2.1.2DAC0832的三种工作方式
(1)直通方式
直通方式就是使DAC0832内部的两个寄存器(输入寄存器和DAC寄存器)
处于不锁存状态,数据一旦到达输入端DI7~DI0,就直接送入D/A转换器,被转
换成模拟量。当ILE为高电平,CS和WR1﹑WR2和XFER端都接数字地,这时
锁存信号LE1﹑LE2均为高
电平,输入寄存器和DAC寄存器均处于不锁存状态,即直通方式。
(2)单缓冲方式
单缓冲方式就是使两个寄存器中的一个处于缓冲方式,另一个处于锁存方式,数据只通过一级缓冲器送入D/A转换器。通常的做法是将和XFER均接地,使DAC寄存器处于直通方式,而把ILE接高电平,接端口地址译码信号,WR1接CPU系统总线的IOW信号,使输入寄存器处于锁存方式。单缓冲方式只需执行一次写操作即可完成D/A转换。一般不需要多个模拟量同时输出时,可采用单缓冲方式。
(3)双缓冲方式
双缓冲方式就是使两个寄存器均处于锁存方式,数据要经过两级锁存(即两级
缓冲)后再送入D/A转换器,这就是说,要执行两次写操作才能完成一次D/A转换。只要将ILE 接高电平,WR1和WR2接CPU的IOW,CS和XFER分别接两个不同的I/O地址译码信号即可。图中的Rfb是内部电阻,是为外部运算放大器提供的反馈电阻,用以提供适当的输出电压,Vref 端是由外电路为芯片提供的参考电源,电压范围在-10V~+10V。另外,DAC0832为电流输出型DAC,使用时需外接运算放大器,芯片的电源电压最好工作在+15V。
2.1.3DAC0832在本设计中的作用
在本设计中主要用来将开关打入的数字信号转换为相应的模拟信号,图2为DAC0832在本设