摘 要:本文介绍了美国美信公司新近推出的16位AD转换芯片MAX1132的功能和特点,详细分析了芯片工作时序,结合在压力位移检测系统中的应用,给出了MAX1132应用系统软硬件设计方法,并总结了应用中需注意的一些技术问题。
关键词:模数转换器;MAX1132;压力检测;位移检测
MAX1132芯片简介
MAX1132是16位分辨率的逐次比较型A/D转换器,使用单一+5V工作电源,转换速率200ksps,串行SPI接口。MAX1132可以灵活配置成0~
12V双极性或0~+12V单极性输入,是一款16位无丢失码,最大积分非线性误差(INL)仅为 1.5LSB,85dB信噪比的高精度模数转换器,可以应用于工业工程控制、数据采集和医疗仪器等场合。
图1 MAX1132内部结构框图(略)
MAX1132可分为模拟输入缓冲、DAC和串口时序控制三大部分(图1),模拟输入部分主要功能是将输入电压0~ 12V或0~+12V线性转换成DAC系统的电压范围,并提供
16.5V故障保护电压。该芯片内部自带电压基准(REF),并具有微调功能(REFADJ),可以使用外部参考源,但不能超过3.0~4.2V范围。串口接口部分控制与外部微处理器接口,这部分还提供时钟和校准电路。3个用户可编程引脚可以用来控制外部的模拟开关。
内部寄存器与串行接口时序
MAX1132只有一个控制寄存器,格式如下:
START: CS变为低电平后第一个逻辑状态‘1’,定义为控制字的开始;
UNI/BIP:输入极性选择位,1-单极性输入,0-双极性输入;
INT/EXT:时钟模式选择位,1-内部时钟模式,0-外部时钟模式;
M1,M0:模式选择位,具体含义见表1;
P2~P0:可编程位,用于作为管脚P2~P0输出,可以用来控制模拟开关;
MAX1132 CS引脚由高变为低电平或一次转换结束或校准完成后,芯片处于等待控制字状态,在时钟SCLK的控制下,控制数据从DIN管脚串行进入芯片,DIN数据中第一个逻辑状态为‘1’表示控制字最高位。MAX1132忽略控制字最高位前面的逻辑状态‘0’。芯片在转换期间,如果CS
被拉高再变低,芯片就可以接受下一个控制字,一旦下一控制字进入芯片,MAX1132将结束当前转换开始新的一次转换。
表1: 模式选择位含义
MAX1132具有两种工作模式,即内部时钟模式和外部模式。
内部时钟模式
CS为低电平,控制字最后一位移入芯片后,芯片在内部时钟控制下开始进行转换,与此同时,转换标志管脚SSTRB管脚由高电平变为低电平,转换结束后SSTRB变为高电平。控制系统可以在MAX1132转换结束后的任意时刻读取转换结果。数据帧采用高位在前低位在后16位二进制格式。读出数据多于16位,芯片自动以零填充,见图2。串行SPI移位时钟可以采用不高于芯片最高时钟限制的任意时钟,采用MAX1132具有很大的灵活性。
图2 内部时钟模式时序(略)
外部模式
外部时钟模式又分为24时钟模式和32时钟模式,SCLK时钟不仅提供串行移位时钟,还提供采样和转换时钟。在24外部时钟模式(图3),SSTRB紧跟控制字后,出现一个时钟周期的高电平,芯片在这之后16个时钟里进行转换,数据可以在第17个时钟下降沿开始读出。这期间CS要一直保持低电平,如果
CS电平变高,则时钟节拍被芯片忽略。32外部时钟模式转换时序与此相似。
图3 内部时钟模式时序(略)
MAX1132芯片应用
从前面分析可以看出,MAX1132采用串行接口,控制简单,可以很容易的与各种微处理器接口。由于MAX1132是一款高精度AD转换器,因此硬件设计需要非常小心,防止将干扰引入系统。下面结合在压力位移多功能检测器中的应用,介绍MAX1132软硬件电路设计方法。
硬件应用电路
图4是MAX1132在压力位移多功能检测器中的应用。由于系统是一个低速、高精度的应用,廉价的80C52足以胜任控制检测功能。系统使用的位移传感器输出为
7V,压力传感器输出为 5V。图4中LM358为输入缓冲器,R1,C11构成输入低通滤波,同时可以滤除高频干扰。由于传感器输出信号平缓,选用LM358,如果信号变化快应该选用转换速率快的运放。MAX1132电路采用内部时钟模式。传感器共七路,P0~P2用作模拟开关信号。为了使系统看门狗(Watchdog)复位时,MAX1132也同时复位,芯片复位电路接到系统复位信号上。AT89C51没有SPI口,用P1口模拟。单片机芯片为示意图,其它管脚省略。
图4 MAX1132应用硬件图(略)
软件应用电路
软件设计思路是模拟芯片内部模式的时序,系统晶振为11.0592MHz,时钟周期约为1,低于芯片操作频率,为提高系统可靠性,仍采用延时降低时钟频率。通过查询SSTRB式判断转换是否结束。下面是用C51语言编写的写控制字程序和读数据程序。
void StartConv(unsigned char ctrlcomm) //发控制字子程序,参数为控制字
{ unsigned char i;
MAXSCLK=0; //SPI时钟
for(i=0;i<8;i++)
{if(ctrlcomm&0x80) //发送最高位
MAXDIN=1;
else
MAXDIN=0;
_nop_() //延时
MAXSCLK=1;//时钟变高电平
_nop_();
ctrlcomm=ctrlcomm<<1;//发送的下一位移到最高位
MAXSCLK=0;}}//时钟变为低电平
unsigned int ReadData(void) //读数据子程序
{ unsigned char i;
unsigned int addata; //AD采样结果
MAXSCLK=0;
for(i=0;i<16;i++)
{ addata = addata <<1; //将数据向左移一位
MAXSCLK=1; //时钟变为高电平
if(MAXDOUT==1) //读数据
addata=addata|0x0001;
else
addata=addata|0x0000;
MAXSCLK=0; //时钟变为低电平
_nop_(); }
return addata; } //返回AD采样值
系统设计时应注意的问题
(1)使用校准电路。MAX1132设有内部校准电路,用于减小线性,偏移,增益电路带来的误差。校准的方法通过控制字M1=0,M0=1实现。校准同样可以选用内部或外部时钟。由同步噪声(例如转换时钟)引起的偏移可以通过校准消除。为了补偿温度和其它变量对AD转换值的影响,最好在上电后进行一次校准。当环境温度变化超过10℃,或电源变化超过100mV,或是参考源电路变化后,必须要重新进行校准,以消除这些变化带来的偏移、增益、积分非线性和差动非线性误差。
(2) 输入缓冲设计与元器件选择。因为MAX1132采用一个容性的DAC实现内部采样保持,模拟输入信号源内阻要小于10 ,信号带宽应限制在芯片采样带宽的一半以下,以防信号混叠。模拟输入缓冲器必须具有足够的转换速率,以满足快速变化的信号。当信号变化缓慢时,可以采样图4的旁路电容,为防止容性DAC给放大器造成的扰动,放大器输出不要直接接在AD芯片上,对于AC信号应用,AIN输入必须具有足够带宽(至少10MHz),最好采用温度系数小的电阻,减小放大器线性增益误差。
(3) 布线与焊接。MAX1132对于电气噪声非常敏感,模拟数字必须分开布线,数字地线与模拟地线在MAX1132处连在一起,如果模拟电源与数字电源是同一电源,则应采取图4所示方式(或用小电阻取代铁氧体磁珠)将模拟电源与数字电源隔离开。所有模拟电流回路应保持阻抗最小。模拟线路不应该与数字电流并行走线,两者同样不许交叉,必不得已两者可以成90
走线。所有电源加旁路电容滤波。应用中发现,由于MAX1132封装较小,容易造成焊接不良,从而造成转换值一直为零,手工焊接时必须保证各管脚接触良好。
结论
本文通过详细分析MAX1132工作原理,结合在位移压力检测系统中的应用,介绍了该芯片的硬件应用电路和软件编程方法,实际使用发现,MAX1132具有输入信号范围宽、转换精度高、误差小、接口简单和工作可靠等优点。
|