鄭州輕工業(yè)學院畢業(yè)設計 DS18B20的測溫原理_第1頁
鄭州輕工業(yè)學院畢業(yè)設計 DS18B20的測溫原理_第2頁
鄭州輕工業(yè)學院畢業(yè)設計 DS18B20的測溫原理_第3頁
鄭州輕工業(yè)學院畢業(yè)設計 DS18B20的測溫原理_第4頁
鄭州輕工業(yè)學院畢業(yè)設計 DS18B20的測溫原理_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、鄭州輕工業(yè)學院課 程 設 計 任 務 書題目 DS18B20的測溫原理 專業(yè)、班級 學號 姓名 主要內容、基本要求、主要參考資料等:一、主要內容分析DS18B20的測溫工作原理。二、基本要求1:DS18B20工作原理,內部結構組成框圖,工作波形,命令流程。2:DS18B20組網(wǎng)測溫的硬件連接。3:DS18B20組網(wǎng)原理及軟件實現(xiàn)。4:完成課程設計說明書,說明書應含有課程設計任務書,設計原理說明,設計原理圖,要求字跡工整,敘述清楚,圖紙齊備。5:設計時間為一周。三、主要參考資料1、徐愛鈞,彭秀華 Keil C51 V7.0單片機高級語言編程與Visica2應用實踐M 北京電子工業(yè)出版社 2004

2、:136-1422、孫育才 MCS-51系列單片機微型計算機應用東南大學出版社,19953、馬忠梅,張凱歌 單片機的C語言應用程序設計M 北京航空航天大學出版社 2003完 成 期 限: 2009.6.14-2009.6.21 指導教師簽名: 課程負責人簽名: 2009年6月14日目錄第一章 DS18B20的內部結構及命令流程第一節(jié)、內部結構4第二節(jié)、命令流程4一、 初始化二、 ROM命令三、DS18B20功能命第二章 DS18B20組網(wǎng)測溫的硬件連接第三章 DS18B20組網(wǎng)原理及軟件的實現(xiàn)第一節(jié)、 組網(wǎng)原理 第二節(jié)、軟件實現(xiàn) 一、NEXT函數(shù) 二、FIRST函數(shù) 三、FIND DEVICE

3、S函數(shù) 四、Match Rom函數(shù)第四章 組網(wǎng)注意事項第五章 心得體會12參考文獻13引言傳統(tǒng)的溫度檢測大多以熱敏電阻為傳感器,采用熱敏電阻,可滿足 40 攝氏度 至 90 攝氏度 測量范圍,但熱敏電阻可靠性差,測量溫度準確率低,對于 1 攝氏度 的信號是不適用的,還得經(jīng)過專門的接口電路轉換成數(shù)字信號才能由微處理器進行處理。DS18B20 數(shù)字式溫度傳感器,與傳統(tǒng)的熱敏電阻有所不同的是,使用集成芯片,采用單總線技術,其 能夠有效的減小外界的干擾,提高測量的精度,同時,它 可以直接將被測溫度轉化成串行數(shù)字信號供微機處理,接口簡單, 使數(shù)據(jù)傳輸和處理簡單化。 部分功能電路的集成,使總體硬件設計更簡

4、潔,能 有效地降低成本, 搭建電路和焊接電路時更快,調試也更方便簡單化,這也就 縮短了開發(fā)的周期 。第一章 DS18B20概述第一節(jié) 內部結構DS18B20Z 8腳SOIC封裝如圖 1所示,主要由64位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL和配置寄存器4部分組成。DS18B20的管腳排列如圖1.1所示,DQ為數(shù)字信號輸人/輸出端;GND為電源地;VDD為外接供電電源輸人端。 ROM中的64位序列號是出廠前被刻好的,它可以看作是該DS 18 B20的地址序列碼,每個DS18B20的64位序列號均不相同。64位ROM排列的循環(huán)冗余校驗碼(CRC=Xg+XS+X,+1)。ROM的作用是

5、使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS 18 B20的目的。 圖1 DS18B20的內部結構圖1.1 DS18B20的管腳排列DS18 B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2 PRAM;后者存放高溫度和低溫度觸發(fā)器TH,TL和結構寄存器。第二節(jié) 命令流程 由于DS18B20是一個典型的單總線傳感器,其命令序列如下:初始化ROM操作指令DS18B20功能命令。一、初始化 FPGA要與DS18B20通信,首先必須完成初始化。FPGA產生復位信號,DS18B20返回響應脈沖。 二、ROM命令    

