基于USB接口的多節(jié)點(diǎn)無線測(cè)溫系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
溫度監(jiān)測(cè)在土木建筑施工、儲(chǔ)糧倉(cāng)庫(kù)、智能樓宇、空調(diào)系統(tǒng)以及其他工農(nóng)業(yè)生產(chǎn)中有著廣泛的應(yīng)用。傳統(tǒng)的測(cè)溫方法是在各監(jiān)測(cè)點(diǎn)布置溫度探頭,由專人每天定時(shí)采集各點(diǎn)的溫度數(shù)據(jù),再輸入電腦保存,并生成溫度、應(yīng)力的變化曲線和測(cè)試報(bào)告,也有一些是通過數(shù)據(jù)采集箱采集溫度和應(yīng)力數(shù)據(jù),然后通過電纜上傳電腦做進(jìn)一步的數(shù)據(jù)處理。
傳統(tǒng)的測(cè)量方法需要監(jiān)測(cè)人員頻繁來往于施工現(xiàn)場(chǎng),勞動(dòng)強(qiáng)度大,數(shù)據(jù)采集和傳輸不方便,信息管理的自動(dòng)化程度低,難于滿足現(xiàn)代信息化監(jiān)測(cè)的要求。為了提高測(cè)溫?cái)?shù)據(jù)采集的準(zhǔn)確性、可靠性、及時(shí)性,同時(shí)實(shí)現(xiàn)溫度和應(yīng)力數(shù)據(jù)的智能化、信息化管理,本文針對(duì)大規(guī)模建筑施工監(jiān)測(cè)等工程應(yīng)用的要求,設(shè)計(jì)了一種基于無線數(shù)據(jù)傳輸和USB接口的多節(jié)點(diǎn)遠(yuǎn)程溫度監(jiān)測(cè)系統(tǒng)。
通過無線數(shù)據(jù)傳輸,一方面拓展了節(jié)點(diǎn)分機(jī)布置的空間范圍,另一方面大大縮短了測(cè)溫電纜的長(zhǎng)度以方便布線。USB接口實(shí)現(xiàn)了將各節(jié)點(diǎn)分機(jī)的測(cè)溫?cái)?shù)據(jù)向主機(jī)的快速傳輸,取代了傳統(tǒng)的RS 232等接口形式,大大方便了與主機(jī)的連接。主機(jī)軟件完成數(shù)據(jù)的轉(zhuǎn)換、存儲(chǔ)、曲線和報(bào)表生成,實(shí)現(xiàn)混施工監(jiān)測(cè)的信息化管理,也可以構(gòu)建一個(gè)Web服務(wù)器,實(shí)現(xiàn)信息的異地監(jiān)測(cè)。
2 測(cè)溫系統(tǒng)的整體構(gòu)造
測(cè)溫系統(tǒng)是由主機(jī)、通信機(jī)和測(cè)溫節(jié)點(diǎn)分機(jī)構(gòu)成,整體框圖如圖1所示。
其中溫度信號(hào)通過埋植在現(xiàn)場(chǎng)的傳感器傳輸?shù)焦?jié)點(diǎn)分機(jī),節(jié)點(diǎn)分機(jī)內(nèi)部集成了調(diào)理電路和信號(hào)采集模塊,以及由微處理器控制的存儲(chǔ)模塊和通信模塊,一個(gè)節(jié)點(diǎn)分機(jī)最多可以處理64路溫度信號(hào),測(cè)溫分機(jī)以主機(jī)設(shè)定的時(shí)間間隔通過無線或有線方式經(jīng)通信機(jī)向主機(jī)傳送數(shù)據(jù),其中通信機(jī)采用了支持USB 2.0標(biāo)準(zhǔn)的微控制器C8051F320,使傳輸?shù)臄?shù)據(jù)通過USB傳送到主機(jī),PC機(jī)在軟件支持下對(duì)數(shù)據(jù)進(jìn)行處理并以報(bào)表以及曲線圖表示出來。同時(shí),主機(jī)也可以設(shè)定分機(jī)的數(shù)據(jù)采集間隔,監(jiān)測(cè)的部位,系統(tǒng)時(shí)間等參數(shù)。
3 USB接口在測(cè)溫系統(tǒng)中的應(yīng)用
為了把測(cè)溫?cái)?shù)據(jù)傳送到主機(jī),傳統(tǒng)的方法是利用RS 232或RS 485總線與主機(jī)通信。但由于這些接口傳輸速度慢,近年來,逐步被USB接口所取代。目前USB成為PC機(jī)的標(biāo)準(zhǔn)接口已經(jīng)是大勢(shì)所趨,在主機(jī)(host)端,目前推出的PC機(jī)幾乎100%支持USB。鑒于此,本文采用CYGNAL公司的支持全速USB 2.0的微控制器C8051F320。該單片機(jī)是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片(SOC),具有與C8051完全兼容的CIP51內(nèi)核,與MSC-51指令集完全兼容。片內(nèi)集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬、數(shù)字外設(shè)及其他功能部件;內(nèi)置FLASH程序存儲(chǔ)器、內(nèi)部RAM以及外部數(shù)據(jù)存儲(chǔ)器RAM。微控制器C8051F320帶有USB接口,其功能控制模塊符合USB 2.0規(guī)范,可在全速或低速下運(yùn)行,并具有1 kB USB緩存、集成收發(fā)器,無需外部電阻。Silicon lab公司提供了USBXpress的開發(fā)套件。通過使用USBXpress庫(kù),大大簡(jiǎn)化了USB固件程序和PC端驅(qū)動(dòng)程序的開發(fā)。其中USB通信總體框圖如2所示。USBXpress通過一系列函數(shù)實(shí)現(xiàn)單片機(jī)端的應(yīng)用程序接口(API)。當(dāng)主機(jī)需要數(shù)據(jù)時(shí),可將測(cè)溫節(jié)點(diǎn)分機(jī)數(shù)據(jù)通過通信機(jī)傳輸?shù)街鳈C(jī)中,應(yīng)用程序?qū)?shù)據(jù)進(jìn)行波形顯示和數(shù)據(jù)分析處理。
4 USB通信
本系統(tǒng)的USB外設(shè)為非符合HID標(biāo)準(zhǔn)的設(shè)備,因此要使主機(jī)與通信機(jī)順利傳輸數(shù)據(jù),需要編寫三部分的程序:設(shè)備端的固件程序、主機(jī)上的設(shè)備驅(qū)動(dòng)程序以及客戶應(yīng)用程序。
4.1 固件程序設(shè)計(jì)
采用C語(yǔ)言編寫,USB固件程序程序由3部分組成:
(1)初始化單片機(jī)和所有的外圍電路;包括USB控制器的初始化、端點(diǎn)初始化、交叉開關(guān)和I/O口初始化、系統(tǒng)時(shí)鐘設(shè)置,控制器使能;
(2)主循環(huán)部分,其任務(wù)是可以中斷的;
(3)中斷服務(wù)程序,其任務(wù)是對(duì)時(shí)間敏感的,必須馬上執(zhí)行。如圖3所示。
根據(jù)USB協(xié)議,任何傳輸都是由主機(jī)(Host)開始的。單片機(jī)做它的前臺(tái)工作,等待中斷。主機(jī)首先要發(fā)令牌包給USB設(shè)備,C8051F320接收到令牌包后就進(jìn)入中斷服務(wù)程序,首先讀單片機(jī)的中斷寄存器,判斷USB令牌包的類型,然后執(zhí)行相應(yīng)的操作。
在USB單片機(jī)程序中,要完成對(duì)各種令牌包的響應(yīng),其中比較難處理的是SETUP包,主要是端口0的編程。本系統(tǒng)中主要用到了初始化、讀、寫、中斷這4個(gè)函數(shù):初始化USB_Init(0,0xEA61,NULL,NULL,Serial,250,0x80,0x100)函數(shù);塊寫函數(shù)Block_Write();塊讀函數(shù)Block_Read();USB中斷使能函數(shù)。USB的所有處理程序都是通過USB的中斷服務(wù)程序完成的。進(jìn)入U(xiǎn)SB中斷后,程序調(diào)用Get_Interrupt_Source()函數(shù)獲得USB中斷的進(jìn)入原因。然后根據(jù)不同的入口情況,來進(jìn)行相應(yīng)的處理。比如收到數(shù)據(jù)之后,讀取相應(yīng)的緩沖區(qū)內(nèi)容到內(nèi)存中;收到初始化命令時(shí),復(fù)位單片機(jī)內(nèi)的各個(gè)狀態(tài)參數(shù)。
4.2 USB驅(qū)動(dòng)程序
USB驅(qū)動(dòng)程序是一個(gè)軟件組件,封裝了應(yīng)用程序存取硬件設(shè)備的功能函數(shù)。USB驅(qū)動(dòng)程序模型分為5層,如圖4所示。
考慮到本系統(tǒng)使用了非標(biāo)準(zhǔn)類別,需要自己開發(fā)驅(qū)動(dòng)程序,USB設(shè)備驅(qū)動(dòng)程序的工具使用了USBXpressDevelopment Kit。主要函數(shù)如下:SI_Open()函數(shù);SI_Close()函數(shù);SI_Read函數(shù);SI_Write()函數(shù);SI_GetNumDevices()函數(shù);SI_CheckRXQueue()。
用戶端若要從設(shè)備讀取數(shù)據(jù),將調(diào)用一個(gè)應(yīng)用程序接口API,如OpenFile,SiUSBXp.dll實(shí)現(xiàn)這個(gè)API??偩€驅(qū)動(dòng)程序控制對(duì)總線上所有設(shè)備的訪問。
4.3 用戶應(yīng)用程序
主機(jī)軟件采用可視化編程工具VC 6.0進(jìn)行開發(fā),采用數(shù)據(jù)庫(kù)Microsoft Access 2003進(jìn)行信息的管理。
根據(jù)實(shí)際的系統(tǒng)應(yīng)用要求,整個(gè)系統(tǒng)的軟件結(jié)構(gòu)如圖5所示。
5 測(cè)溫系統(tǒng)在實(shí)際工程中的應(yīng)用
測(cè)溫系統(tǒng)在某議事大廈項(xiàng)目中進(jìn)行了應(yīng)用,該工程基礎(chǔ)底板平面尺寸為65.4 m×47 m,其中中間區(qū)域3、7軸線與B、F軸線之間24.0 m×21.53 m部分板厚為2.2 m;該部分周圍有15個(gè)大承臺(tái)板厚為2.5 m;其余部分均為0.7 m,混凝土采用C40。
在進(jìn)行該工程基礎(chǔ)底板的混凝土施工過程中,本系統(tǒng)進(jìn)行了為期將近兩個(gè)星期的測(cè)溫使用,效果很好。圖6為自動(dòng)記錄的3號(hào)點(diǎn)的溫度變化曲線。
6 結(jié) 語(yǔ)
基于C8051F320 USB接口的無線測(cè)溫系統(tǒng)把計(jì)算機(jī)技術(shù)與傳統(tǒng)信號(hào)采集技術(shù)緊密結(jié)合起來,充分發(fā)揮PC機(jī)和單片機(jī)各自的優(yōu)點(diǎn),實(shí)現(xiàn)傳感器信號(hào)的采集、存儲(chǔ)、傳輸、顯示和處理。而借助USB接口的通信功能,減小了數(shù)據(jù)傳輸系統(tǒng)的復(fù)雜性,提高了傳輸速率極大地方便了系統(tǒng)的使用。