基于单片机的双积分型A/D电路设计
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具体值而定。
评论