0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于AD7705的32通道模擬量采集系統(tǒng)設(shè)計

h1654155282.3538 ? 來源:Chip37 ? 作者:Chip37 ? 2021-02-10 17:58 ? 次閱讀

檢測技術(shù)與應(yīng)用、DCS的I/O板卡以及信號傳輸?shù)仍S多工業(yè)生產(chǎn)過程中都需要將數(shù)據(jù)傳輸?shù)接嬎銠C(jī),這一過程必須先進(jìn)行A/D轉(zhuǎn)換。目前A/D轉(zhuǎn)換芯片種類非常多,有的價格高且設(shè)計復(fù)雜,有的轉(zhuǎn)換精度低滿足不了要求。為此,挑選了高精度16位A/D轉(zhuǎn)換芯片AD7705,該芯片轉(zhuǎn)換精度高、價格低,滿足多種應(yīng)用。本文設(shè)計了以單片機(jī)ATmega16為控制核心,以AD7705為前端采集芯片,以CPLD芯片EPM3064為邏輯開關(guān)陣列的32通道模擬量采集系統(tǒng)。給出了相應(yīng)的硬件電路、驅(qū)動程序以及應(yīng)用軟件,指出了AD7705在實際應(yīng)用中應(yīng)當(dāng)注意的一些問題。

1.A/D轉(zhuǎn)換芯片AD7705

AD7705具有兩個模擬輸入通道,利用Σ-Δ轉(zhuǎn)換技術(shù)實現(xiàn)了16位無丟失代碼性能。模擬調(diào)制器具有增益可編程功能,片內(nèi)設(shè)有數(shù)字濾波器、處理調(diào)制器的輸出信號,通過片內(nèi)控制器可調(diào)節(jié)濾波器的截止點和輸出更新速率。是用于智能系統(tǒng)、微控制器系統(tǒng)和DSP系統(tǒng)的理想產(chǎn)品,其串行接口可配置為3線方式。增益值、信號極性以及更新速率的選擇都可通過串行接口由軟件來設(shè)置。該器件還包括自校準(zhǔn)和系統(tǒng)校準(zhǔn)功能,以消除器件本身或系統(tǒng)的增益和偏移誤差。

2.嵌入式單片機(jī)

ATmega16ATmega16是Atmel公司生產(chǎn)的8位嵌入式單片機(jī),它是基于增強(qiáng)的AVRRISC結(jié)構(gòu)的低功耗8位CMOS微控制器。特點為:16K字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時讀寫的能力,即RWW),512字節(jié)EEPROM,1K字SRAM,32個通用I/O口線,32個通用工作寄存器,用于邊界掃描的JTAG接口,支持片內(nèi)調(diào)試與編程,3個具有比較模式的靈活的定時器/計數(shù)器(T/C),片內(nèi)/外中斷,1個可編程串行USART,1個SPI串行端口等,硬件資源非常豐富。

3.采集系統(tǒng)的設(shè)計

采集系統(tǒng)的硬件構(gòu)成在功能上主要包括線性電源電路、AD7705外圍電路、ATmega16外圍電路和通道選擇電路。

3.1線性電源電路

本電路(圖1)電壓為+5V和+3.3V。使用電源芯片78L05、Z33等,D1、D2為5V穩(wěn)壓管,D8、D9為3.3V穩(wěn)壓管。C14、C17用于濾除高頻雜波,C15、C16用于保證輸出電壓平坦,外部供電為+12V。

o4YBAGAGrVKAUxINAAFA-WPGEq0375.png

圖1 線性電源電路

3.2AD7705外圍電路

AD7705的外圍電路如圖2所示。時鐘頻率設(shè)計為2.4576MHz,晶振Y1兩端需各接一20pF電容到地以保證時鐘頻率的精準(zhǔn)。電源電壓VDD為+5V。AN1+與AN1-,AN2+與AN2-分別接模擬輸入信號。芯片REF192為AD公司生產(chǎn)的精密基準(zhǔn)電壓源,為AD7705提供2.5V基準(zhǔn)電壓,其輸出引腳6到地之間需并接0.1μF和10μF的電容以保證其輸出電壓平坦。

