色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 1-Wire總線與DS18B20應(yīng)用仿真

          1-Wire總線與DS18B20應(yīng)用仿真

          作者: 時(shí)間:2008-06-19 來源:今日電子 收藏

            1 DS18B20的基本特性

          本文引用地址:http://cafeforensic.com/article/84508.htm

            ● 采用總線接口,可以方便實(shí)現(xiàn)多點(diǎn)測(cè)溫。
            ● 與主機(jī)連接方便,除5kΩ的總線上拉電阻外無須其他額外器件。
            ● 電源電壓范圍為3.0~5.5V,與3.3V和5V數(shù)字系統(tǒng)均可很好地兼容。
            ● 測(cè)量范圍為-55~+125℃,分辨率為9~12位可編程。
            ● 通過編程可設(shè)置溫度報(bào)警上下限,設(shè)置值掉電不丟失。
            ● 內(nèi)部集成了用于器件尋址的64bit光刻ROM編碼。

            2 DS18B20中的存儲(chǔ)器

            在DS18B20中共有三種存儲(chǔ)器,分別是ROM、RAM、EEPROM,每種存儲(chǔ)器都有其特定的功能,可查閱相關(guān)資料。

            3 總線ROM功能命令

            在DS18B20內(nèi)部光刻了一個(gè)長度為64bit的ROM編碼,這個(gè)編碼是器件的身份識(shí)別標(biāo)志。當(dāng)總線上掛接著多個(gè)DS18B20時(shí)可以通過ROM編碼對(duì)特定器件進(jìn)行操作。ROM功能命令是針對(duì)器件的ROM編碼進(jìn)行操作的命令,共有5個(gè),長度均為8bit(1Byte)。

            ①讀ROM(33H)

            當(dāng)掛接在總線上的總線器件接收到此命令時(shí),會(huì)在主機(jī)讀操作的配合下將自身的ROM編碼按由低位到高位的順序依次發(fā)送給主機(jī)??偩€上掛接有多個(gè)DS18B20時(shí),此命令會(huì)使所有器件同時(shí)向主機(jī)傳送自身的ROM編碼,這將導(dǎo)致數(shù)據(jù)的沖突。

            ②匹配ROM(55H)

            主機(jī)在發(fā)送完此命令后,必須緊接著發(fā)送一個(gè)64bit的ROM編碼,與此ROM編碼匹配的從器件會(huì)響應(yīng)主機(jī)的后續(xù)命令,而其他從器件則處于等待狀態(tài)。該命令主要用于選擇總線上的特定器件進(jìn)行訪問。

            ③跳過ROM(CCH)

            發(fā)送此命令后,主機(jī)不必提供ROM編碼即可對(duì)從器件進(jìn)行訪問。與讀ROM命令類似,該命令同樣只適用于單節(jié)點(diǎn)的1-Wire總線系統(tǒng),當(dāng)總線上有多個(gè)器件掛接時(shí)會(huì)引起數(shù)據(jù)的沖突。

           ?、懿檎襌OM(F0H)

            當(dāng)主機(jī)不知道總線上器件的ROM編碼時(shí),可以使用此命令并配合特定的算法查找出總線上從器件的數(shù)量和各個(gè)從器件的ROM編碼。

           ?、輬?bào)警查找(ECH)

            此命令用于查找總線上滿足報(bào)警條件的DS18B20,通過報(bào)警查找命令并配合特定的查找算法,可以查找出總線上滿足報(bào)警條件的器件數(shù)目和各個(gè)器件的ROM編碼。

            4 DS18B20器件功能命令

            與1-Wire總線相關(guān)的命令分為ROM功能命令和器件功能命令兩種,ROM功能命令具有通用性,不僅適用于DS18B20也適用于其他具有1-Wire總線接口的器件,主要用于器件的識(shí)別與尋址;器件功能命令具有專用性,它們與器件的具體功能緊密相關(guān)。下面是DS18B20的器件功能命令。

           ?、賳?dòng)溫度轉(zhuǎn)換(44H)

            該命令發(fā)送完成后,主機(jī)可以通過調(diào)用Readbit()函數(shù)判斷溫度轉(zhuǎn)換是否完成,若Readbit()的返回值為0則表示轉(zhuǎn)換正在進(jìn)行,若Readbit()的返回值為1則表示轉(zhuǎn)換完成。

           ?、谧xRAM(BEH)

            該命令發(fā)送完成后,主機(jī)可以通過調(diào)用Readbit()函數(shù)將DS18B20中RAM的內(nèi)容從低位到高位依次讀出。

            ③寫RAM(4EH)

            該命令發(fā)出后,主機(jī)隨后寫入1-Wire總線的3字節(jié)將依次被存儲(chǔ)到DS18B20的報(bào)警上限、報(bào)警下限和配置寄存器中。

            ④復(fù)制RAM(48H)

            該命令會(huì)將DS18B20的報(bào)警上限、報(bào)警下限和配置寄存器中的內(nèi)容復(fù)制到EEPROM中。該命令發(fā)出后,主機(jī)可以通過調(diào)用Readbit()函數(shù)判斷復(fù)制操作是否完成,若Readbit()的返回值為1,則表示復(fù)制操作完成。

            ⑤回讀EEPROM(B8H)

            該命令會(huì)將存儲(chǔ)在EEPROM中的報(bào)警上限、報(bào)警下限和配置寄器的內(nèi)容回讀到RAM中,主機(jī)可以通過調(diào)用Readbit()函數(shù)判斷回讀操作是否完成,若Readbit()的返回值為1則表示回讀操作完成。DS18B20在上電時(shí)會(huì)自動(dòng)進(jìn)行一次回讀操作。

          圖1 主機(jī)與DS18B20的通信流程圖

            5 主機(jī)與DS18B20的通信流程

            如圖1所示,主機(jī)通過1-Wire總線接口對(duì)DS18B20的每次訪問都以復(fù)位信號(hào)和ROM功能命令開始,訪問的結(jié)束位置是不確定的,這與具體的功能命令相關(guān)。圖中圓角矩形中的操作與主機(jī)發(fā)送的功能命令相對(duì)應(yīng),隨著功能命令的不同圓角矩形中的操作有時(shí)可以被省略。對(duì)總線上的DS18B20來說,復(fù)位信號(hào)意味著又一次通信的開始,器件對(duì)此的響應(yīng)是拉低總線以告知主機(jī)自身的存在,然后準(zhǔn)備接收ROM功能命令。

            多點(diǎn)測(cè)溫系統(tǒng)實(shí)例

            DS18B20是一種比較廉價(jià)的溫度,其封封裝形式如圖2所示。在Proteus中包含有DS18B20的模型,這使得相關(guān)程序的調(diào)試變得簡單方便。下面以一個(gè)實(shí)例介紹用Proteus多點(diǎn)測(cè)溫系統(tǒng)的步驟。

          圖2 DS18B20封裝形式

            ① 繪制仿真原理圖

            如圖3所示,在本實(shí)例中以單片機(jī)AT89C52和8個(gè)DS18B20構(gòu)成了一個(gè)多點(diǎn)測(cè)溫系統(tǒng)。為了有足夠的空間存儲(chǔ)各個(gè)DS18B20的ROM編碼和溫度值,在實(shí)例中用一片8KB的SRAM芯片6116對(duì)單片機(jī)的RAM進(jìn)行了擴(kuò)展。

            ②設(shè)置DS18B20仿真模型的屬性



          關(guān)鍵詞: 仿真 1-Wire 傳感器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