ds1624的基本特性
ds1624是dallas公司生產(chǎn)的一種功能較強的數(shù)字式溫度傳感器,它比同系列的ds1620控制更為簡單,比ds1621分辨率更高,可以使用一片控制器控制多達8片傳感器,支持i2c總線協(xié)議,測溫范圍寬,讀數(shù)穩(wěn)定,分辨率高,無須外接電路,與單片機接口簡單,可以廣泛用于溫度檢測、溫度控制,溫度報警等領域。
測溫范圍:-55℃~+125℃,分辨率0.03125℃
溫度值以13位數(shù)字量輸出(兩字節(jié)傳輸)
溫度轉(zhuǎn)換時間小于1秒,
數(shù)據(jù)的讀寫通過2線串行接口實現(xiàn)(sda,scl)可選總線地址。
內(nèi)部集成256b的e2prom,可以用來保存用戶設定的參數(shù)
引腳說明 ds1624為8腳dip封裝或者soic封裝,其引腳功能如下表。
ds1624的工作原理
ds1624采用專用的片內(nèi)的溫度測量技術進行溫度的測量,其溫度測量原理如圖1。
在計數(shù)門開通的情況下對低溫系數(shù)振蕩器的脈沖個數(shù)進行計數(shù),計數(shù)脈沖的周期由高溫系數(shù)振蕩器所決定,計數(shù)器和溫度寄存器的預先設置值為-55℃。如果計數(shù)器在脈沖結(jié)束之前達到0,則溫度寄存器增加,同時計數(shù)器預置為非線性累加器的值,并重新開始計數(shù),如果脈沖周期在計數(shù)器到0之前還未結(jié)束,則重復上面的過程,否則停止計數(shù)。最終溫度寄存器中的值即為被測溫度值。
ds1624的溫度值以0.03125℃為單位表示,1624 內(nèi)部的溫度寄存器為13位(2個字節(jié))的寄存器,該寄存器可以通過iic總線串行讀出,高位在前。該13寄存器的內(nèi)容即為補碼表示的溫度值,最高位置符號位,符號位?quot;1"表示溫度值為負,為"0"表示溫度值為正。將該13位數(shù)據(jù)的真值乘以0.03125,即為被測溫度值。例如:
表示被測溫度為:+802*0.03125=25.0625℃
ds1624的工作方式
ds1624可以在兩種方式下工作,連續(xù)轉(zhuǎn)換方式和一次轉(zhuǎn)換方式,通過配置寄存器的來控制使用哪種工作模式。
done 為轉(zhuǎn)換完成位,溫度轉(zhuǎn)換完成時候為1,正在轉(zhuǎn)換時為0,1shot為一次模式位,該位為1時,每次收到開始轉(zhuǎn)換命令執(zhí)行一次溫度轉(zhuǎn)換,為0時,執(zhí)行連續(xù)溫度轉(zhuǎn)換,該位為非易失性的。
ds1624在嵌入一個系統(tǒng)時,需要有mcu對其發(fā)出控制命令,如讀寫狀態(tài)寄存器,讀溫度寄存器,開始溫度轉(zhuǎn)換等命令,mcu對ds1624的控制是通過i2c總線接口來實現(xiàn)的,寫入和讀出完全遵循i2c總線的協(xié)議。
ds1624的命令集包含下面5個,比相同系列的ds1621更加方便,簡捷。
?。?)開始溫度轉(zhuǎn)換[eeh]
該命令啟動溫度轉(zhuǎn)換,無需讀數(shù)據(jù),再一次轉(zhuǎn)換模式下,該命令啟動轉(zhuǎn)換,ds1624完成轉(zhuǎn)換之后保持空閑,在連續(xù)轉(zhuǎn)換方式下,該命令啟動ds1624進行連續(xù)的溫度轉(zhuǎn)換。
?。?)溫度轉(zhuǎn)換結(jié)束命令[22h]
該命令停止溫度轉(zhuǎn)換,無需更多數(shù)據(jù),在連續(xù)運行方式下,該命令停止ds1624的溫度轉(zhuǎn)換,并且保持空閑,直到ds1624得到新的溫度轉(zhuǎn)換開始命令。
?。?)讀溫度命令[aah]
該命令讀出最近一次溫度轉(zhuǎn)換的結(jié)果,隨后ds1624將兩個字節(jié)補碼表示的溫度值送出。最高為符號位,最低三位不用。
?。?)訪問配置寄存器[ach]
若r/w=0,該命令寫入配置寄存器之后,mcu送出一個字節(jié),用以確定ds1624的工作方式;若r/w=1,ds6124送出當前狀態(tài)用來通知mcu轉(zhuǎn)換是否完成。
(5)訪問存儲器[17h]
該命令用來訪問ds1624內(nèi)部集成的256b的e2存儲器,下一字節(jié)數(shù)據(jù)為被訪問的存儲器的地址,即可進行e2存儲器的讀寫操作,讀寫時和其他的i2c協(xié)議的e2存儲器相同。讀者可參考其它的資料。
ds1624 啟動溫度轉(zhuǎn)換、訪問配置寄存器、讀取溫度值的流程圖見圖2。
典型應用
ds1624的典型應用圖,見圖3,其中l(wèi)ed顯示和溫度報警電路讀者可以自行設計。ds1624沒有專門的溫度控制功能,用戶可以將溫度控制信息,如溫度上限,溫度下限保存在e2存儲器中。工作時可將ds1624設為連續(xù)工作方式,mcu不停讀取溫度值,送顯示裝置顯示,并可將溫度值和e2存儲器中的溫度控制參數(shù)比較,用以驅(qū)動報警、加熱或其他執(zhí)行機構。還可以將pid等參數(shù)存于e2存儲器中,通過先進的算法實現(xiàn)閉環(huán)控制。
注意事項
ds1624在使用的時候,應注意幾點問題
1、寫e2prom需要10ms的時間,所以在每一次寄存器寫操作后都需要等待10ms再進行下一次寫操作。 2、由于sda、scl均為漏極開路i/o因此一定要有上拉電阻。
3、在數(shù)據(jù)傳輸和寫命令字的時候,一定遵循i2c總線的協(xié)議,在由寫操作到讀操作轉(zhuǎn)換的時候,應該重新啟動數(shù)據(jù)傳輸,然后發(fā)送地址和讀寫位。
4、在構成測溫系統(tǒng)時,一片單片機最多可以連接8片ds1624,并可采用求平均值的方法提高測量精度。此時應將地址a2、a1、a0作不同的調(diào)整。