计算机控制技术
上QQ阅读APP看书,第一时间看更新

2.1.2 任务2:12位DAC1210芯片应用

8位D-A转换器的分辨率比较低,为了提高分辨率,可采用10位、12位或更多位的D-A转换器。现以DAC1210为例进行说明。

DAC1210是一个12位D-A转换器,电流输出方式,其结构原理与控制信号功能与DAC0832基本类似。由于它比DAC0832多了4条数据输入线,故有24个引脚,DAC1210的原理框图及引脚如图2-3所示,其同系列芯片有DAC1208、DAC1209,可以相互代换。

图2-3 DAC1210的原理框图及引脚

DAC1210内部有3个寄存器,一个8位输入寄存器,用于存放12位数字量中的高8位DI11~DI4;一个4位输入寄存器,用于存放12位数字量中的低4位DI3~DI0;一个12位DAC寄存器,存放上述2个输入寄存器送来的12位数字量。12位D-A转换器用于完成12位数字量的转换。由与门、非与门组成的输入控制电路来控制3个寄存器的选通和锁存状态。其中,引脚(片选信号,低电平有效)、(写信号,低电平有效)和BYTE1/(字节控制信号)的组合,用来控制8位输入寄存器和4位输入寄存器。

为低电平“0”、为高电平“1”时,与门的输出为“1”,选通8位和4位两个输入寄存器,将要转换的12位数据全部送入寄存器;当BYTE1/为低电平“0”时,为“0”,8位输入寄存器锁存刚传送的8位数据,而仍为“1”,4位输入寄存器仍为选通,新的低4位数据将刷新刚传送的4位数据。因此,在计算机接口电路中,计算机必须先送高8位,后送低4位。(传送控制信号,低电平有效)和(写信号,低电平有效)用来控制12位DAC寄存器,当同为低电平“0”时,与门输出为“1”,12位数据全部送入12位DAC寄存器,当有一个为高电平“1”时,与门输出即为“0”,12位DAC寄存器锁存住数据使12位D-A转换器开始数-模转换。

DAC1210接口电路应用如下:DAC1210内部也有输入寄存器,但用PC中8位数据总线与12位D-A转换器组成接口电路时,需要对数据总线采用复用形式。图2-4为DAC1210与PC总线的一种接口电路,它由DAC1210芯片、运算放大器以及地址译码电路组成。与8位DAC0832接口电路不同的是,除了数据总线D7~D0与DAC1210高8位DI11~DI4直接相连外,D3~D0还要与DAC1210低4位DI3~DI0复用,因而控制电路也略为复杂。

图2-4 DAC1210与PC总线的一种接口电路

图中,组合,用来依次控制8位输入寄存器和4位输入寄存器的选通与锁存;用来控制12位DAC寄存器的选通与锁存;连接,用来在执行输出指令时获得低电平(有效);译码器的2条输出线分别连到,一条地址线A0连到,从而形成3个端口地址(4位输入寄存器为380H,8位输入寄存器为381H,12位DAC寄存器为384H)。

在软件设计中,为了实现8位数据线D0~D7传送12位被转换数,主机必须分2次传送被转换数。首先将被转换数的高8位传给8位输入寄存器DI11~DI4,再将低4位传给4位输入寄存器DI3~DI0,然后再打开12位DAC寄存器,把12位数据送到12位D-A转换器中去转换。当输出指令执行完后,12位DAC寄存器又自动处于锁存状态以保持12位D-A转换的输出不变。

设12位被转换数的高8位存放在DATA单元中,低4位存放在DATA+1单元中,其转换程序如下: