模拟数字转换器的基本原理我们处在一个数字时代,而我们的视觉、听觉、感觉、嗅觉等所感知的却是一个模拟世界。
如何将数字世界与模拟世界联系在一起,正是模拟数字转换器(ADC)和数字模拟转换器(DAC)大显身手之处。
任何一个信号链系统,都需要传感器来探测来自模拟世界的电压、电流、温度、压力等信号。
这些传感器探测到的信号量被送到放大器中进行放大,然后通过ADC把模拟信号转化为数字信号,经过处理器、DSP或FPGA信号处理后,再经由DAC还原为模拟信号。
所以ADC和DAC在信号链的框架中起着桥梁的作用,即模拟世界与数字世界的一个接口。
信号链系统概要一个信号链系统主要由模数转换器ADC、采样与保持电路和数模转换器DAC组成,见图1。
DAC,简单来讲就是数字信号输入,模拟信号输出,即它是一种把数字信号转变为模拟信号的器件。
以理想的4 bit DAC为例,其输入有bit0 到bit3,其组合方式有16种。
使用R-2R梯形电阻的4bit DAC在假定Vbit0到Vbit3都等于1V时,R-2R间的四个抽头电压有四种,分别为V1到V4。
采样保持电路也叫取样保持电路,它的定义是指将一个电压信号从模拟转换成数字信号时需要保持稳定性直到完成转换工作。
它有两个阶段,一个是zero phase,一个是compare phase。
采样保持电路的比较器通常要求其offset比较小,这样才能使ADC的精度更好。
通常在比较器的后面需要放置一个锁存器,其目的是为了保持稳定性。
在采样电压快速变化时,需要用到具有FET开关的采样与保持电路。
当FET开关导通时,输入电压保存在某个位置如C1中,当开关关断时,电压仍保持在该位置中进行锁存,直到下一个采样脉冲的到来。
ADC与DAC在功用上正好相反,它是模拟信号输入,数字信号输出,是一个混合信号器件。
模数转换器ADCADC按结构分有很多种,按其采样速度和精度可分为:多比较器快速(Flash)ADC;数字跃升式(Digital Ramp)ADC;逐次逼近ADC;管道ADC;Sigma-Delta ADC。
任何一种ADC的输出都等于2的N次方乘以它的增益(输入信号),再除以它的参考电压。
每一种类型的ADC都各具特性,下面重点介绍前三种类型。
由图2可以看出,不同的ADC有着不同的特性,对于Sigma-Delta ADC来讲,其分辨率可以达到24bit以上,但其采样速率比较低。
逐次逼近型ADC比较适应于中等采样率、分辨率在16bit以下的应用。
管道ADC主要用于高采样率的应用,其分辨率则在16bit以下。
多比较器ADC也是一种高速ADC,但因为其体积和功耗较大、分辨率较低,目前应用中很少使用它。
多比较器(Flash)ADC中用到的比较器很多,如一个8位的ADC就需要255个比较器。
该类产品采样速率确实很高,但因为多个比较器的存在,其功耗很大,而且管芯也较大。
ADC0820、ADC1175等产品都是这种类型的ADC。
数字跃升式ADC是用连续搜索的方法获得编码,因为速率太慢、效率太低,因此很少使用。
逐次逼近型ADC在逐次逼近的方法上分为两种,以3比特采样为例,它首先将基准电压分为7个比较电压,使输入信号同时与这7个电压进行比较,最接近的比较电压是表示数值;第二种是将输入电压逐次接近电压的二分之一、四分之一、八分之一等,顺序产生比较后的数字信号。
因为变换过程是将输入信号与基准信号比较,所以,基准电压必需是稳定准确的。
输入信号的最高电平应保持稳定,充分利用变换器达到高的分辨率。
对于任何逐次逼近ADC,都有5个组成部分:第一部分是DAC,其中含有一个算术逻辑测试单元,会比较DAC的输出和模拟信号的输入,直到两者接近;第二部分是输出寄存器;第三部分是比较器,逐次逼近ADC仅含有一个比较器,所以功耗和管芯尺寸都比较小;第四部分是逻辑电路;第五部分是时钟。
有一个要求是:DAC的精度一定要高于ADC。
逐次逼近型ADC因其功耗小、成本低、尺寸小以及性能等方面的优点,成为了目前市场上最具成本效益的ADC,也是最常见的ADC。
逐次逼近ADC的工作原理是它首先得到最高的有效位,然后是第二个最高有效位,直到得到最后一个。
ADCV08832是一个低功耗版本的器件,它的操作电压较低。
ADC的若干应用第一个实际应用的例子,是使用温度传感器LM19、ADC变换器来读取温度,通过USB接口送入笔记本电脑,见图3。
其演示板将很快提供。
第二个应用是远程按键检测,它是用ADC感测很多个按键的输入,然后只有一路产生输出,这样可以节省很多个GPIO接口,实现起来非常方便,比如应用在MP3上等,第三个应用是电池放电。
目前的手机无法看到电池还能支撑多少时间,没有一个量化的概念。
利用一个ADC便可以实现让用户知道手机电池还能支持多长的通话时间。
串行A/D转换器ADS1110及其在AT89C51单片机中的应用1 引言AT89C51单片机系统经常使用A/D转换器。
虽然并行A/D转换器速度高、转换通道多,但其价格高,占用单片机接口资源比串行A/D转换器多。
工业检测控制及智能化仪器仪表中经常采用串行A/D转换器。
ADS1110是一种精密、可连续自校准的串行A/D 转换器,带有差分输入和高达16位的分辨率,其串行接口为I2C总线。
AT89C51单片机通过软件模拟I2C总线实现与ADS1110的连接。
2 ADS1110的特点与内部结构2.1 ADS1110的特点完整的数据采集系统和小型SOT23-6封装;片内基准电压:精度2.048 V+0.05%;片内可编程增益放大器PGA;片内振荡器;16位分辨率;可编程的转换速率15次/秒~24 0次/秒;I2C总线接口(8个有效地址);电源电压2.7 V~5.5 V;低电流消耗240 μA。
2.2 ADS1110的引脚功能ADS1110串行A/D转换器采用6引脚贴片封装,其引脚排列如图1所示。
VDD:电源端,通常接+5V;GND:模拟地和数字地;VIN+、VIN-:采样模拟信号输入端,其范围为2.048 V~2.048 V;SCL:I2C总线时钟线;SDA:I2C总线数据线。
2.3 ADS1110的内部结构ADS1110是由带有可调增益的△-∑型转换器内核、2.048 V的电压基准、时钟振荡器和I2C总线接口组成。
其内部结构如图2所示。
ADS1110的A/D转换器内核是由差分开关电容△-∑调节器和数字滤波器组成。
调节器测量正模拟输入和负模拟输入的压差,并将其与基准电压相比较。
数字滤波器接收高速数据流并输出代码,该代码是一个与输入电压成比例的数字,即A/D转换后的数据ADS1110片内电压基准是2.048 V。
ADS1110只能采用内部电压基准该基准,不能测量,也不用于外部电路。
ADS1110片内集成时钟振荡器用于驱动△-∑调节器和数字滤波器。
A DS1110的信号输入端设有可编程增益放大器PGA,其输入阻抗在差分输入时的典型值为2.8 MΩ。
3 ADS1110的使用3.1 I2C总线接口ADS1110通过I2C总线(内部集成电路)接口通信,AT89C51单片机的2个I/O接口最多可挂接8个ADS1110,单片机对ADS1110的识别通过I2C地址实现。
ADS1110只能作为从机。
ADS1110的I2C地址是1001aaa,其中aaa是出厂时默认设置。
ADS1110有8种不同类型,每种类型都有不同的I2C地址。
封装上,ADS1110的每种类型都以EDx为标识,其中x表示地址变量。
3.2寄存器ADS1110含有输出寄存器和配置寄存器,可通过I2C端口进行访问。
输出寄存器存储A/D转换结果,而配置寄存器用于设置ADS1110的工作方式,数据速率和可编程增益放大器,也可用于查询器件状态。
3.3 ADS1110的读写3.3.1读操作若从ADS1110中读取输出寄存器和配置寄存器的内容,需对ADS1110寻址。
从ADS 1110中读取3个字节,前2个字节是输出寄存器的内容,第3个字节是配置寄存器的内容。
读操作时,只读前2个字节而不读第3个字节。
ADS1110的读操作时序如图3所示。
3.3.2写操作为了对配置寄存器写操作,要对ADS1110寻址,并向配置寄存器写入1个字节,但不能向输出寄存器写人字节。
其写操作时序如图4所示。
4 ADS1110在AT89C51系统应用4.1硬件设计由于AT89C51单片机没有I2C总线接口,可通过软件模拟实现与I2C总线器件的连接。
具体方法是将单片机的I/O接口连接至I2C的数据线SDA和时钟线SCL。
通过软件控制时钟和数据传输,系统灵活性强。
图5所示是数据采集显示系统,采集工业现场的4路模拟信号并轮询显示。
采用4个A DS1110作为A/D转换器,地址为ED0~ED3。
具有I2C总线接口的EEPROM AT24C1 6作为存储器。
本系统有4位LED数码显示管和4个参数设定按键。
采集数据经数字滤波、16进制→工程值转换后,送至数码管轮询显示。
ADS1110和AT24C16的I2C接口连AD Sl110数据线SDA至单片机的P1.0,时钟线SCL连接单片机的P1.1,上拉电阻阻值选10 kΩ。
4.2软件设计按照硬件电路,编写A/D转换子程序为ADS0,其中嵌套调用了START,为起始命令子程序,FSDZ1为向ADS1110发送单个字节命令的子程序,ADREAD是读取输出寄存器和配置寄存器的子程序,STOP是停止命令子程序。
ADS0只对地址为ED0的ADS1110读数,如果要读取其他ADS1110,只需更改地址即可。
系统中ADS1110的工作方式选用默认设置,即配置寄存器内容为#8CH,所以程序未向配置寄存器写入数据。
程序代码如下:5 结束语ADS1110是一款高性价比具有I2C总线接口的串行A/D转换器。
ADS1110已在单片机系统中应用,并用于现场。
实践证明,ADS1110和单片机组成的数据采集系统,占用I /O端口少、功耗低,适用无电源场合。
但需注意的是,因I2C总线为串行扩展总线,数据采集时不能用于实时速度要求较高的场合。