2、TMP275 硬件設(shè)計
TMP275 的兩線串行接口(引腳 SCL、SDA)與 I2C 總線接口兼容,可以直接與其相連,從而大大降低了設(shè)計難度。當(dāng)測量溫度超過用戶設(shè)定的最高溫度或低于最低溫度時,引腳 ALERT 輸出高電平或低電平(可以通過配置寄存器來實現(xiàn))。上述 3 個引腳在實際連接中需要上拉電阻。引腳 A0、A1、A2 可以接地或高電平,用于決定芯片的器什地址(有 8 個)。TMP275 的外圍電路原理圖如圖 2 所示。
3、TMP275 的基本原理
TMP275 的功能實現(xiàn)和工作方式主要由內(nèi)部的 5 個寄存器來確定,分別是:指針寄存器(pointer register)、溫度寄存器(temperature register)、配置寄存器(configura-TIon register)、上限溫度寄存器(THIGH register)和下限溫度寄存器(TLOW register)。TMP275 的內(nèi)部寄存器結(jié)構(gòu)如圖 3 所示。
TMP275 的工作方式主要通過配置寄存器來實現(xiàn)。配置寄存器的數(shù)據(jù)格式如下:
各數(shù)據(jù)位的具體說明如下:
SD 設(shè)置器件是否工作在關(guān)斷模式。SD 為 1 時為關(guān)斷模式,SD 為 0 時為正常模式(包括比較模式和中斷模式)。
TM 設(shè)置器件工作在比較模式還是中斷模式。TM 為 1 時工作在中斷模式,TM 為 0 時工作在比較模式。
POL ALERT 極性位。通過 POL 的設(shè)置,可以使控制器和 ALERT 輸出極性一致。
F1/F0 錯誤隊列配置位。只有溫度連續(xù)超限 n 次后,報警才會輸出。參數(shù) n 由 F1 和 F0 來設(shè)置,設(shè)置錯誤隊列的目的是防止環(huán)境噪聲對報警輸出的影響。具體配置參數(shù)如表 1 所列。
R1/R0 溫度傳感器分辨率配置位。通過對其配置,可以控制溫度傳感器的轉(zhuǎn)換分辨率,同時也可以控制時間;分辨率越高,轉(zhuǎn)換時間越長。具體配置參數(shù)如表 2 所列。
OS 在關(guān)斷模式下,向該位寫 1,可以開啟一次溫度轉(zhuǎn)換;在溫度比較模式下,該數(shù)據(jù)位可以提供比較模式的狀態(tài)。
4、TMP275 的工作方式與串行接口
4.1 工作方式
正常工作方式下,當(dāng)所采集的溫度在上下限溫度之外時,TMP275 會依據(jù)配置寄存器中的 TM 狀態(tài)來決定器件是工作在比較模式還是中斷模式。當(dāng)器件工作在比較模式,且所采集的溫度連續(xù) n 次(參數(shù) n 為由 F0、F1 決定的連續(xù)錯誤數(shù))等于或大于 THIGH 時,比較器激活 ALERT 告警輸出,提醒主機(jī)當(dāng)前工作溫度不正常;只有當(dāng)溫度連續(xù) n 次低于 TLOW 時,ALERT 信號才恢復(fù)正常。正常工作時,默認(rèn)方式為比較模式。當(dāng)器件工作在中斷模式,且所采集的溫度連續(xù) n 次在上下限溫度之外時,比較器都會激活 ALERT 報警輸出;只有在對寄存器進(jìn)行操作或者器件在關(guān)斷模式下時,ALERT 信號才會恢復(fù)正常,此種模式下可以進(jìn)行系統(tǒng)的耐溫測試。
另外,器件還有節(jié)能的關(guān)斷模式。如果選擇該模式,當(dāng)前的溫度轉(zhuǎn)換結(jié)束后,器件會自動關(guān)斷,此時電流消耗只有 1μA。只有向配置寄存器的 OS 位寫 1,才可以開啟下一次溫度轉(zhuǎn)換。該模式由配置寄存器的 SD 數(shù)據(jù)位來設(shè)定。
4.2 串行接口
TMP275 的兩線數(shù)據(jù)線 SDA 和時鐘線 SCL 兼容 I2C 協(xié)議,而且只能作為從器件。它支持快速模式(1~400kHz)和高速模式(1 kHz~3.4 MHz)。該器件的地址是由固定的高 4 位 1001 以及受控于 A0、A1、A2 的低 3 位決定。
4.2.1 I2C 總線綜述
初始化傳輸?shù)脑O(shè)備稱為“主設(shè)備”,受主設(shè)備控制的是“從設(shè)備”。主設(shè)備產(chǎn)生串行時鐘(SCL),控制總線接入,以及產(chǎn)生啟動(START)和停止(STOP)條件。只有在總線不忙時,才可以傳送數(shù)據(jù)。在傳送期間,時鐘信號線為高電平時,數(shù)據(jù)線 SDA 必須保持不變;只有在啟動/停止信號到來后,數(shù)據(jù)線 SDA 才能改變。
TMP275 作為從設(shè)備,只有接收到啟動信號后,芯片才開始工作。若接收到的地址無誤,則發(fā)出一個確認(rèn)信號,并根據(jù) R/W 位的狀態(tài)進(jìn)行讀/寫操作。當(dāng)停止信號到來后,所有工作結(jié)束。
4.2.2 從設(shè)備接收模式
接收模式下,主設(shè)備先向 TMP275 發(fā)送 TMP275 的地址信息和狀態(tài)信息(R/W=0),然后發(fā)送數(shù)據(jù),寫入地址指針寄存器。下一個字節(jié)或者幾個字節(jié)再依據(jù)指針寄存器的內(nèi)容寫入相應(yīng)的寄存器。對于每一個成功接收到的數(shù)據(jù),TMP275 都將發(fā)送確認(rèn)信息。主設(shè)備通過發(fā)送停止信號而終止數(shù)據(jù)傳輸。
4.2.3 從設(shè)備發(fā)送模式
發(fā)送模式下,主設(shè)備先向 TMP275 發(fā)送 TMP275 的地址信息和狀態(tài)信息(R/W=1),然后讀取由地址指針寄存器指定的數(shù)據(jù)。對于每一個成功接收到的數(shù)據(jù),TMP275 都將發(fā)送確認(rèn)信息。主設(shè)備通過發(fā)送停止信號而終止數(shù)據(jù)傳輸。
5、TMP275 在家庭環(huán)境監(jiān)控中的應(yīng)用
5.1 節(jié)點簡介
本文的討論是以基于藍(lán)牙(Bluetooth)技術(shù)的家庭環(huán)境監(jiān)控系統(tǒng)的節(jié)點為平臺,介紹溫度傳感器 TMP275 在環(huán)境監(jiān)控中的具體應(yīng)用。該節(jié)點包括處理器、藍(lán)牙模塊、溫度傳感器 TMP275 和電源 4 部分,如圖 4 所示。
5.2 處理器部分和溫度傳感器部分
節(jié)點處理器選用 AVR 單片機(jī) ATmega128。它是基于 AVR RISC 結(jié)構(gòu)的 8 位低功耗 CMOS 微處理器。由于其先進(jìn)的指令集及單周期指令執(zhí)行時間,ATmega128 的數(shù)據(jù)吞吐率高達(dá) 1 MIPS/MHz,從而緩解了系統(tǒng)在功耗和處理速度之間的矛盾。
ATmega 128 提供一種兼容于 I2C 的 TWI 總線接口,因此 TMP275 的 SDA 和 SCL 引腳可以直接與處理器的引腳相連,另外還需接上拉電阻。TMP275 的報警輸出方式設(shè)置為低電平輸出,接有上拉電阻。A0、A1 和 A2 全部接低電平,這樣 TMP275 器件的寫地址為 0x90,讀地址為 0x91。TMP275 的連接原理圖如圖 5 所示。
5.3 藍(lán)牙模塊部分
藍(lán)牙模塊選用 CSR 公司的 BlueCore02-External 藍(lán)牙芯片。此芯片是一個單一芯片無線電和基帶鏈路控制器的 Bluetooth 2.4 GHz 系統(tǒng),采用 0.18 μm CMOS 技術(shù),集成了射頻、基帶、帶有全部集成藍(lán)牙協(xié)議棧的 MCU 以及收發(fā)器。
在本節(jié)點的設(shè)計中,藍(lán)牙模塊通過 UART 接口與處理器相連接。IO0、IO1、IO2 引腳接 LED 燈,用來指示藍(lán)牙模塊與其他藍(lán)牙設(shè)備進(jìn)行尋呼、連接和數(shù)據(jù)傳輸?shù)臓顟B(tài)。藍(lán)牙模塊的其他引腳在本節(jié)點設(shè)計中未涉及,故予以省略。藍(lán)牙模塊的連接原理圖如圖 6 所示。
6、結(jié) 語
實際應(yīng)用表明,TMP275 芯片具有很高的性能,利用它可以很好地實現(xiàn)預(yù)期的設(shè)計功能,而且操作簡單。利用主控處理器和多片 TMP275 也很容易構(gòu)成一個其他的環(huán)境監(jiān)控系統(tǒng),且能得到很高的測試精度。目前,基于溫度傳感器 TMP275 和藍(lán)牙技術(shù)的家庭環(huán)境監(jiān)控系統(tǒng)已經(jīng)調(diào)試完畢,運(yùn)行性能良好。