帶I2C接口的數(shù)字溫度傳感器TMP101及其應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:TMP101是TI公司生產(chǎn)的12位低功耗、高精度數(shù)字溫度傳感器,較寬的溫度測(cè)量范圍和較高的分辨率使其可以廣泛應(yīng)用于許多溫度測(cè)量場(chǎng)合。TMP101可通過(guò)串行總線(xiàn)接口方便地與數(shù)字系統(tǒng)相連,同時(shí)還具有關(guān)閉模式和報(bào)警輸出。文中介紹了TMP101的內(nèi)部結(jié)構(gòu)和主要特性,并給出了與PrPMC800模塊的接口應(yīng)用。
關(guān)鍵詞:溫度傳感器;I2C;SMBus;PrPMC800;TMP101
1?。裕停校保埃钡囊_功能和主要特性
TMP101是TI公司生產(chǎn)的12位低功耗、高精度的數(shù)字溫度傳感器?它采用與I2C和SMBus相兼容的2線(xiàn)數(shù)字接口,可應(yīng)用于許多高分辨率和寬量程溫度測(cè)量場(chǎng)合,如溫度控制系統(tǒng)、個(gè)人計(jì)算機(jī)保護(hù)、電子測(cè)試儀器、辦公設(shè)備以及生物醫(yī)學(xué)儀器等方面。TMP101采用6腳SOT23封裝,其引腳排列如圖1所示,引腳功能如下:
1腳SCL:串行總線(xiàn)時(shí)鐘,CMOS電平;
2腳GND:接地腳;
3腳ALERT:總線(xiàn)報(bào)警輸出,開(kāi)路;
4腳 V+:電源;
5腳 ADD0:用戶(hù)設(shè)置的地址輸入;
6腳 SDA:串行數(shù)據(jù)線(xiàn),CMOS電平,雙向,開(kāi)路;
TMP101的供電電壓范圍為2.7~5.5V,轉(zhuǎn)換精度在9~12bits可選,分辨率高達(dá)0.0625℃。器件工作溫度為-55℃~125℃,最大測(cè)量溫度超過(guò)150℃,同時(shí)它還具有以下特點(diǎn):
● 帶有串行總線(xiàn)接口;
●具有節(jié)省功耗的關(guān)閉模式;
●一條I2C總線(xiàn)可連接3個(gè)TMP101器件;
●可編程的溫度上下限寄存器及開(kāi)路中斷輸出;
●溫度轉(zhuǎn)換速度比同類(lèi)產(chǎn)品高,單片報(bào)價(jià)較低。
圖2是TMP101的典型連接電路,由于其內(nèi)部集成了高精度溫度傳感器,所以除了部分信號(hào)線(xiàn)需要加上拉電阻外,不需要外接任何元件。當(dāng)測(cè)量溫度超過(guò)所設(shè)定的窗口極限時(shí),通過(guò)ALERT信號(hào)線(xiàn)向主控器發(fā)出中斷信號(hào)進(jìn)行報(bào)警。
表1 配置寄存器的數(shù)據(jù)格式
Byte | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
1 | OS/ALERT | R1 | R0 | F1 | F0 | POL | TM | SD |
2 內(nèi)部結(jié)構(gòu)和寄存器功能
TMP101內(nèi)部帶有數(shù)字溫度傳感器、溫度窗口比較器和I2C串行總線(xiàn)接口。通過(guò)一個(gè)帶隙型溫度傳感器和一個(gè)12位Δ-Σ AD轉(zhuǎn)換器將所采集的溫度存儲(chǔ)在內(nèi)部的溫度寄存器中。器件根據(jù)用戶(hù)在溫度上下限寄存器中設(shè)定的THIGH和TLOW來(lái)在溫度窗口比較器中決定是否啟動(dòng)報(bào)警輸出??刂疲裕停校保埃钡闹鳈C(jī)可以對(duì)溫度窗口的上、下限進(jìn)行設(shè)置,TMP101自身的可編程遲滯特性與故障隊(duì)列能將誤報(bào)情況減至最少。系統(tǒng)上電后器件處于一種缺省閾值狀態(tài),其溫度報(bào)警缺省閾值為:下限溫度TLOW=75℃,上限溫度THIGH=80℃。TMP101的功能實(shí)現(xiàn)和工作方式主要由內(nèi)部的5個(gè)寄存器來(lái)確定,這些寄存器分別是地址指針寄存器(Point Register)、溫度值寄存器(Temperature Register)、配置寄存器(Configuration Register)、溫度上限寄存器( THIGH Reg-ister)和溫度下限寄存器(TLOW Register)。其中器件的工作方式主要通過(guò)對(duì)配置寄存器的配置來(lái)實(shí)現(xiàn),配置寄存器的數(shù)據(jù)格式見(jiàn)表1所列,各數(shù)據(jù)位的具體說(shuō)明如下:
R1/R0: 溫度傳感器分辨率配置位。通過(guò)對(duì)該兩位的配置,可以控制溫度傳感器的轉(zhuǎn)換分辨率,同時(shí)也可以控制轉(zhuǎn)換時(shí)間,而且分辨率越高,轉(zhuǎn)換時(shí)間也就越長(zhǎng);
F1/F0:錯(cuò)誤隊(duì)列配置位。只有溫度連續(xù)超過(guò)限制n次后,報(bào)警才會(huì)輸出,參數(shù)n由F1/F0來(lái)設(shè)置,設(shè)置錯(cuò)誤隊(duì)列的目的是用來(lái)防止環(huán)境噪聲對(duì)報(bào)警輸出的影響;
POL:ALERT極性位。通過(guò)POL的設(shè)置,可以使控制器和ALERT輸出的極性一致;
TM:設(shè)置器件工作在比較模式還是中斷模式,TM為1時(shí)工作在中斷模式,TM為0時(shí)工作在比較模式;
SD:設(shè)置器件是否工作在關(guān)斷模式,SD為1時(shí)為關(guān)斷模式,SD為0時(shí)為正常工作方式;
OS/ALERT:在關(guān)斷模式下,向該位寫(xiě)1,可以開(kāi)啟一次溫度轉(zhuǎn)換;在溫度比較模式下,該數(shù)據(jù)位可提供比較模式的狀態(tài);
3 工作方式與串行接口
3.1 工作方式
正常工作方式下,當(dāng)所采集的溫度在上下限之外時(shí),TMP101會(huì)根據(jù)配置寄存器中的TM狀態(tài)來(lái)決定器件是工作在比較模式還是中斷模式。當(dāng)工作在比較模式下時(shí),所采集的溫度等于或大于THIGH時(shí),比較器將激活ALERT告警輸出,提醒主機(jī)當(dāng)前工作溫度不正常,只有當(dāng)溫度低于TLOW時(shí),ALERT信號(hào)才恢復(fù)正常。正常工作時(shí),默認(rèn)方式為比較模式。當(dāng)器件工作在中斷模式下,且所采集的溫度在上下限之外時(shí),比較器都會(huì)激活ALERT報(bào)警輸出,只有在對(duì)寄存器進(jìn)行讀操作或者器件在關(guān)斷模式下時(shí),ALERT信號(hào)才恢復(fù)正常?在此種模式下可進(jìn)行系統(tǒng)的耐溫測(cè)試。
另外,器件還具有節(jié)能的關(guān)斷模式,如果選擇該模式,當(dāng)前的溫度轉(zhuǎn)換結(jié)束后,器件會(huì)自動(dòng)關(guān)斷,此時(shí)電流消耗只有1uA,只有向配置寄存器的OS/ALERT位寫(xiě)1才可以開(kāi)啟下一次溫度轉(zhuǎn)換。該模式由配置寄存器的SD數(shù)據(jù)位來(lái)設(shè)定。
3.2 串行接口
TMP101的2線(xiàn)分別是數(shù)據(jù)線(xiàn)SDA和時(shí)鐘線(xiàn)SCL,當(dāng)它作為從器件在串行總線(xiàn)上運(yùn)行時(shí),SCL線(xiàn)是輸入線(xiàn),SDA線(xiàn)是雙向串行數(shù)據(jù)線(xiàn)。另外,根據(jù)串行總線(xiàn)規(guī)范,TMP101有一個(gè)7位受控地址,受控地址中的最高有效位設(shè)為“10010”,另外兩個(gè)最低有效位通過(guò)管腳ADD0來(lái)控制。當(dāng)SCL為高電平時(shí)?SDA的數(shù)據(jù)應(yīng)當(dāng)保持穩(wěn)定?否則?任何SDA的變化都被視為控制信號(hào)。TMP101在傳送數(shù)據(jù)過(guò)程中共有開(kāi)始信號(hào)、結(jié)束、應(yīng)答三種信號(hào)類(lèi)型。
(1) I2C總線(xiàn)通信協(xié)議
只有當(dāng)總線(xiàn)不忙時(shí),才可以開(kāi)始傳送數(shù)據(jù)。
在傳送數(shù)據(jù)期間,時(shí)鐘信號(hào)線(xiàn)為高電平時(shí),數(shù)據(jù)線(xiàn)SDA必須保持不變,只有在啟動(dòng)/停止?fàn)顟B(tài)信號(hào)到來(lái)后,數(shù)據(jù)線(xiàn)SDA才能改變。
(2) 啟動(dòng)/停止?fàn)顟B(tài)信號(hào)
當(dāng)時(shí)鐘信號(hào)為高電平且數(shù)據(jù)線(xiàn)SDA從高電平變?yōu)榈碗娖綍r(shí)產(chǎn)生起始位信號(hào)。TMP101監(jiān)控SDA和SCL的狀態(tài),只有當(dāng)啟動(dòng)信號(hào)到來(lái)后,芯片才開(kāi)始工作。
時(shí)鐘信號(hào)為高電平且數(shù)據(jù)線(xiàn)SDA從低電平變?yōu)楦唠娖綍r(shí)產(chǎn)生停止位信號(hào)。當(dāng)停止信號(hào)到來(lái)時(shí),所有工作結(jié)束。
當(dāng)主設(shè)備器件發(fā)送起始信號(hào)和TMP101的地址后,TMP101便開(kāi)始監(jiān)控總線(xiàn),若接收的地址無(wú)誤,將發(fā)出一個(gè)確認(rèn)信號(hào),并根據(jù)R/W位的狀態(tài)來(lái)執(zhí)行讀/寫(xiě)操作。
(3) 寫(xiě)操作
寫(xiě)操作時(shí),先由主設(shè)備器件向TMP101發(fā)送起始狀態(tài)和TMP101的地址信息(R/W位=0),然后由主設(shè)備器件發(fā)送數(shù)據(jù)而由TMP101接收數(shù)據(jù)。寫(xiě)操作可以分為1字節(jié)寫(xiě)操作和頁(yè)面(16字節(jié))寫(xiě)操作兩種方式,兩者的操作過(guò)程基本相同,不同之處在于主設(shè)備寫(xiě)入數(shù)據(jù)的多少。
(4) 讀操作
讀操作與寫(xiě)操作所不同的是,首先由主設(shè)備器件向TMP101發(fā)送起始狀態(tài)和TMP101的地址信息(R/W位=1),然后由TMP101發(fā)送數(shù)據(jù)而由主設(shè)備器件接收數(shù)據(jù)。讀操作分為單字節(jié)讀操作和連續(xù)讀操作兩種方式? 圖3給出了軟件讀?。裕停校保埃?strong>寄存器數(shù)值的流程圖。
4 和PrPMC800模塊的接口應(yīng)用
PrPMC800模塊是滿(mǎn)足PMC PCI規(guī)范的處理機(jī)模塊,它采用4個(gè)標(biāo)準(zhǔn)的64腳PMC接口作為對(duì)外總線(xiàn)接口,其中第4個(gè)PMC接口的1、2引腳是它的I2C接口引腳,通過(guò)其模塊內(nèi)部的橋接控制ASIC芯片可將該接口的數(shù)據(jù)傳到模塊的處理器。該處理器模塊對(duì)溫度要求較高,工作溫度范圍在0℃~55℃,所以在實(shí)際應(yīng)用中需要對(duì)處理器模塊環(huán)境溫度進(jìn)行采集和分析,而利用TMP101可以很方便的實(shí)現(xiàn)PrPMC800模塊的溫度采集功能,其功能系統(tǒng)框架圖如圖4所示。
在該系統(tǒng)中,PrPMC800模塊作為總線(xiàn)控制器,雙方通過(guò)I2C總線(xiàn)連接,溫度采集結(jié)果也通過(guò)該總線(xiàn)輸出。為和PrPMC800模塊存儲(chǔ)VPD的srom電壓兼容,TMP101芯片采用3.3V供電,轉(zhuǎn)換精度為0.5℃?測(cè)量溫度為-55℃~125℃。溫度報(bào)警輸出引腳ALERT接入CPLD,當(dāng)ALERT信號(hào)有效時(shí),CPLD啟動(dòng)到800卡的HOSTINT中斷,告知CPU系統(tǒng)的溫度出現(xiàn)問(wèn)題。考慮到溫度傳感器的報(bào)警中斷輸出,系統(tǒng)中采用的是開(kāi)路輸出,可以將幾個(gè)溫度傳感器報(bào)警輸出線(xiàn)相或來(lái)構(gòu)成多點(diǎn)采集溫度系統(tǒng),從而測(cè)試單板不同位置的溫度,同時(shí)也可監(jiān)測(cè)風(fēng)扇轉(zhuǎn)速對(duì)單板溫度的影響。
5 結(jié)論
實(shí)際應(yīng)用表明,TMP101芯片具有較高的性能,利用它可以較好地實(shí)現(xiàn)預(yù)期的設(shè)計(jì)功能。利用主控CPU和多片TMP101可以很容易地構(gòu)成一個(gè)低電壓低功耗的多點(diǎn)數(shù)字測(cè)溫系統(tǒng),且能得到較高的溫測(cè)精度和較高的讀取速度。該系統(tǒng)目前已被應(yīng)用于某無(wú)線(xiàn)接入服務(wù)器的單板系統(tǒng)設(shè)計(jì)中,實(shí)踐證明:運(yùn)行效果良好。