AD7705/06及其应用

发布时间:2010-9-15 11:12    发布者:conniede
关键词: AD7705 , 传感器 , 模拟信号
1.引言

在智能仪器仪表的应用中,由于传统的传感器信号是模拟信号,所以对于智能化的仪器,肯定需要A/D转换器以实现单片机的控制。在许多应用场合需要16位以上的高精度测量,而传统的积分型和逐次比较型A/D实现起来难度较大,且成本很高。近年来兴起的Σ―ΔA/D转换技术却能以较低的成本获取极高的分辨率。 AD公司的AD7705/06以及AD7707为比较典型的一种16位A/D转换芯片。

2. AD7705/06 简介  

AD7705/06是美国AD公司近期推出的一款新型A/D芯片,其总体结构如图1所示。  


AD7705/06芯片是带有自校正功能的Σ-Δ于A/D转换器。其内部由多路模拟开关、缓冲器、可编程增益放大器(PGA)、Σ-Δ调制器、数字滤波器、基准电压输入、时钟电路及串行接口组成。其中串行接口包括寄存器组,它由通讯寄存器、设置寄存器、时钟寄存器、数据输出寄存器、零点校正寄存器和满程校正寄存器等组成。该芯片还包括2通道差分输入(AD7705)和3种伪差分通道输入(AD7706)。  

AD7705/06的PGA可通过指令设定,对不同幅度的输入信号实现1、2、4、8、16、32、64和128倍的放大,因此AD7705/06芯片既可接受从传感器送来的低电平输入信号,亦可接受高电平(10V)信号,它运用Σ―Δ技术实现16位无误码性能;它的输出速度同样可由指令设定,范围由 20Hz到500Hz;它能够通过指令设定对零点和满程进行校正;AD7705/06与微处理器的数据传送通过串行方式进行,采用了节省端口线的通讯方式,最少只占用控制机的两条端口线。

3. AD7705/06的基本连接及其与微处理器接口电路  

3.1 AD7705/06的基本连接


AD7705/06的基本连接如图2所示,其中AD780/REF192提供+2.5V高精度基准电压。AD7705由于只有2个通道,所以它可以进行两种模拟量的转换,而AD7706具有3个通道,所以它可以进行三种模拟量的转换,笔者在设计压力变送器时就充分运用了`该芯片的功能,AD7706的基本连接与图2相似。  

3.2 AD7705/06与单片机的接口电路

AD7705/06与微处理器的接口非常方便,在对它的操作过程中,涉及到接口的引脚有CS、SCLK、DOUT、DIN和DRDY,它与微处理器的接口有三线、四线、五线及多线方式。在三线方式下,通常使用DOUT、DIN及SCLK引脚进行控制,其中DOUT和DIN与微处理器的串行口相连,用于数据的输出和输入,SCLK用于输入串行时钟脉冲,CS始终为低电平。在四线方式下,CS引脚也可以由微处理器的某一端口线控制。在五线方式下,DRDY引脚也可以由微处理器的某条端口线控制。在多线控制方式下,所有的接口引脚都由微处理器来控制。图3是笔者使用INTEL 8031对AD7706进行控制的简化电路图。   


AD7706的输出信号直接接到8031的RXD(P3.0)端,而8031的TXD(P3.1)端则为AD7706提供时钟信号,可见在这样的连接方式下,A/D转换器的时钟是由8031的TXD引脚提供的。单片机利用串行口与AD7706进行通信,将串行口设定为工作方式0,即同步移位寄存器方式。此外,单片机还通过P1.0引脚来控制CS,通过P1.1引脚来判断DRDY。这样,在多芯片系统中,我们首先应选中芯片,系统就得先清P1.1口线。接收数据时,首先要判断P1.0的引脚电平,若为低电平,则表明已有有效的转换数据在芯片的数据输出寄存器中,这样,单片机置位REN=1,此时,接收数据开始,当接收到8位数据时,中断标志位 R1置位,一次串行接收结束,单片机自动停止发送移位脉冲,该8位数据从串行口缓冲器读入内存,并使用软件清除RI 标志,单片机又开始发送移位脉冲,直到又收到8位数据,则另一次串行接收结束。这样,这次的8位数据与刚才接收的高8位数据组合成为16位数据,即一次 A/D转换的结果。这种接口方法直接利用了单片机本身的硬件资源,从而简化了电路的设计。  

程序1 AD7706的初始化程序  

BEGIN:  

CLR A  

MOV A ,#010H;设置串行工作方式0  

MOV SCON ,A  

CLR P1.0;选中芯片AD7706  

MOV A ,#20H;对CMR进行写操作,下一操作选定CKR  

MOV SBUF ,A  

JNB TI ,﹩;接收完毕,TI复位

CLR TI  

MOV A ,#0CH;设置CLK  

MOV SBUF ,A  

JNB TI ,  

CLR TI  

MOV A ,#010H;对CMR进行写操作,下一操作选定STR  

MOV SBUF ,A  

JNB TI ,﹩

CLR TI  

MOV A ,#40H;设置STR  

MOV SBUF ,A  

JNB TI ,﹩  

CLR TI  

RET  

程序2 输入字节程序(判断DRDY引脚):  

INB1: CLR C  

JB P1.1 ,INB1;判断DRDY引脚电平  

CLR P1.0;DRDY为0,有效数据,进行读数据操作  

MOV A ,#38H;对CMR进行写操作,下一操作选定DOR  

MOV SBUF ,A  

MOV A ,SBUF;从AD7706中读入转换数据  

MOV R3 ,A;高8位存入R3中  

JNB TI ,﹩  

CLR TI  

MOV A ,SBUF;从AD7706中读入转换数据  

MOV R4 ,A;低8位存入R4中  

JNB TI ,﹩

CLR TI  

RET  

程序3 输入字节程序(判断CMR的最高位):  

INB2: CLR P1.0;对AD7706进行操作  

MOV A ,#08H;对CMR进行写操作,下一操作选定CMR  

MOV SBUF,A  

MOV SBUF ,A;读AD7706的CMR  

ANL A ,#10000000B ;判断DRDY位,若为0,则有有效数据  

JNZ INB2;等待  

MOV A ,#38H;对CMR进行写操作,下一操作选定DOR  

MOV SBUF ,A  

MOV A ,SBUF  

MOV R3 ,A  

JNB TI ,﹩  

CLR TI  

MOV A ,SBUF  

MOV R4 ,A  

JNB TI ,﹩  

RET  

4. 实用程序举例  

下面给8031对AD7706进行控制的程序,包括初始化程序(见程序清单)。  对转换器芯片设置为:增益为1,无滤波器同步,双极输入模式和缓冲器关闭方式。  

5. 结语   

笔者在设计智能型压力变送器时,采用了图3的接线方式,AD7706的三通道分别接收来自压力(差压)传感器、温度传感器和静压传感器的信号,这样,可以对压力(差压)进行补偿,,从而消除温度和静压所带来的影响,并应用以上程序进行初始化及读转换数据,使用后效果令人满意。
本文地址:https://www.eechina.com/thread-26755-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表