双通道12位串行A/D转换器MAX144及其应用
1 主要特点
MAX144是美国MAXIM公司生产的新型双通道12位串行模数转换器,它具有自动关断和快速唤醒功能,且内部集成有时钟电路,采样/保持电路;同时具有转换速率高、功耗低等优点,特别适合于由电池供电且对体积和精度有较高要求的智能仪器仪表产品。MAX144的主要特点如下:
●单电源供电电压范围为+2.7~+5.25V;
●带有两路模拟信号输入通道CH0和CH1其模拟信号电压范围为0~VREF;
●采样频率最高可达108ksps;javascript:window.open(this.src);" style="cursor:pointer;"/>
●功耗低, 当VDD为3.6V,且在采样频率达到最大值108ksps时,功耗仅3.2mW;
●具有与SPI/QSPI/MICROWIRE兼容的串行接口。
2 引脚功能
MAX144采用DIP8封装形式,其引脚功能如下:
VDD:正电源端,+2.7~+5.25V;
CH0/CH1:模拟信号输入通道;
GND:模拟地/数字地;
REF:外部参考电压输入,用作模数转换基准电压;
CS/SHDN:该脚为低电平时,为片选输入;为高电平时,为掉电模式输入;
DOUT:串行数据输出端;
SCLK:串行时钟输入端。
3 使用说明
3.1 模拟信号输入
MAX144的两个模拟输入通道CH0与CH1可连接到两个不同的信号源上。上电复位后,MAX144将自动对CH0通道的模拟信号进行A/D转换,转换完毕又自动切换到CH1通道,并对CH1通道模拟信号进行A/D转换,之后交替地在CH0和CH1通道间进行切换和转换。输出数据中包含的一个通道标志位CHID用以确定该数据为哪一通道转换得到。如果只有一路模拟信号,可以将CH0与CH1连接在一起作为一个输入通道,但输出的数据中仍包含有通道标志位CHID。
图2
MAX144内部有模拟输入保护电路,因而容许输入信号在GND-300mV到VDD+300mV范围内变化,如果要求的转换精度较高,则输入信号不得大于VDD+50mV 且不能小于GND-50mV。
3.2 时钟模式和工作时序
将CS/SHDN设置为低电平可启动A/D转换过程,在CS/SHDN的下降沿,内部采样/保持电路将进入采样模式,此时如果SCLK为高电平,则选择内部时钟模式;若为低电平则选择外部时钟模式。图2给出了内部和外部时钟模式的时序图。当串行时钟频率小于100kHz或大于2.17MHz时,应选择内部时钟模式。当工作于外部时钟模式时,由于外部时钟不仅要移出数据,而且要驱动模数转换,因此,A/D转换必须在140μs内完成,否则采样/保持电路中电容上电压的降低可能导致转换结果精度的降低。转换结束后,内部振荡电路被关闭,DOUT变为高电平,此时即可读取转换数据。
3.3 输出数据格式
表1为内部和外部时钟模式下的串行输出数据格式。由表1可知,串行数据输出格式是高位在前,低位在后。读取一个转换数据至少需要16个时钟周期,前三位始终为高电平(内部时钟模式时还包括EOC位),第四位是通道标志位CHID,CHID为0表示CH0通道,即数据为CH0通道转换所得;CHID为1表示CH1通道,即数据为CH1通道转换所得;接下来就是12位的A/D转换数据,最高有效位在前,每一位数据在SCLK上升沿被移出;转换结束后,CS/SHDN变为高电平,此时DOUT呈高阻抗状态。
表1 MAX14的数据输出格式
SCLK CYCLE | 1 | 2 | 3 | 4 | 5 | 6 | 7 | …… | 14 | 15 | 16 |
Dout(外部) | EOC | 1 | 1 | CHID | D11 | D10 | D9 | …… | D2 | D1 | D0 |
Dout(内部) | 1 | 1 | 1 | CHID | D11 | D10 | D9 | …… | D2 | D1 | D0 |
4 MAX144在水平调整仪中的应用
图3是MAX144成功应用于水平调整仪的实例。该水平调整仪有两路模拟信号,需要对这两路模拟信号进行交替的转换,并根据转换结果对两个方向交替的信号进行水平调整,MAX144正好可以满足此要求。模拟信号经过放大和滤波后连接到MAX144的CH0和CH1端口。
由于模拟信号电压范围为0~2.0V 因此可将MAX144的参考基准电压设置为2.048V 这样可以提高转换精度,也便于转换后数据的后续处理,2.048V的基准电压可由REF191提供。MAX144与单片机的接口十分简单,只需三根I/O线即可,该电路采用内部时钟模式,单片机通过编程产生串行时钟,并按时序读出数据,其A/D转换子程序如下:
SETB P1.5
SETB P1.7
CLR P1.5 ;启动A/D转换
NOP
NOP
NOP
NOP ;延时4μs, 唤醒时间至少2.5μs
CLR P1.7 ;开始采样
JNB P1.6 $ ;等待A/D转换结束
MOV R7, #8 ;读取高8位存于R3中
H8 SETB P1.7
MOV C P1.6 ;读一位数据
RLC A ;数据位移入A
CLR P1.7
DJNZ R7, H8
MOV R3, A
MOV R7, #8 ;读取低8位存于R2中
L8 SETB P1.7
MOV C P1.6 ;读一位数据
RLC A ;数据位移入A
CLR P1.7
DJNZ R7, L8
MOV R2, A
RET
图3
转换后的数据(16位)可以存于R3R2中,通过标志位CHID可以区分CH0和CH1通道,然后将高4位屏蔽即可得到实际的A/D转换数据。
由于输入信号一般都含有各种噪声和干扰,为了得到精确的转换数据,输入信号应串接一个470Ω的电阻,并接一个0.01μF的旁路电容,以削弱开关电容滤波器所产生的时钟噪声。编程时可采用数字滤波程序,如中值滤波,平均值滤波等。在设计电路板时,模拟信号输入通路应尽可能短,模拟信号和数字信号应分开布线;模拟地与数字地也应隔离,并在MAX144的地线附近将两者短接;正电源VDD引入的高频噪声也会影响转换精度,因此,可以采用2个并联旁路电容网络将其滤除。
MAX144与其他的串行接口标准(如SPIQSPIMICROWIRE等)相兼容,可直接与具备SPIQSPIMICROWIRE串行接口的微处理器进行接口。