你的位置:首頁(yè) > 傳感技術(shù) > 正文

一文全面詳解數(shù)字溫度傳感器DS18B20

發(fā)布時(shí)間:2023-06-07 責(zé)任編輯:lina

【導(dǎo)讀】傳統(tǒng)的溫度檢測(cè)大多以熱敏電阻為傳感器,采用熱敏電阻,可滿(mǎn)足40℃至90℃測(cè)量范圍,但熱敏電阻可靠性差,測(cè)量溫度準(zhǔn)確率低,對(duì)于小于1℃的溫度信號(hào)是不適用的,還得經(jīng)過(guò)專(zhuān)門(mén)的接口電路轉(zhuǎn)換成數(shù)字信號(hào)才能由微處理器進(jìn)行處理。


一、概述

傳統(tǒng)的溫度檢測(cè)大多以熱敏電阻為傳感器,采用熱敏電阻,可滿(mǎn)足40℃至90℃測(cè)量范圍,但熱敏電阻可靠性差,測(cè)量溫度準(zhǔn)確率低,對(duì)于小于1℃的溫度信號(hào)是不適用的,還得經(jīng)過(guò)專(zhuān)門(mén)的接口電路轉(zhuǎn)換成數(shù)字信號(hào)才能由微處理器進(jìn)行處理。

目前常用的微機(jī)與外設(shè)之間進(jìn)行的數(shù)據(jù)通信的串行總線(xiàn)主要有I2C總線(xiàn),SPI總線(xiàn)等。其中I2C總線(xiàn)以同步串行2線(xiàn)方式進(jìn)行通信(一條時(shí)鐘線(xiàn),一條數(shù)據(jù)線(xiàn)),SPI總線(xiàn)則以同步串行3線(xiàn)方式進(jìn)行通信(一條時(shí)鐘線(xiàn),一條數(shù)據(jù)輸入線(xiàn),一條數(shù)據(jù)輸出線(xiàn))。這些總線(xiàn)至少需要兩條或兩條以上的信號(hào)線(xiàn)。而單總線(xiàn)( 1-wire bus ),采用單根信號(hào)線(xiàn),既可傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的, CPU 只需一根端口線(xiàn)就能與諸多單總線(xiàn)器件通信,占用微處理器的端口較少,可節(jié)省大量的引線(xiàn)和邏輯電路。 因而,這種單總線(xiàn)技術(shù)具有線(xiàn)路簡(jiǎn)單,硬件開(kāi)銷(xiāo)少,成本低廉,軟件設(shè)計(jì)簡(jiǎn)單,便于總線(xiàn)擴(kuò)展和維護(hù)。同時(shí),基于單總線(xiàn)技術(shù)能較好地解決傳統(tǒng)識(shí)別器普遍存在的攜帶不便,易損壞,易受腐饋,易受電磁干擾等不足,因此,單總線(xiàn)具有廣闊的應(yīng)用前景,是值得關(guān)注的一個(gè)發(fā)展領(lǐng)域。

單總線(xiàn)即只有一根數(shù)據(jù)線(xiàn),系統(tǒng)中的數(shù)據(jù)交換,控制都由這根線(xiàn)完成。主機(jī)或從機(jī)通過(guò)一個(gè)漏極開(kāi)路或三態(tài)端口連至數(shù)據(jù)線(xiàn),以允許設(shè)備在不發(fā)送數(shù)據(jù)時(shí)能夠釋放總線(xiàn),而讓其它設(shè)備使用總線(xiàn)。單總線(xiàn)通常要求外接一個(gè)約為 4.7K的上拉電阻,這樣,當(dāng)總線(xiàn)閑置時(shí)其狀態(tài)為高電平。

DS18B20數(shù)字式溫度傳感器,與傳統(tǒng)的熱敏電阻有所不同的是,使用集成芯片,采用單總線(xiàn)技術(shù),其能夠有效的減小外界的干擾,提高測(cè)量的精度。同時(shí),它可以直接將被測(cè)溫度轉(zhuǎn)化成串行數(shù)字信號(hào)供微機(jī)處理,接口簡(jiǎn)單, 使數(shù)據(jù)傳輸和處理簡(jiǎn)單化。 部分功能電路的集成,使總體硬件設(shè)計(jì)更簡(jiǎn)潔,能有效地降低成本,搭建電路和焊接電路時(shí)更快,調(diào)試也更方便簡(jiǎn)單化,這也就縮短了開(kāi)發(fā)的周期 。

