• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > Niosll和USB接口的高速數據采集卡設計

    Niosll和USB接口的高速數據采集卡設計

    作者: 時間:2011-01-13 來源:網絡 收藏

      3 軟件及實現

      系統軟件包括3部分:固件程序、設備驅動程序和應用程序。整個軟件實現的功能包括系統初始化、采樣控制、數據傳輸和波形顯示。

      3.1 固件程序

      固件程序輔助硬件實現設備雙向交換數據,以完成通信,其主要功能是:接收并處理驅動程序的請求及應用程序的控制指令,控制A/D轉換器的采樣。當首次插入USB時,FX2通過USB電纜會自動枚舉且下載固件和USB描述符表;接下來,FX2再次枚舉,這次主要通過下載的信息來定義設備。這兩個步驟叫作重枚舉。固件程序流程如圖7所示。初始化包含各個初值的設置和關鍵點的電平檢測。

    固件程序流程

      在Cypress公司的網站上,可下載CY7(368013芯片的開發工具包。該開發包提供了一些開發固件程序所需的資源:Keil u Vision2集成開發環境(限制版)、Cypress C51固件框架程序以及一些例子程序。KeilCSl是一種專為8051單片機設計的高效率C語言編譯器,符合ANSI標準,生成的程序代碼運行速度極高,所需要的存儲空間極小,完全可與匯編語言相媲美。同時,C51具有豐富的庫函數,多達1O0多種功能函數。因此,采用C語言作為開發語言,以Keil uVision2作為工程開發平臺,完成源代碼的編寫、仿真、調試,將在相當程度上降低固件開發難度,提高開發效率。

     3.2 USB設備驅動設計

      USB設備驅動程序的設計是基于WDM(WindowsDriver Model,驅動程序模型)的。WDM采用分層驅動程序模型,分為較高級的USB設備驅動程序和較低級的USB函數層。其中USB函數層由兩部分組成:較高級的通用串行總線模塊(us—BD)和較低級的主控制器驅動程序模塊(HCD)。

      本設計用WinDK3.O開發了Win2000下的驅動程序,實現了控制傳輸、中斷傳輸和批傳輸的標準函數。在應用程序開發中,可用VC++編制應用程序。把USB設備當成文件來操作,用Create—File得到USB句柄,用DevieeloControl來進行控制傳輸,用ReadFile、WriteFile進行批量傳輸。

      3.3 應用程序設計

      應用程序流程如圖8所示。用戶應用程序是系統的核心,其主要功能為:開啟或關閉USB設備、檢測USB設備、設置USB數據傳輸管道、設置A/D狀態和端口、實時從USB采集數據、顯示并分析數據。

    應用程序流程

      4 結 論

      用FPGA作為采集處理部分,可以提高系統處理的速度,大大增強系統的靈活性和適應性。FPGA技術和USB的組合,使得數據處理能力得到了極大的提高,且有利于系統升級。USB芯片采用了Cpyress公司的高性能USB2.0芯片CY7C68013,可以完全勝任大數據量的傳送。該實例還可應用于實時、音頻及壓縮視頻數據傳輸等領域。


    上一頁 1 2 3 4 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 敦化市| 遂昌县| 云龙县| 微博| 七台河市| 五大连池市| 锡林浩特市| 五大连池市| 祁阳县| 上林县| 宁德市| 桐庐县| 康平县| 凌海市| 伊通| 察雅县| 贺兰县| 双辽市| 宁强县| 清徐县| 武城县| 璧山县| 江城| 江川县| 县级市| 仪陇县| 洛隆县| 宝丰县| 莱州市| 曲周县| 南宁市| 荆门市| 景泰县| 洛宁县| 邹城市| 米易县| 松原市| 准格尔旗| 柳河县| 奉化市| 海原县|