無人值守機房環(huán)境監(jiān)控_第1頁
無人值守機房環(huán)境監(jiān)控_第2頁
無人值守機房環(huán)境監(jiān)控_第3頁
無人值守機房環(huán)境監(jiān)控_第4頁
無人值守機房環(huán)境監(jiān)控_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、無人值守機房環(huán)境監(jiān)控基于SmartARM2300姓名 張展威專業(yè) 信息工程所屬部門 嵌入式事業(yè)部指導工程師 劉偉云1項目背景目前許多機房,如電信部門、政府機關(guān)、學校等單位的機房,不得不采用24小時專人值班的方式,定時巡查機房環(huán)境設備,使得不僅管理人員工作繁重,而且往往當出現(xiàn)故障時也往往不能及時排除,對事故發(fā)生的時間及責任也無科學的管理,更缺乏對已發(fā)生的故障作全面的分析數(shù)據(jù),使得問題不能得到完善的解決。尤其目前國內(nèi)普遍缺乏機房環(huán)境設備的專業(yè)管理人員,這對機房的安全運行無疑又是一個不利因素。因此,針對機房監(jiān)控的發(fā)展現(xiàn)狀及應用需求,本畢業(yè)設計要求設計一套基于SmartARM2300的“機房無人值守環(huán)

2、境監(jiān)控”系統(tǒng)。2概述本系統(tǒng)實現(xiàn)了機房環(huán)境數(shù)據(jù)的自動采集與存儲、指標超標報警、門鎖和風扇的自動控制等功能,并可以通過以太網(wǎng)將環(huán)境指標等數(shù)據(jù)發(fā)送到上位機進行實時顯示,也可通過上位機對機房內(nèi)的風扇、門鎖、報警燈等進行手動開啟。當環(huán)境參數(shù)超過用戶設定的閥值時(如溫度超過60C),監(jiān)控系統(tǒng)就會發(fā)出聲音報警并自動對其進行處理(如開啟風扇);當用于防盜的紅外傳感器探測到有人進入指定區(qū)域時,就會發(fā)出光報警信號,而用于門鎖自動控制的紅外傳感器檢測到門外有人時,就會自動打開門鎖。同時監(jiān)控主機還將系統(tǒng)的各種參數(shù)或運行狀態(tài),如系統(tǒng)時間、SD卡狀態(tài)、門鎖狀態(tài)、風扇狀態(tài)、警笛和警燈狀態(tài)等發(fā)送到上位機。3設計特色系統(tǒng)引入傳

3、感器控制塊(SCB)鏈表,通過對SCB鏈表的管理,實現(xiàn)了對傳感器模塊的動態(tài)管理,即采集環(huán)境指標的傳感器模塊可以根據(jù)實際的應用需要,動態(tài)接入監(jiān)控系統(tǒng)或從系統(tǒng)中移除。系統(tǒng)可以管理多至255個傳感器模塊。4系統(tǒng)示意圖5無人值守機房環(huán)境監(jiān)控外圍電路的選擇與設計核心模塊的設計與實現(xiàn)系統(tǒng)任務分配上位機設計完成情況設計總結(jié)6硬件電路的選擇與設計分布式傳感器通訊總線的選擇溫度傳感器的選擇紅外傳感器的選擇系統(tǒng)輸出控制電路的設計存儲介質(zhì)的選擇返回7分布式傳感器通訊總線的選擇根據(jù)機房的建筑結(jié)構(gòu)特征以及環(huán)境指標數(shù)據(jù)采集的應用特點可知,采集環(huán)境指標的傳感器必須采用分布式安置,如果傳感器模塊與監(jiān)控主機之間的通信采用并行總

4、線的話將使得通信線路變得復雜且成本較高,因此,采用串行通信總線將是本系統(tǒng)的最佳選擇。LPC2300系列ARM具有4個符合16C550工業(yè)標準的異步串行口(UART03),并且LPC2300系列ARM的UART具有16字節(jié)的收發(fā)FIFO,接收FIFO的觸發(fā)點可設置為1、4、8和14字節(jié),所以其UART非常適合需要傳輸批量字節(jié)的應用場合。8分布式傳感器通訊總線的選擇但在工業(yè)控制等環(huán)境中,常會有電氣噪聲干擾傳輸線路,使用RS-232 通訊時經(jīng)常因外界的電氣干擾而導致信號傳輸錯誤;另外,RS-232 通訊的最大傳輸距離在不增加緩沖器的情況下只可以達到15 米。而RS-422/485標準與RS-232

