?

Aurora協議的高速傳輸系統的研究與FPGA實現

2023-07-10 13:21李運袁行猛徐蘭天
電子產品世界 2023年6期
關鍵詞:高速率

李運 袁行猛 徐蘭天

關鍵詞:Aurora協議;高速率;FPCJA

隨著5G技術的不斷發展,新一代的通信技術也迎來了發展的高潮。此外,隨著智能設備的普及,對數據流量也帶來了較大的激增。SG技術的發展對數據傳輸的實時性要求很苛刻。新一代的通信技術存在大量的研究難題,除了大帶寬、高速率以及sub6G數據分析之外,還有微波和毫米波信號分析。SG技術最大的挑戰就是隨著SG高速率數據傳輸會導致信號帶寬以及基帶處理速度都將大幅度的提升,因此對高速的數據實時處理分析就變得越來越有難度[1]。

Xilinx公司的FPGA內部鑲嵌了Rocket IO高速串行收發器,從而能夠簡化光口傳輸的硬件電路。Aurora協議是Xilinx公司對外免費開放的一個高速光口傳輸協議,不僅方便了設計者自行添加上層應用,而且能夠適配大多數嵌有Rocket IO高速串行收發器的FPGA。FPGA內部攜帶的IP核可以提供用戶接口方便與FIFO接口對接,其他的傳輸協議需要設計者自行設計GTP接口的邏輯,端口的邏輯設計復雜;與此同時,Aurora IP核在初始化時形成的Aurora傳輸通道能夠滿足任何大小的數據幀,并且當傳輸通道被隨意打斷時,打斷空缺的地方能夠自動進行填充,從而達到滿足傳輸過來的不連續信號的要求。本文利用FPGA自帶的Aurora協議進行高速光口傳輸協議設計與實現,并對此方案進行測試。

1系統架構

基于Aurora協議的高速傳輸系統的結構圖如圖1所示,該系統主要是實現射頻單元與基帶處理單元之間的Aurora協議的數據傳輸鏈路。結構圖中Aurora傳輸協議是通過Xilinx公司的FPGA自帶的IP核實現的,為了能夠滿足Aurora協議傳輸的數據要求,設計了數據轉換模塊,此模塊主要作用是傳輸速率的匹配。在信號的發射端將采集的IQ數據通過數據轉換模塊將數據轉換成滿足Aurora協議傳輸的幀結構和速率;在接收端通過數據轉換模塊將Aurora協議傳輸過來的數據恢復成規定的采樣速率的連續IQ數據。

2 Aurora協議

2.1 Aurora協議簡介

Xilinx公司為了實現高速傳輸開發了Aurora協議,它是一種可裁剪的輕量級鏈路層協議,實現方式是通過在相應的器件內部制定相應的IP核。在物理層方面,它提供了透明的接口,將Rocket IO硬核封裝到了協議的內部,通過Rocket的并行綁定,從而能夠實現數據傳輸帶寬的完美升級。與此同時,Rocket IO硬核不僅能進行上層自定義,還能被工業標準協議采用。Aurora協議運用的是有線連接的通信模式,協議中不僅僅是將物理層接口和數據格式都定義好了,還將時鐘校準、初始化等內容也進行了相應的定義。Aurora協議傳輸方式包括流和幀兩種,能滿足不同用戶的使用。Aurora協議傳輸結構圖如圖2所示。

Aurora協議內部有多種不同的編碼方式,其中8B/10B和64B/66B兩種編碼方式最為常用。本文設計主要采用的是64B/66B編碼方式。FPGA內部自帶的Aurora IP核模塊主要功能有:①通道的傳輸邏輯,主要是負責模塊的初始化、GTX和GTH收發器的驅動、錯誤檢測以及處理控制字符的編解碼;②提供用戶接收接口,將通道傳輸過來的數據送到用戶程序中,從而執行控制能力;⑧提供用戶發射接口,將用戶程序發送過來的數據傳輸到通道中,從而執行發送功能。

本設計Aurora數據傳輸方式選擇的為流模式接口設計。該模式接口主要包括復位接口、接收數據信號接口、發送數據信號接口、接收數據信號使能接口、發送數據信號使能接口以及數據準備接口。

2.2 Aurora協議數據傳輸流程

Aurora協議數據傳輸方式選擇為Streaming模式,在該模式中,Aurora64B/66B通道采用流水線方式處理。此時接口的數據會傳輸到發射數據接口s_ax_tx_tdata端口,在發送數據有效位s_ax_tx_tvalid無效時,除了數據傳輸的時鐘外,緩存的word之間會產生間隙。當傳輸數據到達接口的接收端時,需要將數據立刻讀取,否則會造成數據丟失。

