基于FPGA的具有流量控制機制的高速串行數據傳輸系統設計
摘要:本文介紹了基于Xilinx Virtex-6 FPGA的高速串行數據傳輸系統的設計與實現,系統包含AXI DMA和GTX串行收發器,系統增加了流量控制機制來保證高速數據傳輸的可靠性。最后進行了仿真測試,測試結果顯示系統可以高速可靠地傳輸數據。
本文引用地址:http://www.104case.com/article/131654.htm引言
隨著數字多媒體技術的發展,在現代電子系統中各模塊之間經常需要高速數據傳輸。傳統的數據傳輸系統采用并行接口,并行數據傳輸技術向來都是提高數據傳輸速率的重要手段。隨著數據傳輸速率的提高,并行數據傳輸的進一步發展遇到了瓶頸,面臨很多問題,如接口信號不同步,信號串擾,引腳過多增加PCB板布線難度及設計制作成本。因此,高速串行接口已經逐漸取代并行接口。與并行傳輸相比,串行傳輸具有獨特優勢,可以提供更大的帶寬更遠的傳輸距離以及更低的成本。
高速數據傳輸系統中各模塊規模以及復雜度逐漸加大,數據傳輸的可靠性逐漸成為影響系統性能的關鍵因素之一。數據發送模塊和數據接收模塊處理數據的速度很難達到一致,因此經常會出現接收模塊等待發射模塊發送數據,或者發送模塊等待接收模塊接受數據的情況。為了使高速數據傳輸系統可靠工作不丟失數據,系統需要加入流量控制機制,來協調發送模塊和接受模塊的工作。
系統結構
本系統基于Xilinx公司的Virtex-6系列的一款FPGA——XC6VLX240T,用于進行高速串行數據傳輸,其結構如圖1所示。系統主要包括微控制器MicroBlaze模塊,直接存儲器存取(DMA)模塊以及基于Aurora協議以及GTX收發機的Aurora模塊,另外還有內存模塊(DDR3),兩個作為緩沖器的FIFO模塊以及一個用于流量控制的有限狀態機(FSM)模塊。系統的工作流程為:微控制器MicroBlaze通過AXI-Lite總線向DMA寄存器寫數據,配置DMA讀操作的數據源地址,讀數據長度,DMA寫操作的目標地址以及寫數據長度,然后啟動DMA。DMA開始讀取DDR3源地址空間中的數據通過FIFO1傳給Aurora模塊,Aurora模塊中的GTX收發器將數據通過同軸電纜以串行的方式從發射端發送到接收端。然后接收端將數據傳輸到FIFO2中,然后通過DMA將數據寫入到DDR3內存規定的目標地址空間中。本系統中采用回路(loopback)的模式來方便地模擬串行數據傳輸系統。

以下分別對其主要模塊進行介紹。
微控制器Microblaze模塊
MicroBlaze是Xilinx公司推出的一款可以嵌入在FPGA中處理器軟核,采用RISC架構和哈佛結構的32位指令和數據總線,具有豐富的適用于嵌入式應用的指令集,支持CoreConnect總線的標準外設集合,最新的MicroBlaze支持AXI總線。MicroBlaze運行速度快,占用資源少,具有很強的可配置性,在很多領域得到了廣泛應用。
評論