基于FPGA和FLASH ROM的圖像信號(hào)發(fā)生器設(shè)計(jì)
2 系統(tǒng)實(shí)現(xiàn)
2.1 USB接口模塊
USB接口具有傳輸速度快、即插即用等優(yōu)點(diǎn),所以使用USB來實(shí)現(xiàn)PC機(jī)與系統(tǒng)的通信。CY7C68013A作為USB 2.0控制器,有3種接口工作模式:Ports,Slave FIFO和GPIF。根據(jù)系統(tǒng)構(gòu)成和實(shí)際要求,選用Slave FIFO模式的數(shù)據(jù)傳輸方案。具體的硬件連接如圖2所示。本文引用地址:http://butianyuan.cn/article/190175.htm
CY7C68013A通過固件編程來配置具體的功能。應(yīng)用程序通過USB驅(qū)動(dòng)程序建立與USB外部設(shè)備的聯(lián)系。本文采用了Cypress公司提供的通用驅(qū)動(dòng)CyUsb.sys,該驅(qū)動(dòng)程序完全滿足本系統(tǒng)設(shè)計(jì)的要求。應(yīng)用程序可以通過兩種方式來訪問CyUsb.sys:
(1)使用Windows API如SetupDiXxxx和Deviceio Control;
(2)使用Cypress公司提供的CyAPI.lib。
本文采用CyAPI.lib來訪問USB驅(qū)動(dòng),CyAPI.lib提供了簡單高效的與Cyusb.sys通信的方法,方便掌握、可有效縮短USB設(shè)備的開發(fā)周期。
在完成圖像數(shù)據(jù)寫入功能時(shí),FPGA接收到圖像數(shù)據(jù)寫入的命令后,使faddr地址指向用于下傳數(shù)據(jù)的端點(diǎn)FIFO,然后開始獲取來自USB控制器的數(shù)據(jù),FPGA內(nèi)部USB通信模塊工作情況如圖3所示。IFCLK是由FPGA提供的40MHz時(shí)鐘,CY7C68013A的端點(diǎn)FIFO被配置為同步工作。
評(píng)論