關鍵詞:模數轉換器;MAX1132;數據采集
1 引言
模數轉換器(ADC)是現代測控中非常重要的環(huán)節(jié),它一般分為串行模數轉換器和并行模數轉換器。后者雖然傳輸速度快,但引腳多、體積大、占用單片機口線多;而串行ADC的傳輸速率也可以做的很高,并且具有體積小、功耗低、占用單片機口線少等優(yōu)點。因此,串行ADC的應用越來越廣泛。
MAX1132是MAXIM公司生產的單電源、低功耗、16位、單/雙極性轉換的高精度串行逐次逼近型ADC。其內部帶有跟蹤/保持及校準電路,可使用內部或外部參考電壓及時鐘。采樣速率最高可達到200ksps?最低消耗電流為7.5mA。若工作于關閉模式,消耗電流可降低到2.5μA。該ADC可應用于工業(yè)過程控制、數據采集系統(tǒng)、便攜式數據記錄、醫(yī)療或掌上設備以及系統(tǒng)檢測等領域。
2 MAX1132的引腳功能
MAX1132是可編程的單通道ADC,采用20引腳SSOP封裝形式,其引腳排列如圖1所示。各引腳的功能如下:
REF:參考電壓緩沖輸出/ADC參考電壓輸入,可用作模數轉換的參考電壓;
REFADL:參考帶隙輸出端/參考帶隙緩沖輸入端;
AGND:模擬地;
AVDD:+5V±5%模擬電源;
DGND:數字地;
SHDN:關閉控制輸入端;
P0、P1、P2:分別為用戶可編程輸出0,1,2;
SSTRB:串行選通輸出端;
DOUT:串行數據輸出端;
RST:復位引腳;
SCLK:串行數據時鐘輸入端;
DVDD:+5V±5%數字電源;
DIN:串行數據輸入端;
CS:片選端;
CREF:旁路緩沖參考端;
AIN:模擬輸入端。
3 工作原理
MAX1132通常由時鐘將控制字節(jié)從串行數據輸入端(DIN)打入其內部移位寄存器,以決定其工作模式并啟動轉換。當CS變低或一次轉換(或校準)結束以后,DIN端接收到的第一個邏輯“1”被定義為控制字節(jié)的開始位(MSB)。在該位到達前,由時鐘打入DIN的邏輯“0”均無效,DIN的每位數據均在每個SCLK的上升沿打入MAX1132內部移位寄存器。值得注意的是:如果在當前的轉換完成以前,一個新的開始位被時鐘打入的話,當前的轉換就會被中斷,同時開始新的輸入信號采集。
MAX1132可用外部或內部時鐘完成逐次逼近轉換,但兩種模式均用外部時鐘將數據移入器件或從器件中移出。在外部時鐘模式下,數據的移入移出和轉換步驟均由外部時鐘控制。內部時鐘模式下的轉換時鐘由MAX1132內部時鐘發(fā)生器產生,速率最高可達8MHz。一般要求完成一次轉換的周期是8個SCLK的整數倍。MAX1132具有短采集(24SCLK)和長采集(32SCLK)兩種工作模式。單極性輸入時,直接輸出二進制數;雙極性輸入時,輸出的是二進制補碼。
MAX1132還帶有3個用戶可編程的輸出口(P0、P1、P2),它們均采用推挽式CMOS輸出,可用來驅動多路轉換開關或PGA。這三個編程口在缺省狀態(tài)下的輸出均為零,并且在硬件關閉模式期間均保持不變,此外,它們在上電置位時,也均被置零。
圖2
4?。停粒兀保保常驳膽?/B>
在筆者研制開發(fā)的網絡地電影像儀系統(tǒng)中,由于需要檢測的地電信號的幅值范圍較大,檢測信號精度要求高,信號采集時間短,而且需要采集的信號通道多,因此對ADC的性能提出了很高的要求。而MAX1132具有雙極性轉換模式,轉換的電壓范圍可達到-12V~+12V,比其他ADC轉換電壓范圍要寬;它的精度達到16位,轉換速度最高可達到200ksps,足以滿足系統(tǒng)對精度和速度的要求;雖然它內部沒有集成多路轉換開關,但本身帶有三個用戶可編程輸出口,可以很方便地控制一個多路轉換開關,以滿足系統(tǒng)信號采集通道多的要求;MAX1132采用單電源供電,內部帶有參考電壓,可簡化外圍電路,而且使用方便。基于以上特點,筆者選用了MAX1132。
圖2為MAX1132與單片機進行接口的電路。圖中將MAX1132的CS與單片機P1.0腳相連,MAX1132的片選端由單片機經P1.0腳發(fā)出信號選通;控制字節(jié)由單片機P1.1腳輸出到ADC的DIN端;轉換結果則由P1.2腳從ADC的DOUT端讀入單片機,讀取轉換數據的時鐘SCLK可由P1.4腳依次發(fā)出高低電平來構成;P1.3腳接至表示MAX1132工作狀態(tài)的串行選通輸出SSTRB,單片機則通過P1.3腳查詢ADC的工作狀態(tài);P0、P1、P2三個輸出連接到多路轉換開關以控制轉換通道的切換,而進行逐次逼近轉換的時鐘則由MAX1132內部時鐘發(fā)生器產生。
本應用選用MAX1132雙極性、內部時鐘、短采集模式的工作方式,其工作時序如圖3所示。圖中,tACQ是采集輸入信號的時間,tCONV是進行轉換所需要的時間。由圖可以看出,MAX1132在片選CS有效、開始位由DIN端打入后即可開始對輸入信號的采集,并一直到控制字節(jié)P2位進入其內部移位寄存器以后便可完成對輸入信號的采集。因此,當使用MAX1132的三個用戶可編程輸出口去控制一個多路開關時,要特別注意對輸入通道的切換時間。由于MAX1132在應用中需要在輸入端連接一個緩沖放大器,而這個緩沖放大器在輸入信號變化時需要一定的時間去響應信號的變化,所以輸入通道應該在信號采集完成以后馬上被切換,而不是在轉換完成以后再切換。也就是說,對MAX1132送當前轉換通道的控制字節(jié)時,就要將下一通道的控制信號(P2、P1、P0)送入其內部移位寄存器中并打開多路開關的下一通道,以確保緩沖放大器有足夠的時間響應信號的變化以準確完成轉換。此外,串行選通信號SSTRB在轉換開始時為低,轉換結束時變高,因此,可以利用它來對單片機產生中斷或采用查詢方式判斷轉換是否完成。片選CS在這種工作方式下可以不保持為低。轉換進行時,可由一個內部寄存器存儲轉換的數據。轉換結束后,可由SCLK時鐘在任意時刻將數據移出,轉換結果的最高位(MSB)會在SSTRB變高后出現在DOUT上。
圖3
下面給出一段完整的轉換和控制程序,以供參考:
START:CLR?。校保?;片選有效
MOV A,#0A0H ;控制字節(jié)
MOV R2,#08
DIN: CLR P1.4
RLC A
MOV P1.1,C ;送控制字
SETB P1.4
DJNZ R2,DIN
CLR P1.4
SETB P1.0
WAIT: JNB P1.3,WAIT
STORB: MOV R7,#16
CLR P1.0
LOOP: MOV C,P1.2 ;讀結果
MOV A,31H
RLC A
MOV 31H,A ;存高8位
MOV A,30H
RLC A
MOV 30H,A ??;存低8位
SETB P1.4
CLR P1.4
DJNZ R7,?。蹋希希?/P>
SETB P1.0
SA: SJMP SA
END
5 結束語
新型ADC芯片MAX1132與一般ADC芯片相比,由于其僅需單一+5V供電,同時帶有內部基準電壓且外圍電路簡單,因而可簡化電路設計。同時,基于MAX1132的串行接口也易于與單片機進行連接,而且占用單片機口線少,因而能用于較為復雜的系統(tǒng)開發(fā)。