主流A/D轉(zhuǎn)換芯片學(xué)習(xí)詳解(1):美信MAX197
A/D采樣及MAX197應(yīng)用
MAX197的內(nèi)部核心部分是一個采用逐次逼近方式的DAC,前端包括一個用來切換模擬輸入通道的多路復(fù)用器以及輸入信號調(diào)理和過壓保護(hù)電路。其內(nèi)部還建有一個2.5V的能隙基準(zhǔn)電壓源,管腳如圖3所示。本文引用地址:http://www.ex-cimer.com/article/154197.htm
圖3 MAX197引腳定義視圖
MAX197既可以使用內(nèi)部參考電壓源,也可以使用外部參考電壓源。當(dāng)使用內(nèi)部參考源時,芯片內(nèi)部的2.5V基準(zhǔn)源經(jīng)放大后向REF提供4.096V參考電平。這時應(yīng)在REF與AGND之間接入一個4.7μF電容,在REFADJ與AGND之間接入一個0.01μF電容。當(dāng)使用外部參考源時,接至REF的外部參考源必須能夠提供400μA的直流工作電流,且輸出電阻小于10Ω。如果參考源噪聲較大,應(yīng)在REF端與模擬信號地之間接一個4.7μF電容。模擬量輸入通道擁有±16.5V的過電壓保護(hù),即使在關(guān)斷狀態(tài)下,保護(hù)也有效。
通過將控制寄存器的ACQMOD位置0可選擇內(nèi)部采集控制模式。在內(nèi)部采集控制模式下,寫信號脈沖將開始一個由內(nèi)部定時控制長度的采集間隔。在6個時鐘周期長度的采集間隔結(jié)束時,將啟動下一個轉(zhuǎn)換。
在內(nèi)部采集控制模式下,MAX197的模擬信號輸入電路擁有5MHz的信號帶寬,當(dāng)使用內(nèi)部采集控制模式并使用外接2MHz時鐘時,可達(dá)到100kSa/s的通過速率。
通過將控制寄存器的ACQMOD位置1可選擇外部采集控制模式。采用外部采集控制模式是為了精確控制采樣孔徑或獨立控制采集和轉(zhuǎn)換時間。由用戶分別通過兩個寫信號脈沖控制采集間隔和開始轉(zhuǎn)換時間,第一個寫信號脈沖時將控制寄存器的ACQMOD位置1,開始一個采集間隔。第二個寫信號脈沖時將控制寄存器的ACQMOD位置0,結(jié)束采集間隔并開始轉(zhuǎn)換。然而,如果在第二個寫信號脈沖時將控制寄存器的ACQMOD位置1,則將開始又一個采集間隔。
在第一個寫信號脈沖和第二個寫信號脈沖時,控制寄存器中的模擬通道選擇位必須置相同的值。電源關(guān)斷模式控制位可以置不同的值。
選用AT89C51單片機(jī)作為主處理器。通過P0.0~P0.7與MAX197的D0~D7相連,既用于輸入MAX197的初始化控制字,也用于讀取轉(zhuǎn)換結(jié)果數(shù)據(jù)。 用AT89C51單片機(jī)的P2.7作片選信號,則MAX197的高位地址為7FH。選擇MAX197為軟件設(shè)置低功耗工作方式,所以置SHDN腳為高電平。本文采用外部基準(zhǔn)電壓,所以REFDJ接高電平,而REF則接外部輸入?yún)⒖茧妷?。AT89C51單片機(jī)的P1.1腳用做判讀高、低位數(shù)據(jù)的選擇線,直接與HBEN腳相連。MAX197的INT腳可與AT89C51的INT0相連,以便實現(xiàn)中斷,讀取轉(zhuǎn)換結(jié)果。MAX197只有8個通道,一共要采32路壓力值,用8片4選1的模擬開關(guān)實現(xiàn)。
在電路中,AGND和DGND應(yīng)相互獨立,各種電源與模擬地之間都用0.1mF電容來消除電源的紋波。
AX197的硬件電路設(shè)計如圖4所示。
圖4 MAX197連接原理圖
單片機(jī)數(shù)據(jù)采集程序設(shè)計如下:
void scan(uchar channel){ //channel為通道數(shù)
uchar conword,low8,high4,i; //定義變量
for(i=0;i《8;i++){
if(i》0)channel=channel》》1;
if(channel1){
conword=0x50+i;
P12=1;
XBYTE[0xE000]=conword; //讀取數(shù)據(jù)
while(P32==1){}
//P12=0;
P13=0;
low8=XBYTE[0xE000]; //低位處理
P13=1;
high4=XBYTE[0xE000]0x0F; //高位處理
SUMX[i]=high4*256+low8; //數(shù)據(jù)整合
}
}
}
根據(jù)系統(tǒng)的要求以及芯片的性能,選擇10ms為采樣的最小間隔。后面在PC端的程序可調(diào)整設(shè)定發(fā)送間隔,如果發(fā)送間隔大于采樣間隔,則將采樣得到的完整數(shù)據(jù)取均值后再發(fā)送,可以起到濾波的作用。
if(FREQ》=10){ //INTERVAL 設(shè)定采樣間隔為10ms
FREQ=0;
scanall();
NUM1++;
P16=0;
P17=0;
}
if(NUM1》=INTERVAL){ //interval 即為PC端發(fā)送的指令
for(i=0;i《32;i++){ //如果大于10ms則取平均值
if(SUM[i]!=0){
union{
ulong usum;
uchar ustr[4];
} nua;
uchar a;
transfer(i);
SUM[i]=SUM[i]/NUM1;
nua.usum=SUM[i];
a=nua.ustr[2];
transfer(a);
a=nua.ustr[3];
transfer(a);
SUM[i]=0;
}
}
NUM1=0;
NUM2++;
}
串行通信部分
圖5 MAX232通信連接原理圖
采用MAX232芯片與PC機(jī)通信,電路連接如圖5所示。
總結(jié)
將系統(tǒng)進(jìn)行實際測試,連續(xù)運(yùn)行14小時正常。該系統(tǒng)已用于水庫模型測量實驗中,運(yùn)行良好。將前端傳感器更換后,后級系統(tǒng)可以應(yīng)用于多種場合,另外加入保護(hù)電路后更可用于惡劣條件下。系統(tǒng)前級提供4~20mA的電流模擬信號,后級即可工作并將信號輸出,通用性較強(qiáng)。
評論