基于USB 2.0協(xié)議的高速圖像傳輸系統(tǒng)
引 言
傳統(tǒng)的圖像傳輸普遍采用由PC機主板所提供的各種接口來實現(xiàn),如PCI接口、EPP接口、IEEE 1394接口等。PCI接口的最高速率可達到132 Mb/s,但其安裝麻煩,價格昂貴,可擴展性差,無法專門對其做電磁屏蔽,在高速傳輸方面速度也不夠理想。EPP接口無需用PC機中的其他卡,可無限制連接數(shù)目,設(shè)備安裝使用容易,但最高速率只有2 Mb/s,速度比較慢,主要用于低端性能要求不高的場合。IEEE 1394接口允許連接多種高性能設(shè)備,使其高性能總線互連,傳輸速率可達400 Mb/s,其中IEEE 1394 b可達3.2 Gb/s,主要使用在高速的影像或者沒有外圍連接PC的場合,其外圍電路復(fù)雜,且造價昂貴。與以上接口相對應(yīng)的通用串行總線(Universal Serial Bus,USB),其數(shù)據(jù)速率明顯高于一般的串口,既可支持控制、中斷、同步、塊傳輸四種數(shù)據(jù)傳輸方式,又可支持熱插拔和即插即用,且具有占用系統(tǒng)資源少,功耗低,數(shù)據(jù)傳輸可靠的優(yōu)點。
USB總線技術(shù)就是想利用單一的總線技術(shù)來滿足多種應(yīng)用領(lǐng)域的需要。USB 1.1協(xié)議支持兩種傳輸速度,即低速1.5 Mb/s和全速12 Mb/s。2000年發(fā)布的USB 2.0協(xié)議,向下兼容USB 1.1協(xié)議,數(shù)據(jù)的最高傳輸速率可達到480 Mb/s,它可使USB的應(yīng)用范圍不斷擴大。
該系統(tǒng)基于USB 2.0總線技術(shù),將CY7C68013A芯片的Slave FIFO塊傳輸接口模式和FPGA技術(shù)相結(jié)合,實現(xiàn)了計算機與外設(shè)之間高速的圖像數(shù)據(jù)傳輸。
1 系統(tǒng)設(shè)計
1.1 硬件及外設(shè)控制設(shè)計
實現(xiàn)USB接口單元的主要芯片是CYPRESS公司的EZ-USB FX2LP系列中的CY7C68013A(對比之前FX2系列的CY7C68013具有更低功耗、更小電流、高性價比等優(yōu)點),負責(zé)完成硬件系統(tǒng)與PC之間的圖像傳輸。它與外設(shè)有三種接口方式:端口模式、可編程接口GPIF和Slave FIFO。Slave FIFO方式是從機工作方式,在具有外部數(shù)據(jù)處理邏輯的設(shè)備中,USB數(shù)據(jù)在主機和外部邏輯設(shè)備中傳輸,通常不需要FX2LP的CPU參與,而是經(jīng)過FX2LP內(nèi)部端點FIFO來傳輸。外部控制器可對多個端點的FIFO選擇讀寫。FX2LP的Slave FIFO工作方式可設(shè)為同步或異步;工作時鐘均可由內(nèi)部產(chǎn)生或外部輸入?;谠撓到y(tǒng)處理的是高速圖像的傳輸,需要外部控制器直接對FIFO進行控制,故采用從機,即Slave FIFO方式。高速圖像傳輸?shù)脑砜驁D如圖1所示,首先圖像可由計算機上層應(yīng)用軟件發(fā)送或者接收,再通過USB接口芯片連接高速緩存。
圖1中USB接口采用CY7C68013A芯片的Slave FIFO,接口模式,使得上層PC與緩沖器之間能夠高速通信,并利用FPGA控制USB的高速傳輸。如圖2所示,CY7C68013A的主要功能信號及與FPGA之間的握手信號如:IFCLK為時鐘信號,可以選擇由外部輸入或者內(nèi)部輸出;FIFOADR[1:0]引腳選擇4個FIFO(2,4,6或8)中的一個與USB數(shù)據(jù)總線FD連接。定義該系統(tǒng)中上行數(shù)據(jù)傳輸為FIFOADR[1:0]=10,即為EP6端口;下行數(shù)據(jù)傳輸為FIFOADR[1:0]=01,即為EP2端口。FLAGB,F(xiàn)LAGC為所選擇FIFO的標(biāo)志信號,F(xiàn)LAGB代表FIFO為滿;FLAGC代表FIFO為空;默認低電平有效。FPGA可以通過不斷查詢這兩個標(biāo)志信號決定是否進行讀或?qū)懖僮鳌LOE為讀/寫使能信號;SLWR,SLRD分別為讀寫控制信號,在同步和異步模式下,控制信號不一;FD[15:0]為16位的雙向數(shù)據(jù)總線。PA0,PA1為輸出信號,作為硬件系統(tǒng)工作狀態(tài)的控制信號。