新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 數字式I2C總線溫度傳感器在溫度檢測中的應用

        數字式I2C總線溫度傳感器在溫度檢測中的應用

        ——
        作者:濟南鐵道職業技術學院 林毓梁 李穎 時間:2007-01-26 來源:《》 收藏

        ds1624的基本特性

        本文引用地址:http://www.104case.com/article/20594.htm

        ds1624是dallas公司生產的一種功能較強的數字式溫度傳感器,它比同系列的ds1620控制更為簡單,比ds1621分辨率更高,可以使用一片控制器控制多達8片傳感器,支持i2c總線協議,測溫范圍寬,讀數穩定,分辨率高,無須外接電路,與單片機接口簡單,可以廣泛用于溫度檢測、溫度控制,溫度報警等領域。

        測溫范圍:-55℃~+125℃,分辨率0.03125℃
        溫度值以13位數字量輸出(兩字節傳輸)
        溫度轉換時間小于1秒,
        數據的讀寫通過2線串行接口實現(sda,scl)可選總線地址。
        內部集成256b的e2prom,可以用來保存用戶設定的參數

        引腳說明 ds1624為8腳dip封裝或者soic封裝,其引腳功能如下表。


        ds1624的工作原理

        ds1624采用專用的片內的溫度測量技術進行溫度的測量,其溫度測量原理如圖1。


        在計數門開通的情況下對低溫系數振蕩器的脈沖個數進行計數,計數脈沖的周期由高溫系數振蕩器所決定,計數器和溫度寄存器的預先設置值為-55℃。如果計數器在脈沖結束之前達到0,則溫度寄存器增加,同時計數器預置為非線性累加器的值,并重新開始計數,如果脈沖周期在計數器到0之前還未結束,則重復上面的過程,否則停止計數。最終溫度寄存器中的值即為被測溫度值。

        ds1624的溫度值以0.03125℃為單位表示,1624 內部的溫度寄存器為13位(2個字節)的寄存器,該寄存器可以通過iic總線串行讀出,高位在前。該13寄存器的內容即為補碼表示的溫度值,最高位置符號位,符號位?quot;1"表示溫度值為負,為"0"表示溫度值為正。將該13位數據的真值乘以0.03125,即為被測溫度值。例如:

        表示被測溫度為:+802*0.03125=25.0625℃


        ds1624的工作方式

        ds1624可以在兩種方式下工作,連續轉換方式和一次轉換方式,通過配置寄存器的來控制使用哪種工作模式。

        done 為轉換完成位,溫度轉換完成時候為1,正在轉換時為0,1shot為一次模式位,該位為1時,每次收到開始轉換命令執行一次溫度轉換,為0時,執行連續溫度轉換,該位為非易失性的。

        ds1624在嵌入一個系統時,需要有mcu對其發出控制命令,如讀寫狀態寄存器,讀溫度寄存器,開始溫度轉換等命令,mcu對ds1624的控制是通過i2c總線接口來實現的,寫入和讀出完全遵循i2c總線的協議。

        ds1624的命令集包含下面5個,比相同系列的ds1621更加方便,簡捷。

        (1)開始溫度轉換[eeh]

        該命令啟動溫度轉換,無需讀數據,再一次轉換模式下,該命令啟動轉換,ds1624完成轉換之后保持空閑,在連續轉換方式下,該命令啟動ds1624進行連續的溫度轉換。

        (2)溫度轉換結束命令[22h]

        該命令停止溫度轉換,無需更多數據,在連續運行方式下,該命令停止ds1624的溫度轉換,并且保持空閑,直到ds1624得到新的溫度轉換開始命令。

        (3)讀溫度命令[aah]

        該命令讀出最近一次溫度轉換的結果,隨后ds1624將兩個字節補碼表示的溫度值送出。最高為符號位,最低三位不用。

        (4)訪問配置寄存器[ach]

        若r/w=0,該命令寫入配置寄存器之后,mcu送出一個字節,用以確定ds1624的工作方式;若r/w=1,ds6124送出當前狀態用來通知mcu轉換是否完成。

        (5)訪問存儲器[17h]

        該命令用來訪問ds1624內部集成的256b的e2存儲器,下一字節數據為被訪問的存儲器的地址,即可進行e2存儲器的讀寫操作,讀寫時和其他的i2c協議的e2存儲器相同。讀者可參考其它的資料。

        ds1624 啟動溫度轉換、訪問配置寄存器、讀取溫度值的流程圖見圖2。



        典型應用

        ds1624的典型應用圖,見圖3,其中led顯示和溫度報警電路讀者可以自行設計。ds1624沒有專門的溫度控制功能,用戶可以將溫度控制信息,如溫度上限,溫度下限保存在e2存儲器中。工作時可將ds1624設為連續工作方式,mcu不停讀取溫度值,送顯示裝置顯示,并可將溫度值和e2存儲器中的溫度控制參數比較,用以驅動報警、加熱或其他執行機構。還可以將pid等參數存于e2存儲器中,通過先進的算法實現閉環控制。


        注意事項

        ds1624在使用的時候,應注意幾點問題

        1、寫e2prom需要10ms的時間,所以在每一次寄存器寫操作后都需要等待10ms再進行下一次寫操作。 2、由于sda、scl均為漏極開路i/o因此一定要有上拉電阻。

        3、在數據傳輸和寫命令字的時候,一定遵循i2c總線的協議,在由寫操作到讀操作轉換的時候,應該重新啟動數據傳輸,然后發送地址和讀寫位。

        4、在構成測溫系統時,一片單片機最多可以連接8片ds1624,并可采用求平均值的方法提高測量精度。此時應將地址a2、a1、a0作不同的調整。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 清水河县| 富平县| 岳普湖县| 靖边县| 清远市| 辽中县| 徐闻县| 隆林| 廉江市| 景宁| 柯坪县| 遂昌县| 龙山县| 当阳市| 乐山市| 汉川市| 金乡县| 蒙自县| 潮州市| 海盐县| 呼伦贝尔市| 屯留县| 蓬安县| 浮梁县| 定西市| 澄迈县| 新建县| 成安县| 江川县| 萝北县| 纳雍县| 永嘉县| 广东省| 青川县| 三江| 宝坻区| 宁阳县| 滕州市| 苍溪县| 巫溪县| 达尔|