16位高性能低功耗A/D轉(zhuǎn)換器AD7705及其應(yīng)用
沈國(guó)民 王歡 謝軍龍
(華中科技大學(xué) 武漢,430074)
摘要:介紹了16位高性能、低功耗A/D轉(zhuǎn)換器AD7705的特點(diǎn),并給出了AD7705結(jié)合8031單片機(jī)進(jìn)行壓力測(cè)量的硬件接口電路及軟件編程方法。
關(guān)鍵詞:A/D轉(zhuǎn)換器單片機(jī)壓力測(cè)量
ABSTRACT:The paper describes the characters of the high—performance,low—power A/D converter AD7705,introduces its application for pressure measurement with a single chip mierocomputer8031.
KEYWORDS:A/D Converter Single chip microcomputer Pressure measurement
1 AD7705簡(jiǎn)介
1.1 主要性能
AD7705是美國(guó)AD公司新近推出的一種低成本、高分辨率A/D轉(zhuǎn)換器,它適用于寬動(dòng)態(tài)范
圍測(cè)量、工業(yè)控制或工藝控制中的低頻信號(hào)的轉(zhuǎn)換。是用于智能系統(tǒng)、微控制系統(tǒng)和基于DSP系統(tǒng)的理想產(chǎn)品。其功能框圖如圖1所示。它具有如下功能及特點(diǎn):
(1)雙通道全差分模擬輸入,可接受直接來(lái)自傳感器的低電平的輸人信號(hào);
(2)用Σ一△轉(zhuǎn)換技術(shù)實(shí)現(xiàn)了16位無(wú)丟失代碼性能,0.003%的非線性度;
(3)可編程增益前端,增益:1—128;
(4) 可配置成三線串行接口;
(5)信號(hào)極性以及更新速率的選擇可用串行輸入口由軟件來(lái)配置;
(6)該器件包括自校準(zhǔn)和系統(tǒng)校準(zhǔn)選項(xiàng),以消除器件本身或系統(tǒng)的增益和偏移誤差;
(7) 只需2.7~3.3V或4.75~5.25V單電源;
(8) CMOS結(jié)構(gòu)確保器件具有極低功耗,3V電壓時(shí),最大功耗為lmV;
(9)等待或掉電模式下,器件消耗的電源電流僅為10ptA;
(10)主時(shí)鐘頻率為1MHz或2.4576MHz,數(shù)據(jù)輸出更新頻率有20Hz、25Hz、100Hz、200Hz、
50Hz、60Hz、250Hz、500Hz八種選擇。
AD7705的引腳排列如圖2所示。其中SCLK, 串行時(shí)鐘輸入;MCLK IN/MCLK OUT,主
主時(shí)鐘信號(hào)輸入/輸出;CS,片選信號(hào),低電平有效;RESET,復(fù)位輸入端;AIN2(+)/AIN2(-),差分模擬輸入通道2的正/負(fù)輸入端;AINl(+)/AINl(-),差分模擬輸入通道1的正/負(fù)輸入端;DRDY,數(shù)據(jù)輸出準(zhǔn)備,當(dāng)它為低電平表示可從AD7705的數(shù)據(jù)寄存器中獲取新的輸出字;DOUT/DIN,串行數(shù)據(jù)輸出/輸入端;電源電壓,+2.7V一+5.25V;GND,內(nèi)部電路的地電位基準(zhǔn)點(diǎn)。
1.3工作時(shí)序
AD7705的讀寫時(shí)序如圖3所示。
注意在讀寫過(guò)程中串行數(shù)據(jù)的傳輸順序?yàn)楦呶辉谙?,低位在后,這與8031串行口的數(shù)據(jù)傳輸順序恰好相反。另外,在讀取A/D轉(zhuǎn)換結(jié)果時(shí),需先檢測(cè)麗位,只有在該位為低電平時(shí),才能讀取已更新的A/D轉(zhuǎn)換結(jié)果。
1.4片內(nèi)寄存器
AD7705片內(nèi)包括8個(gè)寄存器,其編程功能是通過(guò)對(duì)寄存器的設(shè)置來(lái)控制的,對(duì)這些寄存的讀/寫操作通過(guò)器件的串行接口來(lái)完成。
第1個(gè)是通信寄存器,它管理通道操作,決定下一個(gè)操作是讀操作還是寫操作,以及下一次讀或?qū)懩囊粋€(gè)寄存器。所有與器件有關(guān)的通信必須從寫入通信寄存器開始。上電或復(fù)位后,器件等待在通信寄存器上進(jìn)行一次寫操作,即接口的默認(rèn)狀態(tài)。在接口序列丟失的情況下,如果在DIN為高電平時(shí)的寫操作持續(xù)足夠長(zhǎng)的時(shí)間(至少32個(gè)串行時(shí)鐘周期),AD7705將會(huì)回到默認(rèn)狀態(tài)。此外,通信寄存器還控制等待模式和通道選擇,DRDY的狀態(tài)也可從它上面讀出。下表即為通信寄存器的各位說(shuō)明。
其中,0/DRDY位狀態(tài)與DRDY引腳狀態(tài)相同;RS2~RS0,寄存器選擇位;R/W,讀/寫操作選擇;STBY為高電平則處于等待或掉電模式;CHl~CH0,通道選擇。
第2個(gè)是設(shè)置寄存器,決定校準(zhǔn)模式、增益設(shè)置、單/雙極性輸入以及緩沖模式。
第3個(gè)是時(shí)鐘寄存器,包括濾波器選擇和時(shí)鐘控制位。
第4個(gè)是數(shù)據(jù)寄存器,它是16位只讀寄存器,器件輸出的數(shù)據(jù)從這個(gè)寄存器讀出。
最后是校準(zhǔn)寄存器組,它存儲(chǔ)通道校準(zhǔn)數(shù)據(jù),包括測(cè)試寄存器、零標(biāo)度校準(zhǔn)寄存器和滿標(biāo)度校準(zhǔn)寄存器。
2 AD7705的應(yīng)用
AD7705靈活的串行口使其能很容易地與大多數(shù)微處理器進(jìn)行連接,而且AD7705具有上述的多種優(yōu)點(diǎn),因而可將它直接與各種傳感器相連,構(gòu)成對(duì)采樣速率要求不高的數(shù)據(jù)采集系統(tǒng)。下面介紹一種AD7705結(jié)合8031單片機(jī)進(jìn)行壓力測(cè)量的硬件接口電路及編程方法。
2.1硬件接口電路
接口電路如圖4所示。
在此應(yīng)用中,壓力傳感器被安裝在一個(gè)橋式電路中,在它的OUT(+)和OUT(一)端輸出差分輸出電壓。橋式電路的激勵(lì)電壓用來(lái)為AD7705產(chǎn)生基準(zhǔn)電壓,因此,激勵(lì)電壓的變化不會(huì)造成系統(tǒng)內(nèi)的誤差。AD7705的第2個(gè)通道作為一個(gè)輔助通道來(lái)測(cè)量另一個(gè)變化,如溫度,以便消除溫度對(duì)系統(tǒng)的影響。將AD7705的CS直接接低電平,與8031單片機(jī)可采用2線連接。由于8031單片機(jī)的串行口通常用來(lái)與上位機(jī)進(jìn)行通信,在這種情況下,把AD7705的DO叭’和DIN線接在一起并與8031的P1.10相連以實(shí)現(xiàn)串行數(shù)據(jù)的輸入和輸出,同時(shí)必須使用一個(gè)100k12的上拉電阻。P1.1用來(lái)輸出串行時(shí)鐘信號(hào)。DRDY的狀態(tài)通過(guò)訪問(wèn)通信寄存器的首位(MSB)得到,以確認(rèn)數(shù)據(jù)寄存器是否進(jìn)行過(guò)更新。
2.2 AD7705的編程
以上具體說(shuō)明如何對(duì)AD7705進(jìn)行編程。為避免贅述,在本例中假定只選擇通道1作為有效通道(對(duì)通道2的數(shù)據(jù)采集編程可參照通道1),工作條件是增益為1,沒(méi)有濾波同步,雙極性模式,無(wú)緩沖,4.9512MHz的時(shí)鐘和50Hz的輸出更新速率。采集一次模擬信號(hào)的流程圖如圖5所示。由于C語(yǔ)言既有一般高級(jí)語(yǔ)言的特點(diǎn),又能直接操作系統(tǒng)硬件,而且具有良好的可移植性,所以用C語(yǔ)言進(jìn)行程序設(shè)計(jì)是單片機(jī)開發(fā)與應(yīng)用的必然趨勢(shì)。
本例采用Franklin C51編寫源程序,如下:
#include<re951.h>
#define uchar unsigned char
sbit P1-0=P1^0:
sbit P1-1=P1^1;
sbit ACC-0=ACC^0;
uchar RLC(a)/*左循環(huán)移位一位*/
{uchar a,b,C;
b=a》7;
C=a《1;
a=clb:
return(a);
}
void Writetoreg(a)/*移位寫入8位數(shù)據(jù)*/
{uchar i,a;
for(i=0;i<=7;i++)
{P1—0=1,P1—1=O;
ACC=RLC(a);
P1—0=ACC—O;P1.1=1;
}
}
uchar read()/*移位讀出8位數(shù)據(jù)*/
{uchar i;
for(i=0;i<7;i++)
{P1—0=1,P1—1=O;
ACC一0=P1一O;P1—1=1;
ACC=RLC(ACC);
}
retum(ACC)
}
void ADC7705(uchar idata*abc)/*一次模擬
數(shù)據(jù)采集*/
{uchar i,a,reglength=2;
Writetoreg(0x20);/*AD7705初始化*/
Writetoreg(0xoc);
Writetoreg(0x 10);
Writetoreg(0x40);
Writetoreg(0x00);
a=Read();/*讀通信寄存器*/
while(aIxl0)/*判斷面i麗位狀態(tài)*/
{Writetoreg(0x38);/*準(zhǔn)備讀數(shù)據(jù)寄存器*7
for(i=O;i<feglength;i++)
*adc=Read();
}
}
3結(jié)束語(yǔ)
AD7705是性能價(jià)格比較高的16位串行A/D轉(zhuǎn)換器,它的雙輸入通道對(duì)于需要輔助通道以測(cè)定變量用來(lái)修正主通道的系統(tǒng)特別適合。AD7705不僅能應(yīng)用于壓力測(cè)量,還可以應(yīng)用于溫度測(cè)量,以及低功率、單電源的智能發(fā)射器和電池監(jiān)控中。
參考文獻(xiàn)
1李朝青.單片機(jī)原理及接口技術(shù)[M].北京:北京航空航
天大學(xué)出版社,1994
2徐愛(ài)鈞,彭秀華.單片機(jī)高級(jí)語(yǔ)言C51應(yīng)用程序設(shè)計(jì)
[M].北京:電子工業(yè)出版社,1998
聯(lián)系客服