基于C8051F340數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
4. 2 上位PC 機(jī)客戶端程序
上位PC 機(jī)客戶端程序包括USB 驅(qū)動(dòng)程序和用戶應(yīng)用程序兩個(gè)部分。
USB驅(qū)動(dòng)程序是一個(gè)軟件組件, 封裝了應(yīng)用程序存取硬件設(shè)備的功能函數(shù)。有些設(shè)備具有相同的屬性, 把它們歸為一組標(biāo)準(zhǔn)類別, 可以定義設(shè)備類規(guī)范作為該類設(shè)備的主機(jī)驅(qū)動(dòng)框架。設(shè)備類驅(qū)動(dòng)程序使用相似的函數(shù), 處理不同設(shè)備間的通信,這樣使設(shè)備類驅(qū)動(dòng)程序的開發(fā)可以脫離設(shè)備制造商。本系統(tǒng)的驅(qū)動(dòng)程序使用了Silicon Laboratories公司提供的USB Xpress開發(fā)包, 在V isua l C ++ 6. 0環(huán)境下開發(fā), 封裝成動(dòng)態(tài)鏈接庫DLL 的形式供用戶應(yīng)用程序調(diào)用。
用戶應(yīng)用程序采用C + + 編寫, 由客戶交互界面, USB數(shù)據(jù)通信, 數(shù)據(jù)保存顯示, 設(shè)備故障預(yù)警四個(gè)模塊組成。在USB 數(shù)據(jù)通信模塊設(shè)計(jì)中, 使用S ilicon Laboratories公司提供的S I_GetN umDevices,S I_GetProductString ( ), SI_Open( ), SI_C lose( ) , SI_Read( ) , SI_W rite( ) 等API函數(shù), 屏蔽了對(duì)底層硬件操作中USB 復(fù)雜的通信協(xié)議, 簡化了USB 通信開發(fā), 使得開發(fā)USB 通信的程序變得更容易 。
程序流程圖如圖4所示
圖4 客戶端應(yīng)用程序流程圖。
誘發(fā)設(shè)備出現(xiàn)故障的原因很多, 為保證設(shè)備正常運(yùn)行需要檢測(cè)多方面的數(shù)據(jù), 本系統(tǒng)主要是檢測(cè)設(shè)備的溫度和壓力等的數(shù)據(jù), 檢測(cè)獲得的數(shù)據(jù)一旦超過某個(gè)界限, 表示設(shè)備可能出現(xiàn)故障。因此為了保證設(shè)備長時(shí)間的穩(wěn)定工作, 需要對(duì)獲取的實(shí)時(shí)數(shù)據(jù)與事先設(shè)好的臨界值進(jìn)行對(duì)比, 一旦超過臨界值, 系統(tǒng)則發(fā)出警報(bào)提醒工作人員對(duì)設(shè)備進(jìn)行故障排查, 起到了故障預(yù)警的效果。
5 結(jié)語
基于USB 數(shù)據(jù)采集系統(tǒng)可供選擇的方案很多, 而本設(shè)計(jì)從便攜式和高速傳輸考慮, 編寫了固件和客戶端數(shù)據(jù)傳輸協(xié)議, 使得該數(shù)據(jù)采集系統(tǒng)方便攜帶, 數(shù)據(jù)傳輸高速準(zhǔn)確, 具有良好的人機(jī)交互界面, 并能對(duì)一定的設(shè)備故障進(jìn)行預(yù)警提醒, 有較大的使用價(jià)值。而且單片機(jī)端口資源還沒有用完,還有開發(fā)和擴(kuò)展的空間。本文引用地址:http://cafeforensic.com/article/162542.htm
評(píng)論