1 概述 模/數(shù)轉(zhuǎn)換器(ADC)是現(xiàn)代測控中非常重要的環(huán)節(jié)。它有并行和串行兩種數(shù)據(jù)輸出形式。并行ADC雖然數(shù)據(jù)傳輸速度快,但有引腳多、體積大、占用微處理器接口多的缺點;而串行ADC的傳輸速率目前已經(jīng)可以做得很高,并且具有體積小、功耗低、占用微處理器接口少的優(yōu)點。因此,串行ADC的應(yīng)用越來越廣泛。 MAXll48是Maxim公司最新推出的一種真差分、8通道、14位逐次逼近、串行輸出模/數(shù)轉(zhuǎn)換器。處理器接口多的缺點;而串行ADC的傳輸速率目前 該器件具有轉(zhuǎn)換速率高、功耗低、接口方便的優(yōu)點,特別適用于工業(yè)過程控制、高精度數(shù)據(jù)采集、便攜式數(shù)字儀表、醫(yī)療儀器等領(lǐng)域。 2 MAX1148的特點和結(jié)構(gòu) 2.1 MAX1148的特點 ● 8路單端或4路差分輸入(內(nèi)置多路模擬開關(guān),由軟件設(shè)置)。 ● 單極性模式時輸出為二進制模式; 雙極性模式時輸出為二的補碼格式,1LSB=(VREF/2N); 數(shù)據(jù)在SCLK下降沿同步輸出,MSB先出。 ● 5V±5%單電源。 ● 內(nèi)部基準(zhǔn)電壓+4.096V或外接基準(zhǔn)。 ● 采樣速率:(116ksps); 120Aμ(10ksps); 12Aμ(1ksps); 300Aμ(關(guān)斷模式)。 ● 內(nèi)置T/H(跟蹤/保持)電路。 ● 內(nèi)部時鐘或外部串行時鐘(頻率范圍為0.1MHz"2.1MHz),可通過設(shè)置控制字中的PD1、PD0位進行選擇。 ● 提供一個硬關(guān)斷(將SHDN引腳置低)和兩個軟關(guān)斷(通過編程設(shè)置控制字中的PD1、PD0位來實現(xiàn))模式。 ● 與SPI/QSPI/MICROWIRE接口兼容。 2.2 MAX1148的結(jié)構(gòu) MAX1148采用14位逐次逼近寄存器(SAR)和輸入跟蹤/保持(T/H)電路,實現(xiàn)將模擬信號轉(zhuǎn)換成14位數(shù)字信號,并用串行方式輸出的功能,其內(nèi)部結(jié)構(gòu)如圖1所示。 MAX1148采用20引腳的功能如下: ● CH0-CH7(1-8):模擬輸入端。 ● COM(9):公共輸入端。單端模式下為模擬負(fù)輸入。單極性和雙極性模式下,當(dāng)轉(zhuǎn)換器輸入不為0,而希望轉(zhuǎn)換結(jié)果為0時,需在該端輸入相應(yīng)模擬電壓。 ● SHDN(10):關(guān)斷輸入,低電平有效。當(dāng)SHDN置低時,轉(zhuǎn)換器進入硬關(guān)斷模式,轉(zhuǎn)換立即中止。 ● REF(11):內(nèi)部基準(zhǔn)電壓輸出或外部基準(zhǔn)電壓輸入,它是模數(shù)轉(zhuǎn)換的基準(zhǔn)電壓。該電壓決定了ADC輸入范圍和滿量程輸出值。 MAX1148含有一個內(nèi)部1.25V帶隙基準(zhǔn),通過一個2kΩ電阻接至基準(zhǔn)緩沖器并引至REFADJ引腳。由于MAX1148的基準(zhǔn)緩沖器具有3.277V/V的增益,所以基準(zhǔn)緩沖器輸出引腳 REF直的電壓為4.096V,作為內(nèi)部基準(zhǔn)電壓使用。 如果使用外部基準(zhǔn)電壓,則有兩種使用方式: (1)禁止內(nèi)部基準(zhǔn)緩沖(將REFADJ端與VDD端直接相連),將外部基準(zhǔn)電壓(1.5V至VDD+50mV,輸出電流大于210μA)接至REF端即可(如圖3所示)。 (2)將外部基準(zhǔn)電壓連至REFADJ端,通過內(nèi)部基準(zhǔn)緩沖器,在REF引腳得到幅度為外部基準(zhǔn)電壓乘以基準(zhǔn)緩沖器增益3.277后的SAR ADC基準(zhǔn)電壓(如圖4所示)需要注意的是,在REF引測得的基準(zhǔn)電壓值必須在1.5V至VDD+50mV之間。 ●REFADJ(12):帶隙基準(zhǔn)輸出和基準(zhǔn)緩沖器輸入。REFADJ連至VDD時禁止內(nèi)部帶隙基準(zhǔn)和基準(zhǔn)緩沖放大器,其用法如前所述。 ●AGND(13):模擬地。 ●DGND(14):數(shù)字地。 ●DOIJT(15):串行數(shù)據(jù)輸出。CS置低時,數(shù)據(jù)在SCLK下降沿同步輸出。CS置高時,DOUT為高阻態(tài)。 ●SsTRB(16):串行觸發(fā)輸出,反映了ADC轉(zhuǎn)換狀態(tài)。 在內(nèi)部時鐘模式下,ADC轉(zhuǎn)換開始時,SSTRB由高變低,轉(zhuǎn)換完成后,SSTRB由低變高并保持兩個SCLK時鐘周期為高電平。從第三個SCLK時鐘周期開始,DOUT輸出轉(zhuǎn)換結(jié)果。 在外部時鐘模式下,ADC轉(zhuǎn)換開始時,SSTRB由低變高并保持兩個SCLK時鐘周期的高電平。從第三個SCLK時鐘周期開始,在進行ADC轉(zhuǎn)換的同時,DOUT輸出轉(zhuǎn)換結(jié)果。置高時,SSTRB為高阻。 ●DIN(17):串行數(shù)據(jù)輸入,用于輸入控制字。CS置低時,數(shù)據(jù)在SCIK上升沿同步輸入。CS置高時,DIN為高阻態(tài)。 ●CS(18):片選輸入,低電平有效。只有CS置低時,數(shù)據(jù)才可同步輸入(DIN)或輸出(DOUT)。 ●SCLK(19):串行時鐘輸入,是數(shù)據(jù)同步輸入或輸出的移位信號。在外部時鐘模式下,無論是SCLK還是ADC轉(zhuǎn)換時鐘.都決定了轉(zhuǎn)換速率(SCLK的占空比必須在40%至60%之間)。 ●VDD(20):電源輸入。用0.1μF電容器接至AGND。 3 工作原理 3.1 控制字格式 在啟動MAXll48進行A/D轉(zhuǎn)換之前.必須先由SCLK將控制字從DIN端送入其內(nèi)部輸入移位寄存器,以決定其工作模式并啟動轉(zhuǎn)換。 3.2 時鐘模式 MAXll48可用外部串行時鐘或內(nèi)部時鐘兩種模式來完成逐次逼近轉(zhuǎn)換。但是,不管哪種模式,數(shù)據(jù)的移人和移出都要由外部時鐘SCLK來完成。 在外部時鐘模式下,通過外部時鐘SCLK控制數(shù)據(jù)的移入和移出,同時SCLK還是模數(shù)轉(zhuǎn)換時鐘。在控制字的最后一位移人后,SSTRB由低變高并在保持兩個SCLK時鐘周期的高電平后變低。其后14個SCLK的每一個下降沿決定逐次逼近轉(zhuǎn)換結(jié)果每位的值,并在DOUT端輸出。需要注意的是,每次模數(shù)轉(zhuǎn)換都必須在較短時間內(nèi)完成,以避免采樣保持電容器上的壓降對轉(zhuǎn)換結(jié)果帶來的影響。如果外部串行時鐘SCLK的頻率低于100kHz;蛘哂捎诖袝r鐘的不連續(xù)使得轉(zhuǎn)換時間超過140μs,建議使用內(nèi)部時鐘模式。 在內(nèi)部時鐘模式時,MAXll48自身產(chǎn)生轉(zhuǎn)換時鐘,并允許微處理器以小于2.1MHz的時鐘頻率讀取轉(zhuǎn)換結(jié)果。在控制字的最后一位移入后,SSTRB由高變低,待轉(zhuǎn)換完成后由低變高,完成一次轉(zhuǎn)換的時間最長為8.0μs。在整個轉(zhuǎn)換期間,為了得到最佳的噪聲性能,SCLK應(yīng)保持低電平。在SSTRB變?yōu)楦唠娖街?從第二個SCLK開始的每一個SCLK下降沿,在DOUT端由高到低依次輸出轉(zhuǎn)換結(jié)果的各位的值。 3.3 A/D轉(zhuǎn)換過程 MAXll48在時鐘脈沖的作用下進行逐次逼近式A/D轉(zhuǎn)換,一般每24個時鐘周期完成一次轉(zhuǎn)換和讀出操作。內(nèi)部時鐘模式與外部時鐘模式的時序如圖5、圖6所示。 A/D轉(zhuǎn)換速度要求不是很高時,常選用內(nèi)部時鐘模式。現(xiàn)以內(nèi)部時鐘模式為例說明MAXll48的工作過程: 首先根據(jù)系統(tǒng)要求確定MAXll48的控制字,例如,需轉(zhuǎn)換0通道的單端單極性模擬量,控制字為8EH。然后向MAXll48輸入控制字并讀取轉(zhuǎn)換結(jié)果,其步驟為: (1)使片選端CS變?yōu)榈碗娖讲⒈3植蛔儯藭rDOUT處于低電平,SSTRB處于高電平; (2)在DIN輸入端由高到低依次輸入控制字各位的值。 具體做法是:首先使DIN端為高電平(輸入“l(fā)”),在第一個SCLK的上升沿將DIN的第一位數(shù)據(jù)“l(fā)”移入內(nèi)部移位寄存器中。即移入START開始位:以此類推,在后面7個SCIJK的上升沿分別將輸入DIN端的控制字其他位移入內(nèi)部移位寄存器中; (3)當(dāng)控制字的最后一位數(shù)據(jù)被移入之后(第8個SCLK的下降沿),轉(zhuǎn)換開始,SSTRB由高變低; (4)經(jīng)tcoNv之后,A/D轉(zhuǎn)換結(jié)束,SSTRB由低變高。 (5)在轉(zhuǎn)換結(jié)束后的任何時刻,通過SCLK時鐘將移位寄存器中的轉(zhuǎn)換結(jié)果(14位二進制數(shù))由DOUT端同步移出。具體做法是:從SSTRB置高后的第二個SCLK時鐘的下降沿開始,利用SCLK時鐘逐一將轉(zhuǎn)換后的結(jié)果從DOUT端移出,最高有效位在前。 4 MAXll48的應(yīng)用舉例 MAXll48通過DIN、DOUT、SCLK、SSTRB和CS5個信號與微處理器連接,其中,SSTRB是反映ADC轉(zhuǎn)換狀態(tài)的標(biāo)志.可以用查詢方式和中斷方式監(jiān)視此信號,以決定何時讀取轉(zhuǎn)換結(jié)果。如果是外部時鐘模式或內(nèi)部時鐘模式中的軟件延時,此信號可以空置不用。MAXll48與8位微處理器的典型連接如圖7所示。 下面給出內(nèi)部時鐘模式下完整的轉(zhuǎn)換和控制程序(轉(zhuǎn)換結(jié)果在30H和31H中),以供參考: START:CLR P1-3 :SCLK為低電平 CLR P1.0 :片選有效 MOV A,#lXXXXXl0B :控制字送A MOV R1,#08H :輸入控制字位數(shù) LPl:MOV C,ACC.7 :取控制字并送至DIN端口 MOV P1.1,C SETB P1.3 ;DIN端口數(shù)據(jù)移入內(nèi)部移 位寄存器 CLR P1.3 RL A :控制字移位 DJNZ R1,LPl LP2:JNB P1.4,LP2 ;檢測SSTRB,等待轉(zhuǎn)換結(jié)束 SETB P1.3 CLR P1.3 CLR A MOV R1,#06H ;讀入高6位數(shù)據(jù) LP3:RL A SETB P1.3 CLR P1.3 MOV C,P1.2 MOV ACC.0,C DJNZ R1,LP3 MOV 30H,A MOV R1,#08H ;讀入低8位數(shù)據(jù) LP4:RL A SETB P1.3 CLR P1.3 MOV C,P1.2 MOV ACC.0,C DJNZ R1,LP4 MOV 31H,A STAY:SJMP STAY END 外部時鐘模式編程與內(nèi)部時鐘模式基本相似, 只需把控制字改為#1XXXXXllB,并刪除上述程序中標(biāo)號為U)2的程序行即可。 5 結(jié)束語 隨著電子技術(shù)的不斷發(fā)展,各種串行接口電路的應(yīng)用越來越多.如串行A/D、D/A及各種接口電路等。與一般ADC器件相比,MAXll48具有單電源供電、自帶內(nèi)部基準(zhǔn)電壓、轉(zhuǎn)換精度高、外圍電路簡單、占用微處理器口線少、易于連接等優(yōu)點,適用于較復(fù)雜的測控系統(tǒng)。 |