在单片机应用系统中,常需要将检测到的连续变化的模拟量如电压、温度、压力等转换成数字量,才能输入单片机中进行处理。本文中,笔者以ADC0809在瓦斯检测监控控制系统中的应用为例,介绍了并行A/D转换器ADC0809及其接口电路的应用。
一、瓦斯检测监控控制系统
瓦斯检测监控控制系统主要由ADC0809、AT89C51单片机、继电器和风扇等组成。系统中应用的80C51系列单片机在片内无A/D转换电路,当需要输入模拟信号时,常使用A/D转换器ADC0809进行模拟量到数字量的转换。系统中应用的瓦斯传感器,根据瓦斯浓度输出4~20mA的电流,转换电路将4~20mA的电流转换成0~5V的电压。ADC0809将0~5V的电压转换成单片机能够识别的数字量(不同的瓦斯浓度对应不同的数字量),单片机系统判断当前数字量是否大于警戒值,从而正确控制继电器。当继电器得电时,两台风扇同时启动。风扇1通过空气管道,向矿井吹入新鲜空气;风扇2通过空气管道,从矿井吸出含有瓦斯气体的空气,逐渐降低矿井中瓦斯气体的浓度,保证矿井的安全,避免瓦斯爆炸事故的发生。其中,将瓦斯气体浓度的模拟量转换成单片机识别的数字量是瓦斯检测监控控制系统的技术关键。
二、A/D转换
A/D转换的目的是把模拟量电压转换为N位数字量。设D为N位二进制数字量,UA为电压模拟量,UREF为参考电压,其转换关系为:UA=D×UREF/2N(其中:D=D0×20+D1×21+…+DN-1×2N-1)。A/D转换器的主要性能指标有转换精度和转换时间。转换精度通常用分辨率和量化误差来描述;转换时间指A/D转换器完成一次A/D转换所需的时间,转换时间越短,适应输入信号快速变化的能力越强。A/D转换器按照转换原理可分为逐次逼近式、双积分式和V/F变换式。
三、并行A/D转换器ADC0809及其接口电路
ADC0809为8通道8位CMOS逐次逼近式A/D转换器,是美国国家半导体公司产品,也是目前国内应用较广泛的8位通用A/D芯片。图1为ADC0809与AT89C51的连接电路。
ADC0809中IN0~IN7是8路模拟信号输入端。ADDA、ADDB、ADDC是8路模拟信号转换选择端,通过其数字组合选择IN0~IN78路A/D通道。CLOCK是外部时钟输入端,时钟频率高,A/D转换速度快,允许范围为10~1280kHz;通常由AT89C51ALE端直接或分频后与ADC0809的CLOCK端相连接。D0~D7是数字量输出端。OE是A/D转换结果输出允许控制端。
OE=1,允许将A/D转换结果从D0~D7端输出。START是启动A/D转换信号输入端。当START端输入一个正脉冲时,立即启动ADC0809进行A/D转换。EOC是A/D转换结束信号输出端,高电平有效。UREF(+)、UREF(-)是正负基准电压输入端。
四、ADC0809转换数据传送
A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。因此,可采用定时传送方式、查询方式和中断方式等。定时传送方式对于A/D转换器来说,转换时间作为一项技术指标是已知的。如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机有64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换恰好完成,接着就可进行数据传送。查询方式A/D转换芯片表明转换完成的状态信号,如ADC0809的EOC端。因此,可以用查询方式测试EOC的状态,即可确认转换是否完成,是否要接着进行数据传送。中断方式把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。无论使用哪种方式,一旦确定转换完成,即可通过指令进行数据传送。
在工业现场控制中,当输入信号是模拟量时,一般要进行A/D转换后,才能送给单片机系统,单片机系统根据得到的数字量,进行判断控制。以上分析表明,在瓦斯检测监控控制系统的实际应用中,A/D转换器ADC0809及其接口电路的使用方法是稳定可靠的。