摘 要:服務器能否正常運行,機房溫度是首要問題。采用虛擬儀器的思想,將熱敏電阻和555時基集成電路構成的振蕩電路的輸出作為聲卡MIC的輸入信號,通過DirectX編程對聲卡的采樣信號進行計算,實現(xiàn)溫度的實時采樣。這種方法硬件實現(xiàn)簡單,充分利用了計算機聲卡的模數(shù)轉(zhuǎn)換能力,可以較為精確地實現(xiàn)機房溫度的采樣,然后將采樣溫度寫入數(shù)據(jù)庫,最后通過網(wǎng)頁編程或手機短信等形式就可以實現(xiàn)機房溫度的遠程監(jiān)控。
關鍵詞:DirectX;聲卡;時基集成電路;熱敏電阻
中圖分類號:TP311 文獻標識碼:B 文章編號:1004373X(2008)1600602
Realization of Room Temperature Long Distance Monitoring System Based on Directx
WEI Ran,LI Xinlei
(Library,Henan Normal University,Xinxiang,453007,China)
Abstract:Room temperature is the most important issue in server′s normal work.Using virtual instrument thinking,thermistor and 555 time base oscillator circuit consisting of IC output as a MIC input audio signal through DirectX programming on the audio signal sampling,the realization of the realtime temperature sampling.Hardware implementation of this method simple,and making full use of the computer sound card analogdigital conversion capability and can be more precise achieve room temperature sampling,and then into the database,the final via the web programming or SMS,or other forms can be achieved room temperature remote monitoring.
Keywords:DirectX;sound card;timer IC;thermistor
聲卡是多媒體計算機系統(tǒng)中最基本、最常用的硬件之一,其技術發(fā)展已經(jīng)十分成熟,它具有A/D,D/A 轉(zhuǎn)換功能,被廣泛應用于聲音信號的采集和虛擬儀器系統(tǒng)開發(fā)設計。555時基集成電路因其結構簡單、使用靈活、定時精確、可靠性高且價格低廉而被廣泛應用。Visual Basic2005是一種跨平臺的面向?qū)ο缶幊陶Z言,有運行速度快、多線程、安全可靠性高等優(yōu)點。DirectX 為軟件開發(fā)者提供硬件無關性,為硬件開發(fā)提供策略。微軟的DirectX 軟件開發(fā)工具包( SDK) 提供一套優(yōu)秀的應用程序編程接口(APIs) ,這個編程接口可以提供開發(fā)高質(zhì)量、實時的應用程序所需要的各種資源。
1 基于聲卡采樣溫度信號的硬件設計
聲卡是計算機中對聲音進行A/D或D/A轉(zhuǎn)換的器件,該器件的輸入有MIC和LINEIN兩種,輸入電壓通常在5 V以下。因為是對聲音信號進行處理,所以它的輸入部分是一個帶通濾波器,通帶頻率通常是200 Hz~35 kHz。熱敏電阻是開發(fā)早、種類多、發(fā)展較成熟的敏感元器件。熱敏電阻由半導體陶瓷材料組成,利用的原理是溫度引起電阻變化。若電子和空穴的濃度分別為n,p,遷移率分別為μn,μp,則半導體的電導為:σ=q(nμn+pμp)。因為n,p,μn,μp都是依賴溫度T的函數(shù),所以電導是溫度的函數(shù),因此可由測量電導而推算出溫度的高低,并能做出電阻溫度特性曲線。這就是半導體熱敏電阻的工作原理。熱敏電阻包括正溫度系數(shù)(PTC)和負溫度系數(shù)(NTC)熱敏電阻,以及臨界溫度熱敏電阻(CTR)。熱敏電阻的主要特點是:靈敏度較高,其電阻溫度系數(shù)要比金屬大10~100倍以上;工作溫度范圍寬,常溫器件適用于-55~315 ℃,高溫器件適用溫度高于315 ℃(目前最高可達到2 000 ℃),低溫器件適用于-273~55 ℃;體積小,能夠測量其他溫度計無法測量的空隙、腔體及生物體內(nèi)血管的溫度;使用方便,電阻值可在0.1~100 kΩ間任意選擇;易加工成復雜的形狀,可大批量生產(chǎn);穩(wěn)定性好、過載能力強。
555無穩(wěn)態(tài)多諧震蕩電路采用5 V作為Vcc時,其輸出為3.3 V左右,在聲卡輸入電壓范圍內(nèi),且輸出為很整齊的方波,十分方便通過采樣計算頻率或周期。如果將555震蕩電路(見圖1)中的R2替換為合適的熱敏電阻,那么其震蕩頻率將隨著溫度的變化而變化。選用合適的電阻(R1)和電容(C1),即可將555震蕩電路的震蕩頻率控制在聲卡能夠處理的范圍之內(nèi)。由計算機的USB口提供5 V的電源,將555震蕩電路的輸出Vo作為聲卡的輸入,完成了溫度采集的外圍電路設計。
2 基于聲卡采樣溫度信號的軟件設計
2.1 DirectX概述
DirectX是微軟公司針對Windows操作系統(tǒng)的非實時性而推出的一個開發(fā)庫,目的是讓圖形圖像、動畫、多媒體和游戲程序開發(fā)人員能夠輕松確定計算機的硬件性能,然后設置與之匹配的程序參數(shù),使得多媒體軟件程序能夠在基于 Windows 的具有 DirectX 兼容硬件與驅(qū)動程序的計算機上運行,同時可確保多媒體程序能夠充分利用高性能硬件。
DirectSound是DirectX的聲音組件,是由基于組件對象模型(COM)的對象和接口組成的。DirectSound通過硬件抽象層(HAL)訪問聲音硬件,而不是直接操作硬件。HAL 是一個軟件層,DirectSound是由HAL擴展的Windows設備驅(qū)動程序。實際上,可以將DirectSound看作對音頻緩存的管理,它會盡量使用硬件的最高性能,如果當前硬件不具備某類特性時,DirectSound會使用軟件進行仿真。
2.2 利用DirectSound從聲卡采集555振蕩電路的輸出信號 DirectSound支持聲音的捕捉。一般情況下可以遵循以下原則:生成DirectSound對象;設置Directsound對象的優(yōu)先級別;枚舉聲音捕捉設備;生成DirectorSoundCapture對象;生成基于初級緩沖的CaptureBuffer;生成一個次級緩存用來輸出;進行數(shù)據(jù)捕獲和播放、存儲。根據(jù)上述步驟用Visual Basic 2005通過編程實現(xiàn)對555振蕩電路所產(chǎn)生的方波的捕獲(對DirectSound編程的代碼可參考DirectX SDK里CaptureSound的例程)。這里詳細介紹對于555時基電路產(chǎn)生的方波的采樣及其頻率的計算方法。
當DirectSound使用48 000 Hz的采樣頻率對555時基電路所產(chǎn)生的方波(不大于10 000 Hz)進行采樣時,根據(jù)采樣定理(當采樣頻率fs大于信號中最高頻率fmax的2倍時,即:fs.max>=2fmax,則采樣之后的數(shù)字信號完整地保留了原始信號中的信息,采樣定理又稱奈奎斯特定理)可知,555時基電路產(chǎn)生的方波被采樣后將可以被無失真的恢復出來。采樣過程如圖2所示,其中T代表方波周期,t代表采樣周期,n代表采樣次數(shù),如果對方波進行采樣1次,則T = nt,但這樣誤差較大。為了精確起見,可以對方波采樣多個周期再取平均周期作為方波的周期,從而有:T = n t / m。
2.3 建立溫度對照表,獲取環(huán)境溫度
根據(jù)555振蕩電路周期公式:T = (R1+2R2)·Cln 2可知:R2 = (T/(Cln 2)R)/2。利用Visual Basic2005編程計算出R2,并將R2與將熱敏電阻(這里用的熱敏電阻為S103D)的溫度/阻值對照表對照,即可獲得當前機房溫度,將該溫度變量寫入數(shù)據(jù)庫或文本文件。當該溫度超過某一閥值(可以自己根據(jù)情況設定)即可通過串口發(fā)送短信的方式將機房溫度及時發(fā)送給機房管理人員,從而實現(xiàn)了機房溫度的遠程監(jiān)控。
3 結 語
機房設備是否能夠安全運行,是一個很嚴重問題,機房如果斷電,空調(diào)設備停止運行,由于UPS的支持服務器和陣列繼續(xù)工作,短短的1個小時,就可以使機房溫度上升到40 ℃,服務器等設備在這種高溫下運行是非常危險的。在此使用簡單的555電路結合Visual Basic2005編程就能實現(xiàn)機房溫度的遠程監(jiān)控,為管理人員能夠及時發(fā)現(xiàn)機房環(huán)境的變化、消除隱患、
節(jié)約資金、防止不必要的損失提供了可行的解決方案。
參 考 文 獻
[1]Bill Evjen,Billy Hollis.VB.NET高級編程\\.3版.北京:清華大學出版社,2005.
[2]傅宇旭.DirectorX 7.0高級編程\\.北京:科學出版社,
2000.
[3]閻石.數(shù)字電子技術基礎\\.4版.北京:高等教育出版社,2001.
作者簡介 魏 然 男,1978年出生,河南新鄉(xiāng)人,助理工程師,學士,畢業(yè)于河南師范大學電子信息工程專業(yè),現(xiàn)就職于河南師范大學圖書館。研究方向為數(shù)據(jù)庫與軟件開發(fā)。
李新磊 男,1978年出生,河南新鄉(xiāng)人,助理工程師,學士,畢業(yè)于河南師范大學計算機學院,現(xiàn)就職于河南師范大學圖書館。研究方向為數(shù)據(jù)庫與軟件開發(fā)。