本文簡要描述基于FPGA和萬兆網的GigE Vison IP設計方案。
一、GigE Vsion協議要點
GigE Vison協議基于普通的以太網物理鏈路,運行在UDP協議層之上,包含控制協議GVCP和數據流協議GVSP兩大部分,整個層次結構如下圖1所示。
圖1 GigeVison協議層次結構圖
GigE Vison協議的要點如下:
(1)上電或復位完成后必須先進行IP配置和設備枚舉,必須支持DHCP和LLA(Auto IP)兩種IP配置方式;
(2)在UDP層上建立應答握手機制以保證傳輸,GVCP采用3956端口,數據長度必須以32bit為邊界,數據不可分包傳輸;
(3)設備必須支持心跳功能以確認處于連接狀態;
(4)支持控制(1個)、數據流(1~512個)和消息(0~1個)三種通道,每個通道分配不同的UDP端口,控制通道支持三種不同的訪問權限;
(5)必須支持最小規模的ICMP(GigeVsion要求必須支持Ping命令);
(6)GVSP的數據包以字節為邊界,數據包的大小由第一個有效的test packets決定,支持錯誤恢復和流控制;
(7)GVSP數據傳輸的單位為Block,一個完整的Block由Data Leader、Data Payload和Data Trailer構成;
(8)所有的Gige Vison相機都必須在他們的XML描述文件中強制制定相機的參數信息。
(9)bootstrap寄存器及XML文件需要非易失Flash硬件支持。
二、IP功能設計方案要點描述
GigE Vison邏輯IP需要實現圖1所示的所有協議層,方案中硬件平臺基于Xilinx 7系列器件XC7K325T/XC7K160T,下圖2是GigE Vision IP核的模塊框架結構。
圖2 GigE Vision IP核的框架結構
(1)物理層
物理層使用Xilinx 10G Ethernet Subsystem IP核,版本v3.1。對外數據接口例化為AXI4 Stream,位寬64bit,數據時鐘156.25MHz;配置接口例化為AXI4-Lite,位寬32bit,時鐘頻率100MHz。
IP核配置通過Microblaze軟核完成,并且使能Jumbo幀功能。功能、接口、配置和使用說明參見Xilinx官方文檔PG157。
(2)IP/UDP層
IP層協議僅支持IPv4版本,IP數據報頭Options項為空;需要支持DHCP、ARP和ICMP協議,內部通信采用64位AXI4 Steam總線通信。
(3)GVCP/GVSP協議
支持GigE Vison Specification version 1.0標準描述的所有必須支持的項,GVSP數據包負載類型支持Payload type = RawData/YUV422-8bit/RGB888。為完整實現功能,部分控制放在處理器上完成(本設計實例使用MicroBlaze),需要掉電保存的項存儲在外部Flash中,需要大量緩存的數據存儲在片外DDR中。
RTL描述語言使用Verilog,編譯工具使用XilinxVivado2016.4,仿真工具使用ModelSim 10.2C。
備注:
(1)為簡化邏輯端的設計難度,可將GVCP協議放在Microblaze里面實現,使用ZYNQ系列器件的,可以直接在PS里運行;
(2)物理層使用千兆網的,本方案仍然可行,只需修改物理層接口即可;使用ZYNQ系列器件的,可以直接在PS里軟件實現所有的GVCP和GVSP協議;
三、測試結果
在Xilinx K7 325T器件上實現完整的系統(包括DDRMig、Microblaze等),占用Slice約30K。
與PC進行點對點數據傳輸測試,穩定傳輸速率約為6.5Gbps,可輕松傳輸4K無壓縮原圖或一些特殊圖像數據如超聲、CT、雷達等原始數據。
-
FPGA
+關注
關注
1629文章
21729瀏覽量
603046 -
以太網
+關注
關注
40文章
5419瀏覽量
171626 -
GigE Vision
+關注
關注
0文章
5瀏覽量
5762
發布評論請先 登錄
相關推薦
評論