EZ-USB FX2的數據采集和傳輸系統設計
4 EZ―USB FX2的驅動程序
該系統需要通用驅動程序和下載固件的驅動程序。通用驅動程序完成與外設和用戶程序的通信及控制;而下載固件的驅動程序則只負責在外設連接USB總線后把特定的固件程序下載到FX2的RAM中,使FX2的CPU重啟,模擬斷開與USB總線連接,完成對外設的重新設置。FX2根據新的設置安裝通用驅動程序,重新枚舉外設為一個新的USB外設。通用驅動程序一般不需要重新編寫,用Cypress公司已經編好的驅動ezusb.sys;而下載固件程序的驅動則必須定做。
5 上位機用戶程序
上位機用戶程序主要通過VC++完成。實現從USB設備從下位機讀取指定數量的數據和向下位機發送特定的控制數據。用戶程序對EZ―USB FX2的控制,主要是通過I/0控制調用來訪問ezusb.sys通用驅動程序,而對I/O控制的調用是通過win32的API函數來完成的。因此,用戶程序通過對API函數的調用來實現與驅動程序進而與硬件的通信。API函數的執行與驅動函數中的一些分發例程相對應。與EZ-USB FX2通信常用的API函數如表1所列。
應用程序先通過CreatFile()得到設備驅動程序的句柄,然后使用DeviceloControl()來提交I/O控制碼,并且設置好讀取和發送數據的緩沖區,最后通過CloseFile()來關閉設備。圖4是上位機應用程序界面。
結 語
EZ―USB FX2使上位機與下位機之間的數據傳輸更加快捷和可靠。基于FPGA和EZ-USB FX2的數據采集和傳輸系統滿足現代高速設備對傳輸速度的要求,解決了傳輸速度慢的瓶頸。通過FPGA的模塊設計、EZ-USB FX2的固件設計和上層應用程序設計,實現了整個系統的數據采集和傳輸。
評論