引言
通用串行總線USB(Universal Serial Bus)具有較高的傳輸速率、支持即插即用和熱插拔、易于擴展以及可靠性高、成本低、功耗低等特點,USB2.0接口的傳輸速率高達480Mbps,完全能滿足PC機和外設(shè)進行大量數(shù)據(jù)交換的要求。
LabVIEW是美國國家儀器公司開發(fā)的一種虛擬儀器平臺,提供了豐富的數(shù)據(jù)采集、分析和存儲函數(shù)以及包括RS232/485等各種儀器通信總線標(biāo)準(zhǔn)的所有功能函數(shù),但是LabVIEW開發(fā)的虛擬儀器通常是建立在LabVIEW支持的價格昂貴的數(shù)據(jù)采集板卡之上,本文選用單片機小系統(tǒng)對溫度進行采集。
1、系統(tǒng)組成及工作原理
系統(tǒng)框圖如圖l所示,整個系統(tǒng)包括溫度采集、溫度傳輸和溫度處理3部分,其中溫度采集系統(tǒng)由DSl8820溫度傳感器組成;溫度傳輸部分由STCl2CA052AD單片機和USB接口芯片XT8811組成;溫度處理部分由LabVIEW軟件構(gòu)成。首先,由溫度傳感器DS18820將測量的具體溫度數(shù)值通過串行方式直接傳給單片機,然后單片機將收到的溫度值經(jīng)過USB接口電路送到計算機,最后,通過LabVIEW軟件進行處理。
2、 硬件電路設(shè)計
2.1 溫度采集電路
采用STCl2CA052AD為主芯片,它是5l內(nèi)核的單片機,并且資源更加豐富的,指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍。它本身自帶看門狗和ISP,可以在線編程。
溫度傳感器采用美國DALLS公司推出的一線數(shù)字式智能溫度傳感器DSl8820,測量溫度范圍為一55~125℃,通過簡單的編程可實現(xiàn)9~12位的數(shù)字值讀取方式,分別在93.75ms和750ms內(nèi)將溫度值轉(zhuǎn)化為9位和12位的數(shù)量級,對應(yīng)的分辨率為0.5℃,0.25℃,0.125℃,0.0625℃,CPU只需一根端口線就可以與DSl8820通信,每個DSl8820都有一個全球唯一的64位的二進制ROM代碼標(biāo)志著器件的ID號,整個系統(tǒng)要嚴(yán)格按照該器件單總線協(xié)議規(guī)定的時序進行工作,具體的內(nèi)容是初始化器件、識別器件和進行數(shù)據(jù)交換等。基于DS18820的溫度測量裝置硬件電路如圖2所示。
2.2 USB轉(zhuǎn)RS232接口電路
選用XT881l芯片,該芯片的功能是USB轉(zhuǎn)RS232串行接口,是單片機和PC機通信的一種非常簡便的通訊方法,只用一條USB線就可以進行ISP在線編程和傳輸數(shù)據(jù)了。XT8811芯片符合USBl.1,兼容USB2.0規(guī)范;基于高速USB UART IC,支持RS232標(biāo)準(zhǔn)串行接口,速度75bps~6Mbps;支持信號自動交換輸入輸出模式。USB接口硬件電路如圖3所示。
3、LabVlEW的程序設(shè)計
3.1 LabVIEW的串行通信
在與LaBIEW通信之前,必須安裝XT8811的驅(qū)動程序。XT881l的驅(qū)動程序安裝以后,會自動在計算機系統(tǒng)里虛擬出一個串行COM口。比如,計算機原來有兩個串口COMl和COM2,那么XT88ll驅(qū)動程序安裝以后自動虛擬出一個COM3口(一般來說是這樣,具體COM端口號由虛擬驅(qū)動程序自動分配)。這個由XT88ll驅(qū)動程序虛擬出來的COM口和計算機原有的COM口對于應(yīng)用軟件來說是一樣的。只要應(yīng)用軟件能夠映射(或選擇)到該虛擬COM口,就可以實現(xiàn)對RS-232端口的通信。所以本設(shè)計采用了LabVIEW的VISA的串行通訊子Ⅵ來開發(fā)串行通信軟件。共有5個串行通信節(jié)點,分別實現(xiàn)串口初始化、串口寫、串口讀、檢測串口緩存、中斷等功能。應(yīng)用LabVIEW的圖標(biāo)設(shè)置串口,直接讀出串口里的數(shù)據(jù),實現(xiàn)與單片機溫度采集系統(tǒng)的數(shù)據(jù)通信。如圖4所示,串口默認設(shè)置為:9600b/s,8位數(shù)據(jù)位,l位停止位,l位起始位,無握手信號,下位機通信程序亦遵守上述協(xié)議。
3.2 基于用戶事件的溫度報警
當(dāng)溫度超過報警上限時時,系統(tǒng)會自動觸發(fā)報警,并記錄報警數(shù)、報警發(fā)生的時間和溫度值進行記錄。采用LabVIEW的用戶事件編程,首先通過Create User Event函數(shù)創(chuàng)建用戶事件,然后通過Register For Events節(jié)點注冊事件。將注冊的事件Refnum與事件結(jié)構(gòu)的Dynamic Event Termi—nals連接,最后需要通過Destroy User Event函數(shù)銷毀用戶事件。如圖5所示,程序框圖中首先通過Create User Event函數(shù)創(chuàng)建用戶事件,該用戶事件攜帶的數(shù)據(jù)類型位Double,名稱為“溫度報警”,然后通過Register For Event函數(shù)注冊溫度事件。上方的循環(huán)用來采集溫度數(shù)據(jù),當(dāng)溫度數(shù)據(jù)超過報警上限時通過Generate User Event函數(shù)產(chǎn)生用戶事件。下方的循環(huán)用于處理事件,既當(dāng)用戶事件發(fā)生時,更新報警記錄;當(dāng)用戶單擊“清除報警記錄”按鈕時清除報警。最后通過Unregister For Event函數(shù)和Destroy User Event函數(shù)注銷和銷毀用戶事件。
4 、結(jié)束語
利用LabVIEW強大函數(shù)功能和USB接口即插即用的方便性,結(jié)合以單片機為核心組成的小系統(tǒng),可以很方便地完成數(shù)據(jù)采集及處理等功能,具有很強的工程實用性,可廣泛應(yīng)于測試控制領(lǐng)域。
責(zé)任編輯:gt
-
芯片
+關(guān)注
關(guān)注
459文章
52471瀏覽量
440407 -
單片機
+關(guān)注
關(guān)注
6067文章
44976瀏覽量
650182 -
usb
+關(guān)注
關(guān)注
60文章
8177瀏覽量
272663
發(fā)布評論請先 登錄
溫度采集報警系統(tǒng)原理介紹
如何去實現(xiàn)基于單片機火災(zāi)報警器系統(tǒng)煙霧檢測及溫度檢測設(shè)計
STCl2C5A60S2單片機的SD卡讀寫

基于單片機的無線溫度監(jiān)測系統(tǒng)實現(xiàn)

基于單片機鐵道口報警系統(tǒng)論文
如何使用STM32單片機實現(xiàn)溫度采集報警系統(tǒng)的設(shè)計

如何使用51單片機實現(xiàn)語音點滴報警系統(tǒng)的設(shè)計
DS10182_STM32L052x6和STM32L052x8單片機數(shù)據(jù)手冊

DS10182_STM32L052x6,STM32L052x8單片機數(shù)據(jù)手冊

基于STCl2C5A60S2單片機的SD卡讀寫

評論