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