文獻標識碼: A
文章編號: 0258-7998(2012)06-0076-03
對于互聯網數據中心(以下簡稱IDC)來說,良好的環境狀態是保證設備正常運轉的條件,而對IDC環境狀態的檢測是使其保持良好環境的重要措施[1-5]。根據電子信息系統IDC設計規范(GB50174-2008),開機時,IDC設備最優的環境是溫度為22~24 ℃,相對濕度為40%~55%;停機時,IDC設備環境要求是溫度為5~35 ℃,相對濕度為40%~70%。因為IDC的不間斷供電系統(UPS)工作時會釋放出氫氣,可能發生爆炸或火災等安全隱患,所以為了保證IDC設備的安全運行,除了溫度和濕度的檢測外,還需檢測IDC的空氣中氫氣密度和煙塵濃度。
系統還可以通過無線通信網絡將檢測信息與工作人員時刻保持聯系。
1 IDC環境檢測系統的總體設計
IDC環境檢測系統的結構如圖1所示,主要由四部分組成:數據采集、STM32主板、無線通信和觸摸屏。
1.1 數據采集
IDC環境檢測系統采集環境的溫度、濕度和空氣中氫氣密度、煙霧濃度。
由于IDC的空間較小,本系統檢測該空間4個點的溫濕度。系統選用溫濕度一體傳感器DHT21,DHT21的溫度測量范圍是-20 ℃~+60 ℃,分辨率為0.1 ℃。DHT21濕度測量有效范圍是20~90%RH,當溫度控制在25 ℃左右恒溫時,精度可達到±3%RH。DHT21是數字傳感器,DHT21與CPU之間單通道串行通信, 傳送距離在20 m以上[6]。
普通的環境檢測系統只針對空氣中的溫度測量,由于IDC設備局部空氣不流通引起的溫度失常則是無法檢測到的。IDC環境檢測系統選用8路AD590溫度傳感器,專用于檢測容易發生異常的設備的溫度。AD590是單片集成兩端感溫電流源,輸出恒流模擬信號,接線的長短不會影響檢測到的溫度值,這樣傳感器可以安放在機房內的任何位置。AD590的測溫范圍為-55 ℃~+150 ℃,在測量范圍內,非線性誤差僅為±0.3 ℃。
因為空氣中氫氣和煙霧密度異常的可能性較小,且檢測精度要求較低,所以系統只設1路氫氣密度和1路煙霧密度的測量??梢赃x用電壓模擬信號的傳感器,這樣便于軟件編程和電路設計。系統分別選用MQ-2和MQ-8這兩個空氣質量傳感器。
1.2 無線通信
IDC環境監控系統采用TC35短消息模塊實現無線通信,TC35短消息模塊通過RS-232標準接口與STM32通信,通過移動通信網絡與工作人員的手機進行通信。工作人員不必時刻守著機房,不僅減少了IDC設備對工作人員的輻射量,同時可以騰出時間做其他工作,提高了工作人員的利用率。
1.3 觸摸屏
觸摸屏的作用是顯示系統的工作信息,對整個系統功能進行調試設置。通過RS-232標準接口與STM32通信。
1.4 STM32主板
STM32是整個系統數據處理中心。機房內用電設備眾多,可能會產生多種信號干擾。為了保證CPU的工作正常穩定,必須選用安全可靠的處理芯片并對CPU進行電路隔離與信號屏蔽。
本系統是基于ARM體系型號為STM32F103RBT6微處理器進行設計的。STM32F103RBT6包含2個12 bit的ADC,分12個I/O通道,不需要外部輔助硬件就能實現多路傳感器同時提取數據;具有3個USART,滿足液晶及遠程控制部分的串行通信。
2 STM32主板的電路設計
STM32主板的電路設計主要分為傳感器DHT21的電路設計、傳感器AD590的電路設計、空氣質量傳感器MQ-2與MQ-8的電路設計和RS232通信電路的設計。
2.1 傳感器DHT21的電路設計
DHT21是數字傳感器,DHT21與STM32之間單總線串行通信。DHT21與STM32之間選用單通道的高速光耦合器6N137(如圖2所示)。IDC環境檢測系統共有4路溫濕度一體傳感器DHT21,分別連接到STM32的4個普通I/O口。
2.2 傳感器AD590的電路設計
AD590的信號轉換電路如圖3所示。AD590輸出電流以絕對溫度零度(-273℃)為基準,每增加1℃,它會增加1 μA輸出電流。在室溫23℃時,其輸出電流Io=(273+23)=296 μA。Vo的值為Io乘上10 K,以室溫23℃而言,輸出值為10 K×298 μA=2.96 V 。當溫度在-55 ℃~+150 ℃內變化時,AD590輸出是2.18 V~4.23 V的電壓信號,通過差分放大電路,把信號調整到0.18 V~2.23 V。然后通過AD7741把電壓模擬信號轉換成相應的頻率信號,經光電隔離,最后連接到STM32的ADC采樣引腳。
IDC環境檢測系統共有8路溫度傳感器AD590。為了減少AD590的信號轉換電路,IDC環境檢測系統對8個溫度傳感器AD590采用掃描的方式讀數。通過CD4028依次對8個溫度傳感器供電,再通過CD4051依次連接8個溫度傳感器到模擬信號轉換電路。這里STM32輸出到CD4051和CD4028的信號速度較慢,選用光電隔離元件TLP521就可以滿足要求。
2.3 傳感器MQ-2和MQ-8的電路設計
空氣質量傳感器MQ-2和MQ-8輸出電壓模擬信號,它們的工作原理相同,這里以MQ-2為例設計電路。因為只有1路MQ-2,所以MQ-2可安裝在STM32主板上,不需使用光電隔離,MQ-2的輸出信號直接到STM32的ADC口上。RS的變換范圍是5 kΩ~20 kΩ,R1=5 kΩ,這樣輸出點的電壓范圍是1 V~2.5 V。
2.4 RS-232通信的電路設計
TC35和觸摸屏的通信都是RS-232標準接口與STM32通信,IDC環境檢測系統選用MAX232芯片實現兩路TTL-RS232電平轉換。
3 STM32的軟件設計
根據IDC環境檢測系統的工作要求,設計STM32的主程序流程圖如圖4所示。
STM32的軟件設計主要包括3個部分:傳感器數據的采集、與TC35模塊的通信以及與觸摸屏的通信。
3.1 STM32采集傳感器數據的軟件設計
3.1.1 DHT21數據的采集[7-8]
STM32與 DHT21之間的通信采用單總線數據格式, 一次通信時間5 ms左右, 一次完整的數據傳輸為40 bit,高位先出。數據格式為:濕度高8 bit+濕度低8 bit+溫度高8 bit+溫度低8位+校驗和8 bit。
首先初始化STM32的I/O口,使之作為推拉式輸出,輸出18 ms以上的低電平,然后輸出20~40 μs的高電平。然后改變I/O口為上拉式輸入, DHT21會發送80 μs的低電平,說明DHT21發送響應信號,DHT21發送響應信號后,把總線拉高80 μs,準備發送數據,每一位數據都以50 μs低電平時隙開始,高電平的長短確定了數據位是0還是1,高電平時間為26~28 ?滋s表明該數據為0,高電平時間為70 μs表明該數據為1。
3.1.2 AD590數據的采集
IDC共有8路AD590,采用循環掃描的方式。首先CD4028的地址引腳DCBA輸入0001,CD4051的地址引腳CBA輸入001,抬高CD4051的輸入使能引腳INH電平,這樣開通AD590_1,然后等待200 ms,預熱AD590,最后讀取一定時間AD7741的脈沖次數。所讀取AD7741的次數反映AD590檢測溫度的大小,這樣即讀完一路AD590檢測的溫度值。通過改變CD4028和CD4051的地址重復上述步驟,依次讀取8路AD590檢測的溫度值。
3.1.3 MQ-2和MQ-8數據的采集
MQ-2和MQ-8輸出的是電壓信號,STM32可以直接通過帶有復用功能ADC(模擬數字轉換器)的I/O口,把電壓模擬信號轉換成12位數字信號,通過STM32內部集成DMA控制器,把ADC讀取的數字信號傳輸到STM32內存,每次需要傳輸200個數據,并求平均值,這樣可以保證最后輸出的空氣中氫氣密度和煙霧濃度值穩定。
3.2 STM32與TC35模塊通信的設計[8]
使用TC35模塊前,要在TC35模塊上插入一張SIM卡,確定TC35模塊連接上移動網絡。STM32與TC35模塊之間是通過串口通信的。首先STM32向TC35模塊發送初始化指令:AT+CNMI=2,1(指令功能:短信提示),AT+CMGF=1(指令功能:英文方式發送)。初始化之后,如果TC35模塊接收到信,向STM32發送指令:+CMTI:“SM”,1(表示有短信接收,存在SIM卡的第1個位置);此時STM32向TC35模塊發送指令:AT+CMGR=1;(指令功能:讀取SIM卡的第一個位置的短信);然后STM32會接收到:+CMGR:“REC UNREAD”,“+8613*********”,“10/06/07,15:02:08+32”(表示短信未讀,短信來源號碼,接收時間);abc(表示短信內容);STM32接受到任何短信,識別短訊來源號碼是否是事先設定的號碼,如果是,則發送:AT+CMGS=“13*********”(功能:向設定好的號碼發送短信);STM32等待TC35回復,等收到回復后,發送IDC環境數據信息:ab****** (IDC環境數據);STM32發送信息結束標識:1A;STM32收到指令:+CMGS:11(IDC環境數據發送成功)。
3.3 STM32與觸摸屏通信的軟件設計[9]
觸摸屏用來顯示IDC環境數據和設置對應環境值的安全范圍。首先要把設計好的背景圖片存儲在觸摸屏的Flash里面,存入觸摸屏的控制程序(此程序設定觸摸屏按鍵代碼)。
STM32控制觸摸屏的主要代碼如下:
AA 52 CC 33 C3 3C(清屏指令)
AA 70 01 CC 33 C3 3C(背景圖片選擇指令,其中01表示圖片的地址)
AA 53 00 80 00 F0 32 32 46 35 CC 33 C3 3C(在溫度后面顯示22.5,其中00 80 和00 F0是顯示文字的坐標,32 32 46 35是22.5的ASCII碼)
觸摸屏按鍵返回碼:
AA 71 00 01 CC 33 C3 3C(其中00 01表示鍵碼)
通過實際測試IDC環境檢測系統,系統檢測到的環境溫度、濕度和空氣中氫氣密度、煙霧濃度數值穩定,精度符合要求,通過移動通信網絡,管理人員就可以隨時查看IDC環境狀況,減輕了IDC工作人員的負擔。IDC環境檢測系統的優勢已經得到體現,幫助解決了很多IDC環境保障問題,對同類檢測系統的實現也有一定的參考價值。
參考文獻
[1] 史水娥,楊豪強. 基于ARM9處理器的機房環境遠程監測系統設計[J].河南師范大學學報(自然科學版),2010,38(3):57-59.
[2] 王劍鋒,林宣雄. 環境監控(監測)建設與發展過程的思考[J]. 中國環境監測,2006,22(5):9-12.
[3] 朱偉. 數據中心機房環境監控系統的研究和應用[J]. 金融電子化,2008(4):53-55.
[4] 陳亮.鶴煤集團機房環境監控的應用與發展[J]. 科技創業,2010(8):189-190.
[5] 姜云安.大中型機房環境監控系統淺談[J]. 智能建筑與城市信息,2010(8):12-15.
[6] DHT21產品說明書[EB/0L].(2011-02-25).http://wenku.baidu.com/view/d3b37e23bcd126fff7050b38.html?from=rec&pos=0&weight=33&lastweight=13&count=5.
[7] 倪天龍.單總線傳感器 DHT11在溫濕度測控中的應用[J].單片機與嵌入式系統應用,2010(6):60-62.
[8] 楊小平.基于AT89S52和DHT21的溫濕度測量系統設計[J].無錫職業技術學院學報,2011,10(1):62-63.
[9] 張華,高需.基于TC35模塊實現短消息收發[J].電腦知識與技術,2010,17(6):4817-4819.
[10] 翟霄翔,郝久玉,鄭軍.電阻式觸摸屏在嵌入式系統中的應用[J].電子測量技術,2006,29(2):36-37.