基于AD7705的32路AD采集
CSDN话题挑战赛第2期
参赛话题:学习笔记
在检测技术与应用、DCS的I/O板卡以及信号传输等许多工业生产过程中都需要将数据传输到计算机,这一过程必须先进行A/D转换。目前A/D转换芯片种类非常多,有的价格高且设计复杂,有的转换精度低满足不了要求。为此,挑选了高精度16位A/D转换芯片AD7705,该芯片转换精度高、价格低,满足多种应用。本文设计了以单片机ATmega16为控制核心,以AD7705为前端采集芯片,以CPLD芯片EPM3064为逻辑开关阵列的32通道模拟量采集系统。给出了相应的硬件电路、驱动程序以及应用软件,指出了AD7705在实际应用中应当注意的一些问题。
1.A/D转换芯片AD7705
AD7705具有两个模拟输入通道,利用Σ-Δ转换技术实现了16位无丢失代码性能。模拟调制器具有增益可编程功能,片内设有数字滤波器、处理调制器的输出信号,通过片内控制器可调节滤波器的截止点和输出更新速率。是用于智能系统、微控制器系统和DSP系统的理想产品,其串行接口可配置为3线方式。增益值、信号极性以及更新速率的选择都可通过串行接口由软件来设置。该器件还包括自校准和系统校准功能,以消除器件本身或系统的增益和偏移误差。
2.嵌入式单片机
ATmega16ATmega16是Atmel公司生产的8位嵌入式单片机,它是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。特点为:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K字SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,3个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,1个可编程串行USART,1个SPI串行端口等,硬件资源非常丰富。
3.采集系统的设计
采集系统的硬件构成在功能上主要包括线性电源电路、AD7705外围电路、ATmega16外围电路和通道选择电路。
3.1线性电源电路
本电路(图1)电压为+5V和+3.3V。使用电源芯片78L05、Z33等,D1、D2为5V稳压管,D8、D9为3.3V稳压管。C14、C17用于滤除高频杂波,C15、C16用于保证输出电压平坦,外部供电为+12V。
3.2AD7705外围电路
AD7705的外围电路如图2所示。时钟频率设计为2.4576MHz,晶振Y1两端需各接一20pF电容到地以保证时钟频率的精准。电源电压VDD为+5V。AN1+与AN1-,AN2+与AN2-分别接模拟输入信号。芯片REF192为AD公司生产的精密基准电压源,为AD7705提供2.5V基准电压,其输出引脚6到地之间需并接0.1μF和10μF的电容以保证其输出电压平坦。
3.3ATmega16外围电路
ATmega16(图3)的供电电压VCC为+5V,时钟频率8MHz。PB5为串行外设接口SPI的主机输出端,PB6为主机输入端,PB7为SPI时钟。PB3、PD4、PD5用作普通的数字接口。AVCC为模拟电源,需经LC网络接至数字电源VCC,L1为10μH,C11为100nF,LC网络用于抑制噪声、提高抗干扰能力。该电路控制AD7705以完成数据的采集,主要是利用其SPI接口对AD7705进行各种初始配置,控制A/D转换并读取转换结果。
3.4通道选择电路
该电路在ATmega16的程序控制下工作,AT-mega16的控制信号通过PA4~PA0以完成32个通道模拟的模拟量采集。以高度集成CPLD芯片EPM3064为解码电路,制作一个5/32解码器,用VHDL语言编写而成,其供电电压3.3V,输入信号PA4~PA0和PD7,输出信号为TD0~TD31。EPM3064是基于EEPROM的CMOS工艺CPLD,其有64个宏单元,100管脚TQFP封装有66个用户I/O管脚,可满足许多应用需要。
PD7作为5/32解码器的使能信号,用于选择采集通道0~31。DS2Y-S为信号继电器,其引脚8、9接AD7705模拟信号1的AN1+与AN1-,引脚4、13接通道0的模拟输入信号AI0+与AI0-。其导通断开通过PNP三极管Q1驱动,控制信号为TD0,二极管D1起续流作用,保护电路正常工作同时具有抑制尖峰干扰作用。通道1~31的选择电路类似,同理设计模拟信号输入AI1~AI31的选择电路。PD7作为使能信号,低电平有效,总共需要32片信号继电器,本质上通道选择电路(图4)是由CPLD芯片EPM3064和信号继电器构建的逻辑阵列开关。