1、 引言 A/D转换器是一种数据采集中常用的模拟-数字信号转换元件,按转换原理可以分为逐次逼近型、双积分型等;按接口方式可分为串行和并行接口类型;按分辨率又可分为8、12、14、16、18等多种类型。转换时间是A/D转换应用中一项重要的性能指标,在高速数据采样中更是十分的重要,但在同样的转换时间指标前提下,使用串行或是并行A/D转换器实现数据采样,转换时间上的差异往往被忽略。以下以美国TI公司的ADS7822和ADS774为例,通过二者与 AT89C51单片机的接口电路,分析在一次转换过程中转换时间上的差异。 2、 ADS744的接口电路和转换时间 2.1 ADS774及与单片机的接口 ADS774是12位逐次逼近型并行A/D转换器,它具有转换精度高、转换速度快(最高8.5 μs)等特点,但接口电路较为繁琐。图1为ADS774与AT89C51的典型接口电路。 图1中,ADS774采用0V~10 V单极性信号输入模式,9引脚接地,转换结果被设置为8位方式,12位转换结果分两次输出并受4引脚(Ao)控制,Ao=“0”时,20~27引脚输出 12位转换结果的高8位,Ao=“l”时,输出12位转换结果的低4位。启动转换及读取转换结果由3、4、5、6脚控制,28引脚(STS)为转换结束标志,转换进行过程中,28引脚为高电平,转换结束时,28引脚变为低电平。图2为ADS774启动转换和读取转换结果的工作时序。结合图l的接口电路和图 2的工作时序可知,转换工作过程如下: (1)启动A/D转换,即AT89C51对ADS774执行一次写操作,地址信号中应使CS=“0”,Ao=“0”,R/C=“0”。 (2)单片机通过P2.4引脚查询STS信号,当STS为低电平时,转换即告结束。 (3)读取转换结果,即单片机对ADS774执行两次读操作:第一次读取转换结果的高8位,这时应使A0=“0”,R/C=“l”,第二次读取转换结果的低4位,这时应使Ao=“1”,R/C=“1”。 2.2 转换时间分析 根据转换时序和转换过程分析,结合图1的接口电路,转换程序及转换时间如下所示(单片机使用12 MHz外接晶振): 由此可见,完成一次A/D转换的时间为23μs~27μs,采用并行A/D转换器可最大限度发挥高速A/D的速度性能,在高速数据采样的过程中,为保证A/D转换结果的准确性,即使采用多次采样转换结果均值滤波的方法,仍可以保证转换的高速度。 3 、ADS7822的接口电路和转换时间 ADS7822是12位串行A/D转换器,它的采样频率最高为75 kHz,采用串行外围接口(SPI)方式与微处理器接口。ADS7822与AT89C51的典型接口电路如图3所示,图中VREF(1引脚)为参考电压输入引脚,IN+、IN-为差动信号输入端,CS/SHDN(5引脚)为片选信号输入,低电平有效,高电平时为关闭模式,DOUT(6引脚)为串行数据输出端,DCLOCK(7引脚)为同步时钟输入端。 由于AT89C51单片机没有SPI接口,因此使用P12、P13虚拟SPI接口的串行数据输出端(DOUT)和同步时钟输入端(DCLOCK)。图4为ADS7822启动转换和读取转换结果的工作时序图。 图4中tCYC为采样周期(75 kHz),tCONVE为转换时间(12个CLK周期),如果一次转换结束后,CS仍保持为低电平,ADS7822将继续输出12位转换结果,但再次的输出将是低位在前,因此在读出转换结果后,应将CS变为高电平,使ADS7822处于掉电状态。 以下是采用软件虚拟方式,对ADS7822启动转换和读取转换结果的程序,CLK和DAT为使用AT89C51的P1.2和P1.3虚拟的串行时钟线和数据线。 从以上转换程序中可以看出,一次转换,从启动到读取转换结果,约需要100个机器周期以上,如果单片机使用12 MHz的外部晶振,则一次转换的时间应该在100μs以上。如果在转换过程中需要多次采样均值滤波,则不满足高速采样的需要。 4、 结束语 串行A/D虽然在使用中有接口电路简单的优点,但在需要软件虚拟串行通信协议的情况下,转换时间与同样分辨率的并行A/D相比要逊色的多。如果要实现与并行A/D同样的转换速度,则需要选择本身具有同类串口的单片机。 责任编辑:gt (责任编辑:admin) |