在智能仪器仪表的数据采集中,由于传统的传感器信号是模拟信号,所以对于智能化的仪器,肯定需要A/D转换器将多种输入信号进行转换,以实现单片机的控制。在许多应用场合需要16位以上的高精度测量,而传统的积分型和逐次比较型A/D实现起来难度较大,成本很高。因此本电路采用了16位的∑-∆型AD7705作为模数转换器,实现了电压、电阻、电流等不同量程信号输入,进而进行数据的存储和显示。
1.AD7705介绍
AD7705是一种片内带数字滤波的∑-∆型A/D转换器,是为满足宽动态范围测量、工业控制或工艺控制中的低频信号的轮换而设计的。该器件可以接受直接来自传感器的低电平输人信号,然后产生串行的数字输出,利用∑-∆转换技术实现了16位无丢失代码性能。AD7705串行接口可配置为三线SPI接口,增益值、信号极性以及更新速率的选择可用串行输人口由软件来配置,该器件还包括自校准和系统校准选项,以消除器件本身或系统的增益和偏移误差。AD7705的引脚排列如图1所示,各引脚的功能说明如下:
图1 AD7705的引脚排列图
SCLK:串行时钟输入;MCLKIN:主时钟输入,时钟频率为500~5MHz;
MCLK OUT:主时钟输出;/CS:片选,低电平有效;
/RESET:复位。该端口为低电平时,可以将控制逻辑、接口逻辑、校准系数以及数字滤波器等复位为上电状态;
AIN2(﹢)、AIN2(﹣):分别为差分模拟输入通道2的正、负输入端;
AIN1(﹢)、AIN1(﹣):分别为差分输入通道1的正、负输入端;
REFIN(﹢)、REFIN(﹣):分别为参考电压的正、负端。为了确保元件的正常工作,REFIN(﹢)端口的输入信号必须大于REFIN(﹣)端的输入;
/DRDY:逻辑输出。低电平表示可以读取新的数据转换;高电平时不可读取数据;
DIN,DOUT:分别为串行数据输入和输出端;
VDD:电源电压,+2.7~+5.25V;GND:内部电路的地电位基准点。
2.电路设计
在该电路设计中,必须考虑隔离技术的实施,以提高系统的抗干扰能力。并且使A/D转换过程容易进行,这是系统关键技术之一。
2.1AD7705输入电路
基于AD7705的万能信号输入电路的输入端电路图,如图2所示:
图2 AD7705万能信号输入电路的输入端电路图
图3 输入信号接线方式图
该电路的3个端子有多种不同的接法,可以实现多种输入信号的采集和转换。这里介绍四种输入信号类型,分别为电压、电流、热电偶、热电阻和电阻,各种输入信号的接线方式,如图3所示。AD7705作为数据采集电路的模数转换器,具有两个双差分输入通道。由于检测的信号有的是双极性的,而两通道是差分模拟输入,只有将模拟输入端负端的电位抬高,才能检测双极性信号,因此,将AIN1(﹣)和AIN2(﹣)接至基准电压VREF上,基准电压值为2.5V,作为输入电路的模拟地端。用两通道的模拟输入正端AIN1(﹢)和AIN2(﹢)来检测输入信号,这两个输入端的电压值分别记为UAIN1(﹢)和UAIN2(﹢),两检测电压最终转换成数字量输出,因此,通过这两个已知的检测电压可以得到输入信号的值。为了提高该万能信号输入电路的精度,AD7705的输入电路部分的所有电阻均为标准电阻。
量程校准:外加输入信号的下限值,采用上位机软件,按画面指示(自动,手动)可进行零点校准;外加输入信号的上限值,按画面指示(自动,手动)可进行满度校准,结果存储在24C64中。
当输入信号为电压时,电压正端接仪表通道A端子,电压负端接仪表通道B端子,电压为0~5V,1~5V,0~2.5V,0~1V,0~100mV,0~55mV,0~25mV,统记为UAB由电路图可知该电压信号经过两个20KΩ的电阻分压后输入到通道2,因此由通道2,AIN2(﹢)来检测该电压信号,UAB与UAIN2(﹢)的关系式如下:
当输入信号为电流时,电流正端接仪表通道A端子,电流负端接仪表通道C端子,电流值可以为4-20mA,0-10mA,统记为IAC,AC端子之间并联250Ω的标准电阻,使线性电流转换为线性电压,由于基准电压的存在,即使输入电流为0时,经过250Ω和3.6KΩ电阻对基准电压的分压,通道1AIN1(﹢)仍有检测电压的存在,AIN1(﹢)的检测电压值要减去输入电流为0时的检测电压值,检测电压值同样是经过两个20KΩ的电阻分压后得到的。而输入电流分为250Ω和3.6KΩ电阻两个回路,即这两个电阻在电流的回路上是并联的。具体的计算关系如下:
热电阻是中低温区最常用的一种温度检测器,它的主要特点是测量精度高,性能稳定。热电阻测温是基于金属导体的电阻值随温度的变化而变化这一特性来进行温度测量的,当输入信号为温度时,通过热电阻来检测温度,实际上输入信号就变成了热电阻,求得热电阻的阻值,通过热电阻的阻值与温度的对照关系就求出了温度值。
由于热电阻要安装在被测环境中,距离电阻测量装置有一定距离,这样实际测量的时候就会带来导线电阻的误差,因此实际使用热电阻的时候都是采用三线制接法,通过电路处理,剔除了导线电阻的影响。
热电阻一端接仪表通道A端子,另外两端接仪表通道B、C端子,电阻值可以为Cu50,Pt100,统记为RT。为了推导公式和解释方便,需要对一些变量进行设定。三根导线的电阻值设为RL,从基准电压源出来的总电流为I,通过热电阻这一支路的电流为I1,通过250Ω电阻的电流为I2,两支路的电流最终都通过3.6KΩ电阻,即3.6KΩ电阻的电流也是I,下面开始对热电阻RT进行逐步推到:
由上面三个式子可以得到I1,计算整理后得:
在热电阻这条支路上,由热电阻、导线电阻和电流可以得到通道1检测电压UAC和通道2检测UAB,即UAIN1(﹢)和UAIN2(﹢)的关系式:
由公式(6)、(7)和(8)得热电阻RT的计算公式如下:
输入信号为电阻的情况和热电阻的推导公式相同。
当输入信号为热电偶时,热电偶正端接仪表通道A端子,负端接仪表通道B端子。按IEC国际标准,采用S、B、E、K、R、J、T七种标准化热电偶作为输入信号。在AD7705的两通道对热电偶进行检测时,实际上是对热电偶的电动势进行检测,因此,热电偶与电压作为输人信号的情况相同,只是最终将测得的电压值转换为温度值,有关冷端温度补偿问题由室温测量元件测出冷端温度与输入电压进行相加。
2.2AD7705输出电路
图4 AD7705万能输入电路的输出端电路图
该万能信号输入模块中的24C64芯片,是64K的电可擦除可编程存储器E²PROM。该存储器是用来存储AD7705的信息的,在初始设定时将AD7705的信息写入24C64芯片中,这样AD7705的设置信息将永远保存在该存储器中,以后不用重复设定.24C64芯片和AD7705放在一个模块上,可以即插即用,使用方便。
设计的这个基于AD7705的万能信号输入电路的输出端采用SPI串行通信协议,SPI就是串行外围设备接口,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便。SPI总线系统以主从方式工作,在本电路中SPI总线包括DIN(串行数据输入)、DOUT(串行数据输出)、SCLK(串行时钟输入)和/CS(片选)。
/CS是控制芯片是否被选中的,也就是说只有片选信号为低电平时,对AD7705的操作才有效。因此将片选管脚直接接地,也就是让AD7705始终处于工作状态,这时SPI总线实际上就只剩下DIN、DOUT和负责通信的三根线了,通信是通过数据交换完成的,这里先要知道SPI是串行通信协议,也就是说数据是一位一位的传输的,这就是时钟线SCLK存在的原因,由SCLK提供时钟脉冲,DIN,DOUT则基于此脉冲完成数据传输。数据输出通过DIN线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,数据输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。
要注意的是SCLK信号线只由主设备控制,即由该仪表的CPU来控制,AD7705不能控制信号线。SPI允许数据一位一位的传送,甚至允许暂停,因为SCLK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据;也就是说,主设备通过对SCLK时钟线的控制可以完成对通信的控制。SPI还是一个数据交换协议,因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出;由于本电路是数据采集电路,因此只需要AD7705对数据进行采集输出就可以。
输出端子信号为:
H-24C64数据线和串行同步时钟线;
G、F-24C64地址线;
+、–电源线;
E-AD7705串行时钟线;
D-AD7705数字信号输入、输出线。
结束语
本文总结了采用AD7705的万能信号输入电路设计。该电路实测结果达到了设计标准,具有多种信号输入功能。本电路通道数多,功耗低,精度高,采取隔离设计,抗干扰能力强,运行稳定,可靠性高,可作为各种智能显示仪表的数据采集电路使用。