【關注圖像采集視頻傳輸】之 Cy3014 usb3.0 FIFO接口


CYUSB3014延續了CY7C68013A最吸引人的地方,那就是實現高速數據傳輸的Slave FIFO接口,應用這種模式,據說數據傳輸率可以達到320MB/s.

  同USB2.0的芯片CY7C68013集成了一個通用可編程接口GPIF一樣,USB3.0的芯片CYUSB3014也含有通用可編程接口GPIF,並且升級到GPIF II。通用可編程接口GPIF就是一個可編程的狀態機,可以與外部的Processor, ASIC, 或者FPGA無膠粘邏輯相連,實現高速數據傳輸。CYUSB3014的通用可編程接口GPIF II 特點如下:

1、芯片CYUSB3014本身既可做主機,也可做從機;

2、最多提供256個可編程的狀態(State);

3、支持8位、16位、32位的數據總線寬度;

4、最高工作頻率可以至100MHHz;

5、最多提供16個輸入輸出的狀態引腳,用來實現握手信號。

  通用可編程接口GPIF II可以實現同步(synchronous)和異步(asynchronous)Slave FIFO接口,從編程的角度來說,是用描述符來實現的。安裝完SDK后,可以打開相應的關於描述符的文件看一下,具體的目錄如下:C:\Program Files\Cypress\FX3 SDK\firmware\slavefifo\slfifoasync\cyfxslfifogpifdscr.c;另一個目錄是C:\Program Files\Cypress\FX3 SDK\firmware\slavefifo\slfifosync\ cyfxslfifogpifdscr.c。用記事本打開后,可以發現主要是定義了一個數組,const uint32_t CyFxSlFifoAsyncGpifConfData[][2] ={...},不像CY7C68013A是用分散的寄存器來定義的(原理上都一樣,都是寄存器)。

要實現FIFO接口,硬件上要用到的引腳較多,可以自己查閱Datasheet,這里主要對異步傳輸,用一個引腳連接圖和時序圖來說明數據是怎樣實現高速傳輸的。

  下圖是一個說明異步傳輸的引腳連接圖,

FIFO

  從引腳連接上,可以說FX3與FX2並沒有什么區別,用的還是那些引腳,名字也完全一樣。外部的處理器充當主機,控制FX3進行數據傳輸。下圖是一個異步傳輸的讀時序,

  下面對時序圖進行一下分析:

1、外部主機發出片選信號,選中FX3芯片(上圖中最上面的SLCS信號出高變低,低電平有效)。

2、外部主機發出FIFO ADDR選擇信號,此信號與FX2中的FIFO ADDR信號相同,但概念上略有區別,以后會有說明(上圖中上面的第二個信號FIFO ADDR)。

3、外部主機發出讀SLRD信號,低電平有效(上圖中的上面第三個信號SLRD,低電平有效)。

4、同時,外部主機發出SLOE信號,允許FX3將數據送到數據總線上;在讀過程中,此信號可以一直保持為有效,低電平有效,或者些信號可以與SLRD連接在一起(上圖中上面數第四個信號,低電平有效)。

5、外部主機發出SLRD信號后,FX3開始准備數據,之后將數據放在數據總線上(延遲時間為圖中的tRDO)。第一個數據讀取完后,FX3內部的數據指針自加1或減1,將第二個數據放在總線上(SLRD信號有效后),直到標志位FLAGA或FLAGB有效后(沒有數據可讀),結束此讀的過程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM