关键词:AD574 A/D转换 ISA总线
1 引言
模数转换器是工业测量和控制系统中数据采集子系统的重要部件,它是测控现场的模拟信号源与数字计算机之间的接口,其任务是把现场中连续变化的被测信号转换成离散信号,再由工控计算机作进一步的数据处理。这就要求系统将所采集的模拟数据信号尽可能真实地、不失真地显示给控制人员,为此,笔者研制了基于ISA总线的A/D转换板卡。该板卡以AD574为A/D转换核心,在ISA总线技术的基础上,利用较少的外围元件来实现多通道、高精度的A/D转换。该板卡具有32路单端信号输入,电压范围为0V~12V,转换位数为12bit/8bit任选,同时具有自检功能。本文主要介绍该板卡的硬件组成原理和软件实现方法。
2 硬件电路
本转换卡的硬件电路由数字总线缓冲器、读/写地址控制/译码器、板号产生电路、A/D转换电路、自检电路、电源电路等组成。图1所示是其硬件系统组成框图。
2.1 ISA总线接口与控制电路
ISA总线接口与控制电路电路如图2所示。该电路由数据总线缓冲器、读/写地址控制/译码器、板号产生电路等组成,输入来自ISA总线的数据信号(如IOR、板号产生电路U2(74LS688)输出地址有效信号ADR,其具体地址由地址拨码开关SWDIP确定,本板卡中的地址为0x270H~0x277H;读/写地址控制/译码器U4、U5(74LS138)可用于形成该板卡的读写片选信号R27XH/W27XH(X代表0~7),以选中系统中其它功能芯片;当地址有效(ADR)时,通过IOR/IOW判别数据缓冲U1(74LS245)的数据流向,以及数据的输出或读入。该板卡在输出控制信号或检测数据时,可通过中断方式完成多组数据的输出或输入。
图2
2.2 模拟输入电路
根据设计要求,该板卡采用转换时间为25μs的12bit逐次比较型AD574转换芯片作为A/D转换器的核心,在本应用系统中,输入信号为单板性信号(0V~+12V),用AD574进行单极性模拟信号转换的具体硬件电路如图3所示。
图3
图中,U15可根据系统的工作状态,通过DA1~DA5来改变U10、U11(MAX306)的控制地址,以选择信号的输入通道(共32路),模拟信号的输入电压值应为0V~+12V;U14通过CS、R/C、CE等来控制AD574的具体工作状态,转换的数据通过缓冲器U13(74LS541)输出,其中低4位共用。AD574的工作状态由CE、CS、R/C、12/8、A0五个控制信号决定,这些信号的组合控制功能如表1所列。
表1 AD574控制信号的功能组合
CE | CS | R/C | 12/8 | A0 | 工作状态 |
0 | × | × | × | × | 禁止 |
× | 1 | × | × | × | 禁止 |
1 | 0 | 0 | × | 0 | 启动12位转换 |
1 | 0 | 0 | × | 1 | 启动8位转换 |
1 | 0 | 1 | 接1脚(+5V) | 12位并行输出 | |
1 | 0 | 1 | 接地 | 0 | 高8位并行输出有效 |
1 | 0 | 1 | 接地 | 1 | 低4位加上尾随4个0有效 |
应用时,如CE=1、CS=0,则AD574处于工作状态;而当AD574处于工作状态且R/C=0时,则启动A/D转换,R/C=1时进行数据读出。12/8和A0端用来控制转换字长和数据格式:若A0=0时启动转换,则以完整的12位A/D转换方式工作,而若A0=1时启动转换,则以8位A/D转换方式工作。AD574处于数据读出工作状态(R/C=1)时,A0和12/8将作为数据读出格式控制端。12/8为1对应12位并行输出;12/8=0则对应8位双字节输出。其中A0=0时输出高八位,A0=1时输出低四位,并以四个0补足尾随的四位。应注意:12/8端与TTL电平不兼容,因此,只能将其与VCC或GND相连,且A0数据输出期间不能变化。电路中的W1为调零电阻器,W2为调增益变阻器。
2.3 自检电路
在自检状态下,U15输出控制数据A00、A11、A22、A33、A44、A55和111110,以选通第32通道,输入信号则是由电源电路稳压的+5V标准电压。可用计算机控制A/D转换并读入转换数据,以判断器件的工作状况,从而实现板卡的自检,通过自检可以判断出产生故障的主要元器件。