DS18B20單線(xiàn)數(shù)字溫度傳感器,即“一線(xiàn)器件”,其具有獨(dú)特的優(yōu)點(diǎn):

( 1 )采用單總線(xiàn)的接口方式與微處理器連接時(shí)僅需要一條口線(xiàn)即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。單總線(xiàn)具有經(jīng)濟(jì)性好,抗干擾能力強(qiáng),適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,使用方便等優(yōu)點(diǎn),使用戶(hù)可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。

( 2 )測(cè)量溫度范圍寬,測(cè)量精度高。DS18B20 的測(cè)量范圍為-55℃ ~+125℃ ;在-10~+85℃ 范圍內(nèi),精度為±0.5℃ 。

( 3 )在使用中不需要任何外圍元器件即可實(shí)現(xiàn)測(cè)溫。

( 4 )多點(diǎn)組網(wǎng)功能。多個(gè)DS18B20可以并聯(lián)在惟一的三線(xiàn)上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。

( 5 )供電方式靈活。DS18B20可以通過(guò)內(nèi)部寄生電路從數(shù)據(jù)線(xiàn)上獲取電源。因此,當(dāng)數(shù)據(jù)線(xiàn)上的時(shí)序滿(mǎn)足一定的要求時(shí),可以不接外電源,從而使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單,可靠性更高。

( 6 )測(cè)量參數(shù)可配置。DS18B20的測(cè)量分辨率可通過(guò)程序設(shè)定9~12位。

( 7 ) 負(fù)壓特性。電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。

( 8 )掉電保護(hù)功能。DS18B20內(nèi)部含有EEPROM,在系統(tǒng)掉電以后,它仍可保存分辨率及報(bào)警溫度的設(shè)定值。

DS18B20 具有體積更小、適用電壓更寬、更經(jīng)濟(jì)、可選更小的封裝方式,更寬的電壓適用范圍,適合于構(gòu)建自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng),因此也就被設(shè)計(jì)者們所青睞。

二、DS18B20測(cè)溫原理


一文全面詳解數(shù)字溫度傳感器DS18B20
DS18B20 的內(nèi)部測(cè)溫電路框圖


低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,為計(jì)數(shù)器提供一頻率穩(wěn)定的計(jì)數(shù)脈沖。高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,很敏感的振蕩器,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,為計(jì)數(shù)器2提供一個(gè)頻率隨溫度變化的計(jì)數(shù)脈沖。圖中還隱含著計(jì)數(shù)門(mén),當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將-55℃ 所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器 1 和溫度寄存器被預(yù)置在-55℃ 所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線(xiàn)性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門(mén)仍未關(guān)閉就重復(fù)上述過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫度值。

三、DS18B20 的管腳排列及封裝圖


一文全面詳解數(shù)字溫度傳感器DS18B20
DS18B20 實(shí)物管腳分布圖


DQ為數(shù)字信號(hào)輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端,電源供電 3.0~5.5V (在寄生電源接線(xiàn)方式時(shí)接地)。

DS18B20的硬件接口非常簡(jiǎn)單。供電方式為計(jì)生電源供電或外部供電。


一文全面詳解數(shù)字溫度傳感器DS18B20
寄生電源工作方式


采用寄生電源供電時(shí),在遠(yuǎn)程溫度測(cè)量和測(cè)量空間受限的情況下特別有價(jià)值。寄生電源供電的原理是在數(shù)據(jù)線(xiàn)為高電平的時(shí)候“竊取”數(shù)據(jù)線(xiàn)的電源,電荷被存儲(chǔ)在寄生供電電容上,用于在數(shù)據(jù)線(xiàn)為低的時(shí)候?yàn)樵O(shè)備提供電源。需要注意的是,DS18B20在進(jìn)行溫度轉(zhuǎn)換或者將高速緩存里面的數(shù)據(jù)復(fù)制到EEPROM中時(shí),所需的電流會(huì)達(dá)到1.5mA,超出了電容所能提供的電流,此時(shí)可采用一個(gè)MOSFET三極管來(lái)供電。


