基于Internet的嵌入式多點溫度監(jiān)控系統(tǒng)
目前市面上生產的大多數(shù)溫度監(jiān)控系統(tǒng)均采用RS 485通信方式,存在著監(jiān)控范圍小、布線繁瑣等局限性。而當今世界Internet技術飛速發(fā)展,為建立基于In-ternet的遠程多點溫度監(jiān)控系統(tǒng)創(chuàng)造了條件。將以單片機應用系統(tǒng)為核心的嵌入式設備體積小,成本低與Inter-net應用廣、傳遞速度快的特點結合起來,構建出方便、快捷、經濟的遠程多點溫度測控系統(tǒng)不僅降低了成本,縮短了開發(fā)周期,而且突破了RS 485等傳統(tǒng)通信方式的時空限制和地域障礙,使大范圍內的溫度監(jiān)控變得容易。這里設計的多點溫度監(jiān)控系統(tǒng)控制范圍大且利用現(xiàn)有網絡,不必重新布線,可有效實現(xiàn)對溫度的遠程監(jiān)控。
1 系統(tǒng)硬件設計
整個遠程多點溫度監(jiān)控系統(tǒng)分為上位機和下位機兩大部分:
上位機為遠端監(jiān)控模塊,含PC機內人機交互界面、聲光報警系統(tǒng)和打印機等。主要是在Windows環(huán)境下通過VB開發(fā)上位機以太網通信軟件,具有以下功能:
數(shù)據采集及分析:實時監(jiān)測溫度數(shù)據并繪制溫度變化曲線圖,以便對溫度變化進行直觀分析。
系統(tǒng)設置 在線設置溫度上下限值。
溫度報警可根據設定好的溫度上下限值判斷是否觸發(fā)聲光報警。
遠程控制 根據已設溫度上下限值判斷是否遠控空調機進行現(xiàn)場溫度調節(jié)。
下位機為現(xiàn)場監(jiān)控設備,包括測溫模塊、處理控制模塊和Internet通信模塊三大部分。
整個系統(tǒng)的結構框圖如圖1所示,下面對各模塊作分別介紹。
(1)測溫模塊。該模塊使用6片Dallas最新數(shù)字溫度傳感器DS1825構建多點溫度測量網絡,通過單總線連接到MCU通用I/O口。由于每片DS1825都有其單獨的識別碼,MCU通過單總線規(guī)定的時序要求就能與溫度傳感器網絡進行通信,獲取每片DS1825內的溫度信息。DS1825是美國Dallas半異體公司繼DS18820之后最新推出的一種改進型智能數(shù)字溫度傳感器,與傳統(tǒng)熱敏電阻相比,它能夠直接讀出被測溫度,并且可根據實際要求通過編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式;可以分別在93.75 ms和750 ms內完成9位和12位的數(shù)字量采集;從DS1825讀出信息或寫入信息僅需要1根口線(單線接口);溫度變換功率來源于數(shù)據總線,該總線本身也可向所掛接的DS1825供電,而無需額外電源。使用DS1825可使整個系統(tǒng)結構更趨簡單,可靠性更高。在此設定的DS1825分辨率為12位模式,即0.062 5℃。
實際溫度=溫度整數(shù)部分+溫度小數(shù)部分×0.062 5
(2)處理控制模塊。處理控制模塊由MCU控制器、1602 LCD液晶顯示器、外部數(shù)據存儲器24C04、穩(wěn)壓電源、時鐘振蕩電路、蜂鳴器、鍵盤矩陣和由繼電器控制的空調機等組成。MCU采用美國Atmel公司的8位C51單片機AT89S52,片內含8 KB的E2PROM和256 B的RAM。該處理控制模塊的工作過程為:上電完成初始化后,MCU讀取存儲在外存24C04中的上次已設置好的溫度上下限值和保存的采樣間隔值,然后進入主循環(huán)。根據采樣間隔時間,MCU讀取各數(shù)字溫度傳感器DS1825內溫度數(shù)據,同時點亮LCD以便顯示當前所測溫度值,并根據已設置好的溫度上下限值來確定是否驅動蜂鳴器報警且控制空調機工作進行溫度調節(jié)。本模塊有良好的交互性能,利用鍵盤中斷可在線隨時設置溫度上下限值、采樣間隔時間值并可將這些數(shù)據保存至外存中。該模塊電路圖如圖2所示。
(3)Internet網絡通信模塊。要使單片機嵌入式系統(tǒng)接入Internel網絡,必須解決以太網的接入問題,就要用到專門的以太網控制器。本系統(tǒng)采用MCU+TCP/IP協(xié)議芯片相結合的Internet接入方案。具體來說:采用RTL8019AS以太網控制芯片,利用10Base-T布線標準通過雙絞線進行和上位機的以太網通信。RTL8019AS芯片是臺灣Realtek公司的基于ISA總線的10Mb/s以太網控制器芯片,它集成了介質訪問控制子層(MAC)和物理層的功能,可以方便地設計基于ISA總線的通信系統(tǒng),也可以比較簡單地與單片機進行接口。RTL8019AS內嵌TCP/IP網絡通信協(xié)議,具有耗電量低、接口簡單、程序設計量少的優(yōu)點,是用來進行以太網接入Internet通信的理想芯片。系統(tǒng)上電后,MCU對RTL8019AS內部寄存器進行設置和控制,完成復位和初始化后,就能正常地通過以太網進行數(shù)據的收發(fā),電路結構如圖3所示。
[!--empirenews.page--]2 系統(tǒng)軟件設計
這里主要介紹關于多個DS1825的自動搜索算法,由于系統(tǒng)中使用了多片DS1825構成溫度傳感器網絡,因此,如何準確、有效地對每一溫度傳感器進行尋址成為該系統(tǒng)的一個核心問題。結合DS1825的實際特點和系統(tǒng)需要,提出如下解決方案:首先利用DS1825內部報警上限寄存器(TH寄存器)存放溫度傳感器的編號,并將其編號貼在溫度傳感器表面。由于TH寄存器具有掉電不丟失數(shù)據功能,因此,便把每片DS1825的惟一64位注冊碼及其編號一一對應起來。這一過程需要對DS1825進行單獨編程。然后,將確定好編號的DS1825接入單線網絡,利用DS1825特有的單線網絡自動搜索功能,即可搜尋到每片DS1825的注冊碼,再利用該注冊碼和相應的ROM操作指令,即可從每片DS1825的TH寄存器中讀出相應的設定編號,實現(xiàn)多個DS1825的尋址功能。
每片DS1825有惟一的64位注冊碼,存儲在只讀存儲器ROM中,其中低8位是產品的工廠代碼,接著是每個器件的惟一序號,共48位,最高8位是前56位的循環(huán)冗余校驗碼。這就準許總線主機對總線上特定的DS1825進行尋址。只有與64位注冊碼嚴格相符的DS1825,才能對后續(xù)的操作做出反應,所有與64位注冊碼不符的DS1825將等待復位脈沖。搜索算法首先通過復位和在線應答時隙將單線總線上所有DS1825復位。成功地執(zhí)行該操作后發(fā)送1 B的搜索命令,使所有連接到單總線的DS1825準備就緒,開始進行搜索操作。搜索命令發(fā)出之后,開始實際的搜索過程。首先,總線上所有DS1825同時發(fā)送注冊碼的第1位,按照單線總線特性,當所有DS1825同時應答主機時,結果相當于全部被發(fā)送數(shù)據位的邏輯“與”。DS1825發(fā)送其注冊碼的第1位后,主機啟動下一位操作,接著DS1825發(fā)送第1位數(shù)據的補碼。從兩次讀到的數(shù)據位可以對注冊碼的第1位做出幾種判斷,如表1所列。
然后,主機向總線上的所有器件發(fā)回一個指定位。如果DS1825注冊碼的當前位的值與該數(shù)據位匹配,則繼續(xù)參與搜索過程;若DS1825的當前位與這不匹配,則該器件轉換到等待狀態(tài)并保持等待狀態(tài),直到下一個復位信號到來。其余63位注冊碼的搜索依然按照這種讀2位寫1位的模式進行重復操作。按照這種搜索算法進行下去,最終除了惟一一個DS1825外,所有DS1825將等待狀態(tài),經過最后一輪檢測就可得到最后保留未進入等待狀態(tài)的DS1825的注冊碼。在后續(xù)搜索過程中選用不同的路徑或分支來查找其他器件的注冊碼,即可完成所有器件注冊碼的識別。
下位機軟件采用MCS51匯編語言編寫,在中斷服務程序中,實現(xiàn)用戶輸入以及和以太網控制器的通信功能;在主程序中,實現(xiàn)溫度傳感器網絡的自動搜索、編號排序、獲取溫度信息等,并根據預先設定的溫度上下限值,實現(xiàn)相應的報警功能。由于設計中使用傳感器網絡的自動搜索算法,因此,當對網絡中的溫度傳感器作出調整(如更換、添加、刪除等操作)時,系統(tǒng)具有很強的自適應能力。下位機軟件程序流程圖如圖4所示。
3 測量結果
網絡化多點溫度測控系統(tǒng)對被測對象溫度的監(jiān)控結果在PC機的顯示如圖5所示,由圖可清楚觀察到溫度數(shù)據隨時間變化而變化的趨勢。
4 結 語
基于Internet的嵌入式多點溫度監(jiān)控系統(tǒng)靈活性高、交互性強,可在線根據需要隨時修改溫度上下限值,系統(tǒng)設計開發(fā)過程中充分利用了網絡技術與多點溫度監(jiān)控技術相結合的方法及軟硬件協(xié)同設計的思想,采用模塊化設計,稍加裁剪改造可適用于多種不同場合的分布式遠程多點溫度智能監(jiān)控系統(tǒng)。該系統(tǒng)經實驗測試,穩(wěn)定可靠,測量精度高,實時性強且充分利用了現(xiàn)有網絡,利于傳統(tǒng)的基于RS 485溫度監(jiān)控系統(tǒng)快速改造為以太網遠程智能監(jiān)控系統(tǒng),取得更好的社會經濟效益。