朱彩霞
(淮安信息职业技术学院电子工程系,江苏淮安223003)
A/D转换在自动测量和控制系统中的应用非常广泛,主要用单片机或计算机控制A/D转换芯片工作,许多教材和专业类书籍上都有很多接口电路和相应的程序介绍,本文介绍一种实用的A/D转换芯片与单片机的接口电路,以常用的8位逐次逼近式A/D转换芯片ADC0809为例,通过对两种接口电路的设计方法的比较,可以很容易地区分出哪一种设计方法的优劣,为我们以后设计其他类型接口提供一点思路。
图1是我们经常见到的ADC0809接口电路。图2是通过实践证明了的ADC0809实用接口电路,采用与8051系列单片机兼容的AT89C51单片机,内部有4KB FLASH程序存储器空间。现将两个电路对比如下:
(1)图1的电路比较复杂,用到地址锁存器和门电路,电路制作难度较大,成本比较高,这与目前单片机使用的实际情况不符,现在为了降低成本,单片机应用中更多使用本身资源,图2的电路则简单多了,便于分析和理解。
图1 ADC0809与8031的连接电路
(2)图1单片机与ADC0809的连接是通过总线方式连接的,还需要确定每个模拟通道的地址,根据图1,模拟通道的地址为FEF8H~FEFFH。图2所示电路则无须分析其模拟通道地址,它是直接用单片机的I/O口与ADC0809有关端口相连,P0口作为A/D转换结束数据输入口,同时P0口的低3位作为选择模拟通道的输出线,低3位输出不同的值配合P1.0输出的锁存信号就可选择转换的通道,注意:因P0口作为输出口使用,要接上拉电阻。
(3)两种电路所用的操作指令也不同,图1使用外部RAM的操作指令,图2使用内部RAM的操作指令和位操作指令,相对前者,内部RAM的操作指令和位操作指令我们更熟悉、更方便使用。
图2 ADC0809与AT89C51实用连接电路
从以上分析可以看出,图2电路比图1电路更有优势。依照上面的思路还可以设计其他实用的A/D转换接口电路,如ADC0816、AD574等。
对于图2所示电路如何编写具体的程序呢?根据ADC0809的工作时序,ADC0809工作过程分为如下几步:首先,地址线(A、B、C)上加通道编码,在地址锁存信号ALE上升沿作用下锁存该地址编码,即选择好通道;其次,启动A/D转换,只要在START加一正脉冲就启动一次转换;再次,等待转换结束,在启动转换10μS后转换结束标志端EOC自动变为低电平,直到转换结束才恢复为高电平,对于这一点编程时要考虑;最后,读取转换结果,在输出允许控制端OE高电平期间,将8位数据读入单片机内部即可。根据上述工作过程可以设计某一通道转换的框图,如图3所示。结合该框图设计了8个通道转换程序ATOD。
图3 一个通道转换过程框图
在实际的测量中我们经常测量缓慢变化的信号,并且传感器变换出来的信号电压值变化的范围较小,在这种情况下我们可以通过调整加到芯片上的基准电压来提高测量的精度。假设A/D输入电压范围是1.6~2.9V,我们可以将VREF+调整为3V,VREF-调整为1.5V,略大于输入信号范围,这时A/D转换器能分辨(3-1.5)/256≈5.9mV的电压变化。图1中所加基准电压为5V,A/D转换器能分辨5/256≈20mV的电压变化,显然,调整基准电压后能分辨更小的电压变化,测量的精度提高。调整基准电压的简单方法是用二极管,如图2中虚框中所示。二极管的压降约为0.7V,可以根据实际情况增减二极管的个数。
串行接口A/D芯片由于引脚少,接口简单,占用单片机的系统资源较少,所以在单片机应用系统中正逐步成为流行趋势。但串行A/D芯片模拟通道也少,在通道要求较多的场合有局限性。图4为用CD4051、TLC1549等器件扩展的8通道10位A/D接口电路。
图4 串行A/D扩展8通道10位A/D接口电路
CD4051是八选一电子开关,CD4051的电子开关导通时有100Ω左右的电阻,为消除开关电阻对输入信号的影响,选通的信号通过跟随器再送给后面的电路,同时提高输入通道的输入阻抗。820kΩ电阻(如图4a所示)起到消除通道悬空时跟随器不稳定输出的作用。通过跟随器的模拟信号送至如图4b所示的TLC1549信号输入端,单片机控制TLC1549转换,读取测量结果。可见,通过单片机控制CD4051和TLC1549,可以对8路模拟信号中的任一路进行测量。
以上是在实践中使用A/D转换器的一些体会。类似的,其他类型的芯片与单片机或计算机接口电路也有相似的方法,只要充分了解芯片功能和工作时序,就可以设计出简单的接口电路,编写易懂的程序。如:微型打印机与单片机的接口电路,一般也是在扩展基础上设计的,我们也可用本文的方法设计接口电路和编写程序。
[1]王晓银.电压/频率变换电路实现A/D转换[J].西安航空技术高等专科学校学报,2008(1):8-10.
[2]柴宝玉,林晓鹏,郭东辉.模数转换(A/D)集成电路设计原理及其应用技术[J].西安石油大学学报:自然科学版,2006(3):9-11.
[3]樊廷忠.一款低成本高分辨率A/D转换电路的设计[J].黑龙江科技信息,2008(28):11-13.
[4]曹玉珍,陈敏.高速A/D转换器AD7654与单片机接口电路设计[J].国外电子元器件,2006(10):21-23.
[5]牛余朋,成曙.基于单片机的高精度A/D与D/A转换[J].兵工自动化,2005(3):25-27.
[6]邢景富,张广洁.智能化仪器的设计[J].中国科技信息,2005(22):11-13.
[7]顾洪军,薛顶柱.基于STC89C51单片机的微打系统设计[J].吉林师范大学学报:自然科学版,2009(4):15-17.
[8]吴晓燕.一种基于AT89C51智能化温度监控系统的设计[J].科技信息,2009(32):26-28.
[9]李丽华,黄秋野,王琦.基于单片机的酒精浓度检测仪设计[J].科技广场,2009(3):22-24.
[10]陈乾定.基于单片机的恒温控制系统的设计与实现[J].科技资讯,2008(13):21-23.