AD7705%E5%A4%96%E5%9B%B4%E7%94%B5%E8%B7%AF%E5%8E%9F%E7%90%86%E5%9B%BE.jpg

圖2 AD7705外圍電路原理

AD7705與單片機(jī)Atmega16接口電路為片選端CS—PD4、復(fù)位端RESET—PD5、邏輯輸出端DRRY—PB3、串行數(shù)據(jù)輸入端DIN—PB5、串行數(shù)據(jù)輸出端DOUT—PB6和串行時鐘SCLK—PB7。

3.3ATmega16外圍電路

ATmega16(圖3)的供電電壓VCC為+5V,時鐘頻率8MHz。PB5為串行外設(shè)接口SPI的主機(jī)輸出端,PB6為主機(jī)輸入端,PB7為SPI時鐘。PB3、PD4、PD5用作普通的數(shù)字接口。AVCC為模擬電源,需經(jīng)LC網(wǎng)絡(luò)接至數(shù)字電源VCC,L1為10μH,C11為100nF,LC網(wǎng)絡(luò)用于抑制噪聲、提高抗干擾能力。該電路控制AD7705以完成數(shù)據(jù)的采集,主要是利用其SPI接口對AD7705進(jìn)行各種初始配置,控制A/D轉(zhuǎn)換并讀取轉(zhuǎn)換結(jié)果。

ATmega16%E5%A4%96%E5%9B%B4%E7%94%B5%E8%B7%AF%E5%8E%9F%E7%90%86%E5%9B%BE.jpg

圖3 ATmega16外圍電路原理圖

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管腳,可滿足許多應(yīng)用需要。

PD7作為5/32解碼器的使能信號,用于選擇采集通道0~31。DS2Y-S為信號繼電器,其引腳8、9接AD7705模擬信號1的AN1+與AN1-,引腳4、13接通道0的模擬輸入信號AI0+與AI0-。其導(dǎo)通斷開通過PNP三極管Q1驅(qū)動,控制信號為TD0,二極管D1起續(xù)流作用,保護(hù)電路正常工作同時具有抑制尖峰干擾作用。通道1~31的選擇電路類似,同理設(shè)計模擬信號輸入AI1~AI31的選擇電路。PD7作為使能信號,低電平有效,總共需要32片信號繼電器,本質(zhì)上通道選擇電路(圖4)是由CPLD芯片EPM3064和信號繼電器構(gòu)建的邏輯陣列開關(guān)。

%E9%80%9A%E9%81%93%E9%80%89%E6%8B%A9%E7%94%B5%E8%B7%AF.jpg

圖4 通道選擇電路

4.軟件設(shè)計

軟件設(shè)計包括3個子模塊:SPI初始化模塊、AD7705驅(qū)動模塊、定時器模塊。工作過程:首先通過ATmega16的SPI接口驅(qū)動AD7705,完成AD7705通道設(shè)置、時鐘設(shè)置、更新速率以及校準(zhǔn)模式等,然后啟動ATmega16的定時器,在定時器中斷函數(shù)中查詢AD7705的狀態(tài),如轉(zhuǎn)換完成則讀取轉(zhuǎn)換結(jié)果,否則繼續(xù)等待直到轉(zhuǎn)換完成,如此不斷讀出所需的轉(zhuǎn)換結(jié)果。程序流程如圖5所示。

%E7%A8%8B%E5%BA%8F%E6%B5%81%E7%A8%8B%E6%A1%86%E5%9B%BE.jpg

圖5 程序流程框圖

4.1SPI初始化模塊

對ATmega16的SPI接口進(jìn)行配置:

void spi_init(void)

