FPGA的GTP(aurora 協議)高速串行接口數據收發(轉)

 reference:https://blog.csdn.net/qq_40261818/article/details/83039829 

                  PG046-Aurora 8B/10B  Logicore IP Product Guide.pdfhtml

GTP(吉比特收發器)簡稱Gigabit Transceiver with Low Power,常常應用於板級通訊,板與板,應用在高速串行接口的數據收發。在A7系列芯片中咱們叫GTP、在K7系列咱們叫GTX、V系列叫GTH、對於不一樣速度等級的高速通訊的物理接口。ide

首先就是要了解aurora IP幀模式,Aurora 協議是由Xilinx 公司提供的一個開放、免費的鏈路層協議,能夠用來進行點到點的串行數據傳輸,具備實現高性能數據傳輸系統的高效率和簡單易用的特色。Aurora 8b10協議是一個可擴展的、輕量級的鏈路層協議,能夠用於單路或者多路串行數據通訊。性能

 

1. AuroraIP幀模式                                                          測試

1.1 IP核配置                                                                 ui

    Lane width Byte=4Bytes          設置了用戶AXI-Stream接口位寬是32bit spa

    Lane Rate=5.0Gbps                 設置了高速串行總線的數據速率 .net

    GT Refclk=125Mhz                  設置了高速串行總線參考時鐘頻率,須要參考板卡實際鏈接的晶振頻率 設計

    Init clk=50Mhz                          用於初始化和產生復位的信號,請使用獨立的時鐘不要使用本IP核生成的用戶時鐘。 3d

    Drp clk=50Mhz                         用於DRP配置的時鐘,此時鐘能夠與Init clk 一致。 調試

    DataFlow Mode=Duplex          通訊模式選擇全雙工,也能夠選擇單收或單發. 

    Interface =Frame                     用戶接口模式選擇幀模式,幀模式幀內部含有起始字節和結束字節,選擇性使能CRC ,用於數據校驗,相對比流模式效率下降,可是能感知幀內是否出錯。                                                   

    Flow Control = UFC                  流控信號選擇User Flow Control,加入流控機制,流控信息能夠更優先的傳送,只有在Frame模式下能夠選擇。                                                    

    Error Detection = CRC              使能CRC校驗幀數據是否出錯。 

    GT Selection -> Lanes = 1;

    RefClk=GTPQ0                          選擇高速接口數量和參考時鐘,這部分設置芯片有專用管腳對應,根據實際板卡和芯片型號選擇。

                                                     

                                                       

    Shared Logic = Include shared logic in core   

                                                    共享邏輯資源不輸出共享信號接口,只包含在IP核內部,在共享模式下一些時鐘PLL資源能夠給多個核使用。 

    INITCLK = Single ended init clk           初始化時鐘選擇單端時鐘

      未註明的設置選項保持默認便可  

   

1.2 復位時序                                                             

上電後GT_Reset和Reset同時復位,GT_Reset提早128clk退出復位,當LaneUp&ChannelUp出現降低沿後 觸發復位時序,Reset提早進入復位,128個時鐘後GT_Reset進入復位狀態,GT_Reset保持128時鐘週期後,退出復位,以後再通過128時鐘週期Reset退出復位,復位順序完成。

1.3 用戶流控信號   (ufc)

發送UFC數據,數據來自於S_axi_tx_tdata,發送到m_axi_ufc_rx_tdata; s_axi_ufc_tx_tdata指定UFC發送數據的大小(2~16byte); 如圖,指定發送UFC大小2byte;

   接收UFC數據,接收到2byte數據

 

 

1.3.1 用戶流控信號時序 

用戶流控信號能夠插入數據流中,從而在接收端能夠下降緩衝buffer壓力,通常應用場景,當接收端 buffer即將溢出時,給發送端發送指令,使得發送端插入流控數據下降接收端數據量防止溢出。

 

2. 幀模式結構框圖      

                                                 

tx_ctrl和rx_ctrl模塊是用戶設計模塊。tx_ctrl產生 測試數據源,經過Aurora IP發送到傳輸介質中,接收端接收數據並檢測CRC檢測結果,並對CRC錯包計 數。在調試期間能夠用xilinx調試IP的VIO功能監測錯包數量。

相關文章
相關標籤/搜索