1 AD7810引腳功能
????????????????????????????????????
AD7810引腳排列如圖1所示,各引腳的功能如下:
? ?? ?? ?1 腳CONVST:轉(zhuǎn)換啟動(dòng)輸入信號(hào)。
? ?? ?? ?2 腳VIN+:模擬信號(hào)同相輸入端。
? ?? ?? ?3 腳VIN-:模擬信號(hào)反相輸入端。
? ?? ?? ?4 腳GND:接地端口。
? ?? ?? ?5 腳VREF:轉(zhuǎn)換參考電壓輸入端。
? ?? ?? ?6 腳DOUT:串行數(shù)據(jù)輸出端。
? ?? ?? ?7 腳SCLK:時(shí)鐘輸入端。
? ?? ?? ?8 腳VDD:電源端。
2 AD7810主要參數(shù)
AD7810的主要參數(shù)如下:
3.1 高速模式工
- 分辨率:10位二進(jìn)制;
- 轉(zhuǎn)換時(shí)間:2μs;
- 非線性誤差:±1LSB;
- 電源電壓范圍:2.7~5.5V;
- 電源功耗:高速方式時(shí)為17.5mW,低功耗方式時(shí)為5μW;
- 參考電壓VEFR范圍:1.2V~VDD;
- 模擬電壓輸入范圍:0V~VREF;
- 輸出形式:SPI同步串行輸出,與TTL電平兼容。
????????????
圖2是AD7810工作在高速模式時(shí)的時(shí)序圖。在此模式下,啟動(dòng)信號(hào)CONVST一般處于高電平。在CONVST端輸入一個(gè)負(fù)脈沖,其下降沿將啟動(dòng)一次轉(zhuǎn)換。若采用內(nèi)部時(shí)鐘,那么,轉(zhuǎn)換需要2μs的時(shí)間(圖中t1)。當(dāng)轉(zhuǎn)換結(jié)束時(shí)(圖中A點(diǎn)),AD7810會(huì)自動(dòng)將轉(zhuǎn)換結(jié)果鎖存到輸出移位寄存器中。此后,在每一個(gè)SCLK脈沖的上升沿,數(shù)據(jù)按由高到低的原則(首先發(fā)送DB9,最后發(fā)送DB0)依次出現(xiàn)在DOUT上。如果在轉(zhuǎn)換還未結(jié)束之前就發(fā)出SCLK信號(hào)來啟動(dòng)數(shù)據(jù)輸出,那么,在DOUT上出現(xiàn)的將是上一次轉(zhuǎn)換的結(jié)果。??
啟動(dòng)信號(hào)CONVST應(yīng)在轉(zhuǎn)換結(jié)束前變?yōu)楦唠娖剑磘3應(yīng)小于t1,否則器件將自動(dòng)進(jìn)入低功耗模式。另外,串行時(shí)鐘SCLK的最高頻率不能超過20MHz。??
3.2 自動(dòng)低功耗模式
?????
圖3是AD7810工作在自動(dòng)低功耗模式時(shí)的時(shí)序圖。在此模式下,啟動(dòng)信號(hào)CONVST為低電平時(shí),器件處于低功耗休眠狀態(tài)。當(dāng)在CONVST端輸入一個(gè)正脈沖時(shí),可在其上升沿將器件從休眠狀態(tài)喚醒,喚醒過程需要1μs的時(shí)間(圖中t2)。當(dāng)器件被喚醒后,系統(tǒng)將自動(dòng)啟動(dòng)一次轉(zhuǎn)換,轉(zhuǎn)換時(shí)間也是2μs(圖中t1)。轉(zhuǎn)換結(jié)束時(shí),AD7810將轉(zhuǎn)換結(jié)果鎖存到輸出移位寄存器中,同時(shí)自動(dòng)將器件再一次置于低拉耗狀態(tài)。
啟動(dòng)信號(hào)CONVST正脈沖的寬度(圖2中t3)應(yīng)小于1μs,否則器件被喚醒后將不會(huì)自動(dòng)啟動(dòng)轉(zhuǎn)換,而是將A/D轉(zhuǎn)換的啟動(dòng)時(shí)間順延至CONVST的睛降沿處。自動(dòng)低功耗模式是AD7810是一大特鐸,一般當(dāng)數(shù)據(jù)吞吐率小于100kSPS時(shí),應(yīng)使器件工作在此模式下。在5V電源電壓下,當(dāng)數(shù)據(jù)吞吐率為100kSPS時(shí),器件的功耗2.7mW;而當(dāng)數(shù)據(jù)吞吐率為 10kSPS時(shí),功耗為270μW;若數(shù)據(jù)吞吐率為1kSPS,則其功耗僅27μW。??
4 AD7810的典型應(yīng)用
??????????
AD7810應(yīng)用時(shí)幾乎不需外圍元件。圖4所示是其典型應(yīng)用電路,其參考電壓VREF接至VDD,模擬輸入VIN-接至GND,而待轉(zhuǎn)換電壓則從VIN+輸入。
AD7810 幾乎可與各種MCU進(jìn)行接口,圖4中的MCU可以是8051 或PIC16C6X/7X。當(dāng)與PIC16C6X/7X系列單片機(jī)進(jìn)行接口時(shí),可將SCLK接至單片機(jī)的SCK(RC3),將DOUT接至SDI(RC4),而其啟動(dòng)信號(hào)CONVST則可接至單片機(jī)的任意輸出口上(如RC0)。由于PIC單片機(jī)的 SPI方式每次只能接收8位數(shù)據(jù),因此10位數(shù)據(jù)應(yīng)分兩次讀取。當(dāng)AD7810與8051接口時(shí),電路采用的是一種模擬串口方式,AD7810的 SCLK、DOUT和CONVST分別接至8051的P1.0、P1.1和P1.2,只要嚴(yán)格按照AD7810的時(shí)序要求操作,一般接口都不會(huì)有問題。這種方式實(shí)際上可擴(kuò)展到所有的MCU種類。另外,8051也可利用其串行口工作方式0與AD7810進(jìn)行通訊(圖中未畫出),但這時(shí)應(yīng)解決好兩個(gè)問題:一是由于8051在TXD的上升沿進(jìn)行采樣,這樣,TXD應(yīng)經(jīng)過一個(gè)反相器再接到SCLK,而將RXD接至DOUT,然后將CONVST接至任意一個(gè)輸出端口。二是8051串行口首先接收低位數(shù)據(jù),這一點(diǎn)與AD7810剛好相反,因此,編程時(shí)應(yīng)當(dāng)注意。
下面給出PIC16C6X/7X和8051分別與AD7810進(jìn)行通訊的兩段程序,作者只對(duì)與A/D轉(zhuǎn)換有關(guān)的部分進(jìn)行了編寫(常用資源定義、芯片定義等均未列出),兩段程序均可鈄AD7810的工作控制在自動(dòng)低功耗方式。8051與AD7810通訊程序如下:
START:CLR P1.0 ;初始化
SETB P1.0
CLR P1.2
LOOP:CALL CON0
... ;主程序省略
;
;A/D轉(zhuǎn)換子程序,返回時(shí)數(shù)據(jù)低8位在R2中,高2位在R3中
CON0:MOV R1,#`10 ;10位數(shù)據(jù)
MOV R2,#0
SETB P1.2 ;喚醒啟動(dòng)AD7810
CLR P1.2
CON1:SETB P1.0 ;發(fā)送SCLK信號(hào)
MOV C,P1.1 ;讀一位數(shù)據(jù)
CLR P1.0
MOV A,R2 ;數(shù)據(jù)移位
RLC A
MOV R2,A
MOV A,R3
RLC A
MOV R3,A
DJNZ R1,CON1
RET
PIC16C6X/7X與AD7810的通訊程序如下:
REG1 EQU 0X20 ;寄存器定義
REG2 EQU 0X21
CLRF PORTC ;端口初始化
BSF STATUS,RP0
MOVLW 0X30
MOVWF TRISC
BCF STATUS,PR0
BCF SSPCON,SSPEN
MOVLW 0X00 ;SPI初始化
MOVWF SSPCON
BSF SSPCON,SSPEN SPI開放
LOOP CALL ADCON
... ;主程序省略
;
;A/D轉(zhuǎn)換子程序,返回時(shí)數(shù)據(jù)低8位在REFG1中,高2位在REG2中
ADCON BSF PORTC,0 ;喚醒啟動(dòng)AD7810
BCF PORTC,0
MOVWF SSPBUF ;啟動(dòng)接收高8位
BSF STATUS,RP0
CON1 BTFSS SSPSTAT,BF ;數(shù)據(jù)已接收?
GOTO CON1 ;沒有收到
BCF STATUS,RP0
MOVF SSPBUF,W
MOVWF REG1 ;高8位送REG1
MOVWF SSPBUF ;啟動(dòng)接收低2位
BSF STATUS,PR0
CON1 BTFSS SSPSTAT,BF ;數(shù)據(jù)已接收?
GOTO CON1 ;沒有收到
BCF STATUS,RP0
MOVF SSPBUF,W
ANDLW B11000000 ;保留有效位
MOVWF REG2 ;低2位送REG2
BCF STATUS,C ;進(jìn)位位清零
RLCF REG2,1 ;數(shù)據(jù)調(diào)整
RLCF REG1,1
RLCF REG2,1
RLCF REG1,1 ;低8位
RLCF REG2,1 ;高2位
RETURN
評(píng)論
查看更多