基于AD7714的高精度隔离数据采集系统(1).doc
11页基于AD7714的高精度隔离数据采集系统摘要 简要介绍24位Σ-△模数转换器AD7714的性能和特点,详细讲解该芯片在高精度测量仪器中的应用表达如何使用AD7714实现多路、多量程的直流电压测量,重点说明SPI数据总线的光电隔离实现方法,并根据工程实践总结提高抗干扰能力的途径和印制电路板的的制作要点采用上述方法,该数据采集系统成功地组合了多个AD7714,实现多路μA级电流的精密测量文中给出相关电路原理图和MCS51单片机与AD7714的接口程序实例关键词 AD7714 光电隔离 SPI 数据采集 在高精度及多路采样设备中,A/D芯片选用的恰当与否对系统整体性能的表现好坏非常关键目前,由于数字信号处理技术的快速开展,对信号采集前向通道的器件要求也不断提高,特别是对器件的采样分辨率、采样速度以及采样通道数等参数的要求越来越严格 本系统测量采用极化继电器的力臂控制盒仪器设计,需要测量的数据变化范围大,精度要求高,测量的通道数多同时,由于本系统测量电路相对复杂,各信号间容易产生干扰,而高速运转的电机信号产生的干扰将会使系统瘫痪针对上述情况,笔者采用多路输入、高精度的A/D转换器AD7714,与MCU之间的通信采用光电隔离技术。
1 AD7714的根本情况 AD7714是一个完整的用于低频测量应用场合的模拟前端它的3线串行接口与SPI、QSPI、MICROWEIR兼容通过软件可对增益设定、信号极性和通道选择作出配置AD7714的主要特点如下: ◇最高可实现24位无误码输出,同时保证0.0015%的非线性度; ◇具有前端增益可编程放大器,增益值为1~128,内含可编程低通滤波器和可读写系统校准系数; ◇有5通道输入,可根据需要采用3路差分输入或5路准差分输入; ◇低噪声(<150 nV rms); ◇低功耗,典型电流值为226μA(省电模式仅为4 μA); ◇采用单5 V供电(AD7714-5)或单3 V供电(AD7714-3)方式 AD7714提供24脚DIP、SOIC、TSSOP及28脚SSOP封装其引脚功能如图1所示(以24DIP封装为例)AD7714的功能方框图如图2所示2 系统中的实际应用2.1 AD7714外围接口配置 POL时钟极性输入低电平时,数据传送操作中串行时钟的第1个跳变是从低电平至高电平输入高电平时,数据传送操作中串行时钟的第1个跳变是从高电平至低电平。
RESET逻辑输入端低电平有效输入,它把器件的控制逻辑、接口逻辑、数字滤波器以及模拟调制器复位到上电状态本系统是通过在DIN输入端写入一系列的1来进行软件复位,使AD7714返回到等待对通信存放器进行写操作的状态 用软件进行复位需要注意两点:一是AD7714的DIN线写逻辑1至少达32个串行时钟周期;二是写到任何存放器的信息是未知的,因而要再次设置所有的存放器 CS芯片选择用于选择AD7714的低电平有效逻辑输入端当此输入端由硬件连线设置为低电平时,AD7714工作在其3线接口模式 SYNCL逻辑输入端当使用多个AD7714时,它用于数字滤波器和模拟调制器的同步2.2 AD7714与MCU的接口 AD7714与MCU之间的接口关系如图3所示,图3中给出了输入和输出的电路转换为了能够获得稳定的数据,AD7714与MCU之间参加光隔离器光隔离器件采用的是隔离电压高、速度快、共模抑制性强的6N137由于6N137的速度快,编程中不需要进行适当的延时就能满足光隔离器的电平建立时间试验说明通过光隔离器,获得的稳定数据能够增加3~4位(二进制位) AD7714的CS接地,使AD7714始终工作在SPI接口模式。
对每个接口模块的控制是通过74LSl25的三态允许端来实现的对其中一个SPI接口操作时,使其74LSl25处于选通状态,而其他SPI接口的74LSl25处于高阻状态这样可实现微处理器单独对一个接口进行操作,而不影响其他接口CPU通过对三态缓冲器74LSl25控制,可实现多个接口共用相同的数据线图3中的DA-CS是控制具有SPI总线的D/A转换器芯片 6N137外部元件电阻根据自己的实际情况来选取,即不宜过大也不宜过小为了增加稳定性,最好在电阻的两端并上电解电容2.3基准电压源AD780 高精度参考电压源AD780为AD7714提供基准电压其根本特性:通过8脚的悬空或接地,可实现2.5 V或3.0 V的输出;输出电压范围在2.5 V±1 mV或3.0 v±l mV;输入电压范围可从4~36 V来实现2.5 V或3.0V的输出 在使用AD780作基准电压源时,其周围的电容一定要按照图4上所给的进行配置,否那么,输出的精度会下降很多特别要注意AD780输出端和地的100μF电容,试验说明这个电容可以使系统的精度提高2~3位(二进制位)2.4 AD7714的模拟前端 在模拟前端所要测量的电流和电压很多,并且变化范围很大。
为了能够提高测量精度,必须根据电压和电流的大小来设计合理的电压表和电流表在图5中,通过合理的选取R1和R2的阻值以及使其短路或开路,来实现电压表和电流表 设计电流表时,将R1短路,选取相应的R2电阻,R2的电阻是通过AD7714最大输入电压以及所要测量的最大电流来计算的设计电压表时,如果测量的电压在AD7714输入电压范围内,将Rl短路,R2开路直接测量;如果测量的电压超过AD7714输入电压的范围,合理的选取R1和R2阻值分压,来满足测量的要求 AD7714的输人通道由AIN(+)和AIN(一)成对排列,AIN(+)输入端上单极性和双极性信号作为基准的电压是各自AIN(一)输入端上的电压例如,如果开关SW在图5中的位置,即AIN(+)接入AD780输出电压+2.5 V,AD7714配置为单极性,假设设定增益为2,那么AIN(+)输入电压范围为+2.5~+3.75 V如果在相同的配置下,改为双极性,那么AIN(+)输入电压范围为+1.25~+3.75 V(即2.5士1.25 V)如果通过SW开关使其AIN(一)为AGND,那么器件不能配置为超过±30 mV的双极性范围 如果外部电压和电流有很大干扰,测量的精度就会受到很大影响。
在AD7714的每个模拟输入端都加上一个对地电容(如图5中C1和C2),通过实验说明对其精度有很大提高电容的选取要根据自己的转换速率以及外部的干扰来选取2.5 LDC5-24S5电源模块 外部所能提供的电源是27 V,由于电源稳定性差以及来自外部的干扰会影响系统的正常工作,同时笔者所需的电源工作电压为单+5 V因此,选用了LDC5-24S5直流一直流开关电源模块,其输入电压范围为18~36 V直流电压,输出为单+5 V该电源模块有很好的DC-DC隔离作用,输出电压很稳定,用它可直接作为AD7714的电源,从而简化了整个电路3 实际使用中的问题和解决方法3.1 如何滤除模拟输入端的干扰 AD7714的模拟输入端可以接受单极性或双极性的输入电压范围双极性输入范围并不意味着器件在模拟输入端可以处理负电压为了确保器件的正常工作,模拟输入不能变到比一30 mV更低本系统需要测试的电压有一个是27 V,它由带有高速电机的设备输出如不加处理直接进行测试,由电机产生的过低负脉冲或过高正脉冲都会影响AD7714的正常工作,严重时会永久性损坏AD7714芯片笔者通过大量的分析和试验,得出了如图6所示的理想滤除脉冲的电路图。
其中LI和I.2是用双孔磁芯缠绕而成,C3的大小根据自己测量的实际情况来定3.2如何制作印制板和元件装接 为了使ADC获得最正确的性能,必须使用模拟地和数字地分开的印制电路板在印制电路板的设计中,特别要注意地线的布置通常把模拟地和数字地独立设置在各自电路中,然后把模拟地和数字地连到一点(星号标志) 在系统中,2片AD7714设计成2个独立电路板,那么可把该片的AGND和DGND引脚一起连到地平面如果系统中有多片AD7714,那么可把多块芯片的AGND和DGND引脚相连,而后连到一个公共点,而这个公共点应尽量靠近AD7714的星形地 数字地严禁设计在芯片下面,因为这样会把噪声耦合给芯片,从而影响ADC正常工作但是应当使模拟地在芯片下面运行,因为这样能减少数字噪声的耦合AD7714的电源引脚输入线应尽可能宽,以提供一个低阻抗通道,从而降低电源线上脉冲的影响 由于AD7714是高分辨率的ADC,因而电源的耦合电路尤为重要因此在印制电路板设计时,应对所有的模拟电源输入都加一级去耦电路,即用10μF钽电容和0.1μF陶瓷电容并联到地这些去耦电路的元件应尽可能靠近芯片的电源引脚,这样才能获得更好的去耦效果和消除引线过长而带来的干扰。
3.3如何从AD7714获取更多的稳定数据位 在满足整个系统需要的前提下,应尽量降低单片机的工作频率,这样可以获取更多的稳定数据位在印制板采取良好的抗干扰措施前提下,如果干扰仍然比拟严重,那么软件上也应采取相应的措施,比方采用软件冗余技术进行相同命令的屡次写入,以保证可靠操作4 编程要点及相关的子程序4. 1 编程要点和考前须知 ①AD7714具有8个片内存放器,通过对片内存放器的编程,可以实现通道选择、增益选择、滤波频率选择、转换周期选择、自动校准和A/D转换等功能对AD7714的任何一种操作,必须首先对通信存放器写入相应代码,然后才能对其他存放器读写,RS2、RSl和RS0对8个片内存放器选择的关系如表1所列 ②读A/D数据时,A/D首先输出数据最高位,最后是数据最低位;在对A/D内部存放器进行写操作时,也应首先写人最高位,最后写入最低位 ③校准存放器和数据存放器是16位或24位存放器对于8位微处理器来说,16位或24位存放器数据,需要分2个字节或3个字节进行读写操作 ④AD7714的串行接口具有仅用3条线工作的能力,它与SPI接口协议相兼容A157714数字输入的上升和下降时间(特别是SCLK输入)应当不长于1μs。
4.2有关AD7714子程序 ①初始化子程序 CLR AD_CS ;选通74LS125 MOV A,#24H; ;写通信存放器 LCALL W_7714 MOV A,#4FH ;写滤波器高存放器 LCALL W7714 MOV A,#34H; ;写通信存放器 LCALL W_7714 MOV A,#0AOH ;写滤波器低存放器 LCALL W_7714 MOV A,#14H ;写通信存放器 LCALL W_7714 MOV A,#20H ;写模式存放器 LCALL W_7714 RET ②读数据子程序 LCALL DELAY ;延时10 ms JB DRDY,POLL ;判断是否有新的数据 MOV A,#5CH ;写通信存放器 LCALL W 。





