16位高性能低功耗A/D轉換器AD7705及其應用
沈國民 王歡 謝軍龍
(華中科技大學(xué) 武漢,430074)
摘要:介紹了16位高性能、低功耗A/D轉換器AD7705的特點(diǎn),并給出了AD7705結合8031單片機進(jìn)行壓力測量的硬件接口電路及軟件編程方法。
關(guān)鍵詞:A/D轉換器單片機壓力測量
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是美國AD公司新近推出的一種低成本、高分辨率A/D轉換器,它適用于寬動(dòng)態(tài)范

圍測量、工業(yè)控制或工藝控制中的低頻信號的轉換。是用于智能系統、微控制系統和基于DSP系統的理想產(chǎn)品。其功能框圖如圖1所示。它具有如下功能及特點(diǎn):
(1)雙通道全差分模擬輸入,可接受直接來(lái)自傳感器的低電平的輸人信號;
(2)用Σ一△轉換技術(shù)實(shí)現了16位無(wú)丟失代碼性能,0.003%的非線(xiàn)性度;
(3)可編程增益前端,增益:1—128;
(4) 可配置成三線(xiàn)串行接口;
(5)信號極性以及更新速率的選擇可用串行輸入口由軟件來(lái)配置;
(6)該器件包括自校準和系統校準選項,以消除器件本身或系統的增益和偏移誤差;
(7) 只需2.7~3.3V或4.75~5.25V單電源;
(8) CMOS結構確保器件具有極低功耗,3V電壓時(shí),最大功耗為lmV;
(9)等待或掉電模式下,器件消耗的電源電流僅為10ptA;
(10)主時(shí)鐘頻率為1MHz或2.4576MHz,數據輸出更新頻率有20Hz、25Hz、100Hz、200Hz、
50Hz、60Hz、250Hz、500Hz八種選擇。

AD7705的引腳排列如圖2所示。其中SCLK, 串行時(shí)鐘輸入;MCLK IN/MCLK OUT,主
主時(shí)鐘信號輸入/輸出;CS,片選信號,低電平有效;RESET,復位輸入端;AIN2(+)/AIN2(-),差分模擬輸入通道2的正/負輸入端;AINl(+)/AINl(-),差分模擬輸入通道1的正/負輸入端;DRDY,數據輸出準備,當它為低電平表示可從AD7705的數據寄存器中獲取新的輸出字;DOUT/DIN,串行數據輸出/輸入端;電源電壓,+2.7V一+5.25V;GND,內部電路的地電位基準點(diǎn)。
1.3工作時(shí)序
AD7705的讀寫(xiě)時(shí)序如圖3所示。
注意在讀寫(xiě)過(guò)程中串行數據的傳輸順序為高位在先,低位在后,這與8031串行口的數據傳輸順序恰好相反。另外,在讀取A/D轉換結果時(shí),需先檢測麗位,只有在該位為低電平時(shí),才能讀取已更新的A/D轉換結果。

1.4片內寄存器
AD7705片內包括8個(gè)寄存器,其編程功能是通過(guò)對寄存器的設置來(lái)控制的,對這些寄存的讀/寫(xiě)操作通過(guò)器件的串行接口來(lái)完成。
第1個(gè)是通信寄存器,它管理通道操作,決定下一個(gè)操作是讀操作還是寫(xiě)操作,以及下一次讀或寫(xiě)哪一個(gè)寄存器。所有與器件有關(guān)的通信必須從寫(xiě)入通信寄存器開(kāi)始。上電或復位后,器件等待在通信寄存器上進(jìn)行一次寫(xiě)操作,即接口的默認狀態(tài)。在接口序列丟失的情況下,如果在DIN為高電平時(shí)的寫(xiě)操作持續足夠長(cháng)的時(shí)間(至少32個(gè)串行時(shí)鐘周期),AD7705將會(huì )回到默認狀態(tài)。此外,通信寄存器還控制等待模式和通道選擇,DRDY的狀態(tài)也可從它上面讀出。下表即為通信寄存器的各位說(shuō)明。

