24位模数转换器AD7713及其应用
扫描二维码
随时随地手机看文章
AD7713的AD公司的24位∑-Δ型模数据转换,该芯片线性度好,转换精度高,并具有校准方式多、数据转换率可程控、功耗低(动态工作方式下的功耗典型值为3.5mW,掉电方式下为35μW)等特点,非常适合于高精度、低功耗数据采集系统的应用。
AD7713为24脚DIP结构封装,有3个模拟输入通道,其中第1、2两个通道为差分式输入,第3通道为单端输入(可输入大信号),输入增益可编程控制(1~128)。AD7713的串行输出和多种工作方式可以为系统连接提供方便可靠的接口方法。
1 AD7713的引脚定义
AD7713为大规模集成芯片,其24个引脚(参看图1)分别定义如下:
SCLK(1):串行时钟的输入/输出端,可用MODE脚的状态来控制。当MODE=1时,芯片工作在内部时钟方式,此时SCLK脚输出的是一个串行时钟信号,当RFS或TFS变低时,SCLK被激活;而当RFS或TFS中的一个为高或器件完成一个输出字的传送后,SCLK转为高阻态。当MODE=0时,芯片工作在外部时钟方式,此时输入的串行时钟可用作数据传送的移位脉冲。
MCLK IN(2):器件的主时钟信号输入脚,其主时钟信号可由石英晶体或外部时钟提供。使用石英晶体时,石英晶体可直接跨接在MCLK IN和MCLK OUT引脚之间;使用外部时钟时,该脚可由与CMOS兼容的电平来驱动而将MCLK OUT脚悬空。输入时钟的频率最高为2MHz。
MCLK OUT(3):当主时钟用石英晶体或陶瓷谐振器时,应将该石英晶体或陶瓷谐振器连接在MCLK IN与MCLK OUT引脚之间。
A0(4):地址输入,当A0为低时,对器件的控制寄存器进行读/写操作;当A0为高时,对器件的数据寄存器或校准寄存器进行读写操作。
SYNC(5):逻辑输入,当系统使用多个AD7713时,使用该引脚可实现各芯片内部数字滤波器的同步。
MODE(6):逻辑输入,当MODE=1时,器件采用内部时钟方式;当MODE=0时,器件采用部时钟方式。
引脚7~10:这四个引脚分别为模拟输入通道1、2的正、负输入端。
STANDBY(11):逻辑输入,当该引脚为低时,将切断器件内部模拟和数字电路的电源,从而使AD7713处于低功耗状态。
AVDD(12):模拟正电源,+5~+10V。
RTD1(13):恒流输出,通常为200μA,可用作电阻式热敏器件的激励电流,该电流可由程序来控制通/断。
REF IN_(14):参考输入,其电位可取AVDD与AGND之间的任意值。
REF IN+(15):参考输入,应注意REF IN+,必须在于REF IN-。
RTD2(16):与RTD1脚功能大体相同,也可与RTD1组合使用,另外,利用此脚可在三线RTD结构中消除引线电阻所产生的误差。
AIN3(17):模拟输入通道3,输入信号幅度可达±4VREF/GAIN,当GAIN=1且VREF=2.5V时,AIN3的输入范围为±10V。
AGND(18):模拟地。
TFS(19):发送帧同步信号,低电平有效。当TFS=0时,芯片允许写入串行数据。在内部时钟方式下,TSF变低将使得串行时钟SCLK有效;在外部时钟方式下,TSF必须在数据字被写入器件的第一个位之前为低。
RFS(20):接收祯同步信号,低RFS=0时,允许对器件进行数据读取的操作。在内部时钟方式下,RFS变低将使串行时钟和数据同时有效;在外部时钟方式下,RFS变低可使SDATA有效。
DRDY(21):逻辑输出,表示数据寄存器的更新速率,DRDY的每一个下降沿都将指明一个新的数据字传输的开始。当一个完整的数据字传输结束后,DRDY将返回到高。
SDATA(22):串行数据。输入时,CPU将把数据字写入到器件的控制寄存器或校准寄存器;输出时,CPU将读取控制寄存器、校准寄存器、数据寄存器内的数据。
在读操作期间,RFS变低之后串行数据有效;而在写操作期,在TFS变低之后,将在SCLK的上升沿加入有效数据。
输出的数据在单极性输入时为自然二进制代码,而在双极性输入时为偏移二进制代码。
DVDD(23):+5V数字电源。DVDD与AVDD的差不得超过0.3V,否则,芯片将不能正常工作。
DGND(24):数字地。
表1 工作方式选择
MD2 MD1 MD0 工 作 方 式 0 0 0 正常方式,加电复位后的缺省值 0 0 1 自校准有效,用于对激活CH1和CH0所确定的自校准,校准完成后返回正常方式 0 1 0 系统校准有效,对激活通道作第一步系统校准(零点失调校准) 0 1 1 系统校准有效,系统校准的第二步,即满量程校准 1 0 0 系统失准有效,对激活通道作系统失调校准 1 0 1 背景噪声校准有产,对激活通道作通道作背景噪声校准(输入端与模拟地短接) 1 1 0 读/写零点校准系数,当A0=1时,执行读操作以读取通道的零点校准系数,同时执行写操作以写入零点校准系数 1 1 1 读/写满量程校准系数,当A0=1时,执行读操作以读取通道满量程校准系数,同执行写操作以写入满量程校准系数
表2 通道增益设定
G2 G1 G0 增 益 0 0 0 1(缺省值) 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 64 1 1 1 128
2 AD7713内部控制字的设定
AD7713的工作状态可通过程序向器件内部写入控制字来设定,输入控制字字长为24位。写入时,必须连续写入24位数据,若写入的数据不足,这些数据就不会被加载到控制寄存器中,具体格式为:
格式中的控制字的最高三位用于确定AD7713的工作方式,具体组合如表1所列。G2,G1,G0则用来确定输入通道的增益,可参见表2。CH1和CH0可确定输入通道号,其编码见表3。当字长选择定义位WL=0时,字长为16位(上电复位时的缺省值);当WL=1时,字长为24位。当激励电流控制位RO=0时,激励电流关断(上电复位时的缺省值);当RO=1时,激励电流接通。熔断电流控制(Burn-out Current)定义位BO=0时,关断AIN端内部的20nA电流源(上电复位时的缺省值);当BO=1时,允许该电流流出,一般情况下,该电流是禁止的。当极性选择定义位B/U=0时,允许双极性输入(上电复位时的缺省值);当B/U=1时,允许单极性输入。
另外,AD7713还在芯片内部集成了一个三阶数字式滤波器((SinX/X)3),该滤波器的截止频率、第一个凹点位置频率及数据率均可由FS11~FS0这12位来编程决定。此外,不同增益下凹点频率还可决定输出噪声电平,以决定器件的分辨率。
表3 输入通道的确定
CH1 CH0 通 道 0 0 AIN1 0 1 AIN2 1 0 AIN3
该数字滤波器的第一个凹点频率为:
(fCLK IN/512)/code。
其中code有FS0~FS11位所确定的十进制数,取值范围为19~2000.在2MHz的频率下,凹点频率的范围为1.952Hz~205.59Hz。选择不同的CODE值,可获得不同的凹点频率,从而获得不同的数据转换率。
改变滤波器的凹点频率并选择不同的增益,对分辨率有直接影响。另外,数据转换越慢,其有效分辨率位数越高,因此这种芯片适合于数据采集速率较慢的场合。
3 AD7713的基本连接电路
图1给出了AD7713的基本连接电路。
3.1 电源连接
AD7713的模拟电源和数字电源可分别供电,也可采用单5V电源供电,通常当模拟电源电压大于数字电源电压时,必须分别予以供电。因此这样可减小电源的耦合干扰,提高转换精度,但必须先加数字电源(DVDD),后加模拟电源(AVDD),且要保证AVDD不低于DVDD,因此可在两个电源引脚之间接一个二极管,二极管的负极接AVDD端,正极接DVDD端,以确保DVDD与AVDD的差值不会超过0.3V,具体连接如图2所示。当采用单一电源供电时,应将AVDD端和DVDD端连在一起,或在两脚之间接一个几欧姆的小电阻。
3.2 主时钟连接
AD713的主时钟频率最大为2MHz,可以采用石英晶体与内部电路构成振荡器所产生的时钟源频率。频率较低时,也可采用陶瓷谐振器代替石英晶体,但应接入相应的外部电容。主时钟也可直接由外部频率源(TTL或CMOS电平)提供,并由MCLK IN脚输入,此时应将MCLK OUT脚悬空。
3.3 参考电压连接
AD7713设有两个差动式参考电压输入端REF IN+和REF IN-,共中REF IN+端电压(AVDD)应大于REF IN-端电压(>AGND),该参考电压VREF的取值范围为1V~5V,一般限2.5V,其典型的参考源为AD680。
3.4 模拟输入信号连接
AD7713提供有三个模拟输入通道,其中两个为差动式可编程增益输入通道,可控制为单极性双极性输入,输入的共模电压范围为:AGND-30mV~AVDD+30mV。第三个模拟输入通道为可编程增益输入端,可接收的输入信号范围为0~+4VREF/GAIN。若增益取1,VREF取2.5V,最大输入可达10V。
AIN3的输入电流与输入电压幅度有关,当输入为10V时,输入电流典型值约22.5μA。
AD7713有两种不同的工作方式可供选择,即内部时钟方式和外部时钟方式。在内部时钟方式下,AD7713可作为系统主控制器件输出串行时钟;而在外部时钟方式下,AD7713则作为从控器件,此时的串行时钟由外部系统提供。
4 AD7713与CPU的接口
4.1 硬件接口电路
选择AD7713工作于内部时钟方式还是外部时钟方式对电路系统结构的设计影响很大,下面以外部时钟工作方式为例,来介绍AD7713与单片机8031的接口方法。
用8031单片机的串口和P1口实现与AD7713接口的具体电路如图3所示。该电路中的8031的串口工作在方式0,即该串口用作同步移位寄存器,数据由RXD(P3.0)端输入和输出,同步移位时钟由TXD(P3.1)端输出。通信的波特率恒定为FOSC/12,其中FOSC为单片机的主时钟,当FOSC为6MHz时,波特率为500kB/s。8031单片机的串口允许中断,程序控制下每中断一次,单片机将对AD7713读或写一个字节的数据。
图3中,P1口的P1.0~P1.3四条口线分别与AD7713的RFS、TFS、DRDY、A0相连,共中P1.2为输入口,用于读取DRDY的状态,其余为输出口,用于控制AD7713的整个读/写过程。将AD7713的MODE接地,可使器件工作在外部时钟方式,主时钟由2MHz的石英晶体产生。
4.2 读/写控制程序
按照图3的硬件连接方式,其读/写操作过程如图4、图5所示,其中图4为读操作程序流程图,图5为写操作程序流程图,下面是按照各自流程图给出的8031单片机的相应操作码。
(1)读程序清单:
MOV SCON,#11H ;设置8031为串口方式0
MOV IE,#10H ;中断初始化
SETB 90H;SETB 91H ;使RFS=TFS=1
SETB 93H ;使A0=1
MOV R1,#03H ;设置循环计数器次数
MOV R0,#30H ;置数据缓冲区首地址
MOV R6,#04H ;用P1.2读DRDY状态
WAIT:MOV A,PI ;读P1口
ANL A,R6 ;判P1.2状态
JZ READ ;若P1.2为0则继续
SJMP WAIT ;若P1.2为1则等待
READ:CLR 90H ;使RFS=0
CLR 98H ;清除串口接收中断标志
POLL:JB 98H,READ1 ;判RI=1否
SJMP POLL ;RI=0继续等待
READ1:MOV A,SBUF ;RI=1则读数
RLC A ;数据位重排列
MOV B.0,C;
RLC A;MOV B.1,C;RLC A;MOV B.2,C;
RLC A;MOV B.3,C;RLC A;MOV B4,C;
RLC A;MOV B.5;RLC A;MOV B.6,C;
RLC A;MOV B.7,C;
MOV A,B:MOV @R0,A;数据暂存
INC R0;DEC R1 ;修正地址
MOV A,R1;JZ END ;R1=0则退出
JMP WAIT ;继续下一字节
END:SETB 90H ;使RFS=1
SJMP END;
写程序清单:
MOV SCON,#00H ;设置8031为串口方式0
MOV IE,#10H ;中断初始化
MOV IP,#10H ;串口中断优先级高
SETB 90H;SETB 91H ;使RFS=TFS=1
SETB 93H ;使A0=1
MOV R1,#03H ;设置循环计数器次数
MOV R0,#30H ;置数据缓冲区首地址
MOV A,#00H ;清累加器
MOV SBUF,A ;初始化串口
WAIT:NOP;
JMP WAIT ;等待串口中断
SINT:MOV A,R1;
JZ FIN ;若R1为0则退出
DEC R1 ;计数器R1减1
MOV A,@R0 ;读数据到A
INC R0 ; 地址加1
RLC A ;数据位重排列
MOV B.0,C ;高位在前
RLC A;MOV B.1,C;RLC A;MOV B.2,C;
RLC A;MOV B.3,C;RLC A;MOV B.4,C;
RLC A;MOV B.5,C;RLC A;MOV B.6,C;
RLC A;MOV B.7,C;
MOV A,B;
CLR 93H;CLR 91H ;使A0,TFS为低
MOV SBUF,A ;写串口数据
RETI ;中断退出
FIN;SETB 91H ;使TFS为高
SETB 93H ;使A0为高
RETI ;中断退出
5 注意事项
(1)模拟电源AVDD不得低于数字电源DVDD,至少DVDD不能超过AVDD幅度0.3V;
(2)AD7713的电源必须比系统的数字电源优先加载,否则可能出现自锁;
(3)给AD7713的控制寄存器写入控制字时,字长必须是24位,否则不能可靠加载;
(4)对AD7713进行读/写操作时,应注意串行数据流的顺序。
更多资讯请关注:21ic模拟频道