5、標準不一樣,數(shù)據(jù)信號采用差分傳輸方式(Differential Driver Mode),完全可以抑制來自傳輸線上的共模干擾。通過簡單的協(xié)議轉(zhuǎn)換電路,SmartARM2300工控平臺的URAT接口便可實現(xiàn)RS-485通信。9RS-232 至RS-485的無源轉(zhuǎn)換電路MAX485是通過兩個引腳RE(2腳)和DE(3腳)來控制數(shù)據(jù)的輸入和輸出。當RE為低電平時,MAX485數(shù)據(jù)輸入有效;當DE為高電平時,MAX485數(shù)據(jù)輸出有效。在半雙工使用中,通??梢詫⑦@兩個腳直接相連。如圖,總線空閑時,UAUB,總線處于傳輸“1”的狀態(tài),且Q1導通,MAX485處于接收狀態(tài);當發(fā)送數(shù)據(jù)“0”或“起始信號”時,

6、Q1截止,MAX485輸出數(shù)據(jù)“0”有效(即:UA4) /* 每5秒遍歷一次 */ GucDelaySec=0; /* 秒延時清零 */ sensorQuery(); /* 遍歷所有在線SCB */ if(frameReceive(pReFrame)=1) /* 監(jiān)聽幀接收 */ commManage(pReFrame); /* 處理收到的一幀數(shù)據(jù)*/ OSTimeDly(1); /* 延時一個tick */ .TASK1主要完成RS-485總線的通信管理,包括讀取傳感器模塊數(shù)據(jù)和處理接收幀。32SCB鏈表的遍歷sensorQuery() SCB鏈表的遍歷流程圖33幀數(shù)據(jù)處理commManag

7、e(pReFrame)34傳感器注冊與注銷流程35文件系統(tǒng)管理任務TASK2TASK2每隔10秒鐘,就進行一次相關(guān)環(huán)境指標數(shù)據(jù)記錄,完成對SD卡數(shù)據(jù)存儲管理。TASK2流程如右圖所示。36環(huán)境指標數(shù)據(jù)的存儲格式采集時間2008-03-14 21:35:10001: 024.250002: 024.000003: 通信超時!2008-03-14 21:35:15001: 024.250002: 通信超時!003: 023.875004: 讀取中. . . .傳感器地址:具體數(shù)據(jù)或狀態(tài)yyyy:表示四位年份mmdd:表示月份和日期hh:表示小時為加快數(shù)據(jù)查詢和下載時的文件查找,本系統(tǒng)將傳感器采集的

8、數(shù)據(jù)集中保存于yyyymmddhh.txt的文件中。數(shù)據(jù)記錄格式如下:37環(huán)境指標數(shù)據(jù)的存儲格式2008-03-14 21:35:10001: 024.250002: 024.000003: 通信超時!2008-03-14 21:35:20001: 024.250002: 通信超時!003: 023.875004: 讀取中. . . .按10個節(jié)點,每10秒采集一次數(shù)據(jù)計算,1天最大數(shù)據(jù)量:124360010 (1014+19)B=1.31MB那么不刪除任何記錄的情況下,1GB的SD卡則可以存儲781.4天的數(shù)據(jù)。為加快數(shù)據(jù)查詢和下載時的文件查找,本系統(tǒng)將傳感器采集的數(shù)據(jù)集中保存于yyyymm

9、ddhh.txt的文件中。數(shù)據(jù)記錄格式如下:38系統(tǒng)輸出控制任務TASK36由于系統(tǒng)輸出控制任務不多,所以每路輸出都采用一個單獨的一個任務來完成。每一路的輸出都采用了自動與手動相結(jié)合的控制方式,如門鎖的開啟控制由(GbDoorAuto | GbDoorManual)的邏輯運算結(jié)果決定,這樣就可以在特殊情況下(如門必須保持恒開等),通過上位機進行強制開門操作。39系統(tǒng)輸出控制任務示例void TASK4 (void *pdata) pdata = pdata; while (1) while(GbDoorARE=0)|(GbDoorMRE=0) /* 等待讀允許 */ OSTimeDly(1);

10、 GbDoorAWE=0; /* 禁寫 GbDoorAuto */ GbDoorMWE=0; /* 禁寫 GbDoorManual */ GbDoor=(BOOLEAN)(GbDoorAuto|GbDoorManual); if(GbDoor=1) GpioSet(DOOR); /* 開啟門鎖 */ if(GuiDoorDlySec5) /* 開門控制信號保持5s */ GbDoorAuto=0; else GpioClr(DOOR); /* 關(guān)閉門鎖 */ GbDoorAWE=1; /* 允許寫 GbDoorAuto */ GbDoorMWE=1; /* 允許寫 GbDoorManual*/

