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