基于USB接口的多節點無線測溫系統
根據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接口的通信功能,減小了數據傳輸系統的復雜性,提高了傳輸速率極大地方便了系統的使用。
評論