6、; 該步驟完成FPGA與總線上的某一具體DS18B20建立聯(lián)系。ROM命令有搜尋ROM(SEARCH ROM)、讀ROM(READ ROM)、匹配ROM(MATCH ROM)、忽略ROM(SKIP ROM)、報警查找等命令(ALARM SEARCH)。 這里,F(xiàn)PGA只連接1個DS18B20,因此只使用讀ROM命令,來讀取DS18B20的48位ID號。 三、DS18B20功能命令在該步驟中完成溫度轉換(CONVERTT)、寫暫存寄存器(WRITE SCRATCHPAD)、讀暫存寄存器(READ SCRATCHPAD)、拷貝暫存寄存器(COPYSCRATCHPAD)、裝載暫存器寄存器(RECAL

7、L E2)、讀供電模式命令(READ Power SUPPLY)。 文中不用溫度報警功能,因此在本步驟中只需完成溫度轉換,然后通過讀暫存寄存器命令完成溫度轉化的結果。 每次訪問任何單總線器件,必須嚴格遵守這個命令序列;如果出現(xiàn)序列混亂,則單總線器件不會響應主機。但是這個準則對于搜索ROM命令和報警搜索命令例外,在執(zhí)行兩者中任何一條命令之后,主機不能執(zhí)行其后的功能命令,必須返回至第一步。 在主機發(fā)出 ROM命令,以訪問某個指定的DS18 B20,接著就可以發(fā)出DS 18 B20支持的某個功能命令。這些命令允許主機寫人或讀出DS18 B20暫存器,啟動溫度轉換以及判斷從機的供電

8、方式。其工作時序包括初始化時序、寫時序和讀時序,如下圖所示:         第二章 DS18B20組網(wǎng)測溫的硬件連接圖3以MCS51系列單片機為例,畫出了DS18B20與微處理器的典型連接。圖3(a)中DS18B20采用寄生電源方式,其VDD和GND端均接地,圖3(b)中DS18B20采用外接電源方式,其VDD端用3V5.5V電源供電。    假設單片機系統(tǒng)所用的晶振頻率為12MHz,根據(jù)DS18B20的初始化時序、寫時序和讀時序,分別編寫了3個子程序:INIT為初始化子程

9、序,WRITE為寫(命令或數(shù)據(jù))子程序,READ為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫均由最低位開始。    DATEQUP1.0        INIT: CLR EA    INI10:SETB DAT     MOV R2,200 INI11:CLRDAT DJNZ R2,INI11;主機發(fā)復位脈沖持續(xù)3s×200=600s SETB DAT;主機釋放總線,口線改為輸入 MOV R2,30

10、 IN12: DJNZ R2,INI12;DS18B20等待2s×30=60s CLR C ORL C,DAT;DS18B20數(shù)據(jù)線變低(存在脈沖)嗎? JCINI10;DS18B20未準備好,重新初始化 MOV R6,80         (a)寄生電源工作方式        (b)外接電源工作方式        圖3  DS

11、18B20與微處理器的典型連接INI13:ORL C,DAT JC INI14;DS18B20數(shù)據(jù)線變高,初始化成功 DJNZ R6,INI13;數(shù)據(jù)線低電平可持續(xù)3s×80=240s SJMP INI10;初始化失敗,重來INI14:MOV R2,240IN15:DJNZ R2,INI15;DS18B20應答最少2s×240=480s RET; WRITE:CLR EA MOV R3,8;循環(huán)8次,寫一個字節(jié)WR11:SETB DAT MOV R4,8RRCA;寫入位從A中移到CY CLR DATWR12:DJNZ R4,WR12;等待16s MOV DAT,C;命令字按

12、位依次送給DS18B20 MOV R4,20WR13:DJNZ R4,WR13;保證寫過程持續(xù)60s DJNZ R3,WR11;未送完一個字節(jié)繼續(xù) SETB DAT RET; READ:CLR EA MOV R6,8;循環(huán)8次,讀一個字節(jié)RD11:CLR DAT MOV R4,4 NOP;低電平持續(xù)2s SETB DAT;口線設為輸入RD12:DJNZ R4,RD12;等待8s MOV C,DAT;主機按位依次讀入DS18B20的數(shù)據(jù) RR C A ;讀取的數(shù)據(jù)移入A MOV R5,30RD13:DJNZ R5,RD13;保證讀過程持續(xù)60s DJNZ R6,RD11;讀完一個字節(jié)的數(shù)據(jù),存入

13、A中 SETB DAT RET; 主機控制DS18B20完成溫度轉換必須經(jīng)過三個步驟:初始化、ROM操作指令、存儲器操作指令。必須先啟動DS18B20開始轉換,再讀出溫度轉換值。假設一線僅掛接一個芯片,使用默認的12位轉換精度,外接供電電源,可寫出完成一次轉換并讀取溫度值子程序GETWD。    GETWD:LCALL INIT     MOV A,0CCH     LCALL WRITE;發(fā)跳過ROM命令     MOV A

