数据采集接口电路在一个以微机为中心的控制系统中必不可少,并且关系到整个系统的精确程度和可靠程度。本文将介绍数据采集接口电路的几种软、硬件设计方法。
A/D转换器件ADC0809
ADC0809是逐次逼近式八位AD转换和八通道多路开关器件,可直接采样八个模拟量,转换输出八位数据。图1是ADC0809功能框图。其中多路开关通道由地址锁存及译码器进行选择,CBA八种排列(“000”到“111”)分别决定IN\(_{0}\)~IN7通道的选通。ALE是地址锁存信号,在ALE的上升沿时、A、B、C信号被存入地址锁存器。CLOCK为时钟输入端。START为启动输入端,该信号上升沿使逐次逼近寄存器复位,下降沿开始进行A/D转换。EOC为转换结束标志端,A/D转换完毕时,EOC变为高电平,转换结果送入三态锁存器。OE为输出允许端,当OE为高电平时,三态锁存器中的数据送出。

ADC0809工作时钟为500kHz,这时的转换时间为128μs,转换结束标志端EOC发出有效信号的延迟时间为4~18μs,这样ADC0809从输入模拟量到输出数据量共要132~146μs。
数据采集接口的设计方法
一、查询法

图2是该方法的硬件连接图。输出允许端OE由读信号READ-和口地址译码-选通,在计算机读入数据时,从相应口输入A/D转换数据。地址锁存信号ALE和启动端START由写信号WRITE-和口地址译码-选通,这里写信号WRITE-并非真正用于进行写操作,而只是当作一个控制端。AD0809的A、B、C分别接地址线的A\(_{0}\)1\(_{2}\),由地址信号选择模拟通道。CPU启动某通道A/D转换后,程序不断查询代表转换结束标志EOC0状态,当EOC=0时,说明A/D转换正在进行;当EOC=1时,说明A/D转换结束,CPU便可读入数据。程序流程见图3。

查询法有一明显不足,即需要CPU反复查询EOC状态,这段时间计算机不能它用,故在一些实时性要求不高的系统中可采用此法。
二、软件延时法
CPU启动转换后,在A/D转换过程中(约132~146μs),计算机利用软件进行空循环延时,然后转入转换数据。此法不需用PIO并行接口,故只需在图2中去掉PLO芯片,使EOC悬空即可。程序流程见图4。

此法硬件电路简单,但也有浪费机时的缺点。
三、中断方式
将图2中PIO去掉,EOC经虚线连接的非门接CPU的INT-端,就是此法的硬件连接图。CPU启动A/D转换后转而执行其它任务;当A/D转换结束后,EOC向INT-端发出中断请求;CPU响应中断,进行现场保护,然后执行中断服务子程序,即输入A/D转换后的数据。程序流程见图5。

应用此法计算机利用率高,适合实时性要求较高的场合。
四、软件预测延时法
此法是软件延时法的改进,它将启动A/D转换后要完成的任务进一步细分为若干个子任务,其中第一个子任务执行时间T\(_{1}\)≥146μs,完成第一个子任务后,立即输入转换数据。因此,在细分子任务时需要计算和预测第一个子任务的执行时间,这需要一定的编程经验。此法程序流程见图6。

此法效率最高,因为它不需要等待,也不存在现场保护等操作。(詹剑)