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