新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Niosll和USB接口的高速數(shù)據(jù)采集卡設(shè)計(jì)

Niosll和USB接口的高速數(shù)據(jù)采集卡設(shè)計(jì)

作者: 時(shí)間:2011-01-13 來(lái)源:網(wǎng)絡(luò) 收藏

  3 軟件及實(shí)現(xiàn)

  系統(tǒng)軟件包括3部分:固件程序、設(shè)備驅(qū)動(dòng)程序和應(yīng)用程序。整個(gè)軟件實(shí)現(xiàn)的功能包括系統(tǒng)初始化、采樣控制、數(shù)據(jù)傳輸和波形顯示。

  3.1 固件程序

  固件程序輔助硬件實(shí)現(xiàn)設(shè)備雙向交換數(shù)據(jù),以完成通信,其主要功能是:接收并處理驅(qū)動(dòng)程序的請(qǐng)求及應(yīng)用程序的控制指令,控制A/D轉(zhuǎn)換器的采樣。當(dāng)首次插入U(xiǎn)SB時(shí),F(xiàn)X2通過(guò)USB電纜會(huì)自動(dòng)枚舉且下載固件和USB描述符表;接下來(lái),F(xiàn)X2再次枚舉,這次主要通過(guò)下載的信息來(lái)定義設(shè)備。這兩個(gè)步驟叫作重枚舉。固件程序流程如圖7所示。初始化包含各個(gè)初值的設(shè)置和關(guān)鍵點(diǎn)的電平檢測(cè)。

固件程序流程

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

 3.2 USB設(shè)備驅(qū)動(dòng)設(shè)計(jì)

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

  本設(shè)計(jì)用WinDK3.O開(kāi)發(fā)了Win2000下的驅(qū)動(dòng)程序,實(shí)現(xiàn)了控制傳輸、中斷傳輸和批傳輸?shù)臉?biāo)準(zhǔn)函數(shù)。在應(yīng)用程序開(kāi)發(fā)中,可用VC++編制應(yīng)用程序。把USB設(shè)備當(dāng)成文件來(lái)操作,用Create—File得到USB句柄,用DevieeloControl來(lái)進(jìn)行控制傳輸,用ReadFile、WriteFile進(jìn)行批量傳輸。

  3.3 應(yīng)用程序設(shè)計(jì)

  應(yīng)用程序流程如圖8所示。用戶應(yīng)用程序是系統(tǒng)的核心,其主要功能為:開(kāi)啟或關(guān)閉USB設(shè)備、檢測(cè)USB設(shè)備、設(shè)置USB數(shù)據(jù)傳輸管道、設(shè)置A/D狀態(tài)和端口、實(shí)時(shí)從USB采集數(shù)據(jù)、顯示并分析數(shù)據(jù)。

應(yīng)用程序流程

  4 結(jié) 論

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


上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