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