一文全面詳解數(shù)字溫度傳感器DS18B20
外接電源工作方式


當(dāng)DS18B20采用外部供電時(shí),只需將其數(shù)據(jù)線(xiàn),與單片機(jī)的一位雙向端口相連就可以實(shí)現(xiàn)數(shù)據(jù)的傳遞。

注意:當(dāng)溫度高于100℃ 時(shí),不能使用寄生電源,因?yàn)榇藭r(shí)器件中較大的漏電流會(huì)使總線(xiàn)不能可靠檢測(cè)高低電平,從而導(dǎo)致數(shù)據(jù)傳輸誤碼率的增大。

四、DS18B20 內(nèi)部結(jié)構(gòu)


一文全面詳解數(shù)字溫度傳感器DS18B20
DS18B20的內(nèi)部結(jié)構(gòu)


DS18B20 內(nèi)部結(jié)構(gòu)如圖所示,主要由四部分組成:64位光刻ROM 、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。

光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開(kāi)始8位(地址: 28H )是產(chǎn)品類(lèi)型標(biāo)號(hào),接著的 48 位是該 DS18B20 自身的序列號(hào),并且每個(gè) DS18B20 的序列號(hào)都不相同,因此它可以看作是該DS18B20 的地址序列碼; 8 位則是前面 56 位的循環(huán)冗余校驗(yàn)碼( CRC=X8+X5+X4+1 )。由于每一個(gè)DS18B20的ROM數(shù)據(jù)都各不相同,因此微控制器就可以通過(guò)單總線(xiàn)對(duì)多個(gè) DS18B20 進(jìn)行尋址,從而實(shí)現(xiàn)一根總線(xiàn)上掛接多個(gè) DS18B20 的目的。


一文全面詳解數(shù)字溫度傳感器DS18B20
64B閃速ROM


DS18B20 中的溫度傳感器用于完成對(duì)溫度的測(cè)量,它的測(cè)量精度可以配置成9位,10位,11位或12位四種狀態(tài)。溫度傳感器在測(cè)量完成后將測(cè)量的結(jié)果存儲(chǔ)在 DS18B20 的兩個(gè)8BIT的RAM中,單片機(jī)可通過(guò)單線(xiàn)接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后。數(shù)據(jù)的存儲(chǔ)格式如下表(以 12 位轉(zhuǎn)化為例):


一文全面詳解數(shù)字溫度傳感器DS18B20
溫度信號(hào)寄存器格式


這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0 ,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。

例如:+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出為 FC90H 。

DS18B20完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與TH,TL作比較,若T>TH或T

五、DS18B20 溫度傳感器的存儲(chǔ)器

DS18B20 溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH 、TL和結(jié)構(gòu)寄存器。數(shù)據(jù)先寫(xiě)入RAM,經(jīng)校驗(yàn)后再傳給 E2RAM 。

暫存存儲(chǔ)器包含了8個(gè)連續(xù)字節(jié),前兩個(gè)字節(jié)是測(cè)得的溫度信息,個(gè)字節(jié)的內(nèi)容是溫度的低八位TL,第二個(gè)字節(jié)是溫度的高八位TH。第三個(gè)和第四個(gè)字節(jié)是TH、TL的易失性拷貝,第五個(gè)字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個(gè)字節(jié)的內(nèi)容在每上電復(fù)位時(shí)被刷新。第六、七、八個(gè)字節(jié)用于內(nèi)部計(jì)算。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié),可用來(lái)保證通信正確。DS18B20的分布如下:


一文全面詳解數(shù)字溫度傳感器DS18B20
DS18B20 的暫存寄存器分布


在 64B ROM 的有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼( CRC )。主機(jī)根據(jù) ROM 的前 56 位來(lái)計(jì)算 CRC 值,并和存入 DS18B20 中的 CRC 值做比較,以判斷主機(jī)收到的 ROM 數(shù)據(jù)是否正確。

