基于USB和LabVIEW的溫度報警系統設計
2.2 USB轉RS232接口電路
選用XT881l芯片,該芯片的功能是USB轉RS232串行接口,是單片機和PC機通信的一種非常簡便的通訊方法,只用一條USB線就可以進行ISP在線編程和傳輸數據了。XT8811芯片符合USBl.1,兼容USB2.0規范;基于高速USB UART IC,支持RS232標準串行接口,速度75bps~6Mbps;支持信號自動交換輸入輸出模式。USB接口硬件電路如圖3所示。
3 LabVlEW的程序設計
3.1 LabVIEW的串行通信
在與LaBIEW通信之前,必須安裝XT8811的驅動程序。XT881l的驅動程序安裝以后,會自動在計算機系統里虛擬出一個串行COM口。比如,計算機原來有兩個串口COMl和COM2,那么XT88ll驅動程序安裝以后自動虛擬出一個COM3口(一般來說是這樣,具體COM端口號由虛擬驅動程序自動分配)。這個由XT88ll驅動程序虛擬出來的COM口和計算機原有的COM口對于應用軟件來說是一樣的。只要應用軟件能夠映射(或選擇)到該虛擬COM口,就可以實現對RS-232端口的通信。所以本設計采用了LabVIEW的VISA的串行通訊子Ⅵ來開發串行通信軟件。共有5個串行通信節點,分別實現串口初始化、串口寫、串口讀、檢測串口緩存、中斷等功能。應用LabVIEW的圖標設置串口,直接讀出串口里的數據,實現與單片機溫度采集系統的數據通信。如圖4所示,串口默認設置為:9600b/s,8位數據位,l位停止位,l位起始位,無握手信號,下位機通信程序亦遵守上述協議。
3.2 基于用戶事件的溫度報警
當溫度超過報警上限時時,系統會自動觸發報警,并記錄報警數、報警發生的時間和溫度值進行記錄。采用Lab―VIFW的用戶事件編程,首先通過Create User Event函數創建用戶事件,然后通過Register For Events節點注冊事件。將注冊的事件Refnum與事件結構的Dynamic Event Termi―nals連接,最后需要通過Destroy User Event函數銷毀用戶事件。如圖5所示,程序框圖中首先通過Create User Event函數創建用戶事件,該用戶事件攜帶的數據類型位Double,名稱為“溫度報警”,然后通過Register For Event函數注冊溫度事件。上方的循環用來采集溫度數據,當溫度數據超過報警上限時通過Generate User Event函數產生用戶事件。下方的循環用于處理事件,既當用戶事件發生時,更新報警記錄;當用戶單擊“清除報警記錄”按鈕時清除報警。最后通過Unregister For Event函數和Destroy User Event函數注銷和銷毀用戶事件。
評論