圖3為發送數據傳輸邏輯圖,從圖中可以看出在第1個周期時s axi tx tvalid和s_axi_tx_tready均為0,此時表示Aurora IP核和用戶邏輯數據傳輸均沒有準備好;等到第2個周期時s_axi_tx_tvalid=0和s axi txtready=1,表示Aurora IP核已經做好了傳輸數據的準備,等待用戶邏輯傳輸數據;等到第3個周期時s axitx_tvalid=l和s_axi_tx_tready=1,表示用戶邏輯傳輸數據,并且會將需要傳輸的數據放到了s_axi_tx_tdata總線上,此時數據會從用戶邏輯端傳輸到Aurora IP核端;在位置1的周期內,s_axi_tx_tready信號被拉低,此時的數據是無效的,在位置2的周期內s_axi_tx_tready信號又被拉高,此時的數據是有效的;在位置1的周期內,s_axi_tx_tready信號被拉低,此時的數據是無效的;在位置3的周期內s_axi_tx_tready=1和s_axi_tx_valid=0,此時無數據傳輸。

圖4為接收數據傳輸邏輯圖,從圖中可以看出在接收數據時,只要m_axi_rx_tvalid信號有效時,就開始接收數據,當m_axi_rx_tvalid信號無效時,不接收信號。

3數據轉換設計

為了滿足SG數據傳輸中30 kHz和60 kHz兩種載波間隔的基帶數據傳輸,在接收端和發射端采用了兩種采樣率即122.88 MHz和245,76 MHz,但是AuroraIP核使用的是245.76 MHz固定的頻率進行數據的讀入與輸出。因此在對于122.88 MHz采樣率的數據輸入就需要將兩個幀的數據進行緩存,然后通過一個245.76MHz的幀時間讀出,隨之輸出一個無效的幀數據,等待下一幀數據的到來。接收端與之一樣,等到2個122.88 MHz的有效數據緩存之后再用245.76 MHz的頻率輸出。

4 Aurora協議JFPGA實現及驗證

本研究將對Aurora協議高速傳輸功能通過FPGA進行實現,并且通過硬件平臺來進行功能驗證。圖5是FPGA硬件開發板,首先介紹一下開發板的性能參數以及它的開發能力,開發板參數如表1所示,開發板的硬件結構圖如圖5所示。

4.1頂層模塊設計

圖6和圖7給出了設計的頂層核Aurora協議模塊的結構,Aurora IP核設置如圖8所示。

top:設計的頂層文件;

rxjesd204_Ol_interface_u1:采集模塊,將采集到的射頻信號轉換成245.76 MHz的時鐘速率;

rx_sfp_01_interface u1: Aurora協議實現的頂層模塊。

4.2測試驗證

本設計采用Vivad02018.3軟件進行代碼編寫、編譯及上板驗證,該開發軟件內部集成了大量的RAM、乘法器以及FIFO等常用的IP核,從而能夠大大降低了功能的開發難度。數據速率轉換模塊是將外部的異步速率的信號轉換成Aurora核數據時鐘的信號。采用Xilinx ku060開發板進行功能仿真驗證,使用的FPGA芯片型號為xcku060-ffva1156。通過ILA監測器來觀察Aurora協議信號傳輸功能是否正常。最后通過DSP識別CCCC CCCC數據頭將IQ數據傳輸給算法庫進行解調,軟件將解調結果顯示出來。測試結果如圖9和圖10所示。

5結束語

本研究主要完成了Aurora協議高速傳輸系統研究和FPGA實現驗證。為了實現射頻RF單元和基帶BU單元之間的Aurora協議的數據鏈路,需要將發送和接收的數據格式匹配到Aurora協議的數據格式。數據傳輸的速率匹配難點主要在于高速處理硬件的實現。為了匹配不同采樣率的數據Aurora傳輸,設計了數據轉換模塊。經過在Xilinx ku060開發板測試,驗證了Aurora協議高速數據傳輸的正確性,確定了本實現方案的可行性。

猜你喜歡
高速率
LTE技術在城市軌道交通信號系統中的應用探討
我首次自主研發全套E波段毫米波通信芯片
一種高速背板連接器的設計
一種基于FPGA+DSP的高速串口通信設計
船舶通信導航技術及發展趨勢研究
超寬帶通信技術及其軍事應用前景*
用于數據存儲的高速率LDPC碼
用于數據存儲的高速率LDPC碼
基于Chirp擴頻的超寬帶信號傳輸性能分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合