1 概述
MAX1032是Maxim公司最新推出的一種多通道、多量程、低功耗、分辨率為14位的串行輸出模數(shù)轉(zhuǎn)換器。該器件具有轉(zhuǎn)換速率高、功耗低、接口方便等優(yōu)點,特別適合在航空電子、數(shù)據(jù)采集、工業(yè)控制、多媒體、機器人等領(lǐng)域的應(yīng)用。
2 MAX1032的特性和結(jié)構(gòu)
2.1 MAX1032的特性
(1)輸入通道:八個單端或四個差分模擬輸入;
(2)輸入范圍:由軟件編程確定(每通道獨立), 單端輸入范圍為0V到+6V、 -6V到0V、 0V到+12V、-12V到0V、 ±3V、±6V及± 12V,;差分輸入范圍為±6V、±12V及±24V ;
(3)接口特性:數(shù)據(jù)和信號接口電平與SPITM/QSPITM/MICROWIRETM兼容,可以和供電電壓為2.7V至5.25V的計算機系統(tǒng)直接連接;
(4)采樣速率: 115ksps;
(5)基準(zhǔn)電壓:可采用內(nèi)部基準(zhǔn),也可采用外部基準(zhǔn),基準(zhǔn)電壓范圍3.800V~4.136V。
2.2 MAX1032的結(jié)構(gòu)
MAX1032內(nèi)置14位逐次逼近寄存器和輸入跟蹤/保持電路,實現(xiàn)將模擬信號轉(zhuǎn)換成14位數(shù)字信號,數(shù)據(jù)輸出方式為串行。其內(nèi)部結(jié)構(gòu)和引腳排列分別如圖1、圖2所示。
?。?)CH0-CH7:模擬信號輸入端。
?。?)CS:片選輸入,低電平有效。只有置低時,數(shù)據(jù)才可同步輸入(DIN)或輸出(DOUT)。
?。?)DIN:串行數(shù)據(jù)輸入。在CS為低時,DIN上的數(shù)據(jù)在SCLK的上升沿時刻輸入片內(nèi)。
?。?)SSTRB:串行觸發(fā)輸出。在內(nèi)部時鐘模式下,SSTRB的上升沿跳變表明轉(zhuǎn)換完成;在外部時鐘模式下,SSTRB一直為低電平。
?。?)SCLK:串行時鐘輸入。
?。?)DOUT:串行數(shù)據(jù)輸出。在CS為低時,DOUT上的數(shù)據(jù)在SCLK的下降沿時刻輸出;CS置高時,DOUT為高阻狀態(tài)。
?。?)REF:內(nèi)部基準(zhǔn)電壓輸出或外部基準(zhǔn)電壓輸入。在外部參考電壓模式下,REF端可連接由外部電路提供的3.800V-4.0136V的基準(zhǔn)電壓;在內(nèi)部參考電壓模式下,REF端與AGND1端之間必須連接容量為1uF的濾波電容。
圖1 圖1 MAX1032的內(nèi)部結(jié)構(gòu)
圖2 MAX1032的引腳
3 工作原理
在進(jìn)行A/D轉(zhuǎn)換之前,要確認(rèn)被轉(zhuǎn)換的模擬信號是否滿足模數(shù)轉(zhuǎn)換器只有17KΩ輸入阻抗的要求,然后向MAX1032依次送入信號輸入控制字和工作模式控制字。
3.1 信號輸入控制字
信號輸入控制字用來選擇被轉(zhuǎn)換的模擬通道、轉(zhuǎn)換方式和轉(zhuǎn)換范圍,其格式如表1所示。
表1 信號輸入控制字
3.2 工作模式控制字
MAX1032有外部時鐘、外部采樣、內(nèi)部時鐘等三種工作模式,通過表2所示的工作模式控制字進(jìn)行選擇。
?。?) 外部時鐘模式。在此模式下能達(dá)到最快的轉(zhuǎn)換速率。SCLK控制模擬信號的采集及轉(zhuǎn)換,這樣在模擬信號的獲取時,更加便于精度的控制。
?。?) 外部采樣模式。在此模式下以最慢的轉(zhuǎn)換速率達(dá)到最大限度的吞吐量。其主要特點是由SCLK控制模擬信號的采集、內(nèi)部時鐘控制模擬信號的轉(zhuǎn)換。在前15個時鐘周期內(nèi)CS必須保持低電平,然后發(fā)生跳變并保持高電平。為了得到最佳的轉(zhuǎn)換效果,應(yīng)將DIN和SCLK置空閑位。
?。?) 內(nèi)部時鐘模式。在此模式下,內(nèi)部時鐘控制模擬信號的采集和轉(zhuǎn)換,內(nèi)部時鐘在SCLK的第8個周期的下降沿后的100ns-400ns時間內(nèi)啟動轉(zhuǎn)換,其速率大約為4.5MHz。轉(zhuǎn)換結(jié)束后,SSTRB置位高電平、CS置位低電平導(dǎo)出轉(zhuǎn)換結(jié)果。
表2 工作模式控制字
4 應(yīng)用舉例
本文以MAX1032在DS87C520中的應(yīng)用為例,介紹MAX1032與CPU的接口方法與軟件設(shè)計。
DS87C520介紹
達(dá)拉斯公司生產(chǎn)的DS87C520是一種新型高速全靜態(tài)CMOS單片機,其引腳和指令集與8051單片機完全兼容。DS87C520的處理器核心經(jīng)過重新設(shè)計,一個機器周期只占4個時鐘周期。實際應(yīng)用表明,若時鐘頻率相同,DS87C520執(zhí)行相同指令的速度是8051的1.5到3倍,加上DS87C520最高時鐘頻率為33MHz,而8051僅為12MHz,因此DS87C520為一款高速單片機,可以滿足高速數(shù)據(jù)傳輸過程中的速率要求。此外,DS87C520還有兩個全雙工串行口、13個中斷源、16KB片內(nèi) EPROM、1KB片內(nèi)SRAM、雙數(shù)據(jù)指針、電源電壓下降自動復(fù)位、可編程看門狗定時器等豐富的硬件功能,使其具有了廣闊的應(yīng)用領(lǐng)域與前景。
MAX1032與DS87C520的連接
圖3是MAX1032與DS87C520的應(yīng)用連接。在本例中,我們采取的是內(nèi)部時鐘模式,工作模式控制字為10101000B。為了提高計算機系統(tǒng)的抗干擾能力,在MAX1032與DS87C520之間增加了高速光電耦合器6N136,以隔離現(xiàn)場干擾對計算機的影響。對MAX1032的控制是通過DS87C520的P1口進(jìn)行的。其中,SSTRB反映了A/D轉(zhuǎn)換的工作狀態(tài),可以用查詢方式或中斷方式監(jiān)測該信號,以便及時讀取正確的轉(zhuǎn)換結(jié)果。
程序采用C51語言編寫,并在KEILC51 V6.20環(huán)境下通過了調(diào)試。程序的編寫思路是:定義DS87C520的P1.0為MAX1032的片選信號CS,P1.1為數(shù)據(jù)輸入DIN,P1.2為數(shù)據(jù)輸出DOUT,ALE提供MAX1032的時鐘信號SCLK。在確定并送入信號輸入控制字和工作模式控制字后,A/D轉(zhuǎn)換被啟動,經(jīng)過一段時間的延時(A/D轉(zhuǎn)換),SSTRB端發(fā)生上升沿跳變,表明A/D轉(zhuǎn)換結(jié)束。在時鐘SCLK的作用下,從數(shù)據(jù)輸出端DOUT讀出兩個字節(jié)長度的轉(zhuǎn)換結(jié)果。將讀出的數(shù)據(jù)存入兩個無符號字符變量中,將這2個字符變量拼成一個16位無符號整型變量作用函數(shù)返回值返回,返回值的低14位有效。
圖3 MAX1032與DS87C520的連接
4.3 軟件設(shè)計
按照圖3連接的系統(tǒng),完整的A/D轉(zhuǎn)換子程序如下:
// 采用P1口作控制
sbit DOUT = P1^2 ; // 數(shù)據(jù)輸出
sbit CS = P1^0 ; // MAX1032片選
#define uint unsigned int
?。efine uchar unsigned char
//MAX1032 14位A/D操作程序
uint max1032(void)
{ uchar i;
uchar hbyte,lbyte;
cs=0; //低電平有效,開始轉(zhuǎn)換
for(i=0;i<8;i++) //延時,等待轉(zhuǎn)換結(jié)束
{
_nop_();
}
SCLK=1;
SCLK=0;
//開始讀數(shù)據(jù)
hbyte=0;
for(i=0;i<6;i++) //高6位
{
DOUT=1;
SCLK=1;
if (DOUT)
{ hbyte="Ox01"; }
SCLK=0;
if (i!=5)
{ hbyte<<=1; }
}
lbyte=0;
for(i=0;i<8;i++) //低8位
{
DOUT=1;
SCLK=1;
if (DOUT)
{ lbyte="Ox01"; }
SCLK=0;
if (i!=7)
{ lbyte<<=1;}
}
}
5 結(jié)論
Maxim公司的高性能A/D系列的產(chǎn)品已在多種場合得到了廣泛的應(yīng)用,如高精度數(shù)據(jù)采集系統(tǒng)、工業(yè)過程控制、便攜式數(shù)字儀表、醫(yī)療儀器等。本文介紹了Maxim最新推出的14位多通道串行ADC MAX1032的性能和特點,給出了典型的應(yīng)用實例及程序,讀者可將其靈活運用于自己的系統(tǒng)設(shè)計中。 本文作者創(chuàng)新點:作者在介紹最新模數(shù)轉(zhuǎn)換器件的基礎(chǔ)上,依據(jù)長期的科研和教學(xué)實踐經(jīng)驗,提出了模數(shù)轉(zhuǎn)換器件與CPU連接時的抗干擾設(shè)計。由于串行輸出的模數(shù)轉(zhuǎn)換器引腳少,與CPU的連接簡單,因此這種設(shè)計方法具有普遍的指導(dǎo)意義。