1. 設(shè)置寄存器

該位于高速閃存的第5個(gè)字節(jié),這個(gè)寄存器中的內(nèi)容被用來(lái)確定測(cè)試模式和溫度的轉(zhuǎn)換精度。寄存器各位的內(nèi)容如下:


一文全面詳解數(shù)字溫度傳感器DS18B20
DS18B20 的設(shè)置寄存器各位內(nèi)容


該寄存器的低五位一直都是 1 , TM 是測(cè)試模式位,用于設(shè)置 DS18B20 在工作模式還是在測(cè)試模式。在 DS18B20 出廠時(shí)該位被設(shè)置為 0 ,用戶(hù)不要去改動(dòng)。 R1 和 R0 用來(lái)設(shè)置分辨率,如下表所示:( DS18B20 出廠時(shí)被設(shè)置為 12 位)


一文全面詳解數(shù)字溫度傳感器DS18B20
分辨率設(shè)置


由表可知,設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間就越長(zhǎng)。因此,在實(shí)際應(yīng)用中要在分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。

六、DS18B20 的溫度測(cè)量

1-WIRE 網(wǎng)絡(luò)具有嚴(yán)謹(jǐn)?shù)目刂平Y(jié)構(gòu),其結(jié)構(gòu)如下圖所示,一般通過(guò)雙絞線(xiàn)與 1-WIRE 元件進(jìn)行數(shù)據(jù)通信,它們通常被定義為漏極開(kāi)路端點(diǎn),主/從式多點(diǎn)結(jié)構(gòu),而且一般都在主機(jī)端接上一個(gè)上拉電阻 +5V 電源。通常為了給 1-WIRE 設(shè)備提供足夠的電源,需要一個(gè) MOSFET 管將 1-WIRE 總線(xiàn)上拉至 +5V 電源。


一文全面詳解數(shù)字溫度傳感器DS18B20

DS18B20 組成的 1-WIRE 網(wǎng)絡(luò)



1-WIRE 網(wǎng)絡(luò)通信協(xié)議是分時(shí)定義的,有嚴(yán)格的時(shí)隙概念,下圖是復(fù)位脈沖的時(shí)隙。


一文全面詳解數(shù)字溫度傳感器DS18B20

1-WIRE 協(xié)議的復(fù)位脈沖時(shí)隙


一文全面詳解數(shù)字溫度傳感器DS18B20

一文全面詳解數(shù)字溫度傳感器DS18B20

1-WIRE 讀寫(xiě)“ 0/ 1 ” 時(shí)隙



DS18B20 單線(xiàn)通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,如果出現(xiàn)序列混亂, 1-WIRE 器件將不響應(yīng)主機(jī),因此讀寫(xiě)時(shí)序很重要。系統(tǒng)對(duì) DS18B20 的各種操作必須按協(xié)議進(jìn)行。根據(jù) DS18B20 的協(xié)議規(guī)定,微控制器控制 DS18B20 完成溫度的轉(zhuǎn)換必須經(jīng)過(guò)以下 4 個(gè)步驟 :

(1)每次讀寫(xiě)前對(duì) DS18B20 進(jìn)行復(fù)位初始化。復(fù)位要求主 CPU 將數(shù)據(jù)線(xiàn)下拉 500ms ,然后釋放, DS18B20 收到信號(hào)后等待 16ms~60ms 左右,然后發(fā)出 60ms~240ms 的存在低脈沖,主 CPU 收到此信號(hào)后表示復(fù)位成功。

(2)發(fā)送一條 ROM 指令,如下表所示:


一文全面詳解數(shù)字溫度傳感器DS18B20

DS18B20 的ROM指令集



a. 讀指令(33H):通過(guò)該命令可以讀出ROM中8位系列產(chǎn)品代碼、48位產(chǎn)品序列號(hào)和8位CRC碼。

