《电子技术应用》
您所在的位置:首页 > 模拟设计 > 设计应用 > 高精度串行模数转换器MAX1032的应用
高精度串行模数转换器MAX1032的应用
摘要: 本文介绍了Maxim最新推出的14位多通道串行ADC MAX1032的性能和特点,给出了典型的应用实例及程序,读者可将其灵活运用于自己的系统设计中。
Abstract:
Key words :

  1 概述

  MAX1032是Maxim公司最新推出的一种多通道、多量程、低功耗、分辨率为14位的串行输出模数转换器。该器件具有转换速率高、功耗低、接口方便等优点,特别适合在航空电子、数据采集、工业控制、多媒体、机器人等领域的应用。

  2  MAX1032的特性和结构

  2.1  MAX1032的特性

  (1)输入通道:八个单端或四个差分模拟输入;

  (2)输入范围:由软件编程确定(每通道独立), 单端输入范围为0V到+6V、 -6V到0V、 0V到+12V、-12V到0V、 ±3V、±6V及± 12V,;差分输入范围为±6V、±12V及±24V ;

  (3)接口特性:数据和信号接口电平与SPITM/QSPITM/MICROWIRETM兼容,可以和供电电压为2.7V至5.25V的计算机系统直接连接;

  (4)采样速率: 115ksps;

  (5)基准电压:可采用内部基准,也可采用外部基准,基准电压范围3.800V~4.136V。

  2.2    MAX1032的结构

  MAX1032内置14位逐次逼近寄存器和输入跟踪/保持电路,实现将模拟信号转换成14位数字信号,数据输出方式为串行。其内部结构和引脚排列分别如图1、图2所示。

  (1)CH0-CH7:模拟信号输入端。

  (2)CS:片选输入,低电平有效。只有置低时,数据才可同步输入(DIN)或输出(DOUT)。

  (3)DIN:串行数据输入。在CS为低时,DIN上的数据在SCLK的上升沿时刻输入片内。

  (4)SSTRB:串行触发输出。在内部时钟模式下,SSTRB的上升沿跳变表明转换完成;在外部时钟模式下,SSTRB一直为低电平。

  (5)SCLK:串行时钟输入。

  (6)DOUT:串行数据输出。在CS为低时,DOUT上的数据在SCLK的下降沿时刻输出;CS置高时,DOUT为高阻状态。

  (7)REF:内部基准电压输出或外部基准电压输入。在外部参考电压模式下,REF端可连接由外部电路提供的3.800V-4.0136V的基准电压;在内部参考电压模式下,REF端与AGND1端之间必须连接容量为1uF的滤波电容。

MAX1032的内部结构

  图1 图1 MAX1032的内部结构   

        MAX1032的引脚

  图2  MAX1032的引脚

  3 工作原理

  在进行A/D转换之前,要确认被转换的模拟信号是否满足模数转换器只有17KΩ输入阻抗的要求,然后向MAX1032依次送入信号输入控制字和工作模式控制字。

  3.1 信号输入控制字

  信号输入控制字用来选择被转换的模拟通道、转换方式和转换范围,其格式如表1所示。

  表1 信号输入控制字

信号输入控制字

  3.2 工作模式控制字

  MAX1032有外部时钟、外部采样、内部时钟等三种工作模式,通过表2所示的工作模式控制字进行选择。

  (1)    外部时钟模式。在此模式下能达到最快的转换速率。SCLK控制模拟信号的采集及转换,这样在模拟信号的获取时,更加便于精度的控制。

  (2)    外部采样模式。在此模式下以最慢的转换速率达到最大限度的吞吐量。其主要特点是由SCLK控制模拟信号的采集、内部时钟控制模拟信号的转换。在前15个时钟周期内CS必须保持低电平,然后发生跳变并保持高电平。为了得到最佳的转换效果,应将DIN和SCLK置空闲位。

  (3)    内部时钟模式。在此模式下,内部时钟控制模拟信号的采集和转换,内部时钟在SCLK的第8个周期的下降沿后的100ns-400ns时间内启动转换,其速率大约为4.5MHz。转换结束后,SSTRB置位高电平、CS置位低电平导出转换结果。

  表2  工作模式控制字

