潘 宇
(白城師范學(xué)院 物理學(xué)院,吉林 白城137000)
提出了一種基于AVR的多通道模擬量采集系統(tǒng)設(shè)計(jì)方案。該方案以ATmega32為控制核心,以AD7705為采集芯片,以MAX4638為核心的多通道模擬量采集系統(tǒng),實(shí)現(xiàn)對32路模擬量通道信號(hào)采集。可以有效構(gòu)建靈活的測量系統(tǒng),提高工作效率,該設(shè)計(jì)將具有良好的市場應(yīng)用前景。
整個(gè)系統(tǒng)由A/D轉(zhuǎn)換芯片AD7705、Atmega32處理器,MAX4638多通道模擬量采集器等幾部分組成。從前端到后端依次經(jīng)過模擬量采集器MAX4638→AD7705→ATmega32等幾個(gè)處理過程。實(shí)現(xiàn)多通道數(shù)據(jù)采集功能。
ATmega32是Atmel公司生產(chǎn)的具有32 kB系統(tǒng),內(nèi)可編程Flash的8位AVR微控制器。它具有高性能、低功耗,先進(jìn)的RISC結(jié)構(gòu),大多數(shù)指令執(zhí)行時(shí)間為單個(gè)時(shí)鐘周期,32個(gè)8位通用工作寄存器,全靜態(tài)工作,工作于16 MHz時(shí)性能高達(dá)16 MI·s-1,只需兩個(gè)時(shí)鐘周期的硬件乘法器,具有獨(dú)立鎖定位的可選Boot代碼區(qū),通過片上Boot程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程,真正的同時(shí)讀寫操作1 024 Byte的EEPROM。支持?jǐn)U展的片內(nèi)調(diào)試功能,通過JTAG接口實(shí)現(xiàn)對Flash、EEPROM、熔絲位和鎖定位的編程,具有獨(dú)立預(yù)分頻器和比較器功能的8位定時(shí)器/計(jì)數(shù)器,一個(gè)具有預(yù)分頻器、比較功能和捕捉功能的16位定時(shí)器/計(jì)數(shù)器,具有獨(dú)立振蕩器的實(shí)時(shí)計(jì)數(shù)器RTC,4通道PWM,8路10位ADC[1]。
ATmega32是主控電路,其主要是控制和數(shù)據(jù)處理功能,A/D轉(zhuǎn)換后的數(shù)據(jù),由主控電路來進(jìn)行讀取和處理。ATmega32控制AD7705以完成數(shù)據(jù)的采集,主要是利用其SPI接口對AD7705進(jìn)行各種初始化配置,控制A/D轉(zhuǎn)換并讀取轉(zhuǎn)換結(jié)果。
圖1 系統(tǒng)的硬件結(jié)構(gòu)
AD7705具有兩個(gè)模擬輸入通道,利用∑-Δ轉(zhuǎn)換技術(shù)實(shí)現(xiàn)了16位無丟失代碼性能。模擬調(diào)制器具有增益可編程功能,片內(nèi)設(shè)有數(shù)字濾波器、處理調(diào)制器的輸出信號(hào),通過片內(nèi)控制器可調(diào)節(jié)濾波器的截止點(diǎn)和輸出更新速率。是用于智能系統(tǒng)、微控制器系統(tǒng)和DSP系統(tǒng)的理想產(chǎn)品,其串行接口可配置為3線方式。增益值、信號(hào)極性以及更新速率的選擇都可通過串口由軟件來設(shè)置。該器件還包括自校準(zhǔn)和系統(tǒng)校準(zhǔn)功能以消除器件本身或系統(tǒng)的增益和偏移誤差[2]。
圖2 AD7705外圍電路原理圖
MAX4638是單一8∶1和4∶1雙CMOS模擬多路復(fù)用器。采用+5 V單電源供電,并有75 dB的關(guān)斷隔離和-85 dB的串?dāng)_,從輸出到每個(gè)關(guān)閉通道的開關(guān)時(shí)間為18 ns和7 ns。這些器件具有雙向操作,可以處理軌到軌模擬信號(hào)。所有的控制輸入與TTL/CMOS邏輯兼容。解碼是標(biāo)準(zhǔn)的BCD格式,和一個(gè)使能輸入被提供到簡化器件的級(jí)聯(lián)中[3]。
MAX4638是A/D轉(zhuǎn)換芯片的前端信號(hào)調(diào)理器,為降低信號(hào)間的互相干擾,使測量的數(shù)據(jù)更加精確,在設(shè)計(jì)中A/D轉(zhuǎn)換模塊的前端采用信號(hào)調(diào)理電路對信號(hào)進(jìn)行預(yù)處理。能將采集的各種模擬信號(hào)按照不同的方式,自動(dòng)切換傳輸給A/D轉(zhuǎn)換芯片,實(shí)現(xiàn)高精度的多路模擬轉(zhuǎn)換[4-5]。
軟件系統(tǒng)組成包括4個(gè)子模塊:SPI初始化模塊、MAX4638模塊、AD7705驅(qū)動(dòng)模塊和定時(shí)器模塊。首先MAX4638將采集到的多路模擬量解碼成標(biāo)準(zhǔn)的BCD碼,通過ATmega32的SPI接口驅(qū)動(dòng)AD7705通道設(shè)置、時(shí)鐘設(shè)置、更新速率以及校準(zhǔn)模式等。對AD7705的配置任務(wù)是:注意讀寫寄存器之前必須先選擇要操作的寄存器,然后啟動(dòng)ATmega32的定時(shí)器,在定時(shí)器中斷函數(shù)中查詢AD7705的狀態(tài),如轉(zhuǎn)換完成則讀取轉(zhuǎn)換結(jié)果,否則繼續(xù)等待直到轉(zhuǎn)換完成,如此不斷讀出所需的轉(zhuǎn)換結(jié)果。
本文介紹了以嵌入式單片機(jī)ATmega32為核心的多通道模擬量采集系統(tǒng)設(shè)計(jì),實(shí)驗(yàn)實(shí)現(xiàn)了32路模擬量的轉(zhuǎn)換,并且設(shè)計(jì)中所用的芯片、儀器相對簡單,成本較低,從而為多路模擬信號(hào)的采集提供了一種有效的方法,該系統(tǒng)具有良好的應(yīng)用前景。
[1] 姚國國,李寶森,王景賢.基于SOPC技術(shù)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子科技,2008(10):68-71.
[2] 王寅超,鄭正奇.基于FPGA和USB接口的多通道數(shù)據(jù)采集系統(tǒng)[J].電子設(shè)計(jì)工程,2011(23):163-165.
[3] 付蔚,劉鋒,王平.基于EPA的多通道模擬量采集儀的設(shè)計(jì)與實(shí)現(xiàn)[J].儀表技術(shù)與傳感器,2010(9):21-23.
[4] 閆瑞,李海香,郝瑞霞.基于ATmega16de AD7705多通道模擬量采集系統(tǒng)設(shè)計(jì)[J].化工自動(dòng)化及儀表,2011(4):466-468.
[5] 季曉松,李正生.一種高速數(shù)據(jù)采集卡的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2011(1):153-156.