14、,44H     LCALLWRITE;發(fā)啟動轉換命令     LCALL INIT     MOV A,0CCH;發(fā)跳過ROM命令     LCALL WRITE     MOV A,0BEH;發(fā)讀存儲器命令     LCALL WRITE     LCALL READ     

15、;MOV WDLSB,A    ;溫度值低位字節(jié)送WDLSB     LCALL READ     MOV WDMSB,A     ;溫度值高位字節(jié)送WDMSB     RET          子程序GETWD讀取的溫度值高位字節(jié)送WDMSB單元,低位字節(jié)送WDLSB單元,再按照溫度值字節(jié)的表示格

16、式及其符號位,經(jīng)過簡單的變換即可得到實際溫度值。        如果一線上掛接多個DS18B20、采用寄生電源連接方式、需要進行轉換精度配置、高低限報警等,則子程序GETWD的編寫就要復雜一些。我們已成功地將DS18B20應用于所開發(fā)的“家用采暖洗浴器”控制系統(tǒng)中,其轉換速度快,轉換精度高,與微處理器的接口簡單,給硬件設計工作帶來了極大的方便,能有效地降低成本,縮短開發(fā)周期。第三章 DS18B20組網(wǎng)原理及軟件實現(xiàn)第一節(jié) 組網(wǎng)原理 前面提及單總線器件的ROM命令,在主機檢測到應答脈沖后,就可以發(fā)出ROM命令。這些命

17、令與各個從機設備的唯一64位ROM代碼相關。允許主機在單總線上連接多個從機設備時,指定操作某個從機設備。這些命令還允許主機能夠檢測到總線上有多少個從機設備,以及其設備類型或者有沒有設備處于報警狀態(tài)。 從機設備可能支持5種ROM命令(實際情況與具體型號有關),每種命令長度為8位。主機在發(fā)出功能命令之前,必須發(fā)送合適的ROM命令。 搜索ROM Foh當系統(tǒng)初始上電時,主機必須找出總線上所有從機設備的ROM代碼,這樣主機就能夠判斷出從機的數(shù)目和類型。主機通過重復執(zhí)行搜索ROM循環(huán)(搜索ROM命令跟隨著位數(shù)據(jù)交換)以找出總線上所有的從機設備。如果總線只有一個從機設備,則可以采用讀ROM命令來替代搜索R

18、OM命令。在每次執(zhí)行完搜索ROM循環(huán)后,主機必須返回至命令序列的第一步(初始化)。 讀ROM33h(僅適合于單節(jié)點) 該命令僅適用于總線上只有一個從機設備。它允許主機直接讀出從機的64位ROM代碼,而無須執(zhí)行搜索ROM過程。如果該命令用于多節(jié)點,系統(tǒng)則必然發(fā)生數(shù)據(jù)沖突,因為每個從機設備都會響應該命令。 匹配ROM仁55h匹配ROM命令跟隨64位ROM代碼,從而允許主機訪問多節(jié)點系統(tǒng)中某個指定的從機設備。僅當從機完全匹配64位ROM代碼時,才會響應主機隨后發(fā)出的功能命令。其它設備將處于等待復位脈沖狀態(tài)。 跳越ROM CCh(僅適合于單節(jié)點) 主機能夠采用該命令同時訪問總線上的所有從機設備,而無須

19、發(fā)出任何ROM代碼信息。例如,主機通過在發(fā)出跳越 ROM命令后跟隨轉換溫度命令仁44h,就可以同時命令總線上所有的DS18B20開始轉換溫度,這樣大大節(jié)省了主機的時間。值得注意的是,如果跳越ROM命令跟隨的是讀暫存器BEh的命令(包括其它讀操作命令),則該命令只能應用于單節(jié)點系統(tǒng),否則將由于多個節(jié)點都響應該命令而引起數(shù)據(jù)沖突。 報警搜索ECh(僅少數(shù)1一Wire器件支持) 除那些設置了報警標志的從機響應外,該命令的工作方式完全等同于搜索ROM命令。該命令允許主機設備判斷那些從機設備發(fā)生了報警(如最近的測量溫度過高或過低等)。同搜索ROM命令一樣,在完成報警搜索循環(huán)后,主機必須返回至命令序列的第

