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