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