20、一步。第二節(jié) 軟件實現(xiàn) 相對于總線上只有一個器件的情況,比總線上有多個器件的操作過程要相對復雜一些,用得比較多的有下面幾個函數(shù)。一、 NEXT函數(shù) " NEXT"操作是搜索 1一Wire總線上的下一個從機器件,一般情況下,此搜索操作是在FIRST操作之后或上一次 NEXT操作之后進行;保持上次搜索后這些值的狀態(tài)不變、執(zhí)行又一次搜索即可實現(xiàn)NEXT操作。之后從ROM_ NO寄存器中讀出一個新的ROM碼。若前一次搜索到的是1 - Wire上的最后一個器件,則返回一個無效標記FALSE,并且把狀態(tài)設置成下一次調用搜索算法時將是FIRST操作的狀態(tài)(圖4中狀態(tài))。二、 FIRST函

21、數(shù) " FIRST”操作是搜索1一Wire總線上的第一個從機器件。該操作是通過將LastDiscrepany, LastFam-liyDiscrepany和LastDeviceFlag置零,然后進行搜索完成的。最后ROM碼從ROM_ NO寄存器中讀出。若I -Wire總線上沒有器件,復位序列就檢測不到應答脈沖,搜索過程終止。 lastDiscrep =0; doneFlag=false; return Next);三、FIND DEVICES函數(shù) 首先復位單總線以確定是否存在任何器件,如果存在則將其喚醒。然后調用FIRST函數(shù)跟蹤沖突位,并返回到NEXT函數(shù)。NEXT函數(shù)完成鑒別單總

22、線上每個期間唯一TOM代碼的大部分工作。 If(!ow-reset) /如果單總線上存在器件則開始處理 if( First() /至少發(fā)現(xiàn)一個器件才開始 numROMs =0; do numROMs+; numDS18b20s=numROMs ; for(m二0;m<8;m+) FoundROMnumROMsm =ROMm;/對發(fā)現(xiàn)的器件鑒別ROM代碼while(Next)&&(numROMs<=MAXDSl8b20 );/一直持續(xù)到?jīng)]有發(fā)現(xiàn)其他器件 四、Match Rom函數(shù) 選中某一特定的DS181320進行操作。 if( ow- reset())return

23、false; write-byte (0x55); /發(fā)送匹配ROM命令for( i =0;i<8;i+)write-byte( FoundROMalarm numROMsalarmi); /發(fā)送ROM代碼return true;軟件及程序的其他過程跟單總線上只有一個器件的情況相同。第四章 組網(wǎng)注意事項 在DS18 B20的有關資料中均未提及單總線上所掛DS18 B20的數(shù)量,容易使人誤認為可以掛任意多個DS18B20,在實際應用中并非如此。當單總線上所掛DS18 B20超過8個時,就需要解決微處理器的總線驅動能力。一般情況下,在寄生電源的工作方式下,由于單個DS18 B20的工作電流為

24、1 mA,而總線上的電流為5 V/4. 7 k,fl =1. 06 mA,加上一個MOSFET可以幫助提供能量,但是由于DS18B20和MOSFET之間的充放電和功耗問題,導致單總線上的DS 18 B20個數(shù)不能超過8個。三線制的連接方式很好地解決了能量提供問題,理論上可以在數(shù)據(jù)總線上接任意多個器件。這點在進行多點測溫系統(tǒng)設計時要加以注意。 連接DS 18 B20的總線電纜(普通三芯線)在只有上拉電阻的情況下可靠傳輸長度可達45 m左右,距離最長時需根據(jù)分支點數(shù)、總線長度匹配其線間電容及阻抗;一般情況下,采用普通信號電纜傳輸長度超過50 m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當將總線電纜改為雙絞線帶

25、屏蔽電纜時,正常通信距離可達150 m,當采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通信距離進一步加長。這種情況主要是由總線分布電容使信號波形產生畸變造成的。電纜的分布電容C主要是由雙絞線的兩條平行導線產生,數(shù)字信號通過傳輸線時,分布電容會出現(xiàn)充放電過程,引起矩形脈沖的上升沿和下降沿變壞,造成波形畸變。電容越大或者脈沖信號的頻率越高,畸變越嚴重。因此,在用DS 18 B20進行長距離測溫系統(tǒng)設計時要充分考慮總線分布電容和阻抗匹配問題。應注意以下幾點:合理估算畸變的允許程度和電容的允許值;不同傳輸線的電容相差很大,如同軸電纜抗干擾能力最強,但電容較大;傳輸線越短,電容越小;合理布線,可減少電容。實際運用中,測溫電纜線建議采用屏蔽4芯雙絞線,其中一組接地線與信號線;另一組接V CC和地線,屏蔽層在源端單點接地。 由于DS18 B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS 18 B20進

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論