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