具有温度补偿功能的多通道A/D转换芯片MAX1230
摘要:MAX1230是MAXIM公司推出的具有温度补偿功能的12位模数转换芯片,它采用+5V单电源供电,具有16个输入通道,功耗低,工作方式灵活多样。文章介绍了它的主要特点、内部结构及工作过程,并结合MAX1230在数据采集系统中的应用给出了典型设计电路。
关键词:MAX1230;A/D转换;采样保持;串行输出;温度补偿
1 MAX1230的主要特点
对于在野外工作的数据采集系统来说,由于环境的影响和条件的限制,往往需要系统具有比较低的功率消耗,同时应带有温度补偿等功能,因此,笔者在继电保护装置的数据采集系统设计中采用MAX1230来完成A/D转换功能。MAX1230是MAX-IM公司2003年推出的一种低功耗、可进行温度补偿并带有采样保持功能的多通道12位串行模数转换器。它内置基准电压源、时钟电路和温度传感器,具有16个模拟输入通道,可实现输入通道扫描、输出数据平均和自动关断功能,此外,该芯片还具有一个高速的串行接口。与其它的模数转换器相比,MAX1230具有较多的功能,且工作方式灵活多样,可应用于系统监视、数据采集、病人监护、工业控制和仪器制造等多种领域。
MAX1230的主要特点如下:
●所有输入通道均可按单端或差分方式进行配置,单端方式下可配置为16个通道,差分方式下可配置为8个通道;
javascript:window.open(this.src);" style="cursor:pointer;"/>
●转换速率可达300kSPS,此时的功耗仅为1.8mW;
●在整个温度范围内不会丢码,精度为±1LSB INL和±1LSB DNL;
●采用单电源+5V供电,内部具有4.096V的基准电压和时钟电路,也可使用外部差分基准或外部时钟输入;
●具有10MHz可兼容SPI/QSPI/MICROWIRE的接口;
●工作温度范围为-40~+85℃,且内部带有精度为±1℃的温度传感器,同时可进行温度补偿。
2 MAX1230的内部结构
MAX1230的内部结构如图1所示,它由跟踪/保持放大器(T/H)、12位逐次逼近型ADC、控制逻辑、内部时钟、串行接口、先入先出寄存器(FIFO)、内部基准电压源和温度传感器等组成。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3 MAX1230的引脚排列
MAX1230有24脚QSOP和28脚QFN两种封装形式,其引脚排列如图2所示。各引脚的功能如下:
AIN0~AIN15:模拟量输入;
REF-:使用外部差分基准源时的负输入,与A14复用;
CNVST:“转换开始”信号输入,低电平有效,与A15复用;
REF+:基准电压源的正输入,该脚和地之间要加0.1μF的电容;
GND:接地脚;
VDD:电源输入,电压范围为4.75~5.25V,它和地之间应加0.1μF的电容;
SCLK:串行时钟输入,用作采样和转换,使用外部时钟时,其频率范围为0.1MHz~4.8MHz,当其作为读写串行数据的时钟频率时,可达到10MHz,占空比范围为40%~60%;
CS:片选端,低电平有效;
DIN:串行数据输入,输入的串行数据在SCLK的上升沿被锁存。通过SCLK、CS、DIN三根信号线可组成与SPI/QSPI/MICROWIRE相兼容的串行输入接口;
DOUT:串行数据输出,它与SCLK的下降沿同步。当CS为高电平时,DOUT为高阻态;
EOC:“转换结束”标志输出,当它变为低电平时表明转换结束,输出数据有效。
javascript:window.open(this.src);" style="cursor:pointer;"/>
4 MAX1230的工作过程
4.1 转换参数的配置
MAX1230的工作方式由其内部的控制寄存器决定,这些寄存器主要有转换方式寄存器、工作方式寄存器、均值方式寄存器和复位寄存器等。工作时,首先要对这些寄存器进行正确配置,配置参数可通过MAX1230的串行口写入。在进行配置时,CS置为低电平,配置参数从DIN引脚输入,并在串行时钟SCLK的上升沿被锁存,此过程中,SCLK的频率不能高于10MHz。表1所列是这几个寄存器的参数定义。下面是对它们的具体说明。
表1 MAX1230主要寄存器的参数定义
寄存器名称 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
转换方式 | 1 | CHSEL3 | CHSEL2 | CHSEL1 | CHSEL0 | SCAN1 | SCAN0 | TEMP |
工作方式 | 0 | 1 | CKSEL1 | CKSEL0 | REFSEL1 | REFSEL0 | DIFFSEL1 | DIFFSEL0 |
均值方式 | 0 | 0 | 1 | AVGON | NAVG1 | NAVG0 | NSCAN1 | NSCAN0 |
复位 | 0 | 0 | 0 | 1 | RESET | X | X | X |
(1)在转换方式寄存器中,BIT7为标志位,BIT6~BIT3用以选择输入通道,0000~1111分别对应着AIN0~AIN15的各个输入;BIT2和BIT1用以确定输入通道的扫描方式;BIT0是温度测量方式位,该位为1时,只进行1次温度测量,并在第一次的转换数据中输出。
(2)工作方式寄存器中,BIT7和BIT6为标志位;BIT5和BIT4用于选择时钟的使用方式,可确定具体使用内部时钟还是外部时钟;BIT3和BIT2用于选择是用内部还是外部的基准源;BIT1和BIT0的值用于在差分输入方式下决定选择是单极性工作模式还是双极性工作模式,当这两位的值为00和01时,对应的寄存器不作修改,当其为10时,系统将修改单极性模式寄存器,而当为11时,修改双极性模式寄存器。实际上,在配置了工作方式寄存器后,也就对单/双极性模式寄存器进行了配置。
(3)在均值方式寄存器中,BIT7~BIT5是标志位;BIT4是均值功能控制位,该位写入1时开启均值功能,写入0时关闭;BIT3和BIT2用于定义计算均值时所需的数据个数;BIT1和BIT0用于设置对某一通道扫描时返回结果的个数。
(4)复位寄存器中的BIT7~BIT4为标志位;BIT3是复位操作控制位,该位写入1时,仅复位内部FI-FO,写入0时复位所有的寄存器至默认状态;BIT2~BIT0为保留位,一般不影响操作。
4.2 转换过程的控制
按照采样和转换过程中时钟工作方式的不同,MAX1230的工作方式分为四种,可根据情况灵活选择。转换的结果有12位,高位在前,并以“0000”为前导形成两个字节从DOUT引脚输出,同时与串行时钟SCLK的下降沿同步。这四种工作方式如下:
(1)采样和转换都使用内部时钟,并用CONVST信号进行初始化,其时序如图3所示。工作时,CONVST需要产生一个宽度大于40ns的低电平来对采样和转换进行初始化。转换结束后,信号EOC变成低电平表示转换结果有效,可以从DOUT引脚读出数据。在EOC信号产生前,CONVST信号不能出现低电平,否则会引起内部FIFO操作的错误。javascript:window.open(this.src);" style="cursor:pointer;"/>
(2)采样使用外部时钟,而转换使用内部时钟,并用CONVST信号进行初始化。此种模式下的读写操作和第一种类似,区别是当需要进行均值运算时,该方式还需要再产生一个CONVST信号来初始化均值运算。
(3)采样和转换都使用内部时钟,并通过串行口写入命令字来进行初始化,该模式的时序如图4所示。写入命令字后转换开始,转换完成时,EOC信号变为低电平,数据可以从DOUT读取。这种方式是芯片上电后默认的工作方式。
(4)采样和转换都使用外部时钟,并通过串行口写入命令字来进行初始化。该方式与第三种方式的区别是采样和转换都使用外部时钟,此时外部时钟的频率不能超过4.8MHz。在这种方式下,结果在转换的过程中就可读取,信号EOC始终为高电平,此种方式下,输入通道扫描和输出数据均值等功能都不可用。
5 典型应用
笔者在电力系统继电保护装置的设计中使用了MAX1230来采集电压信号,图5所示是MAX1230与单片机AT89C51的接口电路。根据应用要求,此电路中的MAX1230工作于第一种方式,采样和转换过程使用的都是内部时钟和内部基准电压源。工作时,由单片机产生CS和CONVST信号以控制转换过程,并用EOC信号作为外部中断源来触发单片机的INT0中断。单片机在响应中断后将产生串行时钟SCLK和片选信号CS,并从DOUT引脚读取转换结果。由于此电路中需要用到CONVST引脚,因此与其复用的A15就不能再用了,这样,模拟输入通道实际可用的只有15个,即A0~A14 。
实际上,笔者在设计中使用了其中的A0~A11这12个通道,并使其工作于输入通道扫描方式。运行结果表明:MAX1230工作可靠,效果较好。