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