1引言
模数转换器(ADC)是现代测控中非常重要的环节,它一般分为串行模数转换器和并行模数转换器。后者虽然传输速度快,但引脚多、体积大、占用单片机口线多;而串行ADC的传输速率也可以做的很高,并且具有体积小、功耗低、占用单片机口线少等优点。因此,串行ADC的应用越来越广泛。
MAX1132是MAXIM公司生产的单电源、低功耗、16位、单/双极性转换的高精度串行逐次逼近型ADC。其内部带有跟踪/保持及校准电路,可使用内部或外部参考电压及时钟。采样速率最高可达到200ksps最低消耗电流为7.5mA。若工作于关闭模式,消耗电流可降低到2.5μA。该ADC可应用于工业过程控制、数据采集系统、便携式数据记录、医疗或掌上设备以及系统检测等领域。
2 MAX1132的引脚功能
MAX1132是可编程的单通道ADC,采用20引脚SSOP封装形式,各引脚的功能如下:
REF:参考电压缓冲输出/ADC参考电压输入,可用作模数转换的参考电压;
REFADL:参考带隙输出端/参考带隙缓冲输入端;
AGND:模拟地;
AVDD:+5V±5%模拟电源;
DGND:数字地;
SHDN:关闭控制输入端;
P0、P1、P2:分别为用户可编程输出0,1,2;
SSTRB:串行选通输出端;
DOUT:串行数据输出端;
RST:复位引脚;
SCLK:串行数据时钟输入端;
DVDD:+5V±5%数字电源;
DIN:串行数据输入端;
CS:片选端;
CREF:旁路缓冲参考端;
AIN:模拟输入端。
3工作原理
MAX1132通常由时钟将控制字节从串行数据输入端(DIN)打入其内部移位寄存器,以决定其工作模式并启动转换。当CS变低或一次转换(或校准)结束以后,DIN端接收到的第一个逻辑“1”被定义为控制字节的开始位(MSB)。在该位到达前,由时钟打入DIN的逻辑“0”均无效,DIN的每位数据均在每个SCLK的上升沿打入MAX1132内部移位寄存器。值得注意的是:如果在当前的转换完成以前,一个新的开始位被时钟打入的话,当前的转换就会被中断,同时开始新的输入信号采集。
MAX1132可用外部或内部时钟完成逐次逼近转换,但两种模式均用外部时钟将数据移入器件或从器件中移出。在外部时钟模式下,数据的移入移出和转换步骤均由外部时钟控制。内部时钟模式下的转换时钟由MAX1132内部时钟发生器产生,速率最高可达8MHz。一般要求完成一次转换的周期是8个SCLK的整数倍。MAX1132具有短采集(24SCLK)和长采集(32SCLK)两种工作模式。单极性输入时,直接输出二进制数;双极性输入时,输出的是二进制补码。
MAX1132还带有3个用户可编程的输出口(P0、P1、P2),它们均采用推挽式CMOS输出,可用来驱动多路转换开关或PGA。这三个编程口在缺省状态下的输出均为零,并且在硬件关闭模式期间均保持不变,此外,它们在上电置位时,也均被置零。
4MAX1132的应用
在笔者研制开发的网络地电影像仪系统中,由于需要检测的地电信号的幅值范围较大,检测信号精度要求高,信号采集时间短,而且需要采集的信号通道多,因此对ADC的性能提出了很高的要求。而MAX1132具有双极性转换模式,转换的电压范围可达到-12V~+12V,比其他ADC转换电压范围要宽;它的精度达到16位,转换速度最高可达到200ksps,足以满足系统对精度和速度的要求;虽然它内部没有集成多路转换开关,但本身带有三个用户可编程输出口,可以很方便地控制一个多路转换开关,以满足系统信号采集通道多的要求;MAX1132采用单电源供电,内部带有参考电压,可简化外围电路,而且使用方便。基于以上特点,笔者选用了MAX1132。
MAX1132与单片机进行接口的电路。图中将MAX1132的CS与单片机P1.0脚相连,MAX1132的片选端由单片机经P1.0脚发出信号选通;控制字节由单片机P1.1脚输出到ADC的DIN端;转换结果则由P1.2脚从ADC的DOUT端读入单片机,读取转换数据的时钟SCLK可由P1.4脚依次发出高低电平来构成;P1.3脚接至表示MAX1132工作状态的串行选通输出SSTRB,单片机则通过P1.3脚查询ADC的工作状态;P0、P1、P2三个输出连接到多路转换开关以控制转换通道的切换,而进行逐次逼近转换的时钟则由MAX1132内部时钟发生器产生。
本应用选用MAX1132双极性、内部时钟、短采集模式的工作方式。,tACQ是采集输入信号的时间,tCONV是进行转换所需要的时间。由图可以看出,MAX1132在片选CS有效、开始位由DIN端打入后即可开始对输入信号的采集,并一直到控制字节P2位进入其内部移位寄存器以后便可完成对输入信号的采集。因此,当使用MAX1132的三个用户可编程输出口去控制一个多路开关时,要特别注意对输入通道的切换时间。由于MAX1132在应用中需要在输入端连接一个缓冲放大器,而这个缓冲放大器在输入信号变化时需要一定的时间去响应信号的变化,所以输入通道应该在信号采集完成以后马上被切换,而不是在转换完成以后再切换。也就是说,对MAX1132送当前转换通道的控制字节时,就要将下一通道的控制信号(P2、P1、P0)送入其内部移位寄存器中并打开多路开关的下一通道,以确保缓冲放大器有足够的时间响应信号的变化以准确完成转换。此外,串行选通信号SSTRB在转换开始时为低,转换结束时变高,因此,可以利用它来对单片机产生中断或采用查询方式判断转换是否完成。片选CS在这种工作方式下可以不保持为低。转换进行时,可由一个内部寄存器存储转换的数据。转换结束后,可由SCLK时钟在任意时刻将数据移出,转换结果的最高位(MSB)会在SSTRB变高后出现在DOUT上。
下面给出一段完整的转换和控制程序,以供参考:
START:CLRP1.0 ;片选有效
MOV A,#0A0H ;控制字节
MOV R2,#08
DIN: CLR P1.4
RLC A
MOV P1.1,C ;送控制字
SETB P1.4
DJNZ R2,DIN
CLR P1.4
SETB P1.0
WAIT: JNB P1.3,WAIT
STORB: MOV R7,#16
CLR P1.0
LOOP: MOV C,P1.2 ;读结果
MOV A,31H
RLC A
MOV 31H,A ;存高8位
MOV A,30H
RLC A
MOV 30H,A ;存低8位
SETB P1.4
CLR P1.4
DJNZ R7,LOOP
SETB P1.0
SA: SJMP SA
END
5结束语
新型ADC芯片MAX1132与一般ADC芯片相比,由于其仅需单一+5V供电,同时带有内部基准电压且外围电路简单,因而可简化电路设计。同时,基于MAX1132的串行接口也易于与单片机进行连接,而且占用单片机口线少,因而能用于较为复杂的系统开发。