0 引言
A/D转换电路是数据采集系统中的重要部分,也是计算机应用系统中一种重要的功能接口。目前市场上有两种常用的A/D转换芯片,一类是逐次逼近式的,如AD1674,其特点是转换速度较高,功率较低。另一类是双积分式的,如ICL7135,其特点是转换精度高、抗干扰能力强。但高位数的A/D转换器价格相对较高。本文介绍的一种基于单片机的高精度、双积分型A/D转换电路,具有电路体积小、成本低、性价比高、结构简单、调试容易和工作可靠等特点,有很好的实际应用价值。
1 双积分式ADC基本原理
双积分式ADC的基本电路如图1所示,运放A 1、R、C用来组成积分器,运放A2作为比较器。电路先对未知的模拟输入电压U1进行固定时间T1的积分,然后转为对标准电压U0进行反向积分,直到积分输出返回起始值,反向积分时间为T0。如图2所示,输入电压U1越大,则反向积分时间越长。整个采样期间,积分电容C上的充电电荷等于放电电荷,因而有由于U0及T1均为常数,因而反向积分时间T0与输入模拟电压U1成正比,此期问单片机的内部计数器计数值与信号电压的大小成正比,此计数值就是U1所对应的数字量。
2 实用双积分A/D转换电路
1)硬件电路图
如图3所示,运放A1、R、C构成积分电路,C常取0.22μF的聚丙烯电容,R常取500kΩ左右,A2是电压跟随器,为电路提供稳定的比较电压,运放 A3作为电压比较器,保证A/D转换电平迅速翻转,CD4051是多路选择开关,单片机P1.0、P1.1、P1.2作为输出端口,控制其地址选择端A、 B、C选择不同的通道输入到积分器A1,U为将要进行A/D转换的模拟输入电压,Uin为积分器的输入电压,U0为比较电压,U1为基准电压,为使A/D 转换结果具有更高的精度,基准电路应该提供精确的电压,建议使用精度为1%的精密电阻,单片机使用89C51,其内部定时器T0为积分电路提供精确的时间定时,计数器T1用来记录反向积分时间,INT0用来检测比较器电平变化。所需测量的模拟输入信号和零点参考电压以及基准电压接到多路选择开关的输入端,通过单片机中的程序控制,轮流选择接入各路输入信号,通过积分电路分别和固定电压进行定时或定值积分。
积分电路的输出信号作为比较器的输入信号与比较电压进行比较,当比较器输出翻转信号时,CPU计数器停止计数,从而获得零点参考电压的计数值,对这个数据进行处理计算后,完成A/D转换。
2)转换过程
为了给积分电路提供积分零点,在系统上电阶段,积分电路先接通GND,待比较器输出为低电平时,再对积分电路进行一段时间的放电,以使得积分电容零电荷。因此双积分电路的工作过程分为三个阶段:
(1)清零阶段:当比较器输出低电平时,积分电容上聚集了大量电荷,必须对其放电为后续的A/D转换提供精确的零起始点。即对U0进行定值积分,由
由此可见放电时间根据U0、U1、R、C具体值而定。
(2)积分阶段:对模拟输入电压Uin进行固定时间积分,积分时长T1,由A/D的精度决定,精度越高积分时间越长,此阶段积分器的输出电压
(3)比较阶段:对模拟输入电压进行定时积分后,再对零电平进行反向积分直到比较器的输出发生翻转,此阶段积分器的输出电压为
由比较器原理得U10=U1,由此可得
其中T1、U0、R、C、U1均为常数,即对零电平的积分时间T0与模拟输入电压U成正比,T0即为所求值。具体转换波形如图4所示。
3)软件设计
单片机内部定时器T0分别控制对基准电压和模拟电压的定时积分,计数器T1用来记录反向积分时间,P1.0、P1.1、P1.2控制多路选择开关的通道,且单片机以查询方式检测比较器的输出电平。以上分析可知该系统A/D转换流程图如图5所示。
3 电路特点分析
由上述分析可知,模拟电压U大于基准电压U1时,在对模拟电压U定时积分后对零电平进行定值积分,波形图如图4所示。而当模拟电压U小于基准电压U1时,在对模拟电压U定时积分后应对U0进行定值积分,只需在软件设计上加以区别或提供负值的基准电压即可。本电路充分利用了单片机成本低廉、可靠性高的优势,主要元件仅仅为一个单片机89C5 1、一个多通道模拟开关CD4051、一个四运放LM324,因而结构简单,性价比高。实际应用表明,此双积分型A/D转换器的特点是工作性能稳定并且抗干扰能力比较强,但从原理分析可知,该电路存在固有的延迟,因此不适合采集连续快速变化的信号。
4 结束语
本设计电路保留了双积分A/D转换的主要特点,且整个电路构成的成本非常低廉。只要合理选择、调整电路参数,减少数据处理误差,就可以进一步提高转换精度和速度,且具有转换过程简单、转换精度高和成本低等突出的特点。因此在数据采集系统及其他应用系统中有很好的使用价值。