關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于USB接口的實用型數據采集卡設計

        基于USB接口的實用型數據采集卡設計

        作者: 時間:2010-01-11 來源:網絡 收藏

        Windows系統對構成一個總線主機的不同軟件部分進行了明確的劃分,如圖4所示,其中客戶軟件僅僅包含了用來控制不同的外設的設備驅動程序。USB客戶軟件會通過一個Windows所定義的一個軟件來同根集線器驅動程序進行通信。而USB根集線器驅動程序則要通過USBDI(通用串行總線驅動程序)來實現同USBD通用串行總線驅動程序)的通信。然后,USBD會選擇兩種主控制器驅動程序(UHCD和OpenHCI)之一來同其下方的主控制器進行通信。最后,在USB總線和主機控制器之間存在一個PCI總線枚舉器,它負責在檢測到系統中存在一個通用串行總線時,裝載適當的USB總線系統軟件,主控制器驅動程序會通過PC工枚舉器軟件直接實現對USB物理層總線的訪問。HCD與USBD代表了基于對不同層次的抽象的軟件,它們能以某種方式共同工作,以滿足USB系統的整體要求。

        3.2 固件程序開發

        設備固件是設備運行的核心,它控制整個硬件系統的運行,并負責處理PC機發來的各種USB請求,以完成它們之間的數據傳輸。其主要功能包括控制放大模塊、實現通道選擇;控制A/D模塊的數據采集;通過FX2實時上傳采集數據給PC;控制FX2芯片接收并處理USB設備驅動程序的請求(如設置USB接口狀態等多種USB協議標準請求)等。

        Cypress公司提供的EZ-USB FX2軟件包為用戶開發基于EZ-USB FX2系列芯片的USB設備的編程提供了很大的方便。無論是開發基于外設的8051固件程序,還是開發基于USB主機的設備驅動程序或應用程序,該軟件包都提供了較完備的程序框架和例程庫。

        EZ-USB FX2固件庫為用戶開發EZ-USB FX2固件提供了底層Keil C函數庫。EZ-USB FX2軟件開發包提供了該庫的目標文件,同時還提供了該函數庫的源代碼,用戶可以利用Keil來重新編寫該函數庫。

        EZ-USB FX2固件是使用EZ-USB FX2程序框架或直接使用EZ-USB FX2固件庫開發的程序,這是開發USB外設的重要部分。

        FX2在其固件程序中把自己定義為USB大存儲類、塊傳輸子類,操作系統(Win98以上)有相應的USB類設備驅動程序來支持這種USB類外設,而不需要另外在操作系統內安裝其驅動程序。在FX2的固件程序中寫入USB通信模塊,就可以實現主機和USB設備的通信。

        固件程序必須包括DSCR.A51(A51宏匯編器), USBJmpTb.OBJ(目標文件轉換器)和Ezusb.lib ( Ezusb C編譯器庫文件和啟動代碼)。

        固件程序有兩個C文件,一個是FW.C,即框架程序,定義了基本的USB設備的功能,一般不許修改。另一個是FUNCTION.C(FUNCTION為自己命名),本設計要實現的具體功能在此文件中完成。

        3.3 應用層程序

        應用層程序用Visual C++6.0來開發,它可以直接調用底層的設備驅動程序。利用VC開發的應用軟件具有高效、美觀、操作方便等優點。


        圖5 軟件流程圖

        如圖5所示,本系統需要通過軟件下載固件程序,對ADC、放大模塊、采集模塊進行控制,同時還要接收或者發送數據。在采集開始前,可以先將命令發送出去,實現在固件程序中定義的相應功能,如通過FX2口線控制前置放大模塊等。然后可以讀取傳送到主機的數據,或者向設備發送數據等。

        本文作者創新點: 本文設計的USB2.0為接口的,采樣及數據傳輸速度都達到了24Mb/s,達到國內先進水平。同時該系統具有簡單實用,硬件成本低,構造簡單,復用性良好,功能強大的特點,也是該系統的優勢之處。


        上一頁 1 2 3 下一頁

        關鍵詞: USB 接口 數據采集卡

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 株洲市| 鹰潭市| 和硕县| 若尔盖县| 光山县| 比如县| 双柏县| 安阳市| 洛扎县| 都匀市| 哈巴河县| 丹巴县| 湘潭市| 巴青县| 会理县| 建宁县| 汪清县| 沁阳市| 台安县| 建阳市| 阿城市| 明星| 桐柏县| 丰县| 朝阳区| 昂仁县| 喀喇沁旗| 柞水县| 克什克腾旗| 惠安县| 宜川县| 临汾市| 五河县| 八宿县| 乳源| 文水县| 固阳县| 安国市| 黎城县| 洛阳市| 泸溪县|