一、主要内容及意义本设计用8088控制的数据采集系统,本文着重介绍该系统的工作原理及硬件与软件设计,本设计的主要组成如下:(1)数据输入单元。
(2)采样保持电路的A/D转换单元。
(3)硬件和8088的连接电路。
(4)8088输出的数据锁存和D/A转换单元。
多路数据采集系统的方案及总体设计,包括主体电路的设计和8088控制电路的设计(要用到8088的控制整个系统),因此要完成8088应用系统的硬、软件设计并完成软件调试,以满足整个系统的要求。
整个系统的设计包括硬件设计和软件设计两部分。
硬件设计主要完成多路数据采集整个硬件电路及I/O接口的设计:运算放大电路、采样保持电路、模数转换电路、硬件和8088的连接电路、数模转换电路、转换开关保护电路等组成;软件设计主要完成控制整个系统的应用程序与调试。
包括主程序、A/D和D/A 转换程序、多路开关控制以及I/O接口控制等程序的设计。
系统总框图如图1所示。
二、系统硬件设计单片机数据转换器外设2.1、数/模转换电路模块D/A转换部分也是数据采集系统的一个重要部分,在数字控制系统中作为关键器件,用来把8088输出的数字信号转换成电压或电流等模拟信号,并送入执行机构进行控制或调解。
除了新型的现场总线控制系统外,传统的计算机控制系统大都是用模拟电压或电流作为传输信号的。
模拟量输出通道的作用就是把计算机处理得出的数字量结果转换成模拟电压或电流信号,传输给相应的执行机构,实现对被控对象的控制。
能把数字量转换成模拟量的器件称为数/模转换器简称D/A转换器或DAC。
输出接口电路、DAC是模拟量输出通道的基本部件。
由于实现较远距离的信号传输时采用的是电流信号,而DAC通常输出的是电压故模拟量输出通道一般具有电压/电流(V/I)转换环节[8]。
此外,根据需要可能还要有零点和满度调节部件。
因数/模转换器是模拟输出通道的核心,所以通常也把模拟量输出通道称为D/A 通道。
2.1.1. D/A通道的结构8088周期地输出控制数据给执行机构,在下次数据输出以前,必须将前一次输出的数据保持。
单个的D/A通道由数据锁存器保持数据,通道由输出接口电路数据锁存器、D/A转换电路、V/I转换电路等构成。
许多DAC芯片的输入端都有数据锁存器,这时不需另加锁存器。
对于多模拟量输出通道,有两种不同的输出量保持方式,即有两种不同的结构。
一种方式是采用数据锁存器保持输出量,每个输出通道都有独立的数据锁存器(一般含在DA芯片内)及D/A转换器。
这种方案的优点是速度快,精度高,工作可靠,不用多路开关。
另一种方式是使用采样保持器保持输出量,各通道共享一个D/A转换器,通过多路开关进行切换。
由于各路共用一个D/A转换器,其转换速度减慢,且输出端靠保持电容模拟量信息,当控制周期较长时,需要软件刷新。
优点是节约了芯片。
由于D/A通道的第一种方式的转换速度快,精度高,工作可靠,不用多路开关又节约了芯片降低了系统的造价,所以本设计的系统采用D/A通道的第一种方式。
第一种方式如图12所示。
图12 具有独立DAC的多路模拟量输出通道2.1.2、选用D/A芯片集成电路D/A转换器是将精密电阻网络、模拟开关、甚至包括基准电源和运算放大器集成在同一芯片上,而且和8位或16位微处理器兼容,可直接接口,或只需少量外围电路即可构成完整的D/A转换器。
这些集成电路芯片是由大规模集成电路技术(LSI)实现的,它们有TTL、CMOS等用不同的逻辑和工艺生产的产品,是典型的数字电路和模拟电路混合集成芯片。
D/A有多种分类方法,各有不同特点。
按数据输入方式有并行、串行之分。
按字长区分,则有8、10、12、···位之分,字长不同,微分阶梯粗细不同。
按模拟开关工艺分类有双极型、JFET型和MOS型,它们的速度和精度不同;按结构有带或不带数据锁存器之分;按输出形式有电压型和电流型之分;等等。
尽管如此,但转换原理基本上是一致的。
DAC0832是常用的8位COMS电流输出型乘法D/A转换器,由于采用COMS电流开关和控制电路,所以功耗低,输出漏电流小。
可以直接8088连接。
DAC0832片内含有输入缓冲寄存器和DAC锁存器两个8位寄存器。
可以进行两级缓冲操作,具有很大的灵活性,可以采用流水线方式,一边输入数据一边转换上一次输入的数据。
因此,本设计选用美国半导体公司推出的8位D/A转换芯片DAC0832。
DAC0832的及特点如下:(1) 基本特性分辨率:8位。
电流稳定时间:1μs。
功耗:20mV。
单电源供电:+ 5V~ + 15V。
数字输入与TTL兼容。
可采用双缓冲、单缓冲或直接数字输入三种工作方式。
(2) 结构DAC0832是采用CMOS 工艺,具有20个引脚的双列直插式8位D/A 转换器,其引脚如图13所示。
DAC0832有两级锁存器,第一级称为输入寄存器,第二级称为DAC 寄存器。
因为有两级锁存器,DAC0832可以工作在双缓冲方式下,即在输出模拟信号的同时可以采集一个数字量,这样可以有效地提高转换速率。
另外,还可以在多个D/A 转换器同时工作时,利用第二级锁存信号实现多路D/A 的同时输出。
DAC0832既可以工作在双缓冲方式,也可以工作在单缓冲方式。
无论哪种工作方式,只要数据进入DAC 寄存器便启动D/A 转换。
内部结构图如下:2.1.3、 引脚功能CS :片选信号,低电平有效。
ILE :输入锁存器允许信号,高电平有效。
1WR :输入寄存器数据写信号,低电平有效。
当1WR 为低电平时,用来将输入数据传送到输入锁存器,当1WR 为高电平时,输入锁存器中的数字被锁存。
只有当ILE 为高电平且CS 和1WR 同时为低电平时,才能将锁存器中的数据更新。
以上三个控制信号构成第一级输入锁存。
图13 DAC0832引脚图XFER:输入锁存器向DAC寄存器传送数据控制信号,低电平有效。
2WR:DAC寄存器选通信号,低电平有效。
当XFER和2WR同时有效时输入寄存器中的数据被装入DAC寄存器,并同时启动D/A转换器。
XFER和2WR构成第二级锁存。
DI0~DI7:8位数据输入端,DI0是最低位(LSB),DI7是最高位(MSB)。
IOUT1:DAC电流输入端1。
当DAC寄存器全为1时,表示IOUT1为最大值;当DAC寄存器为全0时,IOUT1=0。
I OUT2:DAC电流输出端2。
IOUT2为常数减去IOUT1,或者IOUT1+IOUT2=常数。
在单级性输出时,IOUT2通常接地。
RFB:反馈电阻,接运算放大器的输出端,为外部运算放大器提供反馈电压。
RFB可由内部提供,也可由外部提供。
V REF:参考电压输入端。
范围为+10V~-10V。
V CC:工作电压。
范围为+5V~+15V。
AGND:模拟地。
DGND:数字地。
AGND和DGND是两种不同的地,为避免数字信号干扰模拟电路,两者应分别走线,最后才接在一起。
2.1.4、D/A转换器接口电路设计(1)DAC0832的单缓冲工作方式接口若应用系统中只有一路D/A 转换或虽然有多路转换,但并不要求同步输出时,则可以选择单缓冲接口方式。
在单缓冲接口方式下,ILE 接+5V 始终保持有效,由写信号控制数据的锁存,1WR 和2WR 相连,接8088的WR ,数据同时写入两个寄存器。
传送允许信号XFER 与CS 片选相连,选中DAC0832后,写入数据立即启动转换。
(2)DAC0832双缓冲工作方式接口对于多路D/A 转换接口,要求同步并行D/A 转换时,必须采用双缓冲同步方式接法。
DAC0832采用这种接法时,数字量的输入锁存和D/A 转换输出是分两步完成的,CPU 数据总线分时向各路D/A 转换器输入要转换的数字量并锁存在各自的输入寄存器中,然后CPU 对所有的D/A 转换器发出控制信号,使各个D/A 转换器输入寄存器中的数据同时输入DAC 寄存器,实现同步转换输出。
两路同步输出的D/A 转换接口电路。
每片DAC0832为双缓冲连接方式,这时两片DAC0832的输入寄存器有各自的独立地址,而两个DAC 寄存器有相同的地址,两片的传送允许信号XFER 接同一线选端,以实现同步转换输出。
本设计系统是实现D/A 转换,要求同步进行D/A 转换输出,因此系统采用双缓冲同步工作方式。
两片DAC0832的片选信号CS 由74LS138译码信号Y 3、Y 4进行片选,XFER 接74LS138译码信号Y 5来控制两片DAC0832同步转换输出。
两片DAC0832的1WR 和2WR 相连,接AT89S51的WR 。
(3)DAC0832的双极性输出DAC0832为单极性输出方式时,当V REF 接+5V (或-5V )时,输出模拟电压的范围是0~5V (或0~+5V )。
若V REF 接+10V (或-10V )时,输出电压范围是0~-10V (或0~+10V )。
单极性输出方式的输出电压的极性与参考电压极性相反。
图14所示是DAC0832双极性输出方式的接口。
图14中运放A 2所在的电路为反向求和电路,将运放A 1的输出与V REF 相加,从而将运放A 1单极性输出转变为双极性输出。
由图14可知:U OUT2=-23R R U OUT1-13R R V REF =-2 U OUT1-T REF (2-7)于是,当V REF =+5V 时,A 1的输出V OUT1的范围是0~-5V ,而A 2的输出V OUT2的范围为-5V ~+5V 。
当V REF =+10V 时,A 1的输出V OUT1的范围是0~-10V ,而A 2的输出V OUT2的范围为-10V ~+10V 。
其转换流程图如下:2.2、模/数转换电路模块按模拟量转换成数字量的原理可以分为3种:双积分式、逐次逼近式及并行式A/D转换器。
而该系统选用的是ADC0809,下面就具体的介绍一下ADC0809的工作原理。
2.2.1、ADC0809的介绍ADC0809是八通道的八位逐次逼近式A/D转换器。
由单一的5V电源供电,片内带有锁存功能的8选1的模拟开关。
由C、B、A的编码来决定所选的模拟通道。
转换时间为100us。
转换误差为1/2LSB。
它的引脚的排列及其功能,其引脚图见3.10图3.10 ADC0809的引脚图IN7~IN0 :八个通道的模拟输入量。
ADDA、ADDB、ADDC:模拟通道地址线。
当CBA=000时,IN0输入,当CBA=111时,IN7输入。
ALE:地址锁存信号。
START:转换启动信号,高电平有效。
D7~D0:数据输出线。
三态输出,D7是最高位,D0是最低位。
OE:输出允许信号,高电平有效。
CLK:时钟信号,最高频率为640KHZ。
EOC:转换结束状态信号。
上升沿后高电平有效。