DAC1210与8098单片机的接口与调试

更新时间:2023-05-24 09:29:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第17卷第3期徐州师范大学学报(自然科学版)Vol

.17,No.3

DAC1210与8098单片机的接口与调试

何培忠,顾明亮

(徐州师范大学物理系,江苏徐州 221009)

摘要:从硬件上解决了D A转换器DAC1210与全速运行的8098,并给出了调试程序和调试方法.

关键词:D A转换;接口;调试;时序

中图分类号:TP335   ::)030019204

1 概述

在8098单片机控制的各类系统中,常常需要将单片机处理的数字结果转化为相应的模拟信号输出用于显示或控制.在通常情况下,如果系统对D A转换精度要求不高(如小于8位)或单片机CPU比较空闲的话,则可直接利用8098芯片提供的PWM(脉冲宽度调制)功能来实现,或通过芯片的HSO(高速输出)口用软件来实验D .但在某些8098控制的实时测量或控制系统中,CPU较忙且系统对D A转换.在这种情况下,采用12位相乘型数模转换器A转换精度要求也较高,此时必须外接D A转换器

.该系列产品的特点是能与微处理器直接接口.本文DAC1208系列(或DAC1230系列)是较理想的选择

以该系列中芯片DAC1210为例,给出与全速运行的8098单片机(时钟频率取最大值12MHz)硬件接口电路及调试方法.

2 DAC1210功能简介[1]

.DAC1210的管脚图和功能框图如图1所示

CS

WR1AGNDDI5DI4DI3DI2DI1(LSB)DI0

VREFRfbDGND

123456789101112

24232120191716151413

Vcc

BYTE1 BYTE2XFERDI6DI7DI8DI9DI10DI11(MSB)IOUT2IOUT1

DI11(MSB)

22WR2

DI0(LSB)BYTE1 BYTE2

CS

WRXFERWR2

8位输入寄存器

SB

DAC121018

4位输入寄存器

12位DAC寄存器12位D A转换

B

VREFIOUT2IOUT1Rfb

LE3VCC(b)功能框图

   (a)

管脚图 

图1 DAC1210管脚图和功能框图

Fig.1 Connectiondiagramandfunctional

diagramofDAC1210

图中,DI0~DI11为12位数据线.其中DI0为最低有效位,DI11为最高有效位.在与微处理器的8位数据线接口时,需将DI0~DI3与DI8~DI11对应脚连接起来(对DAC1230系列芯片,已在芯片内连好,故对外只有8根数据线).

收稿日期:1999204207

基金项目:徐州师范大学青年自然科学基金项目(QL9803)

作者简介:何培忠(1963-),男,江苏新沂人,讲师,硕士,主要从事微机应用及微弱信号检测的研究.

20

徐州师范大学学报(自然科学版)               第17卷

.CS:片选信号输入(低电平有效),

CS有效时,使能WR1信号.用于将数字数据送入输入寄存器.WR1:写入信号1输入

.当此端为高电平时,输入寄存器的12位均被使能;当为低电平时,BYTE1 BYTE2:字节顺序控制

只使能最低4位寄存器.

.WR2有效时(低电平)将使能XFER.WR2:写入信号2输入

XFER:数据传送控制信号(低电平有效).该信号与WR2都有效时,能将输入寄存器中的12位数据同时送入DAC寄存器,同时启动一次D .A转换

.IOUT1,IOUT2:数模转换电流输出1,2.当基准电压固定时,IOUT1+IOUT2=常量

.用作外部运放的分流反馈电阻.RFb:反馈电阻

.通常要求外接精密电源,-10VREF:基准电压输入

.电压范围为+V.VCC:芯片的工作电源电压

.,AGND,DGND:3 DAC8098从接口原理上看,DAC1210与8098单片机的连接非常简单,许多资料上都给出了类似图2的接口电路[2].

实验表明,图2的接口电路在8098

单片机的时钟频率选择12MHz(最高工作频率)时,DAC1210无法正常工作,只有当工作频率降低到一定程度(为6MHz)时,才能正常工作.显然这时的8098工作速度将下降一倍.

为什么会出现上述现象呢?经分析发现,原来DAC1210正常工作时,对其控制信号有两个重要的时序要求[1]:一是输到WR1和WR2的选通脉冲宽度要大于320ns;二是当选通脉

P3口ALE

74LS373

A0

A7

VREFVccRfbIOUT1IOUT2

D11

8098

P4.5P4.6

WR

D0

XFERBYTE1 BYTE2RR2

AGNDDGND

图2 DAC1210与8098联接法一

Fig.2 Interfacemethod1ofDAC1210and8098

冲由低变高后,数据线上有效数据的

保持时间应大于90ns.而从8098单片机的工作时序可知,当时钟频率为12MHz时,输入的写脉冲信号WR宽度在130ns到200ns之间,而且WR由低变高后,数据总线上有效数据的保持时间只有30ns左右[2],显然,如果将DAC1210与8098按图2直接接口,将无法保证DAC1210正常工作.时序如图3所示.

8098DB

数据有效

30ns

8098WR

小于200ns

DAC1210

数据线

DAC选通线(WR1,WR2)

数据有效要求大于320ns

90ns

图3 8098和DAC1210的工作时序

