當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]1引言 DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式;溫度測量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625℃,被測溫度用符號擴(kuò)展的16位數(shù)字量方

1引言

DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式;溫度測量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625℃,被測溫度用符號擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。以上特點(diǎn)使DS18B20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測系統(tǒng)。

2 DS18B20的內(nèi)部結(jié)構(gòu)

DS18B20內(nèi)部結(jié)構(gòu)如圖1所示,主要由4部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如圖2所示,DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地,見圖4)。

ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個DS18B20的64位序列號均不相同。64位ROM的排的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。ROM的作用是使每一個DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個DS18B20的目的。

 
圖1 DS18B20的內(nèi)部結(jié)構(gòu)

DS18B20中的溫度傳感器完成對溫度的測量,用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號位。例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出為FC90H。

23
22
21
20
2-1
2-2
2-3
2-4

溫度值低字節(jié)
MSBLSB

S
S
S
S
S
22
25
24

溫度值高字節(jié)

高低溫報警觸發(fā)器TH和TL、配置寄存器均由一個字節(jié)的EEPROM組成,使用一個存儲器功能命令可對TH、TL或配置寄存器寫入。其中配置寄存器的格式如下:

0
R1
R0
1
1
1
1
1

MSBLSB

R1、R0決定溫度轉(zhuǎn)換的精度位數(shù):R1R0=“00”,9位精度,最大轉(zhuǎn)換時間為93.75ms;R1R0=“01”,10位精度,最大轉(zhuǎn)換時間為187.5ms;R1R0=“10”,11位精度,最大轉(zhuǎn)換時間為375ms;R1R0=“11”,12位精度,最大轉(zhuǎn)換時間為750ms;未編程時默認(rèn)為12位精度。

高速暫存器是一個9字節(jié)的存儲器。開始兩個字節(jié)包含被測溫度的數(shù)字量信息;第3、4、5字節(jié)分別是TH、TL、配置寄存器的臨時拷貝,每一次上電復(fù)位時被刷新;第6、7、8字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個字節(jié)的CRC碼,可用來保證通信正確。

3 DS18B20的工作時序

DS18B20的一線工作協(xié)議流程是:初始化→ROM操作指令→存儲器操作指令→數(shù)據(jù)傳輸。其工作時序包括初始化時序、寫時序和讀時序,如圖3(a)(b)(c)所示。

 
(a)初始化時序

 
(c)讀時序


圖3DS18B20的工作時序圖

4 DS18B20與單片機(jī)的典型接口設(shè)計

圖4以MCS-51系列單片機(jī)為例,畫出了DS18B20與微處理器的典型連接。圖4(a)中DS18B20采用寄生電源方式,其VDD和GND端均接地,圖4(b)中DS18B20采用外接電源方式,其VDD端用3V~5.5V電源供電。

 
a)寄生電源工作方式
(b)外接電源工作方式


圖4DS18B20與微處理器的典型連接圖

假設(shè)單片機(jī)系統(tǒng)所用的晶振頻率為12MHz,根據(jù)DS18B20的初始化時序、寫時序和讀時序,分別編寫了3個子程序:INIT為初始化子程序,WRITE為寫(命令或數(shù)據(jù))子程序,READ為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫均由最低位開始。

DATEQUP1.0
……
INIT:CLREA
INI10:SETBDAT
MOVR2,#200
INI11:CLRDAT
DJNZR2,INI11;主機(jī)發(fā)復(fù)位脈沖持續(xù)3μs×200=600μs
SETBDAT;主機(jī)釋放總線,口線改為輸入
MOVR2,#30
IN12:DJNZR2,INI12;DS18B20等待2μs×30=60μs
CLRC
ORLC,DAT;DS18B20數(shù)據(jù)線變低(存在脈沖)嗎?
JCINI10;DS18B20未準(zhǔn)備好,重新初始化
MOVR6,#80
INI13:ORLC,DAT
JCINI14;DS18B20數(shù)據(jù)線變高,初始化成功
DJNZR6,INI13;數(shù)據(jù)線低電平可持續(xù)3μs×80=240μs
SJMPINI10;初始化失敗,重來
INI14:MOVR2,#240
IN15:DJNZR2,INI15;DS18B20應(yīng)答最少2μs×240=480μs
RET
;------------------------
WRITE:CLREA
MOVR3,#8;循環(huán)8次,寫一個字節(jié)
WR11:SETBDAT
MOVR4,#8
RRCA;寫入位從A中移到CY
CLRDAT
WR12:DJNZR4,WR12
;等待16μs
MOVDAT,C;命令字按位依次送給DS18B20
MOVR4,#20
WR13:DJNZR4,WR13
;保證寫過程持續(xù)60μs
DJNZR3,WR11
;未送完一個字節(jié)繼續(xù)
SETBDAT
RET
;------------------------
READ:CLREA
MOVR6,#8;循環(huán)8次,讀一個字節(jié)
RD11:CLRDAT
MOVR4,#4
NOP;低電平持續(xù)2μs
SETBDAT;口線設(shè)為輸入
RD12:DJNZR4,RD12
;等待8μs
MOVC,DAT
;主機(jī)按位依次讀入DS18B20的數(shù)據(jù)
RRCA;讀取的數(shù)據(jù)移入A
MOVR5,#30
RD13:DJNZR5,RD13
;保證讀過程持續(xù)60μs
DJNZR6,RD11
;讀完一個字節(jié)的數(shù)據(jù),存入A中
SETBDAT
RET
;------------------------
主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:初始化、ROM操作指令、存儲器操作指令。必須先啟動DS18B20開始轉(zhuǎn)換,再讀出溫度轉(zhuǎn)換值。假設(shè)一線僅掛接一個芯片,使用默認(rèn)的12位轉(zhuǎn)換精度,外接供電電源,可寫出完成一次轉(zhuǎn)換并讀取溫度值子程序GETWD。

GETWD:LCALLINIT
MOVA,#0CCH
LCALLWRITE;發(fā)跳過ROM命令
MOVA,#44H
LCALLWRITE;發(fā)啟動轉(zhuǎn)換命令
LCALLINIT
MOVA,#0CCH;發(fā)跳過ROM命令
LCALLWRITE
MOVA,#0BEH;發(fā)讀存儲器命令
LCALLWRITE
LCALLREAD
MOVWDLSB,A
;溫度值低位字節(jié)送WDLSB
LCALLREAD
MOVWDMSB,A
;溫度值高位字節(jié)送WDMSB
RET
……

子程序GETWD讀取的溫度值高位字節(jié)送WDMSB單元,低位字節(jié)送WDLSB單元,再按照溫度值字節(jié)的表示格式及其符號位,經(jīng)過簡單的變換即可得到實(shí)際溫度值。

如果一線上掛接多個DS18B20、采用寄生電源連接方式、需要進(jìn)行轉(zhuǎn)換精度配置、高低限報警等,則子程序GETWD的編寫就要復(fù)雜一些,限于篇幅,這一部分不再詳述,請參閱相關(guān)內(nèi)容。

我們已成功地將DS18B20應(yīng)用于所開發(fā)的“家用采暖洗浴器”控制系統(tǒng)中,其轉(zhuǎn)換速度快,轉(zhuǎn)換精度高,與微處理器的接口簡單,給硬件設(shè)計工作帶來了極大的方便,能有效地降低成本,縮短開發(fā)周期。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