




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)字化溫度傳感器數(shù)字化溫度傳感器ds18b20one-wire總線(單總線)總線(單總線)one-wire總線是dallas公司研制開發(fā)的一種協(xié)議。它由一個(gè)總線主節(jié)點(diǎn)、一個(gè)或多個(gè)從節(jié)點(diǎn)組成系統(tǒng),通過一根信號線對從芯片進(jìn)行數(shù)據(jù)的讀取。每一個(gè)符合one-wire協(xié)議的從芯片都有一個(gè)唯一的地址,包括48位的序列號、8位的家族代碼和8位的crc代碼。主芯片對各個(gè)從芯片的尋址依據(jù)這64位的不同來進(jìn)行。one-wire總線利用一根線實(shí)現(xiàn)雙向通信。因此其協(xié)議對時(shí)序的要求較嚴(yán)格,如應(yīng)答等時(shí)序都有明確的時(shí)間要求?;镜臅r(shí)序包括復(fù)位及應(yīng)答時(shí)序、寫一位時(shí)序、讀一位時(shí)序。在復(fù)位及應(yīng)答時(shí)序中,主器件發(fā)出復(fù)位信號后,要求
2、從器件在規(guī)定的時(shí)間內(nèi)送回應(yīng)答信號;在位讀和位寫時(shí)序中,主器件要在規(guī)定的時(shí)間內(nèi)讀回或?qū)懗鰯?shù)據(jù)。 串行單總線原理與應(yīng)用串行單總線原理與應(yīng)用 串行單總線概述串行單總線概述 數(shù)字化溫度傳感器數(shù)字化溫度傳感器ds18b20 ds18b20的溫度采集程序的溫度采集程序 實(shí)踐與思考實(shí)踐與思考串行單總線概述串行單總線概述 單總線適用于單主機(jī)系統(tǒng),能夠控制一個(gè)或多個(gè)從機(jī)設(shè)備。主機(jī)可以是微控制器,從機(jī)可以是單總線器件,它們之間的數(shù)據(jù)交換只通過一條信號線。當(dāng)只有一個(gè)從機(jī)設(shè)備時(shí),系統(tǒng)可按單節(jié)點(diǎn)系統(tǒng)操作;當(dāng)有多個(gè)從設(shè)備時(shí),系統(tǒng)則按多節(jié)點(diǎn)系統(tǒng)操作。 單總線的工作原理單總線的工作原理 單總線的時(shí)序單總線的時(shí)序 單總線器件單
3、總線器件 單總線的工作原理單總線的工作原理 單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換、控制都由這根線完成。設(shè)備(主機(jī)或從機(jī))通過一個(gè)漏極開路或三態(tài)端口連至該數(shù)據(jù)線,以允許設(shè)備在不發(fā)送數(shù)據(jù)時(shí)能夠釋放總線,而讓其他設(shè)備使用總線。單總線通常要求外接一個(gè)約為4.7k的上拉電阻,這樣,當(dāng)總線閑置時(shí),其狀態(tài)為高電平。主機(jī)和從機(jī)之間的通信可通過3個(gè)步驟完成,分別為初始化one-wire器件、識別one-wire器件和交換數(shù)據(jù)。由于它們是主從結(jié)構(gòu),只有主機(jī)呼叫從機(jī)時(shí),從機(jī)才能應(yīng)答,因此主機(jī)訪問one-wire器件都必須嚴(yán)格遵循單總線命令序列,即初始化、rom命令、功能命令。如果出現(xiàn)序列混亂,one-wire器
4、件將不響應(yīng)主機(jī)(搜索rom命令、報(bào)警搜索命令除外)。單總線的時(shí)序單總線的時(shí)序 one-wire協(xié)議定義了復(fù)位脈沖、應(yīng)答脈沖、寫0、讀0和讀1時(shí)序等幾種信號類型。所有的單總線命令序列(初始化,rom命令,功能命令)都是由這些基本的信號類型組成的。在這些信號中,除了應(yīng)答脈沖外,其他均由主機(jī)發(fā)出同步信號,并且發(fā)送的所有命令和數(shù)據(jù)都是字節(jié)的低位在前。 初始化時(shí)序初始化時(shí)序 讀、寫時(shí)序讀、寫時(shí)序初始化時(shí)序初始化時(shí)序初始化時(shí)序圖讀、寫時(shí)序讀、寫時(shí)序?qū)憰r(shí)序圖讀、寫時(shí)序讀、寫時(shí)序讀時(shí)序圖單總線器件單總線器件 通常把掛在單總線上的器件稱為單總線器件,單總線器件內(nèi)一般都具有控制、收/發(fā)、存儲(chǔ)等電路。為了區(qū)分不同的
5、單總線器件,廠家生產(chǎn)單總線器件時(shí)都要刻錄一個(gè)64位的二進(jìn)制rom代碼,以標(biāo)志其id號。目前,單總線器件主要有數(shù)字溫度傳感器(如ds18b20)、a/d轉(zhuǎn)換器(如ds2450)、門標(biāo)、身份識別器(如ds1990a)、單總線控制器(如ds1wm)等。數(shù)字化溫度傳感器數(shù)字化溫度傳感器ds18b20 美國dallas半導(dǎo)體公司的數(shù)字化溫度傳感器ds18b20是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。現(xiàn)在,新一代的ds18b20體積更小、更經(jīng)濟(jì)、更靈活。ds18b20測量溫度范圍為55+125。在10+85范圍
6、內(nèi),精度為0.5?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。ds18b20的主要特性ds18b20的外形和內(nèi)部結(jié)構(gòu)ds18b20工作原理ds18b20的4個(gè)主要數(shù)據(jù)部件高速暫存存儲(chǔ)器指令表ds18b20的應(yīng)用電路ds18b20使用中注意事項(xiàng)ds18b20的主要特性的主要特性 (1)適應(yīng)電壓范圍更寬,電壓范圍:35.5v,在寄生電源方式下可由數(shù)據(jù)線供電。(2)獨(dú)特的單線接口方式,ds18b20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與ds18b20的雙向通信。(3)ds18b20支持多點(diǎn)組網(wǎng)功能,多個(gè)ds18b20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫。(4)
7、ds18b20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。(5)測溫范圍55+125,在10+85時(shí)精度為0.5。(6)可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測溫。(7)在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms時(shí)間內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。(8)測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給cpu,同時(shí)可傳送crc校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。(9)負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。 ds18b20
8、的外形和內(nèi)部結(jié)構(gòu)的外形和內(nèi)部結(jié)構(gòu) ds18b20內(nèi)部結(jié)構(gòu)主要由4部分組成:64位光刻rom、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器th和tl、配置寄存器。ds18b20的外形及管腳排列如圖所示。ds18b20外形及引腳排列圖ds18b20引腳定義如下:(1)dq為數(shù)字信號輸入/輸出端。(2)gnd為電源地。(3)vdd為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。ds18b20工作原理工作原理 ds18b20測溫原理框圖如圖所示:圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為計(jì)數(shù)器2的脈沖輸入。計(jì)
9、數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測溫度。斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計(jì)數(shù)器1的預(yù)置值。ds18b20測溫原理框圖ds18b20的的4個(gè)主要數(shù)據(jù)部件個(gè)主要數(shù)據(jù)部件 (1)光刻rom中的64位序列號是出廠前被光刻好的,它可以看做是該ds18b20的地址序列碼,這樣就可以實(shí)現(xiàn)一根總線上掛
10、接多個(gè)ds18b20的目的。64位光刻rom的排列是:開始8位(28h)是產(chǎn)品類型標(biāo)號,接著的48位是該ds18b20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(crc=x8+x5+x4+1)。(2)ds18b20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/lsb形式表達(dá),其中s為符號位。ds18b20溫度值格式表如表所示。ds18b20的的4個(gè)主要數(shù)據(jù)部件個(gè)主要數(shù)據(jù)部件(3)ds18b20溫度傳感器的存儲(chǔ)器。ds18b20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存ram和一個(gè)非易失性的可電擦除的e2prom,后者存放高溫度
11、和低溫度觸發(fā)器th、tl和結(jié)構(gòu)寄存器。(4)配置寄存器。配置寄存器的格式如表所示。tmr1r011111低5位一直都是“1”,tm是測試模式位,用于設(shè)置ds18b20在工作模式還是在測試模式。在ds18b20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。r1和r0用來設(shè)置分辨率,如右表所示(ds18b20出廠時(shí)被設(shè)置為12位)。r1r0分辨率溫度最大轉(zhuǎn)換時(shí)間/ms009位93.750110位187.51011位3751112位750溫度分辨率設(shè)置表高速暫存存儲(chǔ)器高速暫存存儲(chǔ)器 高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如表所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第
12、0和第1個(gè)字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后。對應(yīng)的溫度計(jì)算:當(dāng)符號位s=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)s=1時(shí),先將補(bǔ)碼變?yōu)樵a,再將數(shù)據(jù)部分轉(zhuǎn)換為十進(jìn)制。第9個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。寄存器內(nèi)容字節(jié)地址溫度值低位(ls byte)0溫度值高位(ms byte)1高溫限值(th)2低溫限值(tl)3配置寄存器4保留5保留6保留7crc校驗(yàn)值8ds18b20暫存寄存器分布高速暫存存儲(chǔ)器高速暫存存儲(chǔ)器根據(jù)ds18b20的通信協(xié)議,主機(jī)(單片機(jī))控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過3個(gè)步驟:每一次讀寫之前都要對ds18b20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條rom指令
13、,最后發(fā)送ram指令,這樣才能對ds18b20進(jìn)行預(yù)定的操作。復(fù)位要求主cpu將數(shù)據(jù)線下拉500s,然后釋放,當(dāng)ds18b20收到信號后等待1660s左右,后發(fā)出60240s的應(yīng)答低脈沖,主cpu收到此信號表示復(fù)位成功。指令表指令表 指 令約定代碼功 能讀rom33h讀ds1820溫度傳感器rom中的編碼(即64位地址)符合 rom55h發(fā)出此命令之后,接著發(fā)出 64 位 rom 編碼,訪問單總線上與該編碼相對應(yīng)的 ds1820 ,使之做出響應(yīng),為下一步對該 ds1820 的讀寫做準(zhǔn)備搜索 rom0f0h用于確定掛接在同一總線上 ds1820 的個(gè)數(shù)和識別 64 位 rom 地址。為操作各器件
14、做好準(zhǔn)備跳過 rom0cch忽略 64 位 rom 地址,直接向 ds1820 發(fā)溫度變換命令。適用于單片工作告警搜索命令0ech執(zhí)行后只有溫度超過設(shè)定值上限或下限的片子才做出響應(yīng)rom指令表指令表指令表ram指令表指 令約定代碼功 能溫度變換44h啟動(dòng)ds18b20進(jìn)行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時(shí)最長為750ms(9位為93.75ms)。結(jié)果存入內(nèi)部9字節(jié)ram中讀暫存器0beh讀內(nèi)部ram中9字節(jié)的內(nèi)容寫暫存器4eh發(fā)出向內(nèi)部ram的2、3、4字節(jié)寫上、下限溫度數(shù)據(jù)和配置寄存器命令,緊跟該命令之后,是傳送三字節(jié)的數(shù)據(jù)復(fù)制暫存器48h將ram中第2 、3字節(jié)的內(nèi)容復(fù)制到e2prom中重調(diào) e2pr
15、om0b8h將e2prom中內(nèi)容恢復(fù)到ram中的第2 、3字節(jié)讀供電方式0b4h讀ds18b20的供電模式。寄生供電時(shí)ds18b20發(fā)送“ 0 ”,外接電源供電 ds18b20發(fā)送“ 1 ”ds18b20的應(yīng)用電路的應(yīng)用電路 1ds18b20寄生電源供電方式電路圖寄生電源方式特點(diǎn):(1)進(jìn)行遠(yuǎn)距離測溫時(shí),無須本地電源。(2)可以在沒有常規(guī)電源的條件下讀取rom。(3)電路更加簡潔,僅用一根i/o口實(shí)現(xiàn)測溫。(4)只適應(yīng)于單一溫度傳感器測溫情況下使用,不適于采用電池供電系統(tǒng)中。ds18b20寄生電源供電方式ds18b20的應(yīng)用電路的應(yīng)用電路2ds18b20寄生電源強(qiáng)上拉供電方式電路圖ds18b2
16、0寄生電源強(qiáng)上拉供電方式在強(qiáng)上拉供電方式下可以解決電流供應(yīng)不足的問題,因此也適合于多點(diǎn)測溫應(yīng)用,缺點(diǎn)就是要多占用一根i/o口線進(jìn)行強(qiáng)上拉切換。ds18b20的應(yīng)用電路的應(yīng)用電路3ds18b20的外部電源供電方式外部電源供電方式是ds18b20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡單,可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng),如圖所示。外部供電方式的多點(diǎn)測溫電路圖ds18b20使用中注意事項(xiàng)使用中注意事項(xiàng) (1)較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由于ds18b20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對ds18b20進(jìn)行讀寫編程時(shí),必須嚴(yán)格地保證讀寫時(shí)序,否則將無法讀取
17、測溫結(jié)果。在使用pl/m、c等高級語言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對ds18b20操作部分最好采用匯編語言實(shí)現(xiàn)。(2)在ds18b20的有關(guān)資料中均未提及單總線上所掛ds18b20數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個(gè)ds18b20,在實(shí)際應(yīng)用中并非如此。(3)連接ds18b20的總線電纜是有長度限制的。在采用ds18b20進(jìn)行長距離測溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配問題。(4)在ds18b20測溫程序設(shè)計(jì)中,向ds18b20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待ds18b20的返回信號,一旦某個(gè)ds18b20接觸不好或斷線,當(dāng)程序讀該ds18b20時(shí),將沒有返回信號,程序進(jìn)入死循環(huán)。(5)測溫
18、電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一對線接vcc和地線,屏蔽層在源端單點(diǎn)接地。ds18b20的溫度采集程序的溫度采集程序 1采集程序功能采集程序功能從ds18b20中讀出溫度數(shù)據(jù),并舍去小數(shù)位,將整數(shù)部分轉(zhuǎn)換成十進(jìn)制數(shù)據(jù)存入內(nèi)存單元,并通過p1口驅(qū)動(dòng)8位led顯示。2子程序入口地址與變量定義子程序入口地址與變量定義(1)子程序入口地址。init_1820:ds18b20初始化程序read_1820: 讀ds18b20的程序,從ds18b20中讀出一個(gè)字節(jié)的數(shù)據(jù)read_18200: 讀ds18b20的程序,從ds18b20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù)write_1820: 寫ds18b20的程序temper_cov:將從ds18b20中讀出的溫度數(shù)據(jù)進(jìn)行轉(zhuǎn)換bin_bcd:將十六進(jìn)制的溫度數(shù)據(jù)轉(zhuǎn)換成壓縮bcd碼delay:延時(shí)子程序get_temper:從ds18b20讀出溫度數(shù)據(jù)ds18b20的溫度采集程序的溫度采集程序(2)變量定義。temper_l:存放讀出溫度低位數(shù)據(jù)的符號地址temper_h:存放讀出溫度高位數(shù)據(jù)的符號地址temper_num:存放轉(zhuǎn)換后的溫度值的符號地址flag1:ds18b20的檢測標(biāo)志,若ds18b20存在,置位fl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度北京市通信中心綠色環(huán)保裝修服務(wù)合同
- 光伏發(fā)電規(guī)劃報(bào)告
- 公務(wù)用車輛管理系統(tǒng)
- 低空經(jīng)濟(jì)發(fā)展行動(dòng)計(jì)劃
- 營養(yǎng)學(xué)飲食指南閱讀題
- 房車項(xiàng)目可行性研究報(bào)告
- 智能家居網(wǎng)絡(luò)系統(tǒng)
- 中光能光伏發(fā)電
- 建筑設(shè)計(jì)咨詢服務(wù)合同
- 主管護(hù)師內(nèi)科護(hù)理復(fù)習(xí)試題有答案
- 小學(xué)“美德銀行”積分兌換管理細(xì)則
- 中國法制史學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 蝸牛與黃鸝鳥(課件)人音版音樂二年級上冊
- 人教版五年級數(shù)學(xué)下冊第三單元第4課《-長方體、正方體的展開圖》課件
- 2024至2030年中國葉面肥行業(yè)投資前景及策略咨詢研究報(bào)告
- 勞務(wù)派遣外包人力資源采購?fù)稑?biāo)方案(技術(shù)方案)
- 壓力容器設(shè)備安裝合同范本(2024版)
- 運(yùn)動(dòng)解剖學(xué)(李世昌主編,第二版)-緒論
- NB-T20048-2011核電廠建設(shè)項(xiàng)目經(jīng)濟(jì)評價(jià)方法
- 證券投資管理制度匯編樣本
- 寵物店員工合同協(xié)議書
評論
0/150
提交評論