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