b. 選擇定位指令(55H):多片DS18B20在線(xiàn)時(shí),主機(jī)發(fā)出該命令和一個(gè)64位數(shù)列,DS18B20內(nèi)部ROM與主機(jī)序列一致者,才能響應(yīng)主機(jī)發(fā)送的寄存器操作指令,其它的DS18B20則等待復(fù)位。該指令也可用于單片DS18B20的情況。

c. 跳過(guò)ROM檢測(cè)指令(CCH):若系統(tǒng)只用了一片DS18B20,該指令允許主機(jī)跳過(guò)ROM序列號(hào)檢測(cè)而直接對(duì)寄存器操作,從而節(jié)省了時(shí)間。對(duì)于多片DS18B20測(cè)溫系統(tǒng),該指令將引起數(shù)據(jù)沖突。

d. 查詢(xún)指令(F0H):該指令可以使主機(jī)查詢(xún)到總線(xiàn)上有多少片DS18B20,以及各自的64位序列號(hào)。

e. 報(bào)警查詢(xún)指令(ECH):該指令的操作過(guò)程同查詢(xún)指令,但是僅當(dāng)上次溫度測(cè)量值已置為報(bào)警標(biāo)志時(shí),DS18B20才響應(yīng)該指令。

(3)發(fā)送存儲(chǔ)器指令,如下表所示:


一文全面詳解數(shù)字溫度傳感器DS18B20

DS18B20 的RAM指令集



a. 寫(xiě)入指令(4EH):該指令把數(shù)據(jù)依次寫(xiě)入高溫報(bào)警觸發(fā)器TH、低溫報(bào)警觸發(fā)器TL和配置寄存器。命令復(fù)位信號(hào)發(fā)出之前必須把這三個(gè)字節(jié)寫(xiě)完。
b. 寫(xiě)出指令(BEH):該指令可以讀出寄存器中的內(nèi)容,從第1字節(jié)開(kāi)始,直到讀完第9個(gè)字節(jié),如果僅需要讀取寄存器中的部分內(nèi)容,主機(jī)可以在合適的時(shí)候發(fā)出復(fù)位指令以結(jié)束該過(guò)程。
c. 復(fù)制命令(48H):該指令把高速緩存器中第 2 ~ 4 字節(jié)轉(zhuǎn)存到DS18B20的EEPROM中。命令發(fā)出后,主機(jī)發(fā)出讀指令來(lái)讀總線(xiàn),如果轉(zhuǎn)存正在進(jìn)行時(shí)主機(jī)讀總線(xiàn)結(jié)果為0,而轉(zhuǎn)存結(jié)束則為1。
d. 開(kāi)始轉(zhuǎn)換指令(44H):DS18B20收到該指令后立即開(kāi)始溫度轉(zhuǎn)換,不需要其他數(shù)據(jù)。此時(shí)DS18B20處于空閑狀態(tài),當(dāng)溫度轉(zhuǎn)換正在進(jìn)行時(shí)主機(jī)讀總線(xiàn)結(jié)果為0,轉(zhuǎn)換結(jié)束則為1.
e. 回調(diào)指令(B8H):該指令把EEPROM中的內(nèi)容回調(diào)至寄存器TH、TL和配置寄存器單元中。命令發(fā)出后如果主機(jī)接著讀總線(xiàn),則讀結(jié)果為0表示忙,為1表示回調(diào)結(jié)束。
f. 讀電源標(biāo)志命令(B4H):主機(jī)發(fā)出該指令后讀總線(xiàn),DS18B20將發(fā)送電源標(biāo)志,0表示數(shù)據(jù)線(xiàn)供電,1表示外接電源。

(4)進(jìn)行數(shù)據(jù)通信。

七、DS18B20 使用中注意事項(xiàng)

DS1820 雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線(xiàn)少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題:

