本文開源一個(gè)FPGA項(xiàng)目:UDP萬兆光通信。該項(xiàng)目實(shí)現(xiàn)了萬兆光纖以太網(wǎng)數(shù)據(jù)回環(huán)傳輸功能。Vivado工程代碼結(jié)構(gòu)和之前開源的《UDP RGMII千兆以太網(wǎng)》類似,只不過萬兆以太網(wǎng)是調(diào)用了Xilinx的10G Ethernet Subsystem IP核實(shí)現(xiàn)。由于該IP核需要付費(fèi)使用,本文提供完整工程源碼。
下面圍繞該IP核的使用、用戶接口,以及數(shù)據(jù)傳輸方案展開介紹。
01軟硬件平臺(tái)
- 軟件平臺(tái):Vivado 2017.4;
- 硬件平臺(tái):XC7Z035FFG676-2;
02IP核參數(shù)配置
AXI4-Stream數(shù)據(jù)位寬 : 選擇64bits。對(duì)應(yīng)的用戶接口時(shí)鐘頻率為156.25MHZ。
MAC Options : 選擇使用AXI-Lite接口對(duì)IP核寄存器進(jìn)行配置,同時(shí)需要設(shè)置時(shí)鐘頻率,這里設(shè)置為100MHZ(該設(shè)置僅對(duì)IP核out-of-context模式的綜合有效);不使用參數(shù)統(tǒng)計(jì)和優(yōu)先級(jí)流量控制功能。
PCS/PMA Options: 配置GTX動(dòng)態(tài)重配置端口DRP時(shí)鐘為100MHZ(該設(shè)置同樣僅對(duì)IP核out-of-context模式的綜合有效);不使用Transceiver Debug功能。
IEEE1588 Options: IEEE1588功能一般用于某些需要進(jìn)行網(wǎng)絡(luò)時(shí)間同步的場合,例如音(視)頻傳輸。在本項(xiàng)目中只是進(jìn)行數(shù)據(jù)傳輸,因此可以不選擇使用。
Shared Logic: 由于在此項(xiàng)目Vivado工程中只需例化一個(gè)該IP核,因此這里選擇Include Shared Logic in core,將共享資源包含在IP內(nèi)部即可。如果需要例化多個(gè)該IP核,只需將其中一個(gè)IP核配置為Include Shared Logic in core,其余的都配置為Include Shared Logic in example design。
03用戶接口
- AXI-Stream發(fā)送接口
用戶通過該接口將要發(fā)送的以太網(wǎng)數(shù)據(jù)包寫入IP核。另外,由tx_ifg_delay接口控制發(fā)送間隔,將其配置為0即可。AXI-Stream發(fā)送接口時(shí)序如下圖所示。
- AXI-Stream接收接口
用戶通過該接口讀取IP核輸出的以太網(wǎng)數(shù)據(jù)包。AXI-Stream接收接口時(shí)序如下圖所示。
- Pcspma-Status接口
該接口用于輸出IP核內(nèi)部PCS PMA部分工作狀態(tài),在該工程中只有第0bit有效,用于指示PCS Block Lock。
- Sim-Speed-Up接口
該接口只在仿真時(shí)會(huì)用到,用于加快仿真速度,在該工程中將其設(shè)置為0即可。
- Optical模塊接口
signal_detect:光模塊狀態(tài)指示信號(hào),配置為1;
tx_fault:光模塊狀態(tài)指示信號(hào),配置為0;
tx_disable:輸出光模塊控制信號(hào)。
- Flow-Control接口
在高帶寬、大負(fù)荷傳輸場合,一般需要流量控制功能。在該工程不需要發(fā)送暫停幀,因此將以下兩個(gè)信號(hào)設(shè)置為0。
s_axis_pause_tvalid & s_axis_pause_tdata。
- AXI-Lite接口
該接口用于讀寫IP核內(nèi)部寄存器,通過對(duì)IP核各參數(shù)進(jìn)行配置,以實(shí)現(xiàn)基本的以太網(wǎng)數(shù)據(jù)包收發(fā)功能。
04數(shù)據(jù)傳輸方案及測試
該項(xiàng)目的功能主要用于實(shí)現(xiàn)萬兆以太網(wǎng)光纖數(shù)據(jù)回環(huán)傳輸,在電腦端通過網(wǎng)絡(luò)調(diào)試助手向FPGA發(fā)送數(shù)據(jù)包,F(xiàn)PGA端接收、緩存數(shù)據(jù)包后回傳給上位機(jī)。以太網(wǎng)數(shù)據(jù)回環(huán)傳輸方案如下圖所示。
其中,時(shí)鐘為156.25MHZ,數(shù)據(jù)位寬為64bits。在UDP IP核和10G Ethernet Subsystem IP核之間,通過插入FIFO實(shí)現(xiàn)對(duì)每包以太網(wǎng)數(shù)據(jù)流的緩存功能。
利用wireshark軟件抓取PC端和FPGA端之間以太網(wǎng)雙向傳輸數(shù)據(jù)包,結(jié)果如下圖所示。
-
FPGA
+關(guān)注
關(guān)注
1643文章
21985瀏覽量
615084 -
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5597瀏覽量
175062 -
UDP
+關(guān)注
關(guān)注
0文章
330瀏覽量
34524 -
光通信
+關(guān)注
關(guān)注
20文章
922瀏覽量
34469 -
IP核
+關(guān)注
關(guān)注
4文章
338瀏覽量
50543
發(fā)布評(píng)論請(qǐng)先 登錄
把握光通信行業(yè)演變脈動(dòng) CIOE2012光通信展即將起航!
FPGA在光通信中的應(yīng)用
淺析紫外光通信技術(shù)
可見光通信 調(diào)制解調(diào)技術(shù) 家庭機(jī)器人 可見光通信應(yīng)用 原理及硬件方案 精選資料分享
無線光通信
無線光通信是什么意思,它的應(yīng)用有哪些?

無線光通信(FSO),無線光通信(FSO)的特點(diǎn)及原理/前景

光通信芯片的概念以及我國在光通信行業(yè)的地位
激光通信原理_激光通信的優(yōu)缺點(diǎn)
光通信的概念 光通信優(yōu)點(diǎn)與不足
光通信技術(shù)應(yīng)用 光通信的意義
10g gtx光纖通信測試_S03-CH05_UDP萬兆光通信

基于FPGA的UDP千兆以太網(wǎng)光通信

無線光通信,我們是專業(yè)的!

評(píng)論