16位A/D转换器MAX1166的原理及应用
摘要:MAX1166是美国MAXIM公司生产的逐次逼近型16位低功耗模数转换器,该转换器内带4.096V精密参考源,同时具有并行数据输出接口。文章介绍了该模数转换器的特性、功能及实际应用电路。
关键词:A/D转换 单片机 接口 MAX1166
1 概述
MAX1166是美国MAXIM公司生产的逐次逼近型16位模数转换器,该芯片片内除集成了逐次逼近型ADC所必须的逐次逼近寄存器SAR、高精度比较器和控制逻辑外,还集成了时钟、4.096V精密参考源和接口电路,其内部结构框图如图1所示。MAX1166的数据总线为8位,因此与目前广泛使用的8位微处理器连接非常方便。
javascript:window.open(this.src);" style="cursor:pointer;"/>
MAX1166的典型参数如下:
●并行数据输出接口:8位
●采样频率:165ksps
●精度:最大线性误差±2LSB,16位无误码
●内部参考源电压:4.096V
●外部参考源电压输入范围:+3.8~5.25V
●模拟电压输入范围:+4.75~+5.25V
●数字电压输入范围:+2.7~+5.25V
●小电流外部参考电源流为1.8mA内部参考电源流为2.7mA采样率在10ksps时的外部参考电源电流为0.1μA;javascript:window.open(this.src);" style="cursor:pointer;"/>
●采用20管脚TSSOP封装。
MAX1166共有20个引脚,图2为其引脚排列图,这些引脚大体可分为三类。
第一类是电源类其中,模拟电源AVDD和数字电源DVDD应分别通过0.1μF的钽电容与模拟地和数字地相连接。而数字地DGND和模拟地AGND1、AGND2通常共地。
第二类为模数信号类其中,AIN为模拟信号输入端;D0/D8~D7/D15为数字量并行输出口。
第三类是控制信号类其中CS 输入为转换启动端;R/ C(输入)为读取结果/模数转换控制端;EOC(输出)用于指示转换结束;HBEN输入用来控制从总线读出的数据是转换结果的高字节还是低字节;REFADJ为参考电源选择端,该端通过0.1μF钽电容与模拟地相接时选择内部参考电源模式而当其直接与模拟电源相接时选择外部参考电源模式;REF为参考电源输入/输出端,选择内部参考电源时该脚应通过4.7μF钽电容接模拟地而选择外部参考电源时该脚为外部参考电源输入端。
2 MAX1166的转换控制时序
MAX1166的一次转换过程可分为三个阶段,即转换准备阶段、模数转换阶段和转换结果输出阶段。图3为其转换时序图。具体工作过程如下:
首先将R/ C管脚置低电平,然后在CS脚输入脉冲信号,MAX1166会在CS的第一个脉冲信号的下降沿进入工作状态;并在CS的第二个脉冲信号下降沿启动A/D转换。此脉冲信号的宽度最小应为40ns。转换过程中,EOC脚为高电平,并在经过约5μs转换完成后,EOC脚电平变低以指示转换完成。当EOC脚输出为低电平时,若将R/ C脚置为高电平,系统将在CS的第三个脉冲的下降沿把转换结果输出到数据总线上。
在数据转换过程中,通过检测EOC脚的输出电平即可判断数据的转换状态。当EOC输出为高电平时,表示数据转换仍在进行,此时不能读取数据;而当EOC输出为低电平时,表明数据转换已经结束,此时可以读取数据。设置并行数据输出选择位HBEN为高电平可读取数据高8位;而设置HBEN为低电平则可读取数据低8位。
MAX1166有两种工作模式,即稳定工作模式和低功耗工作模式。可由管脚R/ C在CS第二个脉冲下降沿的状态来决定选择哪种工作模式,R/ C 为低电平时,选择正常工作模式,为高电平时选择低功耗工作模式。
图3 MAX1166转换时序图
3 典型应用电路
MAX1166的总线接口为8位,该总线的接口速度相当快,可以和各种微处理器直接进行接口,因此MAX1166与8位微处理器的连接电路相对比较简单。图4是MAX1166和MCS-8051的接口电路图。在本例中,由于单片机外围芯片仅有MAX1166一片,所以,为简单起见,没有为之确定地址,即任意地址均可作为其地址。因为MAX1166的CS信号脉冲宽度要求最小为40ns,因此,对于单片机而言,只要对外部设备进行写操作,即会产生WR脉冲,其宽度为6个时钟周期。如果采用12MHz的晶振,其脉冲宽度为500ns,所以可以将单片机的WR信号作为MAX1166的CS输入信号。至于R/ C 、EOC和HBEN等信号,只需连接到普通的锁存功能端口即可(如单片机的P1口)。
图4中,MAX1166采用的是内部参考源。如果在CS信号的第二个脉冲下降沿使R/ C 为低电平,即选择了稳定工作模式,该模式的应用程序如下(该程序会将转换结果的高8位存放在片内存储器A0单元,而将低8位存放在A1单元):
MOV R0 #A0 ;数据暂存区地址
SAMP CLR P1.0 ;拉低R/ C电平,为
A/D转换启动做准备
MOVX @DPTRA ;给CS第一个脉冲信
号,MAX1166进入准
备工作状态
MOVX @ DPTRA ;给CS第二个脉冲信
号,启动A/D转换
WAIT JB P1.2 WAIT ;如果转换结束,则进
入读数据子程序
REDA SET P1.0 ;拉高R/ C电平,准备
读取数据
MOVX @ DPTRA ;给CS第三个脉冲信
号,开始读数据
SET P1.1
MOVX A@DPTR ;读取数据高8位
MOV @R0 A
INC R0
CLR P1.1
MOVX A@DPTR ;读取数据低8位
MOV @R0 A
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 结束语
MAX1166是一种16位的A/D转换器,它不仅具有分辨率高、转换速度快的特点,而且功耗低、体积小、接口方便、电路简单、动态特性良好。因而是电池供电的高精度数据采集系统的理想选择,具有广阔的应用前景。