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