基于ARM926EJ-S的溫濕度無線監(jiān)控系統(tǒng)的設計
引言
監(jiān)控系統(tǒng)是為了滿足正常工廠生產(chǎn)或日常生活中對人、設備或相關區(qū)域進行監(jiān)督、控制的系統(tǒng),是各種重要的場所如銀行、工廠生產(chǎn)區(qū)等為了正常運營所必需的系統(tǒng)。工廠生產(chǎn)中,生產(chǎn)或其他廠區(qū)有很多分布廣泛的現(xiàn)場數(shù)據(jù)信息需要采集并傳送到監(jiān)測站中進行統(tǒng)一監(jiān)控及管理?,F(xiàn)在對于如何建立實時性強、覆蓋面廣、靈活性好的遠程數(shù)據(jù)采集監(jiān)控系統(tǒng),用來滿足相關場所的正常運行,變?yōu)橐粋€重要的問題。無線監(jiān)控系統(tǒng)在操作員不在時能夠知道現(xiàn)場情況,檢測數(shù)據(jù)是否異常并報警。
系統(tǒng)整體構架
本系統(tǒng)利用3G網(wǎng)絡進行數(shù)據(jù)通信??傮w上是各個溫度采集模塊(溫度傳感器)將數(shù)據(jù)通過RS485傳到ARM9中,ARM9通過3G通信模塊(MC8630)能發(fā)送溫度數(shù)據(jù)或者報警等信息到管理員的手機上。系統(tǒng)的總體架構如圖1所示。
圖1 系統(tǒng)總體架構圖
系統(tǒng)硬件開發(fā)平臺
本文的硬件系統(tǒng)包括嵌入式微處理器、鍵盤、LCD顯示模塊、RS485串口、A/D轉(zhuǎn)換模塊、溫濕度傳感器,3G模塊等。
整個遠程終端主要有溫濕度傳感器模塊(HG04-LTM8690)、以ARM926EJ-S為處理器的開發(fā)板、320×240點陣LCD顯示屏、3G通信模塊(MC8630)、電源等幾部分組成。圖2即為本系統(tǒng)的硬件平臺框架圖。
圖2 系統(tǒng)的硬件平臺框架圖
硬件模塊ARM9處理器
ARM926EJ-S處理器具有一個采用Jazelle技術的增強型32位RISC CPU、靈活的指令和高速數(shù)據(jù)緩存、緊密耦合內(nèi)存(TCM)接口和內(nèi)存管理單元(MMU)。它還提供單獨指令和數(shù)據(jù)AMBA AHB接口,適合基于多層AHB的系統(tǒng)。ARM926EJ-S處理器可執(zhí)行ARMv5TEJ指令集,其中包括功能得到增強的16×32位乘法器,可進行單周期MAC運算、16位定點DSP指令、可增強多個信號處理應用程序的性能并支持Thumb技術??赏ㄟ^ARM處理器代工廠計劃和DesignStar計劃獲得實現(xiàn)硬件的ARM926EJ處理器。
溫濕度測量模塊
HG04-LTM8690是一種無線溫濕度測量模塊,可測量最多16個溫度點和一個溫濕度點。它采用電池供電,定時采集,利用無線通訊技術將數(shù)據(jù)傳回監(jiān)控中心。它采用密封盒設計,防護等級達到IP68級別,可有效防塵、防水及防止腐蝕性氣體侵入,現(xiàn)場安裝方便。
液晶顯示模塊
本系統(tǒng)選用JRD320240B液晶顯示模塊來顯示相關的數(shù)據(jù)或其他信息。JRD32O24OB的工作電壓為3.3V,液晶的對比度可以通過編程來調(diào)節(jié)。液晶顯示控制器的主要工作是將ARM9存儲器的緩沖區(qū)中的數(shù)據(jù)傳送到外部液晶顯示驅(qū)動器,并產(chǎn)生液晶顯示控制信號。JRD320240B的內(nèi)部控制器RA8835可以很方便地完成對液晶顯示器的控制。
按鍵模塊
按鍵輸入是最常用的嵌入式輸入設備,按鍵的結構通常有兩種形式:線性式和矩陣式。線性鍵盤是由一些單獨的按鍵組成,每個按鍵單獨與微處理器的一個I/O口相連接,是一對一的關系。這樣,線性鍵盤就只適用于按鍵少的場合。而矩陣按鍵是按照i行j列排列的,每個按鍵占據(jù)行列的一個交點,需要的I/O口數(shù)目是i+j。由于本系統(tǒng)需要用到的按鍵不多,所以采用了線性式按鍵。
3G通訊模塊
MC8630是一款基于CDMA2000 1X/EVDO Rev.A版本的3G通信模塊,適合于中國電信的3G移動服務,下行通信速度為3.1Mbps,上行通信速度為1.8Mbps。由于其具有語音、短信和高速數(shù)據(jù)業(yè)務等功能,可以廣泛應用于高速實時數(shù)據(jù)傳輸。
下位機設計
下位機的設計主要完成的是數(shù)據(jù)的采集、發(fā)送,整個溫度采集系統(tǒng)的人機界面設計以及和上位機的通信等功能。主要分為幾個部分:人機界面設計部分(液晶顯示的設計和鍵盤控制的設計),數(shù)據(jù)的采集,與上位機的通信、接收與發(fā)送。
圖3 下位機軟件流程圖 [!--empirenews.page--]
數(shù)據(jù)采集的設計與串口傳輸
對無線溫度監(jiān)控系統(tǒng)數(shù)據(jù)采集的設計和實現(xiàn)可分為人機界面的設計、數(shù)據(jù)采集的通信協(xié)議的制定、數(shù)據(jù)采集和數(shù)據(jù)采集的串口實現(xiàn)等幾個部分。
系統(tǒng)采集的現(xiàn)場數(shù)據(jù)通過串口發(fā)送到ARM9。數(shù)據(jù)的顯示及對系統(tǒng)的操作,需要用到人機交互界面。人機交互界面主要包括圖形圖像界面和鍵盤操作界面兩部分。鍵盤輸入部分主要用于實現(xiàn)對圖形圖像界面及系統(tǒng)終端的輸入控制。
本系統(tǒng)有2個符合16C550工業(yè)標準的異步串行口UART0和UART1,即有兩個異步串行I/O端口。UARTO和UART1的發(fā)送器和接收器包含16個字節(jié)的FIFO數(shù)據(jù)緩沖區(qū)和移位寄存器,內(nèi)置波特率發(fā)生器。對將要被發(fā)送的數(shù)據(jù),首先得把它寫入FIFO數(shù)據(jù)緩沖區(qū),并復制到發(fā)送移位寄存器,然后將它從數(shù)據(jù)輸出端口進行移位輸出即可。將要被接收的數(shù)據(jù)是從數(shù)據(jù)接收端口移位輸入到移位寄存器,然后復制到FIFO中。
圖4 串口通信相關程序流程圖(b)
從現(xiàn)場采集的數(shù)據(jù),如何根據(jù)串口通信協(xié)議處理收到的上位機的數(shù)據(jù)、如何給上位機發(fā)送數(shù)據(jù),這些在很多嵌入式系統(tǒng)中都包含的UART(Universal Asynchronous Receiver Transmitter通用異步收發(fā)器)通信,UART單元提供了兩個獨立的異步串行I/O端口,支持的最高波特率為115.2kbps。UART模塊包含波特率發(fā)生器、發(fā)送器、接收器和控制單元。波特率發(fā)生器以MCLK(主時鐘)作為時鐘源。
本系統(tǒng)每隔500毫秒就查詢一次有沒有需要傳送的數(shù)據(jù)到上位機或從上位機發(fā)送的命令。如果檢測到現(xiàn)場溫度低于18℃或者高于35℃,系統(tǒng)就會向用戶發(fā)送相應的報警信息,用戶也可以在任何時候發(fā)送命令詢問現(xiàn)場的溫度和濕度。
結束語
本文以ARM926EJ-S為微處理器,介紹了無線溫濕度監(jiān)控系統(tǒng)相關硬件,下位機人機界面軟件的設計思想,及數(shù)據(jù)的采集、發(fā)送以及和上位機的通信,系統(tǒng)的功能等。無線遠程監(jiān)控系統(tǒng)如果要代替有線監(jiān)控系統(tǒng)還需一段時間,它們會向智能化、小型化、簡便化方向發(fā)展,能對遠程終端進行各種各樣的控制,能夠?qū)崿F(xiàn)真正意義上的遠程無線監(jiān)控。