新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 模數轉換芯片AD7810的原理及應用

        模數轉換芯片AD7810的原理及應用

        作者: 時間:2012-05-08 來源:網絡 收藏

        是美國模擬器件公司(ANALOG Devices)生產的一種低功耗10位高速串行A/D轉換器。該產品有8腳DIP和SOIC兩種封裝形式,并帶有內部時鐘。它的外圍接線極其簡單,的轉換時間為2μs,采用標準SPI同步串行接口輸出和單一電源(2.7V~5.5V)供電。在自動低功耗模式下,該器件在轉換吞吐率為1kSPS時的功耗僅為27μW,因此特點適合于便攜式儀表及各種電池供電的應用場合使用。

        本文引用地址:http://www.104case.com/article/186461.htm

        1 引腳功能

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

        1.jpg

        1 腳CONVST:轉換啟動輸入信號。

        2 腳VIN+:模擬信號同相輸入端。

        3 腳VIN-:模擬信號反相輸入端。

        4 腳GND:接地端口。

        5 腳VREF:轉換參考電壓輸入端。

        6 腳DOUT:串行數據輸出端。

        7 腳SCLK:時鐘輸入端。

        8 腳VDD:電源端。

        2 AD7810主要參數

        AD7810的主要參數如下:

        分辨率:10位二進制;

        轉換時間:2μs;

        非線性誤差:±1LSB;

        電源電壓范圍:2.7~5.5V;

        電源功耗:高速方式時為17.5mW,低功耗方式時為5μW;

        參考電壓VEFR范圍:1.2V~VDD;

        模擬電壓輸入范圍:0V~VREF;

        輸出形式:SPI同步串行輸出,與TTL電平兼容。

        3.1 高速模式工

        圖2是AD7810工作在高速模式時的時序圖。在此模式下,啟動信號CONVST一般處于高電平。在CONVST端輸入一個負脈沖,其下降沿將啟動一次轉換。若采用內部時鐘,那么,轉換需要2μs的時間(圖中t1)。當轉換結束時(圖中A點),AD7810會自動將轉換結果鎖存到輸出移位寄存器中。此后,在每一個SCLK脈沖的上升沿,數據按由高到低的原則(首先發送DB9,最后發送DB0)依次出現在DOUT上。如果在轉換還未結束之前就發出SCLK信號來啟動數據輸出,那么,在DOUT上出現的將是上一次轉換的結果。

        2.jpg

        啟動信號CONVST應在轉換結束前變為高電平,即t3應小于t1,否則器件將自動進入低功耗模式。另外,串行時鐘SCLK的最高頻率不能超過20MHz。

        3.2 自動低功耗模式

        圖3是AD7810工作在自動低功耗模式時的時序圖。在此模式下,啟動信號CONVST為低電平時,器件處于低功耗休眠狀態。當在CONVST端輸入一個正脈沖時,可在其上升沿將器件從休眠狀態喚醒,喚醒過程需要1μs的時間(圖中t2)。當器件被喚醒后,系統將自動啟動一次轉換,轉換時間也是2μs(圖中t1)。轉換結束時,AD7810將轉換結果鎖存到輸出移位寄存器中,同時自動將器件再一次置于低拉耗狀態。

        3.jpg

        啟動信號CONVST正脈沖的寬度(圖2中t3)應小于1μs,否則器件被喚醒后將不會自動啟動轉換,而是將A/D轉換的啟動時間順延至CONVST的睛降沿處。自動低功耗模式是AD7810是一大特鐸,一般當數據吞吐率小于100kSPS時,應使器件工作在此模式下。在5V電源電壓下,當數據吞吐率為100kSPS時,器件的功耗2.7mW;而當數據吞吐率為 10kSPS時,功耗為270μW;若數據吞吐率為1kSPS,則其功耗僅27μW。

        4 AD7810的典型應用

        AD7810應用時幾乎不需外圍元件。圖4所示是其典型應用電路,其參考電壓VREF接至VDD,模擬輸入VIN-接至GND,而待轉換電壓則從VIN+輸入。

        4.jpg

        AD7810 幾乎可與各種MCU進行接口,圖4中的MCU可以是8051 或PIC16C6X/7X。當與PIC16C6X/7X系列單片機進行接口時,可將SCLK接至單片機的SCK(RC3),將DOUT接至SDI(RC4),而其啟動信號CONVST則可接至單片機的任意輸出口上(如RC0)。由于PIC單片機的 SPI方式每次只能接收8位數據,因此10位數據應分兩次讀取。當AD7810與8051接口時,電路采用的是一種模擬串口方式,AD7810的 SCLK、DOUT和CONVST分別接至8051的P1.0、P1.1和P1.2,只要嚴格按照AD7810的時序要求操作,一般接口都不會有問題。這種方式實際上可擴展到所有的MCU種類。另外,8051也可利用其串行口工作方式0與AD7810進行通訊(圖中未畫出),但這時應解決好兩個問題:一是由于8051在TXD的上升沿進行采樣,這樣,TXD應經過一個反相器再接到SCLK,而將RXD接至DOUT,然后將CONVST接至任意一個輸出端口。二是8051串行口首先接收低位數據,這一點與AD7810剛好相反,因此,編程時應當注意。

        下面給出PIC16C6X/7X和8051分別與AD7810進行通訊的兩段程序,作者只對與A/D轉換有關的部分進行了編寫(常用資源定義、芯片定義等均未列出),兩段程序均可鈄AD7810的工作控制在自動低功耗方式。8051與AD7810通訊程序如下:

        START:CLR P1.0 ;初始化

        SETB P1.0

        CLR P1.2

        LOOP:CALL CON0

        ... ;主程序省略

        ;A/D轉換子程序,返回時數據低8位在R2中,高2位在R3中

        CON0:MOV R1,#`10 ;10位數據

        MOV R2,#0

        SETB P1.2 ;喚醒啟動AD7810

        CLR P1.2

        CON1:SETB P1.0 ;發送SCLK信號

        MOV C,P1.1 ;讀一位數據

        CLR P1.0

        MOV A,R2 ;數據移位

        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轉換子程序,返回時數據低8位在REFG1中,高2位在REG2中

        ADCON BSF PORTC,0 ;喚醒啟動AD7810

        BCF PORTC,0

        MOVWF SSPBUF ;啟動接收高8位

        BSF STATUS,RP0

        CON1 BTFSS SSPSTAT,BF ;數據已接收?

        GOTO CON1 ;沒有收到

        BCF STATUS,RP0

        MOVF SSPBUF,W

        MOVWF REG1 ;高8位送REG1

        MOVWF SSPBUF ;啟動接收低2位

        BSF STATUS,PR0

        CON1 BTFSS SSPSTAT,BF ;數據已接收?

        GOTO CON1 ;沒有收到

        BCF STATUS,RP0

        MOVF SSPBUF,W

        ANDLW B11000000 ;保留有效位

        MOVWF REG2 ;低2位送REG2

        BCF STATUS,C ;進位位清零

        RLCF REG2,1 ;數據調整

        RLCF REG1,1

        RLCF REG2,1

        RLCF REG1,1 ;低8位

        RLCF REG2,1 ;高2位

        RETURN

        更多資訊請關注:21ic模擬頻道



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安乡县| 麻江县| 安泽县| 济宁市| 泗水县| 呼图壁县| 和田县| 张家口市| 长岛县| 岑溪市| 迭部县| 红桥区| 牙克石市| 胶州市| 秭归县| 洛宁县| 潢川县| 巢湖市| 固镇县| 乌拉特中旗| 安多县| 平南县| 鹰潭市| 杭州市| 深州市| 曲水县| 舒城县| 林周县| 密山市| 凤冈县| 武夷山市| 合作市| 繁昌县| 盐边县| 永清县| 石狮市| 忻城县| 台江县| 江口县| 琼结县| 呈贡县|