兼容SPI接口的低功耗數(shù)字溫度傳感器ADT7301及其接口技術(shù)_第1頁(yè)
兼容SPI接口的低功耗數(shù)字溫度傳感器ADT7301及其接口技術(shù)_第2頁(yè)
兼容SPI接口的低功耗數(shù)字溫度傳感器ADT7301及其接口技術(shù)_第3頁(yè)
兼容SPI接口的低功耗數(shù)字溫度傳感器ADT7301及其接口技術(shù)_第4頁(yè)
兼容SPI接口的低功耗數(shù)字溫度傳感器ADT7301及其接口技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

1概述

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

ADT7301功能特性

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

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

●測(cè)溫精度為±0.5℃;

●具有0.03125℃溫度分辨率;

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

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

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

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

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

2.1管腳描述

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

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

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

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

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

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

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

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

2.2工作過(guò)程與應(yīng)用時(shí)序

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

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

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

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

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

2.3溫度值編碼

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

表1溫度寄存器數(shù)據(jù)格式溫度值數(shù)據(jù)輸出DB13DB0-4011,101100000000-3011,110001000000-2511,110011100000-1011,11101100,111111111111000,000000000000+,000000000001+1000,000101000000+2500,001100100000+5000,011001000000+7500,100101100000+10000,1100

10000000+12500,111110100000+15001,001011000000

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

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

負(fù)溫度值=(ADC轉(zhuǎn)換結(jié)果代碼-16384)/32;

負(fù)溫度值=(ADC轉(zhuǎn)換結(jié)果代碼-8192)/32。

3應(yīng)用電路

3.1ADT7301與單片機(jī)的串行接口電路

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

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

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

main:

callreceive;讀取溫度值子程序

calldispose;讀取結(jié)果處理子程序

sjmp$

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

receive:setbp1.3

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

movr7,#2;字節(jié)計(jì)數(shù)

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

clrp1.3;選通ADT7301

clrri;清接收中斷標(biāo)志,準(zhǔn)備接收

loop:jnbri,$

mova,sbuf

mov@r0,a

incr0

clrri

djnzr7,loop

setbp1.3

ret

3.2ADT7301與單片機(jī)的全雙工通訊接口

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

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

setbp1.3

movr0,#30h;讀溫度值緩沖器30h31h

movr1,#32h;控制寄存器寫(xiě)入值

movr6,#08h;循環(huán)移位計(jì)數(shù)

movr7,#02h;字節(jié)計(jì)數(shù)

clrp1.3;選通

loop0:

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

clrp1.0;準(zhǔn)備讀取數(shù)據(jù)

movcy,p1.1;讀值

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

rlca;移位存儲(chǔ)讀取結(jié)果

mov@r0,a;暫存

mova,@r1;將要寫(xiě)入值給累加器

rlca;移出要寫(xiě)入位

movp1.2,cy;循環(huán)寫(xiě)入

mov@r1,a;暫存

djnzr7loop0

incr0

incr1

djnzr7,loop0

clrp1.3

ret

4結(jié)束語(yǔ)

ADT7301可用于測(cè)量物體的表面溫度或空氣溫度。由于該器件采用低功耗設(shè)計(jì),因此,在利用熱傳導(dǎo)粘結(jié)劑將ADT7301粘結(jié)到被測(cè)物體表面時(shí),測(cè)得的溫度與表面實(shí)際溫度之差不超過(guò)0.1℃。另外,當(dāng)被測(cè)物周?chē)鷾囟?/p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論