11、 OSTimeDly(OS_TICKS_PER_SEC / 4); 門鎖輸出控制40實時時鐘刷新任務TASK7. while (1) while (GbRtcTimeWE = 0) /* 等待寫使能 */ OSTimeDly (1); GbRtcTimeRE = 0; /* 禁止讀使能 */ while (RTCRead(RTC0, &realTime, READ_TIME, NULL) != OPERATE_SUCCESS) OSTimeDly (1); /* 刷新realTime */ GbRtcTimeRE = 1; /* 允許讀使能 */ OSTimeDly(OS_TICKS_PER_

12、SEC / 4);.41GPIO中斷服務函數(shù)_inline void GPIO_ISR(void) if(IO_INT_STAT & 0 x01) /* 判斷P0是否有中斷掛起 */ if(IO0IntStatR&(112) IO0IntClr=IO0IntClr|(112); /* 清除P0.12中斷標志 */ GuiLampDlySec=0; GbLampAuto=1; /* 檢測到來人,發(fā)出光報警 */ if (IO0IntStatR&(113) IO0IntClr=IO0IntClr|(1 0) /* 讀取到數(shù)據(jù) */ j = (uint)(ul + 6); /* 前6Byte是“前導

13、”字符 */ for (i = 6; i j; i+) if (pucTcpSendBufi = 0 x0D) /* 將rn轉(zhuǎn)換成 RN */ pucTcpSendBufi = R; else if (pucTcpSendBufi = 0 x0A) pucTcpSendBufi = N; pucTcpSendBufi+ = 0 x0D; pucTcpSendBufi = 0 x0A; send(ucLinkNo, (uint8 *)(&pucTcpSendBuf0), /* 向上位機返回數(shù)據(jù) */ uiLineStrSizeof(uchar *)pucTcpSendBuf), 0); offs

14、et += ul; /* 更新偏移量 */ while (!(fp); /* 判斷是否讀到文件末尾 */ (fp); /* 關(guān)閉文件 */ 下位機將數(shù)據(jù)打包后再發(fā)送47下載文件時的加速實現(xiàn)/* String str為上位機接收到的一行字符串 */.str=str.substring(6).replaceAll(RN, rn); if(str.charAt(0)=N) str=str.substring(1); if(str.charAt(str.length()-1)=R) str=str.substring(0, (str.length()-2)+rn; .上位機對接收到的一行字符串進行解包

15、48實現(xiàn)的基本技術(shù)指標實現(xiàn)傳感器對環(huán)境指標的分布式采集,監(jiān)控主機可以同時管理多達255個傳感器模塊,溫度采集采用LM75A數(shù)字溫度傳感器,精度達到0.125;實現(xiàn)紅外探測。探測距離大于等于米,來人檢測反應時間小于等于0.8秒;實現(xiàn)聲光報警。檢測到來人時在0.5秒內(nèi)發(fā)出光報警。溫度超標值可通過上位機進行設置和更改,當溫度超標時可在5秒內(nèi)作出反應,發(fā)出聲音報警和開啟風扇信號,不會出現(xiàn)誤報的情況;實現(xiàn)了自動門鎖控制;實現(xiàn)與用戶中心的Java交互。通信協(xié)議使用TCP ,Java界面使用Java Applet編寫,能實時顯示溫度,溫度顯示刷新頻率不小于2次每分鐘。環(huán)境指標超標時將用紅色底紋提示。系統(tǒng)軟件

16、結(jié)構(gòu)清晰、代碼優(yōu)化。編寫的下位機代碼要求遵守公司代碼規(guī)范。返回49實現(xiàn)的擴展技術(shù)指標現(xiàn)場控制板能通過存儲介質(zhì)SD卡將傳感器采集回來的數(shù)據(jù)以yyyymmddhh.txt命名的文件進行保存,其中yyyymmdd表示具體的日期,hh表示記錄的時間(小時),能連續(xù)保存連續(xù)15天以上的數(shù)據(jù)(以10個節(jié)點計);可以通過上位機進行查詢和下載歷史環(huán)境指標數(shù)據(jù),被下載過的文件自動刪除;系統(tǒng)整體性能穩(wěn)定,連續(xù)運行不死機。50實現(xiàn)的其他技術(shù)指標系統(tǒng)實現(xiàn)了對傳感器模塊的動態(tài)管理,傳感器模塊可以通過發(fā)送“注冊幀”接入監(jiān)控系統(tǒng),通過發(fā)送“注銷幀”實現(xiàn)從監(jiān)控系統(tǒng)中移除;可以通過上位機校準監(jiān)控系統(tǒng)的實時時鐘;上位機可以設置傳感器的上下閥值,并切換傳感器模塊的工作狀態(tài);監(jiān)控系統(tǒng)現(xiàn)場檢測SD卡設備的狀態(tài);監(jiān)控系統(tǒng)采用開放性設計,兼容將來的其他智能傳感器。無論是數(shù)據(jù)采集型傳感器還是輸出開關(guān)量的傳感器,只要傳感器模塊按照本系統(tǒng)定義的通信幀格式便可通過RS-485總線接入監(jiān)控系統(tǒng);系統(tǒng)可以管理多至255個傳感器模塊。51設計總結(jié)GPIO只能產(chǎn)生邊沿中斷,無電平中斷;P0和P2的中斷通道與外部中斷3相同;使用GPIO中斷時,GPIO須設為輸入;GPIO中斷服務函數(shù)(EINT3服務函數(shù))結(jié)束時必須調(diào)用EINTISR(EINT3)以清除外部中斷標志,否則在接有S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論