基于μC/OS-Ⅱ的數據采集系統設計與應用
USB數據采集系統的軟件由三個部分組成:USB設備固件程序、主機 PC上的 USB設備驅動程序和主機上的客戶應用程序。系統軟件的組成及各部分之間的關系如圖 5所示。
固件程序按功能可以劃分為 USB通信程序、A/D轉換程序和 LED顯示程序,其中 USB通信程序是整個固件程序的主要部分,其功能是實現 USB設備枚舉和數據傳輸。USB設備枚舉是 USB設備插上之后,主機與設備交換信息并自動配置的過程,枚舉成功后, USB接口與主機就可以進行通信了。
設備驅動程序是連接設備和主機應用程序的紐帶,它向上提供應用程序的訪問接口 (API),向下則實現對具體設備的訪問和管理功能。驅動程序與設備硬件和上層用戶程序密切相關,在 USB體系的中間起到信息轉換和傳遞的中介作用。在開發 USB設備時,設備驅動程序的設計是一個非常重要的環節,直接影響到整個設備系統的性能。
本系統采用 Driverworks開發 WDM型 USB設備驅動程序應用程序的主要功能是在設備驅動程序中查找設備,與設備交換數據,并將設備發送來的數據進行處理和顯示。應用程序和驅動程序的通信是通過訪問應用程序接口 (API)函數實現的,所以應用程序的開發必須在能訪問 API函數的平臺上進行。 Microsoft公司提供的visualC++6.0是一種功能強大的支持 API函數的編程工具,本設計的主機應用程序就是以VC為平臺進行開發的,其功能主要包括查找 USB設備,與 USB設備交換數據和動態顯示數據曲線。
5 總結
本文的創新點在于完成的基于 USB接口和 ?C/OS-Ⅱ的數據采集系統,采樣頻率可達 15KSPS(每秒采樣次數),數據傳輸錯誤恢復率大于 99%,即插即用、使用方便且具有很低的開發成本,可以為數據采集特別是電池供電移動或手持采集設備提供一種有效的解決方案和方便使用、高效傳輸的設備形式;其次,而在 PC端引入微軟新近的 WDM驅動程序模型,在其基礎上開發了數據采集系統的設備驅動程序,可以成功地對設備進行識別、配置,并提供了同設備進行數據交換的應用程序接口,基于這些接口,編制了具有查詢設備、與設備交換數據并將數據繪制成動態曲線等功能的 PC端應用程序。
評論