- 相關(guān)推薦
一種基于USB的快速數(shù)據(jù)傳輸系統(tǒng)設(shè)計
摘 要:文章介紹了一種利用基于USB的快速讀數(shù)系統(tǒng)的設(shè)計方法。該系統(tǒng)利用CY7C68013實現(xiàn),文章給出了系統(tǒng)的硬件設(shè)計方案、FPGA內(nèi)部集成FIFO的軟件實現(xiàn)方法以及GPIF與FLASH握手信號的設(shè)計。通過此USB數(shù)據(jù)傳輸模塊,實現(xiàn)了FLASH存儲器與計算機之間的數(shù)據(jù)高速傳輸。應(yīng)用結(jié)果表明,此數(shù)據(jù)通信系統(tǒng)是可靠有效的,具有一定的通用性,可用于其它類似的測試存儲系統(tǒng)中。
關(guān)鍵詞:USB;GPIF;數(shù)據(jù)傳輸;FPGA
目前計算機的有線數(shù)據(jù)傳輸方式主要有串口、并口和USB三種。串口最高傳輸速度僅為115200bit/s。并口傳輸?shù)哪J接袃煞N,速度最快的EPP模式其傳輸速度約為兩百K。而USB方式中數(shù)據(jù)以包的形式進行傳送,工作模式分低速、全速和高速,低速的傳輸速度為1.5M/S,全速約為12M/S,高速可達480M/S。面對今天容量日益龐大的存儲系統(tǒng),使用USB技術(shù)無疑將大大提高系統(tǒng)讀數(shù)速度。隨著嵌入式系統(tǒng)的發(fā)展,將USB硬件收發(fā)器、SIE串行接口引擎等USB硬件集成在一個單片機芯片上,簡化USB協(xié)議,為我們使用USB設(shè)計讀數(shù)模塊提供了可能。
本文USB傳輸系統(tǒng)采用微處理器CY68013實現(xiàn)。文章給出了此數(shù)據(jù)傳輸系統(tǒng)的硬件設(shè)計方案,著重介紹了FPGA控制模塊中內(nèi)部集成FIFO的實現(xiàn)方法,以及GPIF與FLASH通信時握手信號的設(shè)計方案。
1系統(tǒng)硬件方案設(shè)計
CY68013 是Cypress公司推出的 EZ-USB FX2系列產(chǎn)品之一,內(nèi)部集成了 USB 2.0 收發(fā)器、智能串行引擎(SIE)、增強型8051控制器、通用可編程接口(GPIF)、8.5KB的RAM 和FIFO存儲器,最大限度的滿足了USB2.0的總線帶寬。FX2最常用的數(shù)據(jù)傳輸方式就是GPIF。GPIF是一種快速的數(shù)據(jù)傳輸方式,時序簡單。它可以很容易的從RAM中讀取數(shù)據(jù)。但是,由于FLASH存儲器的讀數(shù)操作是以頁為單位,讀數(shù)時頁與頁之間有一小段時間間隔,數(shù)據(jù)輸出不是連續(xù)的。為解決此問題,實現(xiàn)FX2GPIF方式讀取FLASH中的數(shù)據(jù),需要使用FIFO作為數(shù)據(jù)過渡,先將FLASH中的數(shù)據(jù)讀到FIFO中,USB控制器再從FIFO中讀取數(shù)據(jù)。
2FPGA內(nèi)部集成FIFO的軟件設(shè)計
2.1內(nèi)部集成FIFO的結(jié)構(gòu)
FIFO的本質(zhì)是一種特殊的雙口RAM,由于大部分FPGA內(nèi)部就有雙口RAM資源。因此在這里選用合適的FPGA芯片來編寫FPGA內(nèi)部集成FIFO。FIFO結(jié)構(gòu)的特點是先進先出,對外它是一種沒有地址控制的特殊緩存。只要給一個FIFO提供讀、寫使能信號就能使其工作,不同的是FIFO對外不顯示地址,只是給出表現(xiàn)內(nèi)部狀態(tài)的滿、半滿和空信號,用戶根據(jù)這些信號對FIFO進行操作。
FIFO設(shè)計時最重要的就是怎么給出這些信號。本設(shè)計中FIFO產(chǎn)生滿、半滿以及空狀態(tài)標(biāo)志信號采用如下方法:用讀地址和寫地址相減結(jié)果來判斷FIFO的滿空狀態(tài);此外還可以據(jù)此得到FIFO的半滿狀態(tài)信號。這種方法可以容易的控制FIFO滿、半滿、空的深度。
2.2FIFO標(biāo)志信號的產(chǎn)生
FIFO滿、空、半滿標(biāo)志信號的生成過程是一樣的,只不過判斷比較的差值不一樣。FIFO滿時差值為1023,空為1。為了避免時序錯誤,還可以設(shè)定一定的滿空深度。例如,當(dāng)?shù)刂凡畲笥?000時認(rèn)為FIFO已滿,不再向FIFO中寫入數(shù)據(jù),這樣可以避免錯誤的出現(xiàn)。
3GPIF與FLASH握手信號設(shè)計滿、空信號主要是在讀數(shù)時使用,用作GPIF與FLASH讀數(shù)時的握手信號,以保證讀數(shù)的穩(wěn)定可靠。讀數(shù)時數(shù)據(jù)要先存到FIFO中,然后USB再從FIFO中讀取數(shù)據(jù)。對于FIFO來說,讀取和寫入的速度是不同的,可能讀比寫快,也可能寫比讀快。因此,我們需要設(shè)計讀數(shù)握手信號,以防讀數(shù)時丟失數(shù)據(jù)。信號的握手過程是:對于讀數(shù)控制模塊來說,只要FIFO不滿它就向FIFO中寫入數(shù)據(jù)。對于FX2GPIF來說,只要FIFO不空它就從FIFO中讀取數(shù)據(jù)。這樣對于FIFO的讀寫就組成了一個閉環(huán),保證了讀數(shù)的完整準(zhǔn)確。
讀數(shù)握手方式確定以后可能出現(xiàn)兩種情況:①FIFO的寫數(shù)速度大于讀數(shù)速度,這樣寫地址慢慢就追上讀地址了,這時的總的讀數(shù)速度就由讀數(shù)速度決定。②FIFO的寫數(shù)速度大于讀數(shù)速度,這樣讀地址慢慢就追上寫地址,這時的總的讀數(shù)速度就由寫數(shù)速度決定。
4結(jié)語
本文設(shè)計的基于EZ-USB FX2微處理器的數(shù)據(jù)通信系統(tǒng),實現(xiàn)了利用USB端口從FLASH存儲器種快速讀取數(shù)據(jù)。此數(shù)據(jù)通信系統(tǒng)應(yīng)用在了某型號車載測試存儲系統(tǒng)中。存儲的數(shù)據(jù)通過此傳輸模塊快速地讀入計算機,根據(jù)上位機數(shù)據(jù)恢復(fù)的信號與原始信號比較,失真較小,噪聲水平低取得了良好的效果。此設(shè)計具有一定的通用性,對于一般基于USB的高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計具有一定的應(yīng)用參考價值。
參考文獻:
[1]錢峰.EZ-USB FX2單片機原理、編程及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.
[2]張會新,王紅亮.通用異步串行通訊測試系統(tǒng)[J].儀器儀表學(xué)報,2006,27(S2):434-435.
[4]徐慶元,張?zhí)煨颍赨SB總線的高速視頻采集系統(tǒng)設(shè)計[J].微計算機信息,2006,(10):247.
【一種基于USB的快速數(shù)據(jù)傳輸系統(tǒng)設(shè)計】相關(guān)文章:
基于PLC的斷路器型式試驗系統(tǒng)設(shè)計03-10
基于web的異地并行設(shè)計與制造系統(tǒng)研究06-02
基于電話網(wǎng)絡(luò)的熱網(wǎng)遠(yuǎn)程控制系統(tǒng)設(shè)計05-11
構(gòu)件化的航天用數(shù)據(jù)傳輸處理系統(tǒng)構(gòu)建05-02
分析基于三維掃描的特種設(shè)備管理系統(tǒng)設(shè)計論文05-26
紡織企業(yè)快速報價系統(tǒng)開發(fā)05-11
一種汽車用金鹵燈的快速點亮電路05-18
基于J2EE的遠(yuǎn)動系統(tǒng)Web實時曲線的研究05-11