魏 星
(天津財(cái)經(jīng)大學(xué) 理工學(xué)院 信息科學(xué)與技術(shù)系,天津 300222)
隨著互聯(lián)網(wǎng)的迅速普及和嵌入式系統(tǒng)的廣泛應(yīng)用,機(jī)房規(guī)模不斷擴(kuò)大、動(dòng)力設(shè)備種類不斷增加、維護(hù)難度加大,因此機(jī)房監(jiān)控系統(tǒng)扮演了越來越重要的角色。目前機(jī)房監(jiān)控主要集中在空調(diào)或UPS監(jiān)控等方面,監(jiān)測的只是機(jī)房的部分環(huán)境且監(jiān)控系統(tǒng)性能單一、集成度不高,穩(wěn)定性和安全性較差,缺乏集中維護(hù)、全方位監(jiān)控和管理,通常監(jiān)控都是控制端主發(fā)監(jiān)控命令,缺少數(shù)據(jù)相互通信機(jī)制,一旦控制端癱瘓或有線網(wǎng)絡(luò)中斷將會(huì)造成無法挽回的損失。針對(duì)這些弊端本文利用高性能MPU和業(yè)已成熟的嵌入式Linux系統(tǒng),提出了一種無人值守機(jī)房監(jiān)控系統(tǒng)底層架構(gòu)的解決方案:將智能設(shè)備監(jiān)控、現(xiàn)場數(shù)據(jù)采集、視頻采集、GPRS無線報(bào)警集成一體,即使在網(wǎng)絡(luò)中斷的情況下受控端模塊也能主動(dòng)上傳數(shù)據(jù)發(fā)出報(bào)警信息。底層架構(gòu)的設(shè)計(jì)有助于解決PC機(jī)程序開發(fā)周期長,生存周期短,可維護(hù)性差的缺點(diǎn),提高了機(jī)房監(jiān)控的可靠性和安全性,既能監(jiān)測機(jī)房動(dòng)力環(huán)境又能對(duì)機(jī)房設(shè)備內(nèi)部的異常做出預(yù)警和報(bào)警,實(shí)現(xiàn)了從機(jī)柜微環(huán)境到設(shè)備運(yùn)行情況再到機(jī)房整體環(huán)境的多層次監(jiān)控,彌補(bǔ)了國內(nèi)無人值守機(jī)房監(jiān)控方面的空缺具有很高的推廣價(jià)值。
監(jiān)控系統(tǒng)無論是從功能上、穩(wěn)定性、安全性、可維護(hù)性還是集成性能較以往有了很大改進(jìn),主要有以下幾個(gè)優(yōu)點(diǎn):
任何報(bào)警均可聯(lián)動(dòng)本地畫面警告、聲音提示、聯(lián)動(dòng)報(bào)警輸出、通過有線網(wǎng)絡(luò)和GPRS兩種方式上傳到監(jiān)控中心。具體體現(xiàn)在以下幾個(gè)方面:
1)視頻報(bào)警:視頻移動(dòng)偵測、視頻遮擋、視頻丟失均可觸發(fā)報(bào)警。
2)模擬量、開關(guān)量報(bào)警:支持8路模擬量報(bào)警輸入,8路開關(guān)量報(bào)警輸入,8路開關(guān)量報(bào)警輸出,支持報(bào)警手動(dòng)、計(jì)劃設(shè)防、撤防,支持主動(dòng)上傳,具備豐富的閥值設(shè)置功能。
3)異常狀態(tài)報(bào)警:系統(tǒng)的異常狀態(tài)如:硬盤滿、硬盤異常、網(wǎng)絡(luò)非法訪問、IP地址沖突、網(wǎng)線斷開。
因RS-485接口采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力,具有良好的抗噪聲干擾性,傳輸線路簡單,干擾信號(hào)少,穩(wěn)定性高。加上總線收發(fā)器具有高靈敏度,能檢測低至200mV的電壓,故傳輸信號(hào)能在千米以外得到恢復(fù)。有效解決了異地機(jī)房連接監(jiān)控問題;SPI總線數(shù)據(jù)的傳輸由單端不平衡傳輸改為雙端平衡傳輸,通過適當(dāng)?shù)碾娐废蛞种屏斯材8蓴_,極大地提高了數(shù)據(jù)傳輸距離,實(shí)現(xiàn)SPI數(shù)據(jù)遠(yuǎn)距離傳輸,可靠距離在1200m。
圖2 EEPROM電路圖
數(shù)據(jù)采集機(jī)可以接收監(jiān)控模塊數(shù)據(jù),并將監(jiān)控?cái)?shù)據(jù)按照協(xié)議封裝后通過網(wǎng)口上傳給監(jiān)控端,同時(shí)將監(jiān)控端的控制命令下傳給有線監(jiān)控模塊;為了避免有線故障或監(jiān)控端出現(xiàn)異常,又增加了GPRS通信模塊和無線傳感器模塊,如遇到線路故障會(huì)馬上通過無線網(wǎng)絡(luò)發(fā)出報(bào)警短信,也可以通過和攝像頭連動(dòng)發(fā)出彩信,告知管理員故障所在,解決了部分機(jī)房布線困難的難題。
網(wǎng)絡(luò)數(shù)據(jù)采集機(jī)不僅提供了RS232、RS485接口還具備網(wǎng)絡(luò)接口,同時(shí)實(shí)現(xiàn)了RS485轉(zhuǎn)網(wǎng)口模塊,通過使用TCP/IP協(xié)議實(shí)現(xiàn)聯(lián)網(wǎng)數(shù)據(jù)集中、接入和控制,能快速、有效、低成本的接入以太網(wǎng)或互連網(wǎng),與監(jiān)控端的數(shù)據(jù)通信快速、準(zhǔn)確。
由于LPC2132片內(nèi)沒有EEPROM,當(dāng)出現(xiàn)掉電情況時(shí)所有配置參數(shù)都會(huì)丟失,為了能夠保存配置信息在產(chǎn)品設(shè)計(jì)時(shí)加上了AT45DB021芯片,使用前先對(duì)相關(guān)引腳進(jìn)行配置,確保在掉電情況下配置參數(shù)不會(huì)丟失。為確保網(wǎng)絡(luò)數(shù)據(jù)采集機(jī)和監(jiān)控模塊之間有效的工作,在硬件設(shè)計(jì)中加入看門狗電路,利用控制器內(nèi)部看門狗實(shí)現(xiàn)了快速重啟、初始化監(jiān)控設(shè)備,系統(tǒng)可長時(shí)間不間斷運(yùn)行,可靠性高,避免因程序、線路問題或數(shù)據(jù)通信產(chǎn)生的監(jiān)控?cái)?shù)據(jù)中斷問題。
通用分組無線服務(wù)技術(shù)(General Packet Radio Service)是GSM移動(dòng)電話用戶可用的一種移動(dòng)數(shù)據(jù)業(yè)務(wù),通過利用GSM網(wǎng)絡(luò)中未使用的TDMA信道,提供中速的數(shù)據(jù)傳遞。GPRS以全球手機(jī)系統(tǒng)(GSM)為基礎(chǔ)的數(shù)據(jù)傳輸技術(shù),可說是GSM的延續(xù)。和以往連續(xù)在頻道傳輸?shù)姆绞讲煌?,是以封包(Packet)式來傳輸。主要的優(yōu)點(diǎn):
1)數(shù)據(jù)傳輸速率快10倍于GSM,還可以穩(wěn)定地傳送大容量、高質(zhì)量音頻與視頻文件。
2)輕松實(shí)現(xiàn)網(wǎng)上漫游與電話接入永遠(yuǎn)在線,實(shí)時(shí)接收?qǐng)?bào)警數(shù)據(jù)。
3)僅按數(shù)據(jù)流量計(jì)費(fèi)。
網(wǎng)絡(luò)數(shù)據(jù)采集機(jī)是底層數(shù)據(jù)采集的核心,采用三星公司推出的32位S3C2440微處理器,采用了ARM920t內(nèi)核,0.13um的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元,提供了低成本、低功耗、高性能小型微控制器的解決方案且全靜態(tài)設(shè)計(jì)特別適合于對(duì)成本和功率敏感型的應(yīng)用,實(shí)現(xiàn)了MMU,AMBA,BUS和Harvard高速緩存體系結(jié)構(gòu),減少了整體系統(tǒng)成本無須配置額外組件。包括以下特性:16 KB指令和數(shù)據(jù)緩存,16 KB MMU處理虛擬內(nèi)存管理,TFT& STN液晶顯示器控制器、NAND閃存的引導(dǎo)程序,系統(tǒng)管理員(芯片選擇邏輯與SDRAM控制器),直接存儲(chǔ)器存取, UART,定時(shí)器和PWM、I / O端口,ADC和觸摸屏接口,AC97 音頻解碼器接口,相機(jī)接口,IICBUS、 IIS-BUS總線接口,USB主設(shè)備, SD主機(jī)接口和SPI接口,可以方便的進(jìn)行功能擴(kuò)展。
以Linux為其操作系統(tǒng),可以支持多種硬件平臺(tái),對(duì)硬件的要求較低,具有高度的可靠性和安全性,并且是開源免費(fèi)高度可定制的操作系統(tǒng),對(duì)于資源相對(duì)緊張的嵌入式設(shè)備來說及其適合。
圖4 數(shù)據(jù)采集機(jī)程序流程圖
程序編寫過程中使用多線程技術(shù)實(shí)現(xiàn),Linux多線程遵循POSIX線程接口。與多進(jìn)程相比它是一種對(duì)系統(tǒng)資源要求更少的多任務(wù)并發(fā)技術(shù)。但由于多線程共享地址空間,在程序中對(duì)于全局?jǐn)?shù)據(jù)的操作也要做好相應(yīng)的互斥,否則可能會(huì)引發(fā)錯(cuò)誤,本程序中使用多個(gè)互斥鎖及信號(hào)量對(duì)涉及到的共享數(shù)據(jù)進(jìn)行保護(hù)。
和其他設(shè)備類似,串口在Linux下也是以文件的形式出現(xiàn)在/dev目錄下,調(diào)用open()函數(shù)打開后可以和其他普通文件一樣進(jìn)行讀寫操作。對(duì)于RS-485通信,由于默認(rèn)處于接收態(tài),應(yīng)適當(dāng)修改串口驅(qū)動(dòng)以滿足發(fā)送前使能要求。系統(tǒng)首先設(shè)置缺省網(wǎng)絡(luò)配置,在系統(tǒng)上電后主動(dòng)發(fā)起和遠(yuǎn)程監(jiān)控端連接,在建立和監(jiān)控端的TCP/IP連接之后,程序使用select()函數(shù)的無超時(shí)阻塞來對(duì)網(wǎng)口數(shù)據(jù)進(jìn)行監(jiān)視,并可通過判斷read()函數(shù)返回值來確定與監(jiān)控端的連接是否斷開。
以往數(shù)據(jù)通道采用RS-232/422/485、Lonworks總線形式標(biāo)準(zhǔn)不一,本系統(tǒng)實(shí)時(shí)數(shù)據(jù)采集通道包括“智能型網(wǎng)絡(luò)數(shù)據(jù)采集機(jī)-智能設(shè)備監(jiān)控模塊-傳感器監(jiān)控模塊(有線和無線)-視頻監(jiān)控模塊-無線監(jiān)控模塊”統(tǒng)一采用RS-485總線標(biāo)準(zhǔn)進(jìn)行通信,通過硬件電路設(shè)計(jì)每個(gè)監(jiān)控模塊都有唯一的地址,最多可以掛接200多個(gè)同類總線接口設(shè)備;而“PC監(jiān)控端-網(wǎng)絡(luò)數(shù)據(jù)采集機(jī)”監(jiān)控?cái)?shù)據(jù)通過TCP/IP協(xié)議進(jìn)行傳輸。
數(shù)據(jù)采集機(jī)主要是透傳功能,封裝了監(jiān)控設(shè)備驅(qū)動(dòng),處理每個(gè)監(jiān)控模塊和控制端之間的數(shù)據(jù)交換,按照傳輸控制協(xié)議負(fù)責(zé)對(duì)監(jiān)控端發(fā)送的命令進(jìn)行解析和響應(yīng),封裝后分發(fā)給各個(gè)不同的監(jiān)控模塊,同時(shí)還要將各個(gè)模塊的實(shí)時(shí)上傳數(shù)據(jù)打包發(fā)給監(jiān)控端,供上位機(jī)進(jìn)行數(shù)據(jù)分析;此外還要定時(shí)對(duì)各個(gè)監(jiān)控模塊進(jìn)行輪詢將采集的數(shù)據(jù)存入隊(duì)列的數(shù)據(jù)對(duì)象中,并及時(shí)將失去連接的監(jiān)控模塊告知監(jiān)控端進(jìn)行處理或報(bào)警,以免失去連接、中斷通信、無法進(jìn)行數(shù)據(jù)上傳和報(bào)警。
2.5.1 智能協(xié)議采集器模塊
通過廠家提供的通信協(xié)議及接口負(fù)責(zé)監(jiān)控精密空調(diào)、UPS運(yùn)行狀態(tài),根據(jù)控制端指令不僅能夠控制智能設(shè)備運(yùn)行和關(guān)閉、對(duì)設(shè)備參數(shù)進(jìn)行調(diào)節(jié)(包括設(shè)置波特率、數(shù)據(jù)位、停止位、是否奇偶校驗(yàn)等),而且還能將所獲監(jiān)控?cái)?shù)據(jù)按協(xié)議封裝上傳,供控制端分析、參考以便實(shí)現(xiàn)較復(fù)雜的控制策略和優(yōu)化運(yùn)行策略。硬件驅(qū)動(dòng)是在UCOS-Ⅱ操作系統(tǒng)下經(jīng)ADS1.2進(jìn)行調(diào)試、編寫,通過串口調(diào)試助手進(jìn)行測試,并通過JTAG仿真燒錄到片內(nèi)Flash中自動(dòng)運(yùn)行。
2.5.2 傳感器采集器模塊
可實(shí)時(shí)獲取所連接的各種傳感設(shè)備的模擬量與數(shù)字量(包括溫濕度傳感器、繼電器、水浸,煙感、門磁等輸出的信號(hào)),不僅有豐富的閥值對(duì)傳感器進(jìn)行設(shè)置和監(jiān)控而且還能將報(bào)警信息在幾秒鐘內(nèi)主動(dòng)上傳,使機(jī)房管理人員能夠及時(shí)掌握機(jī)房動(dòng)力環(huán)境狀況、避免意外發(fā)生。
2.5.3 視頻采集模塊
實(shí)現(xiàn)360度完全監(jiān)測,實(shí)現(xiàn)機(jī)房場景實(shí)時(shí)再現(xiàn),一旦有人進(jìn)入會(huì)連動(dòng)攝像機(jī)錄像、抓拍,啟動(dòng)人臉識(shí)別功能、啟動(dòng)本地緊急預(yù)警策略,圖片報(bào)警過程中采用了嵌入式小波零樹圖像編碼(EZW)壓縮技術(shù),不但能通過有線網(wǎng)絡(luò)直接傳送到監(jiān)控中心還可將圖片壓縮成手機(jī)能接收的格式進(jìn)行彩信傳輸,能夠有效的防止有人潛入機(jī)房實(shí)施盜竊或破壞行為,既可本地獨(dú)立工作也可聯(lián)網(wǎng)協(xié)同工作;
2.5.4 無線報(bào)警模塊
采用法國Wavecom公司的Q2686/7系列無線CPU,一改以往直接和監(jiān)控端相連的形式,通過RS-232接口與數(shù)據(jù)采集機(jī)相連,既能接受監(jiān)控端上下線、發(fā)送報(bào)警信息指令,又能在和監(jiān)控端機(jī)失去通信的情況下根據(jù)預(yù)先設(shè)定的模擬量的上下限和開關(guān)量的報(bào)警狀態(tài),將報(bào)警數(shù)據(jù)按協(xié)議封裝后發(fā)送到GSM網(wǎng)絡(luò),不受有線網(wǎng)絡(luò)影響,報(bào)警快速準(zhǔn)確,同時(shí)起到數(shù)據(jù)冗余和備份的作用。這也是專為多個(gè)網(wǎng)絡(luò)不相連的分散場所的監(jiān)控所設(shè)計(jì)的方案,如無人值守基站、多個(gè)分散的機(jī)房、多個(gè)分散的庫房/倉庫、多個(gè)分散的智能設(shè)備等,可以使用這個(gè)方案實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和遠(yuǎn)程報(bào)警。
2.5.5 無線傳感器模塊
解決了在機(jī)房布線困難的條件下,可以通過智能設(shè)備在任意位置添加無線傳感器,利用接收電路對(duì)信號(hào)進(jìn)行采集,實(shí)現(xiàn)傳感器信號(hào)的無線收發(fā),如遇報(bào)警信息智能設(shè)備會(huì)主動(dòng)上傳數(shù)據(jù)到數(shù)據(jù)采集機(jī)再通過GPRS直接發(fā)送到指定的手機(jī)或固話上,或發(fā)送到監(jiān)控端產(chǎn)生聲光報(bào)警,使機(jī)房管理人員及時(shí)排除隱患。
對(duì)機(jī)房監(jiān)控系統(tǒng)底層采用模塊化設(shè)計(jì)原則,既可以對(duì)機(jī)房個(gè)別環(huán)境單獨(dú)監(jiān)控,又預(yù)留出足夠的可擴(kuò)展接口可添加功能強(qiáng)大的監(jiān)控模塊,監(jiān)控端模塊只要和數(shù)據(jù)采集機(jī)相連就可以對(duì)機(jī)房進(jìn)行全方位、無間斷監(jiān)控,解決了機(jī)房監(jiān)控系統(tǒng)在開發(fā)效率低,維護(hù)成本高,可維護(hù)性差,功能單一等缺點(diǎn),使機(jī)房監(jiān)控向無人值守方向更近一步,經(jīng)過半年多不間斷運(yùn)行取得了很好的應(yīng)用效果,此設(shè)計(jì)已經(jīng)產(chǎn)品化并取得了很好的經(jīng)濟(jì)效益,有廣闊的市場前景。
[1] LPC2131/2132/2138 使用指南.http://www.zlgmcu.com.
[2] S3C2440X 使用手冊(cè)(英文),http://www.samsung.com.
[3] 洪利,王敏,章?lián)P.無線與移動(dòng)網(wǎng)絡(luò)開發(fā)技術(shù).北京:北京航空航天大學(xué)出版社,2008.
[4] 張怡,張從,黃健.機(jī)房監(jiān)控系統(tǒng)中數(shù)據(jù)網(wǎng)關(guān)服務(wù)器的設(shè)計(jì)[J].計(jì)算機(jī)工程,2009,35(06):102-104.
[5] 涼德堅(jiān),劉玉瓊.SPI總線數(shù)據(jù)遠(yuǎn)距離傳輸實(shí)現(xiàn)[J].電子測試,2009,(01):72-75.
[6] 左小五.LPC2132在嵌入式系統(tǒng)中的應(yīng)用技術(shù)[J].微型計(jì)算機(jī)信息,2007,23(1-2):183-184.