用dac0832产生正弦波的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要:DAC 转换器是一种将数字量转换成模拟量的器件,本论文简要介绍模数

转换器DAC0832 的工作原理和芯片结构,并利用模数转换器DAC0832 输出正弦波

进一步分析输出波形的模拟失真度。

关键词:模数转换器DAC0832 ,正弦数据区,模拟失真度,FFT 变换。

引言:

1 . 简要模数转换器DAC083

2 的介绍

DAC 转换器是一种将数字量转换成模拟量的器件,其特点是接收、保持和转换

的是数字信息,不存在随温度和时间的漂移问题,因此电路的抗干扰性能较好。

DAC0832 是8 位分辨率的D/A 转换集成芯片,它具有价格低廉、接口简单及转

换控制容易等特点。它由8 位输入锁存器、8 位DAC 寄存器、8 位DIA 转换电路

及转换控制电路组成,能和CPU 数据总线直接相连,属中速转换器,大约在1u s

内将一个数字量转换成模拟量输出。

1.1 DAC0832 的结构如下:

D0 ~D7 :8 位数据输入线,TTL 电平,有效时间应大于

90ns( 否则锁存器的数

据会出错) ;

ILE :数据锁存允许控制信号输入线,高电平有效;

CS :片选信号输入线(选通数据锁存器),低电平有效;

WR1 :数据锁存器写选通输入线,负脉冲(脉宽应大于500ns )有效。由ILE 、

CS 、WR1 的逻辑组合产生LE1 ,当LE1 为高电平时,数据锁存器状态随输入数据

线变换,LE1 的负跳变时将输入数据锁存;

XFER :数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns )

有效;

WR2 :DAC 寄存器选通输入线,负脉冲(脉宽应大于500ns )有效。由WR1 、X FER

的逻辑组合产生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 :数字信号地

1.2 DAC0832 的引脚图和内部结构

1.3 DAC0832 的三种工作方式

1 .直通方式

直通方式就是使DAC0832 内部的两个寄存器(输入寄存器和DAC 寄存器)

处于不锁存状态,数据一旦到达输入端DI7 ~DI0, 就直接送入D/A 转换器,被转

换成模拟量。当ILE 为高电平,CS 和WR 1 ﹑WR 2 和XFER 端都接数字地,这时

锁存信号LE 1 ﹑LE 2 均为高

电平,输入寄存器和DAC 寄存器均处于不锁存状态,即直通方式。

2 .单缓冲方式

单缓冲方式就是使两个寄存器中的一个处于缓冲方式,另一个处于锁存方式,

数据只通过一级缓冲器送入D/A 转换器。通常的做法是将和XFER 均接地,使

DAC 寄存器处于直通方式,而把ILE 接高电平,接端口地址译码信号,WR 1 接

CPU 系统总线的IOW 信号,使输入寄存器处于锁存方式。单缓冲方式只需执行

一次写操作即可完成D/A 转换。一般不需要多个模拟量同时输出时,可采用单

缓冲方式。

3 .单缓冲方式

单缓冲方式就是使两个寄存器均处于锁存方式,数据要经过两级锁存(即两级

缓冲)后再送入D/A 转换器,这就是说,要执行两次写操作才能完成一次D/A 转

换。只要将ILE 接高电平,WR 1 和WR 2 接CPU 的IOW ,CS 和XFER 分别接两

个不同的I/O 地址译码信号即可。

图中的Rfb 是内部电阻,是为外部运算放大器提供的反馈电阻,用以提供适当

的输出电压,Vref 端是由外电路为芯片提供的参考电源,电压范围在-10V ~

+10V 。另外,DAC0832 为电流输出型DAC ,使用时需外接运算放大器,芯片

的电源电压最好工作在+15V 。

2 利用DAC0832 产生正弦波

2.1 设计出原理图

2.2 编写程序和必要说明

1 )CODE SEGMENT

ASSUME CS:CODE

DAPORT EQU 0070H

CONTPORT EQU 00DFH

DATAPORT EQU 00DEH

DATA EQU 0500H

START: JMP DACONTORLDACONTORL:CALL FORMAT CALL LEDDISP

MOV DX,DAPORT

SS2 : MOV AL, 8 0H ;初始值

MOV BX , 0H

DACON1: OUT DX,AL

MOV CX, 0008 H ;

INC BX

CMP BX,32 ; 比较一个周期是否结束

JZ SS2

DACON2: LOOP DACON2

MOV AL,CS:[BX+OFFSET SINDATA] ; 正弦取值

JMP DACON1

LEDDISP:MOV AL,90H

MOV DX,CONTPORT

相关文档
最新文档