其中,0/DRDY位狀態(tài)與DRDY引腳狀態(tài)相同;RS2~RS0,寄存器選擇位;R/W,讀/寫(xiě)操作選擇;STBY為高電平則處于等待或掉電模式;CHl~CH0,通道選擇。
第2個(gè)是設置寄存器,決定校準模式、增益設置、單/雙極性輸入以及緩沖模式。
第3個(gè)是時(shí)鐘寄存器,包括濾波器選擇和時(shí)鐘控制位。
第4個(gè)是數據寄存器,它是16位只讀寄存器,器件輸出的數據從這個(gè)寄存器讀出。
最后是校準寄存器組,它存儲通道校準數據,包括測試寄存器、零標度校準寄存器和滿(mǎn)標度校準寄存器。
2 AD7705的應用
AD7705靈活的串行口使其能很容易地與大多數微處理器進(jìn)行連接,而且AD7705具有上述的多種優(yōu)點(diǎn),因而可將它直接與各種傳感器相連,構成對采樣速率要求不高的數據采集系統。下面介紹一種AD7705結合8031單片機進(jìn)行壓力測量的硬件接口電路及編程方法。
2.1硬件接口電路
接口電路如圖4所示。

在此應用中,壓力傳感器被安裝在一個(gè)橋式電路中,在它的OUT(+)和OUT(一)端輸出差分輸出電壓。橋式電路的激勵電壓用來(lái)為AD7705產(chǎn)生基準電壓,因此,激勵電壓的變化不會(huì )造成系統內的誤差。AD7705的第2個(gè)通道作為一個(gè)輔助通道來(lái)測量另一個(gè)變化,如溫度,以便消除溫度對系統的影響。將AD7705的CS直接接低電平,與8031單片機可采用2線(xiàn)連接。由于8031單片機的串行口通常用來(lái)與上位機進(jìn)行通信,在這種情況下,把AD7705的DO叭’和DIN線(xiàn)接在一起并與8031的P1.10相連以實(shí)現串行數據的輸入和輸出,同時(shí)必須使用一個(gè)100k12的上拉電阻。P1.1用來(lái)輸出串行時(shí)鐘信號。DRDY的狀態(tài)通過(guò)訪(fǎng)問(wèn)通信寄存器的首位(MSB)得到,以確認數據寄存器是否進(jìn)行過(guò)更新。
2.2 AD7705的編程
以上具體說(shuō)明如何對AD7705進(jìn)行編程。為避免贅述,在本例中假定只選擇通道1作為有效通道(對通道2的數據采集編程可參照通道1),工作條件是增益為1,沒(méi)有濾波同步,雙極性模式,無(wú)緩沖,4.9512MHz的時(shí)鐘和50Hz的輸出更新速率。采集一次模擬信號的流程圖如圖5所示。由于C語(yǔ)言既有一般高級語(yǔ)言的特點(diǎn),又能直接操作系統硬件,而且具有良好的可移植性,所以用C語(yǔ)言進(jìn)行程序設計是單片機開(kāi)發(fā)與應用的必然趨勢。

本例采用Franklin C51編寫(xiě)源程序,如下:
#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)/*移位寫(xiě)入8位數據*/
{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位數據*/
{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)/*一次模擬
數據采集*/
{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);/*準備讀數據寄存器*7
for(i=O;i<feglength;i++)
*adc=Read();
}
}
3結束語(yǔ)
AD7705是性能價(jià)格比較高的16位串行A/D轉換器,它的雙輸入通道對于需要輔助通道以測定變量用來(lái)修正主通道的系統特別適合。AD7705不僅能應用于壓力測量,還可以應用于溫度測量,以及低功率、單電源的智能發(fā)射器和電池監控中。
參考文獻
1李朝青.單片機原理及接口技術(shù)[M].北京:北京航空航
天大學(xué)出版社,1994
2徐愛(ài)鈞,彭秀華.單片機高級語(yǔ)言C51應用程序設計
[M].北京:電子工業(yè)出版社,1998
聯(lián)系客服