主流A/D轉換芯片學(xué)習詳解(1):美信MAX197
A/D采樣及MAX197應用
MAX197的內部核心部分是一個(gè)采用逐次逼近方式的DAC,前端包括一個(gè)用來(lái)切換模擬輸入通道的多路復用器以及輸入信號調理和過(guò)壓保護電路。其內部還建有一個(gè)2.5V的能隙基準電壓源,管腳如圖3所示。本文引用地址:http://dyxdggzs.com/article/154197.htm
MAX197既可以使用內部參考電壓源,也可以使用外部參考電壓源。當使用內部參考源時(shí),芯片內部的2.5V基準源經(jīng)放大后向REF提供4.096V參考電平。這時(shí)應在REF與AGND之間接入一個(gè)4.7μF電容,在REFADJ與AGND之間接入一個(gè)0.01μF電容。當使用外部參考源時(shí),接至REF的外部參考源必須能夠提供400μA的直流工作電流,且輸出電阻小于10Ω。如果參考源噪聲較大,應在REF端與模擬信號地之間接一個(gè)4.7μF電容。模擬量輸入通道擁有±16.5V的過(guò)電壓保護,即使在關(guān)斷狀態(tài)下,保護也有效。
通過(guò)將控制寄存器的ACQMOD位置0可選擇內部采集控制模式。在內部采集控制模式下,寫(xiě)信號脈沖將開(kāi)始一個(gè)由內部定時(shí)控制長(cháng)度的采集間隔。在6個(gè)時(shí)鐘周期長(cháng)度的采集間隔結束時(shí),將啟動(dòng)下一個(gè)轉換。
在內部采集控制模式下,MAX197的模擬信號輸入電路擁有5MHz的信號帶寬,當使用內部采集控制模式并使用外接2MHz時(shí)鐘時(shí),可達到100kSa/s的通過(guò)速率。
通過(guò)將控制寄存器的ACQMOD位置1可選擇外部采集控制模式。采用外部采集控制模式是為了精確控制采樣孔徑或獨立控制采集和轉換時(shí)間。由用戶(hù)分別通過(guò)兩個(gè)寫(xiě)信號脈沖控制采集間隔和開(kāi)始轉換時(shí)間,第一個(gè)寫(xiě)信號脈沖時(shí)將控制寄存器的ACQMOD位置1,開(kāi)始一個(gè)采集間隔。第二個(gè)寫(xiě)信號脈沖時(shí)將控制寄存器的ACQMOD位置0,結束采集間隔并開(kāi)始轉換。然而,如果在第二個(gè)寫(xiě)信號脈沖時(shí)將控制寄存器的ACQMOD位置1,則將開(kāi)始又一個(gè)采集間隔。
在第一個(gè)寫(xiě)信號脈沖和第二個(gè)寫(xiě)信號脈沖時(shí),控制寄存器中的模擬通道選擇位必須置相同的值。電源關(guān)斷模式控制位可以置不同的值。
選用AT89C51單片機作為主處理器。通過(guò)P0.0~P0.7與MAX197的D0~D7相連,既用于輸入MAX197的初始化控制字,也用于讀取轉換結果數據。 用AT89C51單片機的P2.7作片選信號,則MAX197的高位地址為7FH。選擇MAX197為軟件設置低功耗工作方式,所以置SHDN腳為高電平。本文采用外部基準電壓,所以REFDJ接高電平,而REF則接外部輸入參考電壓。AT89C51單片機的P1.1腳用做判讀高、低位數據的選擇線(xiàn),直接與HBEN腳相連。MAX197的INT腳可與AT89C51的INT0相連,以便實(shí)現中斷,讀取轉換結果。MAX197只有8個(gè)通道,一共要采32路壓力值,用8片4選1的模擬開(kāi)關(guān)實(shí)現。
在電路中,AGND和DGND應相互獨立,各種電源與模擬地之間都用0.1mF電容來(lái)消除電源的紋波。
AX197的硬件電路設計如圖4所示。

圖4 MAX197連接原理圖
單片機數據采集程序設計如下:
void scan(uchar channel){ //channel為通道數
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; //讀取數據
while(P32==1){}
//P12=0;
P13=0;
low8=XBYTE[0xE000]; //低位處理
P13=1;
high4=XBYTE[0xE000]0x0F; //高位處理
SUMX[i]=high4*256+low8; //數據整合
}
}
}
根據系統的要求以及芯片的性能,選擇10ms為采樣的最小間隔。后面在PC端的程序可調整設定發(fā)送間隔,如果發(fā)送間隔大于采樣間隔,則將采樣得到的完整數據取均值后再發(fā)送,可以起到濾波的作用。
if(FREQ》=10){ //INTERVAL 設定采樣間隔為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機通信,電路連接如圖5所示。
總結
將系統進(jìn)行實(shí)際測試,連續運行14小時(shí)正常。該系統已用于水庫模型測量實(shí)驗中,運行良好。將前端傳感器更換后,后級系統可以應用于多種場(chǎng)合,另外加入保護電路后更可用于惡劣條件下。系統前級提供4~20mA的電流模擬信號,后級即可工作并將信號輸出,通用性較強。
評論