EZ-USB FX2接口在生物電信號(hào)數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
5.2 GPIF波形設(shè)計(jì)
EZ-USB FX2固件程序可指定某個(gè)波形為4個(gè)端點(diǎn)中的任意一個(gè)工作,GPIF將在接口產(chǎn)生使能信號(hào)和握手信號(hào),將數(shù)據(jù)送入或送出端點(diǎn)FIFO。在本系統(tǒng)中,對(duì) FPGA寫命令時(shí)則通過FIFO Write實(shí)現(xiàn);讀取所采集到的數(shù)據(jù)時(shí),則通過FI-FO Read實(shí)現(xiàn)。波形設(shè)計(jì)如下:
(1)圖3為FIFO Write時(shí)序波形,用于向FPGA發(fā)送采集控制參數(shù)。S0為非活動(dòng)狀態(tài),當(dāng)WEN#置低時(shí)跳入S1狀態(tài),S2設(shè)為Next FIFO Data,依次將數(shù)據(jù)寫入FPGA的寄存器中。本文引用地址:http://cafeforensic.com/article/195745.htm
(2)圖4為FIFO Read時(shí)序波形,它描述了采集數(shù)據(jù)的讀傳輸,S0為非活動(dòng)狀態(tài),S1為讀操作的引導(dǎo)狀態(tài)并將REN#置低。當(dāng)接收到FPGA發(fā)送的DataRDY=1 后,跳入S2。將S2設(shè)為FlowState,邏輯控制數(shù)據(jù)從FPGA中讀出并操作REN#的狀態(tài),即當(dāng)Tcxpire=1時(shí),將REN#置高,跳入 IDIE狀態(tài)。在FlowState狀態(tài)下,WEN#置高,寫使能關(guān)閉。
5.3 數(shù)據(jù)采集流程
程序開始,主函數(shù)調(diào)用TD_Init()和Gpiflnit()函數(shù),初始化寄存器,并通過2個(gè)自動(dòng)指針寄存器AUTOPTR1和AU-TOPTR2,把生成的GPIF波形程序調(diào)入器件的RAM,然后狀態(tài)機(jī)開始運(yùn)行,產(chǎn)生所設(shè)計(jì)的控制波形。采集參數(shù)下傳后,F(xiàn)PGA解析參數(shù),延時(shí),EZ-USB FX2向FPGA發(fā)送讀使能信號(hào),開始采集數(shù)據(jù),數(shù)據(jù)采集程序流程如圖5所示。如果FP-GA返回DataRDY=1,在TD_Poll()函數(shù)中執(zhí)行讀取數(shù)據(jù)傳輸程序。完成該過程后,程序根據(jù)主機(jī)請(qǐng)求,開始自動(dòng)上傳數(shù)據(jù)。
6 結(jié)束語
基于FPGA控制電路、EZ-USB FX2高速傳輸?shù)臄?shù)據(jù)采集系統(tǒng),可同時(shí)采集16位生物電信號(hào);EZ-USB FX2采用GPIF接口模式,8051可不參與數(shù)據(jù)傳輸,以突破高速、全速下的傳輸模式,解決了外圍設(shè)備和EZ-USB FX2接口之間存在的傳輸瓶頸問題:同時(shí)A/D轉(zhuǎn)換脫離了EZ-USB FX2,而由FPGA完全控制,避免了直接上傳時(shí)的數(shù)據(jù)丟失。該系統(tǒng)設(shè)計(jì)具有結(jié)構(gòu)簡(jiǎn)單、數(shù)據(jù)不丟失且傳輸速率高等優(yōu)點(diǎn),因此在生物電信號(hào)數(shù)據(jù)采集中具有良好的實(shí)用價(jià)值和應(yīng)用前景。
評(píng)論