基于FPGA的具有流量控制機制的高速串行數(shù)據(jù)傳輸系統(tǒng)設計
摘要:本文介紹了基于Xilinx Virtex-6 FPGA的高速串行數(shù)據(jù)傳輸系統(tǒng)的設計與實現(xiàn),系統(tǒng)包含AXI DMA和GTX串行收發(fā)器,系統(tǒng)增加了流量控制機制來保證高速數(shù)據(jù)傳輸的可靠性。最后進行了仿真測試,測試結果顯示系統(tǒng)可以高速可靠地傳輸數(shù)據(jù)。
本文引用地址:http://www.ex-cimer.com/article/131654.htm引言
隨著數(shù)字多媒體技術的發(fā)展,在現(xiàn)代電子系統(tǒng)中各模塊之間經常需要高速數(shù)據(jù)傳輸。傳統(tǒng)的數(shù)據(jù)傳輸系統(tǒng)采用并行接口,并行數(shù)據(jù)傳輸技術向來都是提高數(shù)據(jù)傳輸速率的重要手段。隨著數(shù)據(jù)傳輸速率的提高,并行數(shù)據(jù)傳輸?shù)倪M一步發(fā)展遇到了瓶頸,面臨很多問題,如接口信號不同步,信號串擾,引腳過多增加PCB板布線難度及設計制作成本。因此,高速串行接口已經逐漸取代并行接口。與并行傳輸相比,串行傳輸具有獨特優(yōu)勢,可以提供更大的帶寬更遠的傳輸距離以及更低的成本。
高速數(shù)據(jù)傳輸系統(tǒng)中各模塊規(guī)模以及復雜度逐漸加大,數(shù)據(jù)傳輸?shù)目煽啃灾饾u成為影響系統(tǒng)性能的關鍵因素之一。數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊處理數(shù)據(jù)的速度很難達到一致,因此經常會出現(xiàn)接收模塊等待發(fā)射模塊發(fā)送數(shù)據(jù),或者發(fā)送模塊等待接收模塊接受數(shù)據(jù)的情況。為了使高速數(shù)據(jù)傳輸系統(tǒng)可靠工作不丟失數(shù)據(jù),系統(tǒng)需要加入流量控制機制,來協(xié)調發(fā)送模塊和接受模塊的工作。
系統(tǒng)結構
本系統(tǒng)基于Xilinx公司的Virtex-6系列的一款FPGA——XC6VLX240T,用于進行高速串行數(shù)據(jù)傳輸,其結構如圖1所示。系統(tǒng)主要包括微控制器MicroBlaze模塊,直接存儲器存取(DMA)模塊以及基于Aurora協(xié)議以及GTX收發(fā)機的Aurora模塊,另外還有內存模塊(DDR3),兩個作為緩沖器的FIFO模塊以及一個用于流量控制的有限狀態(tài)機(FSM)模塊。系統(tǒng)的工作流程為:微控制器MicroBlaze通過AXI-Lite總線向DMA寄存器寫數(shù)據(jù),配置DMA讀操作的數(shù)據(jù)源地址,讀數(shù)據(jù)長度,DMA寫操作的目標地址以及寫數(shù)據(jù)長度,然后啟動DMA。DMA開始讀取DDR3源地址空間中的數(shù)據(jù)通過FIFO1傳給Aurora模塊,Aurora模塊中的GTX收發(fā)器將數(shù)據(jù)通過同軸電纜以串行的方式從發(fā)射端發(fā)送到接收端。然后接收端將數(shù)據(jù)傳輸?shù)紽IFO2中,然后通過DMA將數(shù)據(jù)寫入到DDR3內存規(guī)定的目標地址空間中。本系統(tǒng)中采用回路(loopback)的模式來方便地模擬串行數(shù)據(jù)傳輸系統(tǒng)。
以下分別對其主要模塊進行介紹。
微控制器Microblaze模塊
MicroBlaze是Xilinx公司推出的一款可以嵌入在FPGA中處理器軟核,采用RISC架構和哈佛結構的32位指令和數(shù)據(jù)總線,具有豐富的適用于嵌入式應用的指令集,支持CoreConnect總線的標準外設集合,最新的MicroBlaze支持AXI總線。MicroBlaze運行速度快,占用資源少,具有很強的可配置性,在很多領域得到了廣泛應用。
評論