Fig.3 Workingtime2order

of8098andDAC1210

第3期           何培忠等:DAC1210与8098单片机的接口与调试

21

为了能既不降低8098单片机的工作速度,又满足DAC1210的时序要求,可采取两方面措施来解决.第一,将送往DAC1210片选端CS的信号同时送到8098READY线上.这样,当单片机向DAC1210写入转换数据时,则CS为低电平,同时READY线亦被拉低,此时单片机会自动插入1~3个等待状态周期,写脉冲的宽度亦增加相同的状态周期数.第二,上面方法并未延长写脉冲后数据总线上有效数据的保持时间,即并未满足DAC1210的第二个时序要求.为此,用扩展后的写脉冲WR信号去触发一非重触发的单稳触发器,将该触发器的定时时间调整到大于320ns,用其反相输出作为DAC1210的选通信号接到

.理论与实践均表明,通过选择8098的芯片控制寄存器CCR的第4,5两位为1,0,使其自动WR1和WR2上插入2个等待状态周期(当时钟为12MHz时,每个状态周期为250ns),使8098写脉冲WR宽度扩展到大

于630ns,即可完全满足DAC1210的时序要求,保证其正常工作.

上述过程可示意如图4.5.,8098访问其它芯片时的工作速度,.R正常写脉冲

宽度

30ns

插入的两个T(500ns)

8098数据

保持时间

写脉冲WR

DAC1210

选通脉冲(WR1,WR2)

大于320ns

大于90数据保持时间

DAC1210

图4 改进后的时序图

Fig.4 Diagramoftime2orderimproved

~A7A0

P3

ALE

VccVREF

DI11

RfbIOUT1IOUT2AGND

74LS373

+15V

+10V

1

8098

READYP4.5302

AL1P4.6

AL2

12MHz

WR

74LS221Q

O

+15V

DI0

C

Rw

DGND

XFERBYTE1 BYTE2RR2

V

cc

图5 DAC1210与8098联接法二

Fig.5 Interfacemethod

2ofDAC1210and8098

图5中的非重触发单稳触发器由74LS221提供,RW,C为定时元件,其值可根据定时要求由tW=.集成运放LF353的作用是将DAC1210输出的电RWCln2进行估算选取,其中RW在调试时可进行微调

流信号转换为与数字输入相应的模拟电压信号输出[3].DAC1210高8位数据的写入地址为4FFFH,低4

位数据的写入地址为0FFFH,该地址同时也是D .A转换的启动地址

4 电路的调试

调试工作可分两步进行:

第一步,判断DAC1210是否已在8098控制上正常工作.为此运行下面一段程序:     ORG  2080H

LDAX,#700HSHLAX,#4H

22

徐州师范大学学报(自然科学版)               第17

LDSTBLDSTB

CX,#4FFFHAH,[CX]CX,#0FFFHAL,[CX]

END:SJMPEND

启动运行该程序后,用数字电压表测量D .再将上述程序的第A转换器的输出电压VO,并作记录一条语句改为LD AX,#0E00H,即使被转换数据加倍,再运行之,并测量D A转换的电压输出VO.如果第二次测得的电压为第一次的两倍,则表明DAC1210已在8098控制下正常工作了;否则,还需检查硬件连接是否有误,或适当调整单稳触发器的定时元件RW值后,,.

第二步,零位和满量程调节..方法是将放大器的反馈电位器RW1短路,RA.用数字电压表测量输出电压VO,W2RW1的短路线即可.

VF,此电压应为

V

F

=VREF

12212

若取VREF=V,则VF=9.998V.调节方法是把上述程序中第一条语句改为LD AX,#0FFFH,再运行之,通过调节满量程电位器RW1,使此时D .A转换器输出电压为VF即可

此外,若应用中被转换数据为带符号数,则需要从D A转换器得到双极性电压输出,此时可将数据的符号位用软件分离出来,只对分离后的无符号数(绝对值)进行转换,同时用分离出的符号位去控制

.DAC1210基准电压VREF的极性就可实现

作者将本文的接口电路应用于控制智能锁相放大器的模拟输出,取得了满意的效果[4].参考文献:

[1] 赵保经,罗振侯,范敏,等.A ~166.D和D A转换器应用手册[M].上海:上海科学普及出版社,1995.152[2] 陈建铎.8098单片机原理及应用技术[M].北京:电子工业出版社,1995.216~218.

[3] 杨振江,蔡德芳.新型集成电路使用指南与典型应用[M].西安:西安电子科技大学出版社,1998.392~394.[4] 唐鸿宾,何培忠.8098单片机在双相锁定放大器中的应用[J].数据采集与处理,1992,(3):195.

InterfaceBetweenDAC1210and8098Single-chip

MicroprocessorandItsDebugging

HEPei2zhong,GUMing2liang

(DepartmentofPhysics,XuzhouNormalUniversity,Xuzhou221009,China)

Abstract:Thispapersolvesthetime2ordermismatchexistedinDAC1210and8098single2chip.microprocessorusinghardwaremethod.Theprogramanditsdebuggingarealsodiscussedindetail

Keywords:D Aconversion;interface;debugging;time2order

本文来源:https://www.bwwdw.com/article/5f24.html

Top