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