"); //-->
基于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采样结果等原始数据。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
构建节能AI加速器的硬件策略有哪些?
Virtex-7 485T DSP处理能力
具有高低音控制的音频功放
工业充电器拓扑结构选型基础知识:隔离式DC-DC功率级的选择
字符Unicode标准编码计算器
高增益运放加晶体管输出电路
从固定到灵活:为什么可重构电池组在现代电动汽车中很重要
使用SST89C58控制单片电子硬盘的软硬件
问个很现实的问题
[转帖]Platform Builder之旅(一)
Platform Builder之旅(二)
有哪些工具可用于优化边缘 AI 性能?
伴音中频放大电路
Virtex-7 485T功耗演示
Tornado2.0下,硬盘的多个分区的挂接
数字声音的制作_编辑软件
混音放大电路
人工智能热潮中CoWoS 产能利用率仅为 60%,供应链处于戒备状态
安检工作中,传感能力如何得到改善?
如何在RK3576开发板上运行TinyMaix :超轻量级推理框架--基于米尔MYD-LR3576开发板
如何在米尔RK3576开发板上板端编译OpenCV并搭建应用
由MCl351组成的实际电路
聚焦四大领域,避免公有云产生高成本错误
微型RTOS(51)源代码及应用
单片集成 GaN 功率 IC 如何提高功率密度并减少元件数量?
Virtex-7 485T I/O处理能力
Tornado2.0下如何替换编译网卡驱动?
瑞萨杯全国大学生电子设计竞赛开赛
输出电压调节
十六进制组成