tag 标签: 万兆网

相关博文
  • 热度 25
    2019-7-19 00:32
    6912 次阅读|
    0 个评论
    基于FPGA和万兆网的GigE Vison设计方案
    基于 FPGA 和万兆网的 GigE Vison 设计方案 作者: Hello , Panda 本文简要描述基于万兆网的 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 ,编译工具使用 Xilinx Vivado2016.4 ,仿真工具使用 ModelSim 10.2C 。 备注: ( 1 )为简化逻辑端的设计难度,可将 GVCP 协议放在 Microblaze 里面实现,使用 ZYNQ 系列器件的,可以直接在 PS 里运行; ( 2 )物理层使用千兆网的,本方案仍然可行,只需修改物理层接口即可;使用 ZYNQ 系列器件的,可以直接在 PS 里软件实现所有的 GVCP 和 GVSP 协议; 三、测试结果 在 Xilinx K7 325T 器件上实现完整的系统(包括 DDR Mig 、 Microblaze 等),占用 Slice 约 30K 。 与 PC 进行点对点数据传输测试,稳定传输速率约为 6.5Gbps ,可轻松传输 4K 无压缩原图或一些特殊图像数据如超声、 CT 、雷达、高速 ADC 采样结果等原始数据。