{

DDRB|=(1《

DDRB&=~(1《

PORTB|=(1《

SPCR=(1《

}

4.2AD7705驅(qū)動模塊

該模塊程序完成對AD7705的配置任務(wù),需要注意的是讀寫寄存器之前必須先選擇要操作的寄存器。

向AD7705寫入1字節(jié)函數(shù),入口參數(shù)data為需寫入的字節(jié)數(shù)據(jù):

voidwr_7705(unsignedchardata)

{

SPDR=data;//啟動數(shù)據(jù)傳輸

while(!(SPSR&(1《《SPIF)))//等待傳輸

結(jié)束;

}

讀出AD7705數(shù)據(jù)函數(shù),返回值為讀出的2字節(jié)數(shù)據(jù):

unsignedintrd_7705(void)

{

unsignedinttemp;//定義臨時變量

wr_7705(0x38);//選擇讀數(shù)據(jù)寄存器,1通道

SPDR=1;//啟動數(shù)據(jù)傳輸

while(?。⊿PSR&(1《《SPIF)))//等待傳輸結(jié)

{

;

}

temp=SPDR《《8;//讀取高字節(jié)

SPDR=1;//啟動數(shù)據(jù)傳輸

while(!(SPSR&(1《《SPIF)))//等待傳輸結(jié)束

{

;

}

temp|=SPDR;//讀取低字節(jié)

return(temp);

}

AD7705初始化函數(shù):

voidinit_7705(void)

{

wr_7705(0x20);//選擇時鐘寄存器,下一操作是寫

wr_7705(0x00);//20Hz的更新速率

wr_7705(0x10);//選擇設(shè)置寄存器,下一操作是寫

wr_7705(0x44);//自校準(zhǔn)模式,增益為1,單極性

}

4.3定時器模塊

利用定時器1按一定的時間間隔讀取AD7705的轉(zhuǎn)換結(jié)果。讀取數(shù)據(jù)之前必須確定數(shù)據(jù)寄存器的狀態(tài),有兩種不同的方式:第1種是查詢DRDY引腳,如果處于低電平,表示已經(jīng)轉(zhuǎn)換完成,可以讀取;第2種是查詢通信寄存器中的DRDY位,如果是0表示可以讀取數(shù)據(jù):

定時器1初始化函數(shù):

%E5%AE%9A%E6%97%B6%E5%99%A81%E5%88%9D%E5%A7%8B%E5%8C%96%E5%87%BD%E6%95%B0.jpg

定時器1溢出中斷函數(shù):

%E5%AE%9A%E6%97%B6%E5%99%A81%E6%BA%A2%E5%87%BA%E4%B8%AD%E6%96%AD%E5%87%BD%E6%95%B0.jpg

結(jié)語

本文總結(jié)了基于AD7705的32通道模擬量采集系統(tǒng)設(shè)計,經(jīng)過試驗證明,該采集系統(tǒng)不僅減少儀表設(shè)計調(diào)試時間,而且結(jié)合測量儀器可以構(gòu)建靈活的測量系統(tǒng),節(jié)約儀器購置成本,提高工作效率。
責(zé)任編輯人:CC

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模擬量
    +關(guān)注

    關(guān)注

    5

    文章

    488

    瀏覽量

    25401
  • AD7705
    +關(guān)注

    關(guān)注

    2

    文章

    39

    瀏覽量

    20441
收藏 人收藏

    評論

    相關(guān)推薦

    使用AD7705進(jìn)行熱電偶采集,使用兩個通道對兩個熱電偶進(jìn)行采集出現(xiàn)AD7705無法讀出的情況怎么處理?

    大家好! 我一直使用AD7705進(jìn)行熱電偶采集, 原來只使用一個通道,沒有什么問題,此次使用兩個通道對兩個熱電偶進(jìn)行采集, 原理圖如下:
    發(fā)表于 12-22 06:06

    請問AD7705切換通道是否需要重新設(shè)置寄存器

    AD7705采集通道一和通道二的電壓,讀取完通道一后再去讀取通道二的數(shù)據(jù),是否需要重新設(shè)置寄存器
    發(fā)表于 08-19 07:56

    AD7705通道單個熱電偶斷線時無法讀出

    大家好!我一直使用AD7705進(jìn)行熱電偶采集, 原來只使用一個通道,沒有什么問題,此次使用兩個通道對兩個熱電偶進(jìn)行采集, 原理圖如下: 熱電
    發(fā)表于 11-01 09:16

    AD7705采樣通道2沒有數(shù)據(jù)輸出

    連接。每片AD7705芯片的通道1負(fù)責(zé)采集電流,通道2負(fù)責(zé)采集電壓,并采用輪詢的方法進(jìn)行采樣,具體的說就是先
    發(fā)表于 12-27 11:26

    AD7705應(yīng)用經(jīng)驗總結(jié)

    寄存器。 5、采用非緩沖模式時,AD7705模擬輸入前端的電阻電容的變化對AD轉(zhuǎn)換精度影響很大。若系統(tǒng)工作時的信號源、溫度環(huán)境、器件參數(shù)變化很大,導(dǎo)致AD7705
    發(fā)表于 01-18 19:16

    AD7705的基本特性是什么?怎樣對AD7705進(jìn)行校準(zhǔn)?

    AD7705的基本特性AD7705的引腳功能AD7705的片內(nèi)寄存器怎樣對AD7705進(jìn)行校準(zhǔn)?
    發(fā)表于 04-23 06:09

    求助,關(guān)于AD7705采樣的幾個問題

    連接。每片AD7705芯片的通道1負(fù)責(zé)采集電流,通道2負(fù)責(zé)采集電壓,并采用輪詢的方法進(jìn)行采樣,具體的說就是先
    發(fā)表于 12-18 06:29

    基于AD7705的安全帽質(zhì)量檢測

    采用16 位模數(shù)轉(zhuǎn)換芯片AD7705 及精簡指令集單片機(jī)AT90S8515 為主要元器件,通過AD7705 采集壓力傳感器檢測到安全帽受力情況,然后在AD7705 內(nèi)部將
    發(fā)表于 05-17 17:31 ?53次下載
    基于<b class='flag-5'>AD7705</b>的安全帽質(zhì)量檢測

    AD7705音頻

    AD7705音頻學(xué)習(xí)教材,Altium Designer軟件
    發(fā)表于 11-16 14:53 ?0次下載

    AD7705高精度AD采集的兩通道STM32程序免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是AD7705高精度AD采集的兩通道STM32程序免費下載。
    發(fā)表于 02-12 08:00 ?57次下載
    <b class='flag-5'>AD7705</b>高精度AD<b class='flag-5'>采集</b>的兩<b class='flag-5'>通道</b>STM32程序免費下載

    AD7705參考代碼

    AD7705參考代碼
    發(fā)表于 03-18 10:00 ?55次下載
    <b class='flag-5'>AD7705</b>參考代碼

    基于AD7705的32通道模擬量采集系統(tǒng)設(shè)計資料下載

    電子發(fā)燒友網(wǎng)為你提供基于AD7705的32通道模擬量采集系統(tǒng)設(shè)計資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英
    發(fā)表于 04-29 08:46 ?30次下載
    基于<b class='flag-5'>AD7705</b>的32<b class='flag-5'>通道</b><b class='flag-5'>模擬量</b><b class='flag-5'>采集</b><b class='flag-5'>系統(tǒng)</b>設(shè)計資料下載

    EVAL-AD7705EB/EVAL-AD7706EB:AD7705/06 3V/5V、450μA、2/3通道16位Sigma Delta ADC評估板

    EVAL-AD7705EB/EVAL-AD7706EB:AD7705/06 3V/5V、450μA、2/3通道16位Sigma Delta ADC評估板
    發(fā)表于 05-14 12:32 ?5次下載
    EVAL-AD<b class='flag-5'>7705</b>EB/EVAL-AD7706EB:<b class='flag-5'>AD7705</b>/06 3V/5V、450μA、2/3<b class='flag-5'>通道</b>16位Sigma Delta ADC評估板

    國產(chǎn)核心器件構(gòu)建多通道模擬量采集系統(tǒng)設(shè)計

    國產(chǎn)核心器件構(gòu)建多通道模擬量采集系統(tǒng)設(shè)計
    發(fā)表于 06-30 11:11 ?22次下載

    通道模擬量隔離變送器

    通道模擬量隔離變送器深圳捷晟達(dá)(JSD科技)的JSD TA-3003系列三通道模擬量隔離變送器,是將三路輸入的模擬量信號進(jìn)行隔離,放大,信
    發(fā)表于 09-02 03:06 ?0次下載