新聞中心

        EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 兼容SPI接口的低功耗數(shù)字溫度傳感器ADT7301及其接

        兼容SPI接口的低功耗數(shù)字溫度傳感器ADT7301及其接

        作者: 時間:2004-12-07 來源:網(wǎng)絡(luò) 收藏
        摘要:是AD公司推出的13位數(shù)字溫度傳感器芯片。該芯片采用+2.7V~+5.5V電源供電,具有溫度轉(zhuǎn)換精度高、功耗低、串行接口靈活方便等特點。文中介紹了的主要特性,并以其與8052接口為例,給出了的串行接口電路、應(yīng)用程序。

        關(guān)鍵詞:溫度傳感器;;ADT7301

        1 概述

        ADT7301是一個完整的溫度監(jiān)測系統(tǒng),有SOT-32和MSOP兩種封裝形式。在芯片內(nèi)部集成了一個用于溫度監(jiān)測的帶隙溫度傳感器和一個13位AD轉(zhuǎn)換器,其最小溫度分辨率為0.03125C。ADT7301帶有一個非常靈活的串行接口,可非常容易地與大多數(shù)微控制器接口;而且該接口還可與SPITM、QSPI及MICROWIRETM協(xié)議及DSP接口,通過串口控制可使器件處于待機模式。ADT7301的寬供電電源范圍、低供電電流及與SPI的接口使得該器件非常適合于個人計算機、辦公設(shè)備及家電設(shè)備等各種領(lǐng)域。

        ADT7301功能特性如下:

        ●供電電源+2.7V~+5.5V;

        ●內(nèi)含13位數(shù)字溫度傳感器;

        ●測溫精度為0.5℃;

        ●具有0.03125℃溫度分辨率;

        ●工作電流典型值為1μA;

        ●帶有SPI及DSP的串行接口;

        ●工作溫度范圍寬達-40~+150℃;

        ●采用節(jié)省空間的SOT-23和MSOP封裝。

        2 內(nèi)部結(jié)構(gòu)與管腳說明

        2.1 管腳描述

        ADT7301模塊的內(nèi)部結(jié)構(gòu)如圖1所示。該器件具有6腳SOT-23和8腳MOSP兩種封裝形式,各引腳的功能如下:

        GND:模擬地和數(shù)字地;

        DIN:串行數(shù)據(jù)輸入口。裝入芯片控制寄存器的數(shù)據(jù)可在時鐘SCLK上升沿通過該管腳串行輸入;

        VDD:供電電源正輸入端。 供電電源范圍為:+2.7V~+5.5V;

        SCLK:與串行端口對應(yīng)的串行時鐘輸入;

        CS:片選輸入,低電平有效;

        DOUT:串行數(shù)據(jù)輸出端口。溫度值在串行時鐘SCLK的下降沿通過該管腳串行輸出。

        ADT7301的串行接口由CS、SCLK、DIN及DOUT四線構(gòu)成。將CS和DIN接地可使該接口工作于兩線模式,在這種模式下,該接口只能通過DOUT來讀取數(shù)據(jù)寄存器中的值。推薦使用CS端口,這樣有利于ADT7301與其主控器件之間同步。DIN端口用于寫控制寄存器,也可使芯片處于節(jié)電模式。使用時,在電源和地線之間應(yīng)加一個0.1μF的去耦電容。

        圖2

        2.2 工作過程與應(yīng)用時序

        ADT7301內(nèi)部集成有晶體振蕩器,所以工作時只需在串口接入時鐘,而不需再提供A/D轉(zhuǎn)換時鐘。該芯片具有兩種工作模式,即正常工作模式和節(jié)電工作模式。在正常工作模式,內(nèi)部時鐘振蕩器將驅(qū)動自動轉(zhuǎn)換時序,從而使芯片每秒鐘對模擬電路上電一次,以進行一次溫度轉(zhuǎn)換。完成一次溫度轉(zhuǎn)換一般需800μs,轉(zhuǎn)換結(jié)束后,芯片的模擬電路自動斷電,并在1秒鐘后自動上電。因此,在溫度值寄存器中總可以得到最新的溫度轉(zhuǎn)換值。

        通過設(shè)置ADT7301控制寄存器可將其設(shè)置為節(jié)電模式。在節(jié)電模式下,片內(nèi)振蕩器被關(guān)閉,ADT7301不進行溫度轉(zhuǎn)換,直到恢復(fù)到正常工作模式。可向控制寄存器中寫零使其恢復(fù)到正常工作模式。在進入節(jié)電模式前?其溫度轉(zhuǎn)換結(jié)果即使在進入節(jié)電模式后仍可被正確讀取。

        在正常轉(zhuǎn)換模式下,執(zhí)行讀/寫操作時,其內(nèi)部振蕩器可在讀寫操作結(jié)束后自動復(fù)位,以使溫度轉(zhuǎn)換器能夠重新進行溫度轉(zhuǎn)換。若在ADT7301進行溫度轉(zhuǎn)換過程中執(zhí)行讀寫操作?則會使其自動停止轉(zhuǎn)換,并在串行通訊結(jié)束后又重新開始,而讀取的溫度值是前一次的轉(zhuǎn)換結(jié)果。ADT7301執(zhí)行讀/寫操作時的時序如圖2所示。

        當片選端口CS為低時,SCLK時鐘輸入有效,而在執(zhí)行讀操作后,系統(tǒng)會將2位零標志位、1位符號位和13位的數(shù)據(jù)位在16個時鐘脈沖下降沿從溫度值寄存器中取出。如果CS持續(xù)為低的時間超過16個SCLK時鐘周期,ADT7301將循環(huán)輸出2位零標志位加14位數(shù)值位。而一旦CS變?yōu)楦唠娖剑模希眨暂敵龆藢⑻幱诟咦锠顟B(tài)?此時輸出數(shù)據(jù)將在SCLK的下降沿被鎖存在DOUT線上。

        ADT7301的寫操作與讀操作可同步進行。當寫數(shù)據(jù)流中的第三位寫1而其余位為0時, ADT7301進入節(jié)電模式;寫數(shù)據(jù)流全為0時,為正常工作模式。在正常工作模式?數(shù)據(jù)在第16個SCLK的上升沿被裝入控制寄存器并立刻起作用。若CS在第16個SCLK上升沿之前變?yōu)楦唠娖剑敲矗刂萍拇嫫髦械臄?shù)據(jù)將不會被裝入,但此時工作模式不變。

        2.3 溫度值編碼

        溫度值寄存器是一個14位的只讀寄存器,用于存儲ADC的13位二進制補碼加1位符號位的溫度轉(zhuǎn)換結(jié)果(最高位為符號位)。理論上,ADC測量的溫度范圍可達255℃,實際上,內(nèi)部溫度傳感器能確保的溫度范圍為-40℃~ +150℃。溫度數(shù)據(jù)格式如表1所列。

        表1 溫度寄存器數(shù)據(jù)格式

        溫度值(℃)數(shù)據(jù)輸出DB13DB0
        -4011,1011 0000 0000
        -3011,1100 0100 0000
        -2511,1100 1110 0000
        -1011,1110 1100 0000
        -0.312511,1111 1111 1111
        000,0000 0000 0000
        +0.312500,0000 0000 0001
        +1000,0001 0100 0000
        +2500,0011 0010 0000
        +5000,0110 0100 0000
        +7500,1001 0110 0000
        +10000,1100 1000 0000
        +12500,1111 1010 0000
        +15001,0010 1100 0000

        其溫度轉(zhuǎn)換公式如下:

        正溫度值=ADC轉(zhuǎn)換結(jié)果代碼(d)/32;

        負溫度值=(ADC轉(zhuǎn)換結(jié)果代碼(d)-16384)/32(使用符號位);

        負溫度值=(ADC轉(zhuǎn)換結(jié)果代碼(d)-8192)/32(不使用符號位)。

        3 應(yīng)用電路

        3.1 ADT7301與單片機的串行接口電路

        圖3為ADT7301與單片機的串行通訊接口電路,該接口方式具有轉(zhuǎn)換速度快的優(yōu)點,但不能被設(shè)置成節(jié)電工作模式。

        這里應(yīng)注意的是:由于在單片機串行通訊中是先低后高,而ADT7301在向外串行輸出溫度值時是先高后低,所以要先進行高低位互換?然后再進行處理,具體處理程序這里不再給出。下面是ADT7301與8051單片機進行串行接口的軟件編程:

        ;*****主程序*****

        main:

        call receive ?;讀取溫度值子程序

        call dispose ?;讀取結(jié)果處理子程序

        sjmp $

        ;###串行通訊子程序###

        receive: setb p1.3

        mov scon,#11h ?;選擇串行口為方式0接收

        mov r7,#2 ;字節(jié)計數(shù)

        mov r0,#30h ;指向溫度值緩沖區(qū)

        clr p1.3 ;選通ADT7301

        clr ri ?;清接收中斷標志,準備接收

        loop: jnb ri,$

        mov a,sbuf

        mov @r0,a

        inc r0

        clr ri

        djnz r7,loop

        setb p1.3

        ret

        3.2 ADT7301與單片機的全雙工通訊接口

        通過ADT7301與單片機的全雙工通訊接口可以使ADT7301工作在節(jié)電模式。圖4是ADT7301與8051單片機進行全雙工通訊接口連接圖。相應(yīng)的軟件編程如下。

        ?###全雙工通訊子程序###

        setb p1.3

        mov r0,#30h ?;讀溫度值緩沖器?30h31h?

        mov r1,#32h ?;控制寄存器寫入值(32h33h)

        mov r6,#08h ?;循環(huán)移位計數(shù)

        mov r7,#02h ? ;字節(jié)計數(shù)

        clr p1.3 ? ;選通

        loop0:

        setb p1.0 ?;控制p1.0產(chǎn)生下降沿

        clr p1.0 ?;準備讀取數(shù)據(jù)

        mov cy,p1.1 ?;讀值

        mov a,@r0 ?;將上次結(jié)果重裝入

        rlc a ?;移位存儲讀取結(jié)果

        mov @r0,a ?;暫存

        mov a,@r1 ?;將要寫入值給累加器

        rlc a ?;移出要寫入位

        mov p1.2,cy ?;循環(huán)寫入

        mov @r1,a ?;暫存

        djnz r7?loop0

        inc r0

        inc r1

        djnz r7,loop0

        clr p1.3

        ret

        4 結(jié)束語

        ADT7301可用于測量物體的表面溫度或空氣溫度。由于該器件采用低功耗設(shè)計,因此,在利用熱傳導(dǎo)粘結(jié)劑將ADT7301粘結(jié)到被測物體表面時,測得的溫度與表面實際溫度之差不超過0.1℃。另外,當被測物周圍溫度與被測物表面溫度存在溫度差時,應(yīng)注意將器件的背面和管腳與周圍空氣隔離開。由于接地引腳提供了管芯最好的熱傳導(dǎo)途徑,因此,管芯溫度與印制電路板的地線溫度最接近,所以應(yīng)保證該管腳與被測表面良好接觸。

        該溫度傳感器不宜長期處于極限工作狀態(tài),當工作在+150℃時,該器件的使用壽命是其工作在+55℃時的5%。當長期工作在電壓和溫度極限時,器件的結(jié)構(gòu)完整性也將會遭到破壞。



        關(guān)鍵詞: 7301 SPI ADT 兼容

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 台中县| 林州市| 普安县| 乌拉特中旗| 土默特右旗| 隆林| 泗水县| 巢湖市| 平武县| 文安县| 崇义县| 桑植县| 巴楚县| 西城区| 大兴区| 塔城市| 新疆| 兴化市| 十堰市| 偃师市| 枞阳县| 苏州市| 南陵县| 乐清市| 辽宁省| 湟中县| 安远县| 高清| 东明县| 集安市| 治县。| 呼图壁县| 吉隆县| 栾城县| 卫辉市| 玉溪市| 临夏市| 南城县| 建阳市| 万山特区| 井陉县|