EZ-USB FX2接口在生物電信號數據采集系統(tǒng)中的應用
4.2 端點分配
系統(tǒng)中數據通道分為數據上傳通道以及配置和控制命令通道,根據設計需要,選擇其中兩個端點分別作為發(fā)送和接收端點。配置如下:EP2用于從USB向FPGA傳輸采集控制命令,4×512字節(jié)緩沖,傳輸類型為批量OUT傳輸方式;EP6用于從 FPGA向USB傳輸數據采集結果,4×512字節(jié)緩沖,傳輸類型為批量IN傳輸方式。EZ-USB FX2相當于一個中轉站,一方面將FPGA發(fā)來的采集數據傳輸給主機,另一方面將主機發(fā)送的數據采集參數傳輸至FPGA,便于控制A/D轉換。
5 固件程序設計
固件是設備運行的核心,其主要功能是控制EZ-USB FX2處理驅動程序請求(如請求設備描述符、請求或設置設備狀態(tài)及設備接口等USB2.0標準請求)、向FPGA發(fā)送采集參數、通過EZ-USB FX2緩存數據并實時上傳至PC等。
本系統(tǒng)中,即使使用外部邏輯和內置通用可編程接口,在沒有CPU的干涉下能夠通過4個端點FIFO處理高速帶寬數據,固件還需器件初始化、GPIF波形初始化、控制和監(jiān)測GPIF的動作。
5.1 器件初始化
同件初始化函數為TD_Init(),主要負責對EZ-USB FX2的初始化,在同件開始運行時調用該甬數。其初始化工作主要分為以下步驟:
(1)設置EZ-USB FX2的IFCLK輸出頻率,將時鐘頻率設置為內部時鐘48 MHz;
(2)設置EZ-USB FX2的EP2為BULK、OUT傳輸方式,EP6為BULK、IN傳輸方式,均為4倍緩沖;
(3)復位EP2 FIFO并設置為Auto OUT模式,復位EP6FIFO并設置為Auto IN模式;
(4)調用GpifInit()函數,初始化GPIF所需的寄存器;對EP2OUT、GPIF使用EF標志,對EP6IN,GPIF使用FF標志;
(5)初始化PA2為輸出引腳并置為低電平,高電平時點亮LED。
評論