Aurora協(xié)議的高速傳輸系統(tǒng)的研究與FPGA實現(xiàn)
基金項目:電子測量儀器技術(shù)蚌埠市技術(shù)創(chuàng)新中心:高性能5G增強移動寬帶通信矢量信號發(fā)生器(AHZQ3026)
本文引用地址:http://2s4d.com/article/202307/448318.htm隨著5G 技術(shù)的不斷發(fā)展,新一代的通信技術(shù)也迎來了發(fā)展的高潮。此外,隨著智能設(shè)備的普及,對數(shù)據(jù)流量也帶來了較大的激增。5G 技術(shù)的發(fā)展對數(shù)據(jù)傳輸?shù)膶崟r性要求很苛刻。新一代的通信技術(shù)存在大量的研究難題,除了大帶寬、高速率以及sub6G 數(shù)據(jù)分析之外,還有微波和毫米波信號分析。5G 技術(shù)最大的挑戰(zhàn)就是隨著5G 高速率數(shù)據(jù)傳輸會導(dǎo)致信號帶寬以及基帶處理速度都將大幅度的提升,因此對高速的數(shù)據(jù)實時處理分析就變得越來越有難度[1]。
Xilinx 公司的FPGA 內(nèi)部鑲嵌了Rocket IO高速串行收發(fā)器,從而能夠簡化光口傳輸?shù)挠布娐贰urora 協(xié)議是Xilinx 公司對外免費開放的一個高速光口傳輸協(xié)議,不僅方便了設(shè)計者自行添加上層應(yīng)用,而且能夠適配大多數(shù)嵌有Rocket IO 高速串行收發(fā)器的FPGA。FPGA內(nèi)部攜帶的IP 核可以提供用戶接口方便與FIFO 接口對接,其他的傳輸協(xié)議需要設(shè)計者自行設(shè)計GTP 接口的邏輯,端口的邏輯設(shè)計復(fù)雜;與此同時,Aurora IP 核在初始化時形成的Aurora 傳輸通道能夠滿足任何大小的數(shù)據(jù)幀,并且當(dāng)傳輸通道被隨意打斷時,打斷空缺的地方能夠自動進行填充,從而達到滿足傳輸過來的不連續(xù)信號的要求。本文利用FPGA 自帶的Aurora 協(xié)議進行高速光口傳輸協(xié)議設(shè)計與實現(xiàn),并對此方案進行測試。
1 系統(tǒng)架構(gòu)
基于Aurora 協(xié)議的高速傳輸系統(tǒng)的結(jié)構(gòu)圖如圖1所示,該系統(tǒng)主要是實現(xiàn)射頻單元與基帶處理單元之間的Aurora 協(xié)議的數(shù)據(jù)傳輸鏈路。結(jié)構(gòu)圖中Aurora 傳輸協(xié)議是通過Xilinx 公司的FPGA 自帶的IP 核實現(xiàn)的,為了能夠滿足Aurora 協(xié)議傳輸?shù)臄?shù)據(jù)要求,設(shè)計了數(shù)據(jù)轉(zhuǎn)換模塊,此模塊主要作用是傳輸速率的匹配。在信號的發(fā)射端將采集的IQ 數(shù)據(jù)通過數(shù)據(jù)轉(zhuǎn)換模塊將數(shù)據(jù)轉(zhuǎn)換成滿足Aurora 協(xié)議傳輸?shù)膸Y(jié)構(gòu)和速率;在接收端通過數(shù)據(jù)轉(zhuǎn)換模塊將Aurora 協(xié)議傳輸過來的數(shù)據(jù)恢復(fù)成規(guī)定的采樣速率的連續(xù)IQ 數(shù)據(jù)。
圖1 系統(tǒng)結(jié)構(gòu)
2.1 Aurora協(xié)議簡介
Xilinx 公司為了實現(xiàn)高速傳輸開發(fā)了Aurora 協(xié)議,它是一種可裁剪的輕量級鏈路層協(xié)議,實現(xiàn)方式是通過在相應(yīng)的器件內(nèi)部制定相應(yīng)的IP 核。在物理層方面,它提供了透明的接口,將Rocket IO 硬核封裝到了協(xié)議的內(nèi)部,通過Rocket 的并行綁定,從而能夠?qū)崿F(xiàn)數(shù)據(jù)傳輸帶寬的完美升級。與此同時,Rocket IO 硬核不僅能進行上層自定義,還能被工業(yè)標準協(xié)議采用。Aurora協(xié)議運用的是有線連接的通信模式,協(xié)議中不僅僅是將物理層接口和數(shù)據(jù)格式都定義好了,還將時鐘校準、初始化等內(nèi)容也進行了相應(yīng)的定義。Aurora 協(xié)議傳輸方式包括流和幀兩種,能滿足不同用戶的使用。Aurora 協(xié)議傳輸結(jié)構(gòu)圖如圖2 所示。
圖2 Aurora協(xié)議傳輸結(jié)構(gòu)
Aurora 協(xié)議內(nèi)部有多種不同的編碼方式,其中8B/10B 和64B/66B 兩種編碼方式最為常用。本文設(shè)計主要采用的是64B/66B 編碼方式。FPGA 內(nèi)部自帶的Aurora IP 核模塊主要功能有:①通道的傳輸邏輯,主要是負責(zé)模塊的初始化、GTX 和GTH 收發(fā)器的驅(qū)動、錯誤檢測以及處理控制字符的編解碼;②提供用戶接收接口,將通道傳輸過來的數(shù)據(jù)送到用戶程序中,從而執(zhí)行控制能力;③提供用戶發(fā)射接口,將用戶程序發(fā)送過來的數(shù)據(jù)傳輸?shù)酵ǖ乐?,從而?zhí)行發(fā)送功能。
本設(shè)計Aurora 數(shù)據(jù)傳輸方式選擇的為流模式接口設(shè)計。該模式接口主要包括復(fù)位接口、接收數(shù)據(jù)信號接口、發(fā)送數(shù)據(jù)信號接口、接收數(shù)據(jù)信號使能接口、發(fā)送數(shù)據(jù)信號使能接口以及數(shù)據(jù)準備接口。
2.2 Aurora協(xié)議數(shù)據(jù)傳輸流程
Aurora 協(xié)議數(shù)據(jù)傳輸方式選擇為Streaming 模式,在該模式中,Aurora64B/66B 通道采用流水線方式處理。此時接口的數(shù)據(jù)會傳輸?shù)桨l(fā)射數(shù)據(jù)接口s_ax_tx_tdata端口,在發(fā)送數(shù)據(jù)有效位s_ax_tx_tvalid 無效時,除了數(shù)據(jù)傳輸?shù)臅r鐘外,緩存的word 之間會產(chǎn)生間隙。當(dāng)傳輸數(shù)據(jù)到達接口的接收端時,需要將數(shù)據(jù)立刻讀取,否則會造成數(shù)據(jù)丟失。
圖3 為發(fā)送數(shù)據(jù)傳輸邏輯圖,從圖中可以看出在第1 個周期時s_axi_tx_tvalid 和s_axi_tx_tready 均為0,此時表示Aurora IP 核和用戶邏輯數(shù)據(jù)傳輸均沒有準備好;等到第2 個周期時s_axi_tx_tvalid=0 和s_axi_tx_tready=1,表示Aurora IP 核已經(jīng)做好了傳輸數(shù)據(jù)的準備,等待用戶邏輯傳輸數(shù)據(jù);等到第3 個周期時s_axi_tx_tvalid=1 和s_axi_tx_tready=1,表示用戶邏輯傳輸數(shù)據(jù),并且會將需要傳輸?shù)臄?shù)據(jù)放到了s_axi_tx_tdata總線上,此時數(shù)據(jù)會從用戶邏輯端傳輸?shù)紸urora IP 核端;在位置1 的周期內(nèi),s_axi_tx_tready 信號被拉低,此時的數(shù)據(jù)是無效的,在位置2 的周期內(nèi)s_axi_tx_tready 信號又被拉高,此時的數(shù)據(jù)是有效的;在位置1 的周期內(nèi),s_axi_tx_tready 信號被拉低,此時的數(shù)據(jù)是無效的;在位置3 的周期內(nèi)s_axi_tx_tready=1 和s_axi_tx_tvalid=0,此時無數(shù)據(jù)傳輸。
圖3 Aurora協(xié)議發(fā)送數(shù)據(jù)傳輸邏輯圖
圖4 為接收數(shù)據(jù)傳輸邏輯圖,從圖中可以看出在接收數(shù)據(jù)時,只要m_axi_rx_tvalid 信號有效時,就開始接收數(shù)據(jù),當(dāng)m_axi_rx_tvalid 信號無效時,不接收信號。
圖4 Aurora協(xié)議接收數(shù)據(jù)傳輸邏輯圖
3 數(shù)據(jù)轉(zhuǎn)換設(shè)計
為了滿足5G 數(shù)據(jù)傳輸中30 kHz 和60 kHz 兩種載波間隔的基帶數(shù)據(jù)傳輸,在接收端和發(fā)射端采用了兩種采樣率即122.88 MHz 和245.76 MHz,但是AuroraIP 核使用的是245.76 MHz 固定的頻率進行數(shù)據(jù)的讀入與輸出。因此在對于122.88 MHz 采樣率的數(shù)據(jù)輸入就需要將兩個幀的數(shù)據(jù)進行緩存,然后通過一個245.76MHz 的幀時間讀出,隨之輸出一個無效的幀數(shù)據(jù),等待下一幀數(shù)據(jù)的到來。接收端與之一樣,等到2 個122.88 MHz 的有效數(shù)據(jù)緩存之后再用245.76 MHz 的頻率輸出。
4 Aurora協(xié)議的FPGA實現(xiàn)及驗證
本研究將對Aurora 協(xié)議高速傳輸功能通過FPGA進行實現(xiàn),并且通過硬件平臺來進行功能驗證。圖5 是FPGA 硬件開發(fā)板,首先介紹一下開發(fā)板的性能參數(shù)以及它的開發(fā)能力,開發(fā)板參數(shù)如表1 所示,開發(fā)板的硬件結(jié)構(gòu)圖如圖5 所示。
圖5 FPGA開發(fā)板正反面
4.1 頂層模塊設(shè)計
圖6和圖7給出了設(shè)計的頂層核Aurora 協(xié)議模塊的結(jié)構(gòu),Aurora IP 核設(shè)置如圖8 所示。
圖6 程序整體模塊
圖7 Aurora協(xié)議模塊
top:設(shè)計的頂層文件;
rx_jesd204_01_interface_u1:采集模塊,將采集到的射頻信號轉(zhuǎn)換成245.76 MHz 的時鐘速率;
rx_sfp_01_interface_u1:Aurora 協(xié)議實現(xiàn)的頂層模塊。
4.2 測試驗證
本設(shè)計采用Vivado2018.3 軟件進行代碼編寫、編譯及上板驗證,該開發(fā)軟件內(nèi)部集成了大量的RAM、乘法器以及FIFO 等常用的IP 核,從而能夠大大降低了功能的開發(fā)難度。數(shù)據(jù)速率轉(zhuǎn)換模塊是將外部的異步速率的信號轉(zhuǎn)換成Aurora 核數(shù)據(jù)時鐘的信號。采用Xilinx ku060開發(fā)板進行功能仿真驗證,使用的FPGA芯片型號為xcku060-ff va1156。通過ILA 監(jiān)測器來觀察Aurora協(xié)議信號傳輸功能是否正常。最后通過DSP 識別CCCC_CCCC 數(shù)據(jù)頭將IQ 數(shù)據(jù)傳輸給算法庫進行解調(diào),軟件將解調(diào)結(jié)果顯示出來。測試結(jié)果如圖9 和圖10 所示。
圖9 FPGA捕捉到CCCC_CCCC數(shù)據(jù)頭
圖10 IQ數(shù)據(jù)解調(diào)結(jié)果
5 結(jié)束語
本研究主要完成了Aurora 協(xié)議高速傳輸系統(tǒng)研究和FPGA 實現(xiàn)驗證。為了實現(xiàn)射頻RF 單元和基帶BU單元之間的Aurora 協(xié)議的數(shù)據(jù)鏈路,需要將發(fā)送和接收的數(shù)據(jù)格式匹配到Aurora 協(xié)議的數(shù)據(jù)格式。數(shù)據(jù)傳輸?shù)乃俾势ヅ潆y點主要在于高速處理硬件的實現(xiàn)。為了匹配不同采樣率的數(shù)據(jù)Aurora 傳輸,設(shè)計了數(shù)據(jù)轉(zhuǎn)換模塊。經(jīng)過在Xilinx ku060 開發(fā)板測試,驗證了Aurora協(xié)議高速數(shù)據(jù)傳輸?shù)恼_性,確定了本實現(xiàn)方案的可行性。
參考文獻:
[1] 周代衛(wèi),王正也,周宇,等. 5G終端業(yè)務(wù)發(fā)展趨勢及技術(shù)挑戰(zhàn)[J].電信網(wǎng)技術(shù), 2015,3:64-79.
[2] 焦志超. 一種基于Aurora協(xié)議的多通道數(shù)據(jù)傳輸系統(tǒng)設(shè)計[J].電子世界,2021,620(14):188-189.
[3] 袁行猛, 徐蘭天.基于FPGA的高速光纖通信基帶板的設(shè)計[J].電子產(chǎn)品世界,2018,25(7):8-61.
[4] 李維明, 陳建軍, 陳星锜. 基于Aurora協(xié)議的高速通信技術(shù)的研究[J].電子技術(shù)應(yīng)用,2013,39(12):37-40.
[5] 祁永鑫. 基于Aurora協(xié)議的多通道高速可配置數(shù)據(jù)采集系統(tǒng)設(shè)計[D].荊州:長江大學(xué),2022.
(本文來源于《電子產(chǎn)品世界》雜志2023年6月期)
評論