新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > MAX1247芯片在MCS-51系列中的應用

MAX1247芯片在MCS-51系列中的應用

作者: 時間:2006-05-07 來源:網(wǎng)絡 收藏

摘要:是美國MAXIM公司生產(chǎn)的一種新型12位A/D轉(zhuǎn)換器。文中介紹了它的功能、工作模式及轉(zhuǎn)換參數(shù),并給出了與MCS-51的軟件程序。

是一種12位的A/D轉(zhuǎn)換器。它帶有一個四通道的復用器一個高帶寬的采樣/保持器。可采用總線結(jié)構和單片機相連,其供電電壓在+2.7~+5.25V之間,可實現(xiàn)4路或2路的數(shù)據(jù)轉(zhuǎn)換,并可通過軟件實現(xiàn)多種轉(zhuǎn)換模式。

1 引腳排列

MAX1247的引腳排列如圖1所示,各引腳功能說明如下:

1腳(VDD):電源端

2~5腳(CH0~CH3):四個采樣模擬信號輸入端;

6腳(COM):模擬信號輸入的地參考電壓,在單通道模式中,該腳必須連至地且必須穩(wěn)定在-0.5LSB~+0.5LSB。

7腳(SHDN):關閉輸入控制端,為低時,將使器件掉電;為高時,將使參考緩沖區(qū)放大器處于內(nèi)部補償模式;將其浮動,則使參考緩沖區(qū)放大器處于外部補償模式;

8腳(VREF):ADC參考輸入,是模數(shù)轉(zhuǎn)換的參考電壓,可用此腳來控制模式輸入的電壓范圍。該腳電壓最大為5.05V;

9腳(REFADJ):參考緩沖區(qū)放大器的輸入,要使參考緩沖區(qū)放大器無效,需將其拉至VDD;

10腳(AGND):模擬地;

11腳(DGND):數(shù)字地;

12腳(DOUT):串行數(shù)據(jù)輸出,數(shù)據(jù)在SCLK的下降沿輸出。當CS為高時,該端為高阻態(tài);

13腳(SSTRB):轉(zhuǎn)換結(jié)束腳,當處于內(nèi)部時鐘模式,且芯片開始轉(zhuǎn)換時,該腳變低,但若轉(zhuǎn)換結(jié)束,該腳變高;在外部時鐘模式下,在MSB開始形成之前,該腳維持一個時鐘脈沖的高電平。

14腳(DIN):串行數(shù)據(jù)輸入,數(shù)據(jù)在SCLK的上升沿被鎖存;

15腳(CS):片選信號;

16腳(SCLK):串行時鐘輸入,用來進行串行數(shù)據(jù)的輸入和輸出。

2 工作模式

MAX1247有四種工作模式,具體說明如下:

●UNIpolar/Bipolar:在UNIpolar模式下,模擬輸入的信號量可在0V~VREF之間,而在Bipolar模式下,模擬輸入的信號量可在-VREF/2~VREF/2之間;

●Full power-down/fast power-down:掉電模式;

●Internal clock mode/External clock mode(內(nèi)部時鐘/外部時鐘):在外部時鐘模式下,外部時鐘不僅要控制數(shù)據(jù)的移入和移出,而且要驅(qū)動模數(shù)轉(zhuǎn)換,并要求模數(shù)轉(zhuǎn)換必須在一定的時間內(nèi)結(jié)束,否則將使轉(zhuǎn)換結(jié)果降低,如果外部時鐘的頻率低于100kHz,最好用內(nèi)部時鐘模式;在內(nèi)部時鐘模式下,芯片將自動生成轉(zhuǎn)換用時鐘,這使得單片機不用主動生成轉(zhuǎn)換用時鐘,使可將轉(zhuǎn)換結(jié)果讀入(讀入讀出時鐘可在0~2MHz范圍之內(nèi));

