摘 要:針對(duì)大規(guī)模測(cè)溫系統(tǒng)在工程監(jiān)測(cè)中的應(yīng)用要求,提出了一種新型的基于無(wú)線(xiàn)數(shù)據(jù)傳輸?shù)亩喙?jié)點(diǎn)遠(yuǎn)程溫度監(jiān)測(cè)系統(tǒng)。采用節(jié)點(diǎn)分機(jī)實(shí)現(xiàn)多點(diǎn)溫度的測(cè)量和存儲(chǔ),通信機(jī)實(shí)現(xiàn)測(cè)溫?cái)?shù)據(jù)的接收,并將監(jiān)測(cè)數(shù)據(jù)傳送至主機(jī),主機(jī)實(shí)現(xiàn)溫度數(shù)據(jù)的轉(zhuǎn)換和智能化監(jiān)測(cè)管理。通信機(jī)采用CYGNAL公司的微控制器C8051F320實(shí)現(xiàn)了與主機(jī)的USB數(shù)據(jù)傳輸,從而方便了測(cè)溫系統(tǒng)的使用,也提高了數(shù)據(jù)傳輸速度。
關(guān)鍵詞:測(cè)溫系統(tǒng);單片機(jī);USB;無(wú)線(xiàn)數(shù)據(jù)傳輸
中圖分類(lèi)號(hào):TN919.7 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1004373X(2008)1712403
Multi-Node Wireless Temperature Measurement System Based on USB Interface
JIANG Youjun,NI Jiangsheng,MENG Luan
(School of Instrument Science and Engineering,Southeast University,Nanjing,210096,China)
Abstract:In view of application requirements of large-scale temperature measurement system in construction monitoring,a new type of wireless multi-node remote temperature monitoring system is developed in this paper.In the system,the measurement and storage of multi-point temperatures are carried out by the slave computer,the reception and transmission of temperature data is implemented by the communication machine and the host computer fulfils the conversion,monitoring and management of temperature data.The communication machine adopts the CYGNAL′s MCU C8051F320 to achieve the data transmission by USB between the host and slave.The use of USB facilitates the application of the system and increases the speed of data transmission.
Keywords:temperature monitoring system;single chip computer;USB;wireless data transmission
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)布置溫度探頭,由專(zhuān)人每天定時(shí)采集各點(diǎn)的溫度數(shù)據(jù),再輸入電腦保存,并生成溫度、應(yīng)力的變化曲線(xiàn)和測(cè)試報(bào)告,也有一些是通過(guò)數(shù)據(jù)采集箱采集溫度和應(yīng)力數(shù)據(jù),然后通過(guò)電纜上傳電腦做進(jìn)一步的數(shù)據(jù)處理。
傳統(tǒng)的測(cè)量方法需要監(jiān)測(cè)人員頻繁來(lái)往于施工現(xiàn)場(chǎng),勞動(dòng)強(qiáng)度大,數(shù)據(jù)采集和傳輸不方便,信息管理的自動(dòng)化程度低,難于滿(mǎn)足現(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ì)了一種基于無(wú)線(xiàn)數(shù)據(jù)傳輸和USB接口的多節(jié)點(diǎn)遠(yuǎn)程溫度監(jiān)測(cè)系統(tǒng)。
通過(guò)無(wú)線(xiàn)數(shù)據(jù)傳輸,一方面拓展了節(jié)點(diǎn)分機(jī)布置的空間范圍,另一方面大大縮短了測(cè)溫電纜的長(zhǎng)度以方便布線(xiàn)。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ǔ)、曲線(xiàn)和報(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)通過(guò)埋植在現(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í)間間隔通過(guò)無(wú)線(xiàn)或有線(xiàn)方式經(jīng)通信機(jī)向主機(jī)傳送數(shù)據(jù),其中通信機(jī)采用了支持USB 2.0標(biāo)準(zhǔn)的微控制器C8051F320,使傳輸?shù)臄?shù)據(jù)通過(guò)USB傳送到主機(jī),PC機(jī)在軟件支持下對(duì)數(shù)據(jù)進(jìn)行處理并以報(bào)表以及曲線(xiàn)圖表示出來(lái)。同時(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總線(xiàn)與主機(jī)通信。但由于這些接口傳輸速度慢,近年來(lái), 逐步被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ā)器,無(wú)需外部電阻。Silicon lab公司提供了USBXpress的開(kāi)發(fā)套件。通過(guò)使用USBXpress庫(kù),大大簡(jiǎn)化了USB固件程序和PC端驅(qū)動(dòng)程序的開(kāi)發(fā)。其中USB通信總體框圖如2所示。USBXpress通過(guò)一系列函數(shù)實(shí)現(xiàn)單片機(jī)端的應(yīng)用程序接口(API)。當(dāng)主機(jī)需要數(shù)據(jù)時(shí),可將測(cè)溫節(jié)點(diǎn)分機(jī)數(shù)據(jù)通過(guò)通信機(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ù),需要編寫(xiě)三部分的程序:設(shè)備端的固件程序、主機(jī)上的設(shè)備驅(qū)動(dòng)程序以及客戶(hù)應(yīng)用程序。
4.1 固件程序設(shè)計(jì)
采用C語(yǔ)言編寫(xiě),USB固件程序程序由3部分組成:
(1) 初始化單片機(jī)和所有的外圍電路,包括USB控制器的初始化、端點(diǎn)初始化、交叉開(kāi)關(guān)和I/O口初始化、系統(tǒng)時(shí)鐘設(shè)置,控制器使能;
(2) 主循環(huán)部分,其任務(wù)是可以中斷的;
(3) 中斷服務(wù)程序,其任務(wù)是對(duì)時(shí)間敏感的,必須馬上執(zhí)行。如圖3所示。
根據(jù)USB協(xié)議,任何傳輸都是由主機(jī)(Host)開(kāi)始的。單片機(jī)做它的前臺(tái)工作,等待中斷。主機(jī)首先要發(fā)令牌包給USB設(shè)備,C8051F320接收到令牌包后就進(jìn)入中斷服務(wù)程序,首先讀單片機(jī)的中斷寄存器,判斷USB令牌包的類(lèi)型,然后執(zhí)行相應(yīng)的操作。
在USB單片機(jī)程序中,要完成對(duì)各種令牌包的響應(yīng),其中比較難處理的是SETUP包,主要是端口0的編程。本系統(tǒng)中主要用到了初始化、讀、寫(xiě)、中斷這4個(gè)函數(shù):初始化USB_Init(0,0xEA61,NULL,NULL,Serial,250,0x80,0x100)函數(shù);塊寫(xiě)函數(shù)Block_Write();塊讀函數(shù)Block_Read();USB中斷使能函數(shù)。USB的所有處理程序都是通過(guò)USB的中斷服務(wù)程序完成的。進(jìn)入U(xiǎn)SB中斷后,程序調(diào)用Get_Interrupt_Source()函數(shù)獲得USB中斷的進(jìn)入原因。然后根據(jù)不同的入口情況,來(lái)進(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)類(lèi)別,需要自己開(kāi)發(fā)驅(qū)動(dòng)程序, USB設(shè)備驅(qū)動(dòng)程序的工具使用了USBXpress Development Kit。主要函數(shù)如下:SI_Open()函數(shù);SI_Close()函數(shù);SI_Read函數(shù);SI_Write()函數(shù);SI_GetNumDevices()函數(shù);SI_CheckRXQueue()。
用戶(hù)端若要從設(shè)備讀取數(shù)據(jù),將調(diào)用一個(gè)應(yīng)用程序接口API,如OpenFile,SiUSBXp.dll實(shí)現(xiàn)這個(gè)API。總線(xiàn)驅(qū)動(dòng)程序控制對(duì)總線(xiàn)上所有設(shè)備的訪(fǎng)問(wèn)。
4.3 用戶(hù)應(yīng)用程序
主機(jī)軟件采用可視化編程工具VC 6.0進(jìn)行開(kāi)發(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軸線(xiàn)與B、F軸線(xiàn)之間24.0 m×21.53 m部分板厚為2.2 m;該部分周?chē)?5個(gè)大承臺(tái)板厚為2.5 m;其余部分均為0.7 m,混凝土采用C40。
在進(jìn)行該工程基礎(chǔ)底板的混凝土施工過(guò)程中,本系統(tǒng)進(jìn)行了為期將近兩個(gè)星期的測(cè)溫使用,效果很好。圖6為自動(dòng)記錄的3號(hào)點(diǎn)的溫度變化曲線(xiàn)。
6 結(jié) 語(yǔ)
基于C8051F320 USB接口的無(wú)線(xiàn)測(cè)溫系統(tǒng)把計(jì)算機(jī)技術(shù)與傳統(tǒng)信號(hào)采集技術(shù)緊密結(jié)合起來(lái),充分發(fā)揮PC機(jī)和單片機(jī)各自的優(yōu)點(diǎn),實(shí)現(xiàn)傳感器信號(hào)的采集、存儲(chǔ)、傳輸、顯示和處理。而借助USB接口的通信功能,減小了數(shù)據(jù)傳輸系統(tǒng)的復(fù)雜性,提高了傳輸速率極大地方便了系統(tǒng)的使用。
參 考 文 獻(xiàn)
[1]潘琢金.C8051F高速SOC單片機(jī)原理及應(yīng)用.北京:北京航空航天大學(xué)出版社,2002.
[2]馬喜順,陶庸.高速SOC單片機(jī)C8051F.電子產(chǎn)品世界,2002(5A):63-64.
[3]張迎新.C8051F系列SOC單片機(jī)原理及應(yīng)用.北京:國(guó)防工業(yè)出版社,2006.
[4]Jan Alexson.USB大全[M].陳逸,譯.北京:中國(guó)電力出版社,2001.