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