●Single-ended/Differential:在Single-ended模式下,輸入信號電壓量和COM口構成相對電壓。在Differential模式下,CH0/CH1間也將構成,CH2/CH3間將構成,因而在Single-ended模式下,最大可構成四路模擬量輸入,而在Differential模式下,最大可構成兩路模擬量輸入,單通道模式和模式下的通道選擇見表1。

表1 通道選擇

單通道模式SEL2SEL1SEL0CH0CH1CH2CH3COM
001+   -
101 +  -
010  + -
110   +-
差分輸入模式SEL2SEL1SEL0CH0CH1CH2CH3 
001+-   
010  +- 
101-+   
110  -+ 

3 模數(shù)轉(zhuǎn)換的開始和結(jié)束

當CS為低時,通過將一個控制字節(jié)由CLK端送入DIN腳,可以將第一個到達的邏輯“1”位定義為控制字的開始(MSB),控制字的格式如下:

對控制字各位的解釋見表2所列。當芯片接受到該控制字后,器件開始進行模數(shù)轉(zhuǎn)換,在經(jīng)過一段時間的延時后,再接收ROUT上的數(shù)據(jù),該數(shù)據(jù)為所轉(zhuǎn)換的數(shù)字量。把CS拉高,將結(jié)束本次轉(zhuǎn)換過程。

表2 控制字各位的解釋

名 稱

解 釋

7START當CS選通后,該位為1表示一個控制字的開始
6SEL2這3位選擇四個通道中選擇那一個在本次轉(zhuǎn)換中使用(參見表3)
5SEL1
4SEL0
3UNI/BIPi=Single-end 0=differuantial
2SGL/DIFI=Single-end 0=differantial
1
0(LSB)
PD1
PD0
PD1 PD0 模式
0 0 完全掉電模式
0 1 快速掉電模式
1 0 內(nèi)部時鐘模式
1 1 外部時鐘模式

4 模擬量與數(shù)字量的關系

4.1 關系

對于Bipolar模式,其輸入模擬量的電壓范圍為-VREF+Vcom~+VREF+Vcom,將該電壓范圍分成4096等份,則1LSB=VREF/4096,相應的數(shù)字電壓范圍為8FF~7FF,例如:000代表Vcom,7FF代表+VREF+Vcom。

對于UNIpolar模式,其輸入模擬量的電壓范圍為Vcom~VREF+Vcom,將該電壓范圍分為4096等份,則1LSB=VREF/4096,相應的數(shù)字電壓范圍為000~FFF,例如:000代表Vcom,F(xiàn)FF代表+VREF+Vcom。

4.2 數(shù)字量的輸出

MAX1247一共輸出兩個字節(jié),每個字節(jié)都是高位在先,其結(jié)構如下:

5 程序

以下以給主MAX1247發(fā)送命令字以及從MAX1247接收采樣數(shù)據(jù)為例,給出一個簡單的程序的示例。

send1247data: ;發(fā)送命令字子程序(A中為要發(fā)送的命令)

mov rotcount,#08h

clr do

clr cs ;將CS變低

rot-next:

nop

nop

clr clk ;將CLK變低

rlc a ;移出第一位

mov din,c

setb clk ;發(fā)送第一位

djnz rotcount,rot-next

nop

clr clk ;啟動轉(zhuǎn)換

setb cs ;將片選拉高

ret

recdata: ;數(shù)據(jù)接收子程序

clr din

clr cs ;將片選拉低

nop

nop

setb clk

mov rotcount,#08h

recl-next:

clr clk ;發(fā)送下降沿

nop

nop

mov c,do ;移入數(shù)據(jù)

rlc a

setb clk

nop

dinz rotcount,recl-next

push a ;保存接收到的高位數(shù)據(jù)

mov rotcount,#08h ;為接收作準備

rec2-next:

clr clk ;發(fā)下降沿

nop

nop

mov c,do

rlc a

setb clk

nop

djnz rotcount,rec2-next

setb cs

mov b,a

pop a

ret



評論


相關推薦

技術專區(qū)

關閉