高精度串行模数转换器MAX1032的应用
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的性能和特点,给出了典型的应用实例及程序,读者可将其灵活运用于自己的系统设计中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)