∑-△模数转换器的原理及应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

∑-△模数转换器的原理及应用

张中平

(东南大学微电子机械系统教育部重点实验室,南京210096)

摘要:∑-△模数转换器由于造价低、精度高、性能稳定及使用方便等特点,越来越广泛地使用在一些高精度仪器仪表和测量设备中,介绍该转换器的基本原理,并重点举例介绍AD7708芯片的应用,该芯片是16 bit模数转换器,与24 bit AD7718引脚相同,可直接升级。

关键词:模数转换器;寄存器;串行口

我们通常使用的模数转换器(ADC)大多为积分型和逐次逼近型,积分型转换效果不够好,转换过程中带来的误差比较大;逐次逼近型转换效果较好但制作成本较高,尤其是高位数转换,转换位数越多,精度越高,制作成本就越高。而∑-△ADC可以以相对逐次逼近型简单的电路结构,而得到低成本,高位数及高精度的转换效果∑-△ADC大多设计为16或24 bit转换精度。近几年来,在相关的高精度仪器制作领域该转换器得到了越来越广泛的应用[1]。

1 ∑-△ADC的基本工作原理简介

∑-△模数转换器的工作原理简单的讲,就是将模数转换过后的数字量再做一次窄带低通滤波处理。当模拟量进入转换器后,先在调制器中做求积处理,并将模拟量转为数字量,在这个过程中会产生一定的量化噪声,这种噪声将影响到输出结果,因此,采用将转换过的数字量以较低的频率一位一位地传送到输出端,同时在这之间加一级低通滤波器的方法,就可将量化噪声过滤掉,从而得到一组精确的数字量[1,2]。

2 AD7708/AD7718,∑-△ADC的应用

AD7708/AD7718是美国ADI公司若干种∑ΔADC中的一种。其中AD7708为16 bit转换精度,AD7718为24 bit转换精度,同为28条引脚,而且相同引脚功能相同,可以互换。为方便起见,下面只介绍其中一种,也是我们工作中用过的AD7708。

2.1AD7708的工作原理

同其它智能化器件一样,AD7708也可以用软件来调节其所具有的功能,即通过微控制器MCU编程向AD7708的相应寄存器填写适当的参数。AD7708芯片中共有11个寄存器,

当模式寄存器(Mode Regis-ter)的最高位后,其工作方框图[2]如图1所示。

此时,输出率可变化范围为5.35 Hz至105.03Hz,可以从中选择一个频率从而得到最佳的滤波效果。断续频率f CHOP也随之而定,为输出率(f ADC)的二分之一。在MUX方框中模拟输入与f CHOP混合,并将信号送入缓冲器BUF,在缓冲器中有一级RC低通滤波,过滤掉输入信号中的噪声信号,下一级PGA的功能是可编程调整信号增益,一个经过调整合适的输入信号才被送进∑-△调制器(MOD0)中进行求积,并转换为数字量,在∑-△MODO中,对输入信号的采样频率为外部晶振频率32.768 kHz,在对模拟信号进行量化处理的过程中会形成量化噪声,这个噪声会影响到输出的数字量,因此必须再次对转换过的数字量进行低通数字过滤,确保输出值准确无误,这里AD7708采用了Sinc3或(sinx/x)3滤波器,它的主要作用就是消除由调制器产生的量化噪声,其中SF参数可根据所要滤掉的噪声频率大小用软件设定,默认值为69(45H),该值对50~60Hz的噪声有较好的抑制作用。

当时,断续功能中止,与f CHOP相关的功能块也相应取消,此时流程图[2]如

图2所示。输出频率变化范围可从16.06 Hz到1365.33 Hz,环节减少输出速度可以加快,但在输入增益或温度改变时,可能会出现漂移,此时需要做些校验。

2.2AD7708概况

AD7708的硬件引脚[2]如图3所示。28条引脚中有10个模拟输入端(AIN1~AIN10),这十个输入端可与AINCOM公共端连用(共地),最大可输入10个单端模拟量,也可每两两连用,形成5对差分输入端。20至24脚则用于串行输出,其中SCLK是串行时钟,CS 为片选,RDY为输出数据是否准备好状态标志,DOUT为串行输出端,DIN为寄存器指令输入端,每条寄存器指令为8 bit。

AD7708共有11个可编程寄存器[2],如图4所示。其中通讯寄存器(COMMUNICATIONSREGIS-TER)为只写寄存器,它只告诉AD7708下一步要对哪个寄存器进行读还是写的操作,但这个寄存器是每次操作前必用的。其余10个寄存器都是用于对芯片的调节或反映相关状态。其实,如果输入电压的最大幅度与参考端(REFIN(-)/(+))提供的电压相一致,同时外部噪声不是很复杂时,这10个寄存器中只有两个是最常用的,一个是模式寄存器(MODE REGIST),另一个是模数转换控制寄存器(ADCCONTROLREGIST)。其余寄存器可用其默认值。

2.3 AD7708的应用控制软件

2.3.1硬件准备

AD7708的使用要与一个微控制器(MCU)相连接,连接的方式有两种:一种是直接与8XC51系列微控制器的串行口相接[2],其连接方式如图5所示,把AD7708的输入(DIN)和输出(DOUT)端连接在一起,接上10kΩ的上拉电阻,再与串口的信号端相连,时钟端(SCLK)与串口脉冲端相连。软件上要将串口设成方

式0,只要用通常的串口收发指令RDY就可通讯了。用这种方式通讯软件

编写方便可靠,但由于8XC51系列的串口收发数据时是最低位在前,而AD7708则是最高位在前,因此该系列微控制器在发指令前和收到数据后,都需要将字节的位序颠倒一次,这样获得的数据才是正确的。第二种连接方式是,直接将AD7708的相关端口与微控制器的可位控I/O口一一相连,如图6所示,完全用软件来产生时钟脉冲,收发数据,可以专门编写一段子程序,需要时直接调用,该子程序如图7所示。两种方式相比较,前者软件简单,符合通常串口的编写习惯,不占用I/O口,但占用串口资源。因此在串口比较繁忙的情况下建议使用后者,此时需要用到RDY 状态信号,同时需要编写输出输入子程序。

图7输入、输出子程序

2.3.2读操作软件

在硬件连接方式确定之后,就可以编写从AD7708中读出A/D数字量的软件了。这里要注意的是,每写一条操作指令前,都先得告诉通讯寄存器(COMMUNICATIONREGISTER)下一步要做读还是写操作;要对哪个寄存器进行操作,之后再写入操作指令(状态寄存器(STATUSREGISTER)和辨认寄存器IDREGISTER不可做写操作)。编程方框图[2]如图8所示。这里给出的是依次读出全部输入通道值的程序,也可直接在控制寄存器写入需采样的通道号读入任一通道值。

相关文档
最新文档