(1)每讀寫(xiě)之前都要對(duì) DS18B20 進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條 ROM 指令,發(fā)送 RAM 指令,這樣才能對(duì) DS18B20 進(jìn)行預(yù)定的操作。復(fù)位要求主 CPU 將數(shù)據(jù)線(xiàn)下拉 500 us,然后釋放, DS18B20 收到信號(hào)后等待 16 ~60 us左右,后發(fā)出 60~240 us的存在低脈沖,主 CPU 收到此信號(hào)表示復(fù)位成功。(所有的讀寫(xiě)時(shí)序至少需要 60us ,且每個(gè)獨(dú)立的時(shí)序之間至少需要 1us 的恢復(fù)時(shí)間。在寫(xiě)時(shí)序時(shí),主機(jī)將在下拉低總線(xiàn) 15us 之內(nèi)釋放總線(xiàn),并向單總線(xiàn)器件寫(xiě) 1 ;若主機(jī)拉低總線(xiàn)后能保持至少 60us 的低電平,則向單總線(xiàn)器件寫(xiě) 0 。單總線(xiàn)僅在主機(jī)發(fā)出讀寫(xiě)時(shí)序時(shí)才向主機(jī)傳送數(shù)據(jù),所以,當(dāng)主機(jī)向單總線(xiàn)器件發(fā)出讀數(shù)據(jù)指令后,必須馬上產(chǎn)生讀時(shí)序,以便單總線(xiàn)器件能傳輸數(shù)據(jù)。)

(2)在寫(xiě)數(shù)據(jù)時(shí),寫(xiě) 0 時(shí)單總線(xiàn)至少被拉低 60us, 寫(xiě) 1 時(shí) ,15us 內(nèi)就得釋放總線(xiàn)。

(3)轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲(chǔ)在 18B20 的兩個(gè) 8 比特的 RAM 中,二進(jìn)制中的前面 5 位是符號(hào)位,如果測(cè)得的溫度大于 0 ,這 5 位為 0 ,只要將測(cè)到的數(shù)值乘于 0.0625 即可得到實(shí)際溫度;如果溫度小于 0 ,這 5 位為 1 ,測(cè)到的數(shù)值需要取反加 1 再乘于 0.0625 即可得到實(shí)際溫度。

(4)較小的硬件開(kāi)銷(xiāo)需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于 DS1820 與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì) DS1820 進(jìn)行讀寫(xiě)編程時(shí),必須嚴(yán)格的保證讀寫(xiě)時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在使用 PL/M 、 C 等語(yǔ)言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì) DS1820 操作部分采用匯編語(yǔ)言實(shí)現(xiàn)。

(5) 在 DS1820 的有關(guān)資料中均未提及單總線(xiàn)上所掛 DS1820 數(shù)量問(wèn)題,容易使人誤認(rèn)為可以?huà)烊我舛鄠€(gè) DS1820 ,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線(xiàn)上所掛 DS1820 超過(guò) 8 個(gè)時(shí),就需要解決微處理器的總線(xiàn)驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。

(6) 連接 DS1820 的總線(xiàn)電纜是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過(guò) 50m 時(shí),讀取的測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線(xiàn)電纜改為雙絞線(xiàn)帶屏蔽電纜時(shí),正常通訊距離可達(dá) 150m ,當(dāng)采用每米絞合次數(shù)更多的雙絞線(xiàn)帶屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線(xiàn)分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在?DS1820 進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線(xiàn)分布電容和阻抗匹配問(wèn)題。測(cè)溫電纜線(xiàn)建議采用屏蔽 4 芯雙絞線(xiàn),其中一對(duì)線(xiàn)接地線(xiàn)與信號(hào)線(xiàn),另一組接 VCC 和地線(xiàn),屏蔽層在源端單點(diǎn)接地。

(7)在 DS1820 測(cè)溫程序設(shè)計(jì)中,向 DS1820 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待 DS1820 的返回信號(hào),一旦某個(gè) DS1820 接觸不好或斷線(xiàn),當(dāng)程序讀該 DS1820 時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行 DS1820 硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。


免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理。


推薦閱讀:

汽車(chē)LiDAR GaN的Design Win——高效功率轉(zhuǎn)換引領(lǐng)市場(chǎng)

現(xiàn)代戰(zhàn)術(shù)無(wú)線(xiàn)電需要氮化鎵

推挽電路的坑,你踩過(guò)沒(méi)?

設(shè)計(jì)電荷泵雙極電源

抗混疊濾波器:將采樣理論應(yīng)用于 ADC 設(shè)計(jì)


特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