技术中心
 
 

高精度串行模数转换器MAX1032的应用

   日期:2011-07-07     来源:互联网    
核心提示:MAX1032是Maxim公司最新推出的一种多通道、多量程、低功耗、分辨率为14位的串行输出模数转换器。该器件具有转换速率高、功耗低、
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的滤波电容。   图1 图1 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位有效。   图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的性能和特点,给出了典型的应用实例及程序,读者可将其灵活运用于自己的系统设计中。
 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