潘 宇
(白城师范学院 物理学院,吉林 白城137000)
提出了一种基于AVR的多通道模拟量采集系统设计方案。该方案以ATmega32为控制核心,以AD7705为采集芯片,以MAX4638为核心的多通道模拟量采集系统,实现对32路模拟量通道信号采集。可以有效构建灵活的测量系统,提高工作效率,该设计将具有良好的市场应用前景。
整个系统由A/D转换芯片AD7705、Atmega32处理器,MAX4638多通道模拟量采集器等几部分组成。从前端到后端依次经过模拟量采集器MAX4638→AD7705→ATmega32等几个处理过程。实现多通道数据采集功能。
ATmega32是Atmel公司生产的具有32 kB系统,内可编程Flash的8位AVR微控制器。它具有高性能、低功耗,先进的RISC结构,大多数指令执行时间为单个时钟周期,32个8位通用工作寄存器,全静态工作,工作于16 MHz时性能高达16 MI·s-1,只需两个时钟周期的硬件乘法器,具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程,真正的同时读写操作1 024 Byte的EEPROM。支持扩展的片内调试功能,通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程,具有独立预分频器和比较器功能的8位定时器/计数器,一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器,具有独立振荡器的实时计数器RTC,4通道PWM,8路10位ADC[1]。
ATmega32是主控电路,其主要是控制和数据处理功能,A/D转换后的数据,由主控电路来进行读取和处理。ATmega32控制AD7705以完成数据的采集,主要是利用其SPI接口对AD7705进行各种初始化配置,控制A/D转换并读取转换结果。
图1 系统的硬件结构
AD7705具有两个模拟输入通道,利用∑-Δ转换技术实现了16位无丢失代码性能。模拟调制器具有增益可编程功能,片内设有数字滤波器、处理调制器的输出信号,通过片内控制器可调节滤波器的截止点和输出更新速率。是用于智能系统、微控制器系统和DSP系统的理想产品,其串行接口可配置为3线方式。增益值、信号极性以及更新速率的选择都可通过串口由软件来设置。该器件还包括自校准和系统校准功能以消除器件本身或系统的增益和偏移误差[2]。
图2 AD7705外围电路原理图
MAX4638是单一8∶1和4∶1双CMOS模拟多路复用器。采用+5 V单电源供电,并有75 dB的关断隔离和-85 dB的串扰,从输出到每个关闭通道的开关时间为18 ns和7 ns。这些器件具有双向操作,可以处理轨到轨模拟信号。所有的控制输入与TTL/CMOS逻辑兼容。解码是标准的BCD格式,和一个使能输入被提供到简化器件的级联中[3]。
MAX4638是A/D转换芯片的前端信号调理器,为降低信号间的互相干扰,使测量的数据更加精确,在设计中A/D转换模块的前端采用信号调理电路对信号进行预处理。能将采集的各种模拟信号按照不同的方式,自动切换传输给A/D转换芯片,实现高精度的多路模拟转换[4-5]。
软件系统组成包括4个子模块:SPI初始化模块、MAX4638模块、AD7705驱动模块和定时器模块。首先MAX4638将采集到的多路模拟量解码成标准的BCD码,通过ATmega32的SPI接口驱动AD7705通道设置、时钟设置、更新速率以及校准模式等。对AD7705的配置任务是:注意读写寄存器之前必须先选择要操作的寄存器,然后启动ATmega32的定时器,在定时器中断函数中查询AD7705的状态,如转换完成则读取转换结果,否则继续等待直到转换完成,如此不断读出所需的转换结果。
本文介绍了以嵌入式单片机ATmega32为核心的多通道模拟量采集系统设计,实验实现了32路模拟量的转换,并且设计中所用的芯片、仪器相对简单,成本较低,从而为多路模拟信号的采集提供了一种有效的方法,该系统具有良好的应用前景。
[1] 姚国国,李宝森,王景贤.基于SOPC技术的数据采集系统设计[J].电子科技,2008(10):68-71.
[2] 王寅超,郑正奇.基于FPGA和USB接口的多通道数据采集系统[J].电子设计工程,2011(23):163-165.
[3] 付蔚,刘锋,王平.基于EPA的多通道模拟量采集仪的设计与实现[J].仪表技术与传感器,2010(9):21-23.
[4] 闫瑞,李海香,郝瑞霞.基于ATmega16de AD7705多通道模拟量采集系统设计[J].化工自动化及仪表,2011(4):466-468.
[5] 季晓松,李正生.一种高速数据采集卡的设计与实现[J].现代电子技术,2011(1):153-156.