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