基於微控制器溫測系統

2023-01-21 13:00:07 字數 2096 閱讀 7115

1-wire 網路具有嚴謹的控制結構,其結構如圖2.8所示,一般通過雙絞線與 1-wire 元件進行資料通訊,它們通常被定義為漏極開路端點,主 / 從式多點結構,而且一般都在主機端接上乙個上拉電阻 +5v 電源。通常為了給 1-wire 裝置提供足夠的電源,需要乙個 mosfet 管將 1-wire 匯流排上拉至 +5v 電源。

圖2.8 ds18b20組成的1-wire網路

1-wire 網路通訊協議是分時定義的,有嚴格的時隙概念,下圖是復位脈衝的時隙。

圖2.9 1-wire協議的復位脈衝時隙

圖2.10 1-wire讀寫「0/1」時隙

ds18b20 單線通訊功能是分時完成的,他有嚴格的時隙概念,如果出現序列混亂,1-wire 器件將不響應主機,因此讀寫時序很重要。系統對 ds18b20 的各種操作必須按協議進行。根據 ds18b20 的協議規定,微控制器控制 ds18b20 完成溫度的轉換必須經過以下 4 個步驟 :

(1)每次讀寫前對 ds18b20 進行復位初始化。復位要求主 cpu 將資料線下拉 500us ,然後釋放, ds18b20 收到訊號後等待 16us~60us 左右,然後發出 60us~240us 的存在低脈衝,主 cpu 收到此訊號後表示復位成功。

(2)傳送一條 rom 功能指令,如表2.4所示:

表2.4 ds18b20 的 rom 指令集

(3)傳送儲存器指令,如表2.5所示:

表2.5 ds18b20 的儲存器指令集

(4)進行資料通訊。

ds1820 在實際應用中應注意以下幾方面的問題:

(1)每一次讀寫之前都要對 ds18b20 進行復位,復位成功後傳送一條 rom 指令,最後傳送 ram 指令,這樣才能對 ds18b20 進行預定的操作。復位要求主 cpu 將資料線下拉 500 微秒,然後釋放, ds18b20 收到訊號後等待 16 ~ 60 微秒左右,後發出 60 ~ 240 微秒的存在低脈衝,主 cpu 收到此訊號表示復位成功。(所有的讀寫時序至少需要 60us ,且每個獨立的時序之間至少需要 1us 的恢復時間。

在寫時序時,主機將在下拉低匯流排 15us 之內釋放匯流排,並向單匯流排器件寫 1 ;若主機拉低匯流排後能保持至少 60us 的低電平,則向單匯流排器件寫 0 。單匯流排僅在主機發出讀寫時序時才向主機傳送資料,所以,當主機向單匯流排器件發出讀資料指令後,必須馬上產生讀時序,以便單匯流排器件能傳輸資料。)

(2)在寫資料時,寫 0 時單匯流排至少被拉低 60us, 寫 1 時 ,15us 內就得釋放匯流排。

(3)轉化後得到的 12 位資料,儲存在 18b20 的兩個 8 位元的 ram 中,二進位制中的前面 5 位是符號位,如果測得的溫度大於 0 ,這 5 位為 0 ,只要將測到的數值乘於 0.0625 即可得到實際溫度;如果溫度小於 0 ,這 5 位為 1 ,測到的數值需要取反加 1 再乘於 0.0625 即可得到實際溫度。

(4)較小的硬體開銷需要相對複雜的軟體進行補償,由於 ds1820 與微處理器間採用序列資料傳送,因此,在對 ds1820 進行讀寫程式設計時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。在使用 pl/m 、 c 等高階語言進行系統程式設計時,對 ds1820 操作部分最好採用組合語言實現。

(5)在 ds1820 的有關資料中均未提及單匯流排上所掛 ds1820 數量問題,容易使人誤認為可以掛任意多個 ds1820 ,在實際應用中並非如此。當單匯流排上所掛 ds1820 超過 8 個時,就需要解決微處理器的匯流排驅動問題,這一點在進行多點測溫系統設計時要加以注意。

(6)連線 ds1820 的匯流排電纜是有長度限制的。試驗中,當採用普通訊號電纜傳輸長度超過 50m 時,讀取的測溫資料將發生錯誤。當將匯流排電纜改為雙絞線帶遮蔽電纜時,正常通訊距離可達 150m ,當採用每公尺絞合次數更多的雙絞線帶遮蔽電纜時,正常通訊距離進一步加長。

這種情況主要是由匯流排分布電容使訊號波形產生畸變造成的。因此,在用 ds1820 進行長距離測溫系統設計時要充分考慮匯流排分布電容和阻抗匹配問題。測溫電纜線建議採用遮蔽 4 芯雙絞線,其中一對線接地線與訊號線,另一組接 vcc 和地線,遮蔽層在源端單點接地。

(7)在 ds1820 測溫程式設計中,向 ds1820 發出溫度轉換命令後,程式總要等待 ds1820 的返回訊號,一旦某個 ds1820 接觸不好或斷線,當程式讀該 ds1820 時,將沒有返回訊號,程式進入死迴圈。這一點在進行 ds1820 硬體連線和軟體設計時也要給予一定的重視。

基於微控制器的水位控制系統設計

萍鄉高等專科學校 微控制器課程設計報告 姓名 學號 1 專業 應用電子 系別 機械電子工程系 目錄1 概述 3 2 設計的基本任務和要求 4 2.1 基本功能 4 2.2塔水位控制原理 4 2.3 系統硬體總體方案 5 3 控制系統方案設計 5 3.1系統硬體方案 5 3.2 核心晶元at89c51...

基於微控制器的倉庫防火報警系統設計

2015屆本科畢業設計 基於微控制器的倉庫火災報警系統設計 劉艷豔物理與電子資訊學院電子資訊科學與技術專業學號 110524068 指導老師 馬海燕 摘要 早期的火災報警系統是通過人的觀察,例如巡邏,當有人發現了火災時,就通過喊話或鳴銅鑼通知其他的人來滅火。隨著社會的進步,經濟的快速發展,倉庫的物資...

基於微控制器下的考勤機

2 用導線將 txd cpu模組 與 io iccard模組 相連 3 用導線將 t0 cpu模組 與 power iccard模組 相連 4 用導線將 int0 cpu模組 與 sw iccard模組 相連 5 用導線將 int1 cpu模組 與 p cpu掛箱 相連 有關8279模組和鍵盤模組的...