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