十六位模数转换器AD7705及其应用
- 格式:pdf
- 大小:189.22 KB
- 文档页数:7
AD7705 7706 16位Σ ΔA D转换器原理及其应用AD7705/7706 16位Σ-ΔA/D转换器原理及其应用AD7705/7706是 AD公司新推出的16位Σ-ΔA/D转换器。
器件包括由缓冲器和增益可编程放大器(PGA)组成的前端模拟调节电路,Σ-Δ调制器,可编程数字滤波器等部件。
能直接将传感器测量到的多路微小信号进行A/D转换。
这两种器件还具有高分辨率、宽动态范围、自校准、优良的抗噪声性能以及低电压低功耗等特点,非常适合应用在仪表测量、工业控制等领域。
一.主要特点1. AD7705:两个全差分输入通道的ADC2. AD7706:三个准差分输入通道的ADC3. 16位无丢失代码4. %非线性5. 可编程增益:1、2、4、8、16、32、64、1286. 可编程输出数据更新率7. 可选择输入模拟缓冲器8. 自校准和系统校准9. 三线串行接口,QSPITM,MICROWIRETM和DSP兼容或5V工作电压电压时,最大功耗为1mW13. 等待模式下电源电流为8μA二.功能框图和引脚排列引脚排列如图1所示,功能框图见图2,,AD7706部分引脚(6,7,8,11)与图1 AD7705的引脚AD7705不同,已标注在图中括号内。
图 2 AD7705/7706功能框图三.应用说明AD7705/7706是完整的16位A/D转换器。
外接晶体振荡器、精密基准源和少量去耦电容,即可连续进行A/D转换。
下面对器件的几个重要部分和特性作简要说明。
1.增益可编程放大器和采样频率AD7705包括两个全差分模拟输入通道,AD7706包括三个准差分模拟输入通道。
片内的增益可编程放大器PGA可选择1、2、4、8、16、32、64、128八种增益之一,能将不同摆幅范围的各类输入信号放大到接近A/D转换器的满标度电压再进行A/D转换,这样有利于提高转换质量。
当电源电压为5V,基准电压为时,器件可直接接受从0~+20mV至0~+摆幅范围的单极性信号和从0~±20mV至0~±范围的双极性信号。
AD7705原理及其在电子秤称重系统中的应用黄昆(攀枝花学院电信学院,四川攀枝花617000)摘要:AD7705是AD公司新推出的一种基于Σ-Δ转换技术16位A/D转换芯片,可用于测量低频模拟信号。
它具有分辨率高、增益可编程、动态范围广、自校准、功耗低等特点,因而非常适合于工业控制、仪表测量等领域。
关键词:Σ-Δ型A/D转换;AD7705;电子秤称重系统在工业控制、智能仪器仪表等许多应用场合需要16位以上的高精度测量,而传统的积分型和逐次比较型A/D转换器实现起来难度较大,且成本很高。
近年来兴起的Σ-Δ转换技术却能以较低的成本获得极高的分辨率。
AD7705是AD公司新推出的一种基于Σ-Δ转换技术16位A/D转换芯片,可用于测量低频模拟信号。
它具有分辨率高、增益可编程、动态范围广、自校准、功耗低等特点,因而非常适合于工业控制、仪表测量等领域。
一、Σ-Δ型A/D转换技术Σ-Δ转换器又称为过采样转换器,具有相对简单的结构。
它由Σ-Δ模拟调制器及数字滤波器构成(图1)。
调制器的结构非常近似于双斜率ADC,包括一个积分器和一个比较器,以及含有一个1位DAC的反馈环。
这个内置的DAC仅仅是一个开关,它将积分器输入切换到一个正或负的参考电压。
图1Σ-Δ转换器的结构窄带信号送入Σ-△ADC后被以非常低的分辨率(1位)进行量化,但采样频率却非常高,如2MHz或更高。
经数字滤波处理后这种过采样被降低到一个比较低的采样率,如8kHz左右,同时ADC的分辨率(即动态范围)被提高到16位或更高。
这种Σ-△技术在模数转换器市场上占据了很重要的位置。
它具有三个主要优势:①低价格、高性能;②集成化的数字滤波;③与DSP技术的兼容性便于实现系统集成。
二、AD7705原理1.内部结构AD7705内部由多路模拟开关(MUX)、缓冲器、可编程增益放大器(PGA)、Σ-Δ调制器、数字滤波器、基准电压输入、时钟电路及串行接口组成(图2)。
AD7705及其校准16位∑-Δ模数转换器AD7705及其校准1、AD7705简介AD7705是AD公司推出的16位∑-Δ(电荷平衡式)A/D转换器。
他包括由缓冲器和增益可编程放大器(PGA)组成的前端模拟调节电路、∑-Δ调制器及可编程数字滤波器等,能直接对来自传感器的微弱信号进行A/D转换。
此外他还具有高分辨率、宽动态范围、自校准,低功耗及优良的抗噪声性能,因此非常适用于仪表测量和工业控制等领域。
1.1基本特性AD7705的基本特性为:16位无丢失代码;0.003%的非线性度;PGA可选择1,2,4,8,16,32,64,128;8种增益;输出数据更新速率可编程;具有自校准和系统校准功能,三线串行接口,可缓冲模拟输入;低功耗。
1.2引脚功能AD7705的引脚排列如图1所示,各引脚的功能说明如下:SCLK:串行时钟输入。
MCLK IN:主时钟输入。
时钟频率为500kHz-5MHz。
MCLK OUT:主时钟输出。
CS反:片选,低电平有效。
RESET反:复位。
该端口为低电平时,可以将控制逻辑、接口逻辑、校准系数以及数字滤波器等复位为上电状态;AIN2(+)、AIN2(-):分别为差分模拟输入通道2的正、负输入端。
AIN1(+)、AIN1(-):分别为差分输入通道1得正、负输入端。
REF IN(+)、REF IN(-):分别为参考电压的正、负端。
为了确保元件的正常工作,REF IN(+)端口的输入信号必须大于REF IN(-)端的输入。
DRDY反:逻辑输出。
低电平表示可以读取新的数据转换;高电平时不可读取数据。
IDN,DOUT:分别为串行数据输入和输出端。
1.3片内寄存器AD7705共有8个片内寄存器,他们是通信寄存器、设置寄存器、时钟寄存器、数据寄存器以及几个测试和校准寄存器。
这些寄存器的任何操作都必须先写通信寄存器,然后才能对其他寄存器进行操作。
(1)通信寄存器通信寄存器是一个8位读/写寄存器,写入通信寄存器的数据决定下一次读/写操作在哪一个寄存器上进行,完成对所选寄存器的读/写操作后,该端口等待下一次写操作,这也是通信寄存器的缺省状态,如果在DIN为高电平时,写操作持续的时间足够长(至少32个串行时钟周期),那么AD7705将返回该缺省状态。
AD7705 性价比比较高的 16位 ad 使用比较简单用做单通道的时候基本不怎么需要设置做双通道的时候,发现的点问题,而这几点问题在网上的前辈那也没有特别说明这里提出来供用的着 AD7705 的参考下1. 关于时钟寄存器 AD7705 只有一个时钟寄存器而不是两个。
2.4576MHZ 是标准频率,如果用 4.9152MHZ的时候,要将 CLKDIV位置位也就是 2 分频到 2.4576 具体设置看手册2. 关于数据寄存器 AD7705 也只有一个数据寄存器,一段时间内只能对一路 AD输入做数据转换。
数据转换范围单极性 0 -- V ref/Gain 对应 0 -- 0xffff(65535)双极性 -V ref/Gain -- 0 对应 0 -- 0x8000(32768) 0 - V ref/Gain 对应 0x8000(32768) -- 0xffff(65535)3. 关于设置寄存器同样也只有一个,要用哪个通道就要先设置这个通道对应的寄存器值4. 校准寄存器虽然有 4对但只是对应外部校准的所以在用自校准,通道切换的时候也要重新自校准一下,校准的时候 DRDY为高电平,校准完后为低电平校准完后第一次读的数据不怎么准应该读第二次转换出来的数据。
下边是我单通道切换转换的程序:#include <iom16v.h>//SPI 引脚定义 PB 口#define CS_DRDY 3#define CS_CS 4#define CS_MOSI 5#define CS_MISO 6#define CS_SCK 7extern void SpiInit(void); // SPI 初始化 M16extern void InitAD7705(void); // AD7705 初始化extern unsigned int ReadDataCH1(void); //读取转换数据extern unsigned int ReadDataCH2(void); //读取转换数据#include "AD7705.H"//定义位操作#define SET_BIT(x,y) ((x) |= (0x0001 << (y)))#define CLR_BIT(x,y) ((x) &= ~(0x0001 <<(y)))#define CPL_BIT(x,y) ((x) ^= (0x0001 << (y)))#define GET_BIT(x,y) (((x) & (1 << (y))) == 0? 0:1)#define LET_BIT(x,y,z) ((x) = (x) & (~(1 << (y))) | ((z) << (y)))//**********************短延时程序50us**************************//void delay50us(unsigned int t){unsigned int j;for(;t>0;t--)for(j=0;j<70;j++);}// SPI 初始化 M16void SpiInit(void){//cs 置为输出方可不影响 SPI 总线DDRB|=(1<<CS_MOSI)|(1<<CS_SCK)|(1<<CS_CS);//使能 spi 设置为主机时钟极性为空闲时高平上升沿采样下降沿设置分频系数为128分频SPCR|=(1<<SPE)|(1<<MSTR)|(1<<SPR0);SPSR = 0x00; //setup SPISET_BIT(PORTB,CS_DRDY); //设置 REDY信号输入端口上拉电阻使能SET_BIT(PORTB,CS_MISO); //设置 MISO 信号输入端口上拉电阻使能}// SPI 发送接收数据unsigned char TransmitterSpi(unsigned char cData){SPDR = cData;while(!(SPSR&(1<<SPIF)));return SPDR;}//复位 AD7705void ResetAD(void){unsigned char i ;for(i = 10;i>0;i--) //持续DIN高电平写操作,恢复AD7705接口{TransmitterSpi(0xff);}}// AD7705 初始化void InitAD7705(void){CLR_BIT(PORTB,CS_CS); //CS置为输出低电平,使能 AD7705ResetAD() ;TransmitterSpi(0x20); //通讯寄存器 //通道 1,下一个写时钟寄存器自校准TransmitterSpi(0x00); //时钟寄存器 //写时钟寄存器设置 2.459Mhz更新速率为20hz TransmitterSpi(0x10); //通讯寄存器 //通道 1,下一个写设置寄存器TransmitterSpi(0x48); //设置寄存器 //自校准,增益 1,双极 ,缓冲delay50us(100); //延时TransmitterSpi(0x21); //通讯寄存器 //通道 2,下一个写时钟寄存器自校准TransmitterSpi(0x00); //时钟寄存器 //写时钟寄存器设置 2.459Mhz更新速率为20hz TransmitterSpi(0x11); //通讯寄存器 //通道 2,下一个写设置寄存器TransmitterSpi(0x48); //设置寄存器 //自校准,增益 1,双极,缓冲delay50us(100);}//*************************** 按照通道 1 读取 ****************************// unsigned int ReadDataCH1(void){unsigned int getData = 0;unsigned char bufR[5];TransmitterSpi(0x10); //通讯寄存器 //通道 1,下一个写设置寄存器TransmitterSpi(0x48); //设置寄存器 //自校准,增益 1,双极 ,缓冲while(PINB&(1<<CS_DRDY)); //等待校准完成 READY信号变为低电平TransmitterSpi(0x38); //发送 0x38 读取 CH1 数据寄存器while(PINB&(1<<CS_DRDY)); //等待 READY信号变为低电平bufR[0]=TransmitterSpi(0xff); //转换结果高位bufR[1]=TransmitterSpi(0xff); //转换结果低位getData=(bufR[0]<<8)|bufR[1]; //获得数据 16 位return getData ; //返回数据}//***************************按照通道 2 读取****************************// unsigned int ReadDataCH2(void){unsigned int getData = 0;unsigned char bufR[5];TransmitterSpi(0x11); //通讯寄存器 //通道 1,下一个写设置寄存器TransmitterSpi(0x48); //设置寄存器 //自校准,增益 1,双极 ,缓冲while(PINB&(1<<CS_DRDY)); //等待校准完成 READY信号变为低电平TransmitterSpi(0x39); //发送 0x01 读取 AD7705 数据寄存器while(PINB&(1<<CS_DRDY)); //等待 READY信号变为低电平bufR[0]=TransmitterSpi(0xff); //转换结果高位bufR[1]=TransmitterSpi(0xff); //转换结果低位getData=(bufR[0]<<8)|bufR[1]; //读取数据前 16 位return getData ;}void main(void){unsigned char adi ;unsigned int getData,getData2;SpiInit();InitAD7705();while(1){if(adi++ >=1) adi = 0;if(adi == 0) getData = ReadDataCH1();if(adi == 1) getData2 = ReadDataCH2();}}。
关于AD7705模块的技术文档一、模块描述1、简介:D7705/7706 是应用于低频测量的2/3 通道的模拟前端。
该器件可以接受直接来自传感器的低电平的输入信号,然后产生串行的数字输出。
利用Σ-∆转换技术实现了16 位无丢失代码性能。
选定的输入信号被送到一个基于模拟调制器的增益可编程专用前端。
片内数字滤波器处理调制器的输出信号。
通过片内控制寄存器可调节滤波器的截止点和输出更新速率,从而对数字滤波器的第一个陷波进行编程。
2、产品性能参数及特点:�AD7705:2 个全差分输入通道的ADC�AD7706:3 个伪差分输入通道的ADC16位无丢失代码0.003%非线性�可编程增益前端增益:1~128�三线串行接口SPITM、QSPITM、MICROWIRETM和DSP 兼容�有对模拟输入缓冲的能力�2.7~3.3V或4.75~5.25V工作电压� 3V电压时,最大功耗为1mW�等待电流的最大值为8μA�16脚DIP、SOIC和TSSOP封3、产品应用场合:AD7705/7706 是用于智能系统、微控制器系统和基于DSP 系统的理想产品。
其串行接口可配置为三线接口。
增益值、信号极性以及更新速率的选择可用串行输入口由软件来配置。
该器件还包括自校准和系统校准选项,以消除器件本身或系统的增益和偏移误差。
二、模块原理图三、引脚功能四、校准1、自校准过向设置寄存器的MD1和MD0写入相应值(0,1),器件开始自校准。
在单极性输入信号范围内,用来确定校准系数的零标度点是用差分输入对的输入端在器件内部短路(即,对于AD7705,AIN(+)=AIN(-)=内部偏置电压;对于AD7706,AIN=COMMON=内部偏置电压)。
增益可编程放大器(PGA)设置为用于零标度校准转换时选定的增益(由通信寄存器内的G1和G0位设置)。
满标度标准转换是在一个内部产生的VREF电压和选定增益的条件下完成的。
校准持续时间是6×1/输出速率。
河南科技上河南职业技术学院机电系赵玉剑在起重机智能控制器中,限重拉力传感器采用应变式传感器,输出的是比较微弱的模拟信号,抗干扰能力差。
若用传统的电路设计方法,则需在A/D 之前增加一级或多级高精度放大器,这样不仅增加了成本和提高了系统的复杂性,而且还会出现外部低频(如工频)干扰和放大器漂移的情况。
为此,该控制器的A/D 芯片选用AD7705,避免了上述问题的出现,且转换精度也能满足系统的要求。
一、AD7705简介AD7705是AD 公司推出的应用于低频测量的2通道模拟前端。
该器件可以接受直接来自传感器的低电平输入信号,然后产生串行的数字输出。
利用∑-△转换技术实现了16位无丢失代码的性能。
1.AD7705的特点。
2个全差分输入通道,16位无丢失代码,0.003%非线性。
可编程增益为1~128。
三线串行接口SPITM 、QS PITM 、MICROWIRETM 和DS P 兼容。
有对模拟输入缓冲的能力。
2.7~3.3V 或4.75~5.25V 工作电压。
在3V 电压时,最大功耗为1Mw 。
等待电流的最大值为8μA 。
16脚DIP 、S OIC 和TS SOP 封装。
2.AD7705的引脚排列与功能。
AD7705的引脚排列如图1所示,各引脚的功能说明如下。
S CLK :串行时钟,施密特逻辑输入。
MCLK IN :转换器提供主时钟信号。
可以是晶振时钟或外部时钟,其频率范围为500kHz ~5MHz 。
M LK OUT :时钟信号输出。
当用晶振作为芯片的工作时钟时,晶振接在M LK IN 和M LK OUT 之间。
如果采用外部时钟时,则MCLK OUT 将提供一个反向时钟信号。
该时钟的输出可以通过编程来关闭从而节省能耗。
/CS :片选端,低电平有效。
/RES ET :复位输入端。
低电平有效的输入,将器件的控制逻辑、接口逻辑、校准系数、数字滤波器和模拟调制器复位至上电状态。
AIN1(+)、A IN1(-):为第1个差分输入通道的正端与负端。
ad7705 技术参数
AD7705 美国模拟器件公司(其在中国注册公司为:亚德诺半导体技术有限公司)生产的模数转换器。
AD7705 为完整16 位、低成本、Σ- Δ型ADC,适合直流和低频交流测量应用。
其具有低功耗(3 V 时最大值为1 mW)特性,因而可用于环路供电、电池供电或本地供电的应用中。
片内可编程增益放大器提供从1 至128 的增益设置,无需使用外部信号调理硬件便可接受低电平和高电平模拟输入。
ad7705 技术参数:
采用双列16 脚封装。
带信号调理、1mW 功耗,是AD 公司出品的适用于低频测量仪器的AD 转换器。
它能将从传感器接收到的很弱的输入信号直接转换成串行数字信号输出,而无需外部仪表放大器。
采用Σ-
Δ的ADC,实现16 位无误码的良好性能,片内可编程放大器可设置输入信号增益。
通过片内控制寄存器调整内部数字滤波器的关闭时间和更新速率,可设置数字滤波器的第一个凹口。
在+3V 电源和1MHz 主时钟时,
AD7705 功耗仅是1mW。
AD7705 是基于微控制器(MCU)、数字信号处理器(DSP)系统的理想电路,能够进一步节省成本、缩小体积、减小系统的复杂性。
应用于微处理器(MCU)、数字信号处理(DSP)系统,手持式仪器,分布式数据采集系统。
16位高性能低功耗A/D转换器AD7705及其应用16位高性能低功耗A/D转换器AD7705及其应用沈国民王欢谢军龙(华中科技大学武汉,430074)摘要:介绍了16位高性能、低功耗A/D转换器AD7705的特点,并给出了AD7705结合8031单片机进行压力测量的硬件接口电路及软件编程方法。
关键词:A/D转换器单片机压力测量ABSTRACT:The paper describes the characters of the high—performance,low—power A/D converter AD7705,introduces its application for pressure measurement with a single chip mierocomputer8031.KEYWORDS:A/D Converter Single chip microcomputer Pressure measurement1 AD7705简介1.1 主要性能AD7705是美国AD公司新近推出的一种低成本、高分辨率A/D转换器,它适用于宽动态范围测量、工业控制或工艺控制中的低频信号的转换。
是用于智能系统、微控制系统和基于DSP系统的理想产品。
其功能框图如图1所示。
它具有如下功能及特点:(1)双通道全差分模拟输入,可接受直接来自传感器的低电平的输人信号;(2)用Σ一△转换技术实现了16位无丢失代码性能,0.003%的非线性度;(3)可编程增益前端,增益:1—128;(4) 可配置成三线串行接口;(5)信号极性以及更新速率的选择可用串行输入口由软件来配置;(6)该器件包括自校准和系统校准选项,以消除器件本身或系统的增益和偏移误差;(7) 只需2.7~3.3V或4.75~5.25V单电源;(8) CMOS结构确保器件具有极低功耗,3V电压时,最大功耗为lmV;(9)等待或掉电模式下,器件消耗的电源电流仅为10ptA;(10)主时钟频率为1MHz或2.4576MHz,数据输出更新频率有20Hz、25Hz、100Hz、200Hz、50Hz、60Hz、250Hz、500Hz八种选择。
●新特器件应用AD7705/AD7706的原理与应用华南理工大学朱延钊Princi p le and A pp lication of AD7705/AD7706Zhu Y anzhao摘要:AD7705/AD7706是AD 公司新推出的16位Σ-Δ型AD 转换器,它带有增益可编程放大器,可通过软件编程来直接测量传感器输出的各种微小信号。
文中介绍了AD7705/AD7706的特点、结构和使用方法,给出了它与AT 89C51进行接口的应用电路和软件程序清单。
关键词:Σ-ΔA/D ;单片机;增益;校准;AD7705/AD7706分类号:T N79+2文献标识码:B文章编号:1006-6977(2002)06-0059-03AD7705/AD7706是AD 公司新推出的16位Σ-ΔA/D 转换器,可用于测量低频模拟信号。
这种器件带有增益可编程放大器,可通过软件编程来直接测量传感器输出的各种微小信号。
AD7705/AD7706具有分辨率高、动态范围广、自校准等特点,因而非常适合于工业控制、仪表测量等领域。
其中,AD7705具有两个全差分输入通道,而AD7706则具有三个准差分输入通道。
本文主要介绍AD7705的原理及应用,AD7706的应用与AD7705基本相同。
AD7705的主要特点如下:●具有16位无丢失代码;●非线性度为0.003%;●增益可编程,其可调整范围为1~128;●输出数据更新率可编程;●可进行自校准和系统校准;●带有三线串行接口;●采用3V 或5V 工作电压;●功耗低。
1引脚排列和功能AD7705的引脚排列如图1所示。
各引脚的功能说明如下:SC L K:串行接口时钟输入端。
M C L K IN:芯片工作时钟输入。
可以是晶振或外部时钟,其频率范围为500kH z 到5MH z 。
M C L K OUT:时钟信号输出。
当用晶振作为芯片的工作时钟时,晶振必须接在M C L K IN 和M C L KOUT 之间。
AD7705应用总结AD7705应用总结:YW2314R12项目中用到了AD7705,先将AD7705的应用经验以及注意要点总结如下,这些经验同样适用于AD7799、AD7706 等AD公司的拥有校准功能的AD芯片。
1.时序注意要点:数字接口迷失的时候可以通过ADIN输入持续32个脉冲周期(DCLK)以上的高电平将复位AD7705的数字接口,复位之后要等待500us以上才能访问AD7705芯片,这种复位方式不会影响AD7705内部的任何寄存器,所有的寄存器将保持复位之前的内容,但所有的寄存器在数字接口迷失的状态下内容是不确定的,因此强烈建议在复位之后重新设置AD7705 内部所有的寄存器,防止错误。
而芯片管脚RESET的复位将使片内所有的寄存器恢复到上电的默认值。
时钟输入信号DCLK是一种施密特出发信号,能够适应光耦合器的慢速边沿,其他数字输入信号的上升和下降时间不应超过1us。
2.AD7705时钟大于2M时,时钟设置寄存器的CLK位应置1,小于2M时应置0。
DCLK的脉冲宽度要满足最小的脉宽要求。
在时钟DCLK下降之后的低电平期间读取数据ADOUT。
在时钟DCLK的低电平期间设置要写入数据ADIN,然后在DCLK的上升沿写入到7705。
写入数据以及读取数据的时钟DCLK的数目要与(被写入或被读取的寄存器)的位数长度一致,多于或少于(寄存器位长度)的时钟DCLK数目都将导致操作错误。
在两次写操作之间,ADIN应最好保持在高电平:因为任何(读或写)操作都必须从写通信寄存器开始,而且写入通信寄存器的8个位中的第1位必须为0,后续的位才能被写入到通信寄存器。
所以当ADIN为0 的时候,万一时钟DCLK受到干扰导致0写入通信寄存器,AD7705会误认为是写通信寄存器的操作开始而等待后续的7位位串,发生这种干扰之后会导致AD7705的数字接口迷失,从而导致内部寄存器的内容也许会变得未知状态。
此外,时钟信号DCLK在两次操作AD7705之间要保持高电平。