工作模式控制字

  4    应用举例

  本文以MAX1032在DS87C520中的应用为例,介绍MAX1032与CPU的接口方法与软件设计。

 

  DS87C520介绍

  达拉斯公司生产的DS87C520是一种新型高速全静态CMOS单片机,其引脚和指令集与8051单片机完全兼容。DS87C520的处理器核心经过重新设计,一个机器周期只占4个时钟周期。实际应用表明,若时钟频率相同,DS87C520执行相同指令的速度是8051的1.5到3倍,加上DS87C520最高时钟频率为33MHz,而8051仅为12MHz,因此DS87C520为一款高速单片机,可以满足高速数据传输过程中的速率要求。此外,DS87C520还有两个全双工串行口、13个中断源、16KB片内 EPROM、1KB片内SRAM、双数据指针、电源电压下降自动复位、可编程看门狗定时器等丰富的硬件功能,使其具有了广阔的应用领域与前景。

 

  MAX1032与DS87C520的连接

  图3是MAX1032与DS87C520的应用连接。在本例中,我们采取的是内部时钟模式,工作模式控制字为10101000B。为了提高计算机系统的抗干扰能力,在MAX1032与DS87C520之间增加了高速光电耦合器6N136,以隔离现场干扰对计算机的影响。对MAX1032的控制是通过DS87C520的P1口进行的。其中,SSTRB反映了A/D转换的工作状态,可以用查询方式或中断方式监测该信号,以便及时读取正确的转换结果。

  程序采用C51语言编写,并在KEILC51 V6.20环境下通过了调试。程序的编写思路是:定义DS87C520的P1.0为MAX1032的片选信号CS,P1.1为数据输入DIN,P1.2为数据输出DOUT,ALE提供MAX1032的时钟信号SCLK。在确定并送入信号输入控制字和工作模式控制字后,A/D转换被启动,经过一段时间的延时(A/D转换),SSTRB端发生上升沿跳变,表明A/D转换结束。在时钟SCLK的作用下,从数据输出端DOUT读出两个字节长度的转换结果。将读出的数据存入两个无符号字符变量中,将这2个字符变量拼成一个16位无符号整型变量作用函数返回值返回,返回值的低14位有效。

MAX1032与DS87C520的连接

  图3 MAX1032与DS87C520的连接

  4.3 软件设计

  按照图3连接的系统,完整的A/D转换子程序如下:

  // 采用P1口作控制

  sbit  DOUT = P1^2 ;      // 数据输出

  sbit   CS  = P1^0 ;      // MAX1032片选

  #define uint unsigned int

  #define uchar unsigned char

  //MAX1032 14位A/D操作程序

  uint max1032(void)

  {    uchar i;

  uchar hbyte,lbyte;

  cs=0;                        //低电平有效,开始转换

  for(i=0;i<8;i++)             //延时,等待转换结束

  {

   _nop_();

  }

  SCLK=1;

  SCLK=0;

  //开始读数据

  hbyte=0;

  for(i=0;i<6;i++)           //高6位

  {

  DOUT=1;

  SCLK=1;

  if (DOUT)

  { hbyte="Ox01"; }

  SCLK=0;

  if (i!=5)

  { hbyte<<=1; }

  }

  lbyte=0;

  for(i=0;i<8;i++)           //低8位

  {

  DOUT=1;

  SCLK=1;

  if (DOUT)

  { lbyte="Ox01"; }

  SCLK=0;

  if (i!=7)

  { lbyte<<=1;}

  }

  }

  5  结论

  Maxim公司的高性能A/D系列的产品已在多种场合得到了广泛的应用,如高精度数据采集系统、工业过程控制、便携式数字仪表、医疗仪器等。本文介绍了Maxim最新推出的14位多通道串行ADC MAX1032的性能和特点,给出了典型的应用实例及程序,读者可将其灵活运用于自己的系统设计中。   本文作者创新点:作者在介绍最新模数转换器件的基础上,依据长期的科研和教学实践经验,提出了模数转换器件与CPU连接时的抗干扰设计。由于串行输出的模数转换器引脚少,与CPU的连接简单,因此这种设计方法具有普遍的指导意义。

此内容为AET网站原创,未经授权禁止转载。