新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > EZ-USB FX2的數(shù)據(jù)采集和傳輸系統(tǒng)設(shè)計

EZ-USB FX2的數(shù)據(jù)采集和傳輸系統(tǒng)設(shè)計

作者: 時間:2009-07-02 來源:網(wǎng)絡(luò) 收藏


4 EZ―USB 的驅(qū)動程序
該系統(tǒng)需要通用驅(qū)動程序和下載固件的驅(qū)動程序。通用驅(qū)動程序完成與外設(shè)和用戶程序的通信及控制;而下載固件的驅(qū)動程序則只負(fù)責(zé)在外設(shè)連接USB總線后把特定的固件程序下載到的RAM中,使的CPU重啟,模擬斷開與USB總線連接,完成對外設(shè)的重新設(shè)置。FX2根據(jù)新的設(shè)置安裝通用驅(qū)動程序,重新枚舉外設(shè)為一個新的USB外設(shè)。通用驅(qū)動程序一般不需要重新編寫,用Cypress公司已經(jīng)編好的驅(qū)動ezusb.sys;而下載固件程序的驅(qū)動則必須定做。

5 上位機(jī)用戶程序
上位機(jī)用戶程序主要通過VC++完成。實現(xiàn)從USB設(shè)備從下位機(jī)讀取指定數(shù)量的數(shù)據(jù)和向下位機(jī)發(fā)送特定的控制數(shù)據(jù)。用戶程序?qū)Z―USB FX2的控制,主要是通過I/0控制調(diào)用來訪問ezusb.sys通用驅(qū)動程序,而對I/O控制的調(diào)用是通過win32的API函數(shù)來完成的。因此,用戶程序通過對API函數(shù)的調(diào)用來實現(xiàn)與驅(qū)動程序進(jìn)而與硬件的通信。API函數(shù)的執(zhí)行與驅(qū)動函數(shù)中的一些分發(fā)例程相對應(yīng)。與 FX2通信常用的API函數(shù)如表1所列。

應(yīng)用程序先通過CreatFile()得到設(shè)備驅(qū)動程序的句柄,然后使用DeviceloControl()來提交I/O控制碼,并且設(shè)置好讀取和發(fā)送數(shù)據(jù)的緩沖區(qū),最后通過CloseFile()來關(guān)閉設(shè)備。圖4是上位機(jī)應(yīng)用程序界面。


結(jié) 語
EZ―USB FX2使上位機(jī)與下位機(jī)之間的數(shù)據(jù)更加快捷和可靠?;贔PGA和 FX2的系統(tǒng)滿足現(xiàn)代高速設(shè)備對速度的要求,解決了傳輸速度慢的瓶頸。通過FPGA的模塊設(shè)計、 FX2的固件設(shè)計和上層應(yīng)用程序設(shè)計,實現(xiàn)了整個系統(tǒng)的和傳輸。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

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

關(guān)閉