基于Internet的嵌入式多點溫度監控系統
這里主要介紹關于多個DS1825的自動搜索算法,由于系統中使用了多片DS1825構成溫度傳感器網絡,因此,如何準確、有效地對每一溫度傳感器進行尋址成為該系統的一個核心問題。結合DS1825的實際特點和系統需要,提出如下解決方案:首先利用DS1825內部報警上限寄存器(TH寄存器)存放溫度傳感器的編號,并將其編號貼在溫度傳感器表面。由于TH寄存器具有掉電不丟失數據功能,因此,便把每片DS1825的惟一64位注冊碼及其編號一一對應起來。這一過程需要對DS1825進行單獨編程。然后,將確定好編號的DS1825接入單線網絡,利用DS1825特有的單線網絡自動搜索功能,即可搜尋到每片DS1825的注冊碼,再利用該注冊碼和相應的ROM操作指令,即可從每片DS1825的TH寄存器中讀出相應的設定編號,實現多個DS1825的尋址功能。
每片DS1825有惟一的64位注冊碼,存儲在只讀存儲器ROM中,其中低8位是產品的工廠代碼,接著是每個器件的惟一序號,共48位,最高8位是前56位的循環冗余校驗碼。這就準許總線主機對總線上特定的DS1825進行尋址。只有與64位注冊碼嚴格相符的DS1825,才能對后續的操作做出反應,所有與64位注冊碼不符的DS1825將等待復位脈沖。搜索算法首先通過復位和在線應答時隙將單線總線上所有DS1825復位。成功地執行該操作后發送1 B的搜索命令,使所有連接到單總線的DS1825準備就緒,開始進行搜索操作。搜索命令發出之后,開始實際的搜索過程。首先,總線上所有DS1825同時發送注冊碼的第1位,按照單線總線特性,當所有DS1825同時應答主機時,結果相當于全部被發送數據位的邏輯“與”。DS1825發送其注冊碼的第1位后,主機啟動下一位操作,接著DS1825發送第1位數據的補碼。從兩次讀到的數據位可以對注冊碼的第1位做出幾種判斷,如表1所列。本文引用地址:http://www.104case.com/article/152337.htm
然后,主機向總線上的所有器件發回一個指定位。如果DS1825注冊碼的當前位的值與該數據位匹配,則繼續參與搜索過程;若DS1825的當前位與這不匹配,則該器件轉換到等待狀態并保持等待狀態,直到下一個復位信號到來。其余63位注冊碼的搜索依然按照這種讀2位寫1位的模式進行重復操作。按照這種搜索算法進行下去,最終除了惟一一個DS1825外,所有DS1825將等待狀態,經過最后一輪檢測就可得到最后保留未進入等待狀態的DS1825的注冊碼。在后續搜索過程中選用不同的路徑或分支來查找其他器件的注冊碼,即可完成所有器件注冊碼的識別。
下位機軟件采用MCS51匯編語言編寫,在中斷服務程序中,實現用戶輸入以及和以太網控制器的通信功能;在主程序中,實現溫度傳感器網絡的自動搜索、編號排序、獲取溫度信息等,并根據預先設定的溫度上下限值,實現相應的報警功能。由于設計中使用傳感器網絡的自動搜索算法,因此,當對網絡中的溫度傳感器作出調整(如更換、添加、刪除等操作)時,系統具有很強的自適應能力。下位機軟件程序流程圖如圖4所示。
3 測量結果
網絡化多點溫度測控系統對被測對象溫度的監控結果在PC機的顯示如圖5所示,由圖可清楚觀察到溫度數據隨時間變化而變化的趨勢。
4 結 語
基于Internet的嵌入式多點溫度監控系統靈活性高、交互性強,可在線根據需要隨時修改溫度上下限值,系統設計開發過程中充分利用了網絡技術與多點溫度監控技術相結合的方法及軟硬件協同設計的思想,采用模塊化設計,稍加裁剪改造可適用于多種不同場合的分布式遠程多點溫度智能監控系統。該系統經實驗測試,穩定可靠,測量精度高,實時性強且充分利用了現有網絡,利于傳統的基于RS 485溫度監控系統快速改造為以太網遠程智能監控系統,取得更好的社會經濟效益。
評論