DALLAS公司DS18B20基本參數(shù)
DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器DS18B20、 DS1822,外形如圖5.8所示,支持“一線總線”接口,測量溫度范圍為 -55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C。DS1822的精度較差為± 2°C ,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,新的產(chǎn)品支持3V~5.5V的電壓范圍, DS18B20可以程序設(shè)定9~12位的分辨率,精度為±0.5°C。
用戶設(shè)定的報警溫度存儲在EEPROM中,掉電后依然保存。DS1822與 DS18B20軟件兼容,是DS18B20的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數(shù)的EEPROM,精度降低為±2°C,是經(jīng)濟(jì)型產(chǎn)品。 DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如下:DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個DS18B20的目的。DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號位。
這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特(位)的RAM中,Bit0是最低位,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出為FC90H。兩字節(jié)12位溫度格式
溫度值位指示 | Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
溫度值的低字節(jié) | 23 | 22 | 21 | 20 | 2-1 | 2-2 | 2-3 | 2-4 |
溫度值位指示 | Bit15 | Bit14 | Bit13 | Bit12 | Bit11 | Bit10 | Bit9 | Bit8 |
溫度值的高字節(jié) | S | S | S | S | S | 26 | 25 | 24 |
DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM(數(shù)據(jù)緩沖寄存器)和一個非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。前者暫存存儲器包含了8個連續(xù)字節(jié),前兩個字節(jié)是測得的溫度信息,第一個字節(jié)的內(nèi)容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是TH、TL的易失性拷貝,第五個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個字節(jié)的內(nèi)容在每一次上電復(fù)位時被刷新。第六、七、八個字節(jié)用于內(nèi)部計算。第九個字節(jié)是冗余檢驗(yàn)字節(jié)。該字節(jié)各位的意義如下:TM R1 R0 1 1 1 1 1 如表5。4所示。
兩字節(jié)溫度與十進(jìn)制溫度轉(zhuǎn)換關(guān)系
溫度值/℃ | 雙字節(jié)溫度(二進(jìn)制) | 雙字節(jié)溫度(十六進(jìn)制) |
+125 | 0000 0111 1101 0000 | 07D0H |
+85.5 | 0000 0101 0101 1000 | 0558H |
+25.0625 | 0000 0001 1001 0001 | 0191H |
+10.125 | 0000 0000 1010 0010 | 00A2H |
0 | 0000 0000 0000 0000 | 0000H |
-1.5 | 1111 1111 1110 1000 | FFE8H |
-10.125 | 1111 1111 0101 1110 | FF5EH |
-25.0625 | 1111 1111 0110 1111 | FE6FH |
-55 | 1111 1100 1001 0000 | FC90H |
該寄存器的低五位一直都是1 ,TM是測試模式位,用于設(shè)置DS18B20處在工作模式還是在測試模式。在DS18B20出廠時該位被設(shè)置為0,用戶不要去改動。R1和R0用來設(shè)置分辨率,如下表所示:(DS18B20出廠時被設(shè)置為12位)
|
|
根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放(輸出高),DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,拉低總線,主CPU收到此信號表示復(fù)位成功。
編輯:admin 最后修改時間:2023-05-27