高速接口----使用sfp完成以太网传输
最近在做以太网相关的东西,最近参考xapp1082完成了一个通过光口以太网完成数据传输的简单的例子。xapp1082的链接地址如下:xapp1082
xapp1082所对应的工程需要在xilinx的官网注册账号后进行下载。里面包含了ZYNQ中各种以太网的使用情况。xapp1082中介绍了4中以太网的应用。如下表:
名称 | 作用 |
---|---|
pl_eth_1000basex | 使用AXI Ethernet 完成通过sfp完成以太网的使用 协议为1000BaseX |
pl_eth_sgmii | 使用AXI Ethernet完成通过sfp完成以太网的使用,接口协议为sgmii |
ps_emio_1000basex | 使用EMIO将GEM引出到PL端完成以太网的使用,协议为1000BaseX |
ps_emio_sgmii | 使用EMIO将GEM引出到PL端完成以太网的使用,协议为sgmii |
我在实现的时候,参照pl_eth_1000BaseX完成了使用sfp来完成以太网使用,在SDK下可以运行一个lwip,在linux下也可以正常地使用光口以太网。
创建工程
参照xapp1082里面建立一个工程,其中AXI Ethernet 这个IP需要选择模式为1000BaseX,其他地选项保持默认即可。然会对这个AXI 1G/2.5G Ethernet Subsystem进行自动连线,系统会自动地添加一个AXI DMA IP,然后剩下的自动连线就可以差不多可以完成这个工程的创建,具体可以参照xapp1082里面的内容。
最终的连线结果如下图所示:
创建SDK工程
在SDK中创建一个简单的带宽测试程序就可以来验证sfp的功能的正确性。在main函数当中需要进行简单的修改,由于这个xapp1082里面官方使用开发板是ZC706,ZC706上有有一个可编程的晶振,这个晶振会提供给系统一个125MHz的参考时钟,也就是高速收发器的参考时钟。在示例的lwip的模板当中,上电的时候,程序会对外部晶振进行配置。在自己实现的时候,只需要将其中的这两个函数注释掉进行了。
实验结果
需要使用一个光电转换模块来连接以太网,连接完成后,运行iperf这个软件就能来测试带宽了。
在SDK中启动应用程序,并将bit文件下载到FPGA内部之后,就可以看到串口打印如下信息。
这时候使用串口提示的信息,就可以来进行带宽的测试。在命令行中,跳转到包含iperf软件的目录下,然后运行串口终端提示的命令。
从测试结果来看,运行一个TCP 的协议栈以太网的速度能够达到560Mbit。
petalinux
在petalinux中完成这个实验就很简单,按照xilinx wiki上的东西就可以了,Wiki的地址在这里:xapp1082 Wiki
根据Wiki上面的指示,在内核中需要更改如下内容:
简单来说就是使能Xilinx的PHY,取消Xilinx AXI DMA Engine。
在设备树当中,只需要添加简单的设备就行了
然后编译就可以生成完成petalinux的创建,再将生成好的image拷贝到SD中启动就可以了。
参考:
xapp1082
xapp1082 wiki
高速接口----使用sfp完成以太网传输相关推荐
- 【高速接口-RapidIO】3、RapidIO串行物理层的包传输过程
总目录:总目录(经验分享) 献上链接: [高速接口-RapidIO]2.RapidIO串行物理层的包与控制符号 [高速接口-RapidIO]3.RapidIO串行物理层的包传输过程 [高速接口-Rap ...
- 千兆以太网工程(高速接口)
<千兆以太网>是高速接口必修课程, 从课程中学习FPGA模块划分,熟悉高速以太网接口逻辑. 包括:包括TCP IP 协议.ARP 协议.UDP IP MAC 协议解析,MAC IP 核的生 ...
- jtag接口原理图_在开始高速接口前,我们来试试IBERT测试吧!
第一次在知乎上发文章,一想到我只是个IP手册翻译大师就犯愁该怎么下笔,既然只会翻译IP手册,那么我就直接来分享一些IP core是怎么用的吧.因为某些原因恰好学习了一些高速接口的IP的使用,所以这个系 ...
- 机器视觉:下一代相机高速接口
机器视觉:下一代相机高速接口 本文概述并对比了下一代以太网.USB .Camera Link以及CoaXpress标准,并就Thunderbolt3接口的技术潜力展开探讨.今后,这类相机接口将一如既往 ...
- 【高速接口-RapidIO】Xilinx SRIO IP 核详解
目录 原文链接:https://www.cnblogs.com/liujinggang/p/10072115.html 一.RapidIO核概述 二.RapidIO核接口说明 2.1 逻辑层接口 2. ...
- 计算机高速接口与嵌入式设计与实现,基于嵌入式双结构通信系统高速接口的设计与实现...
基于嵌入式双结构通信系统高速接口的设计与实现 主要设计了ARM加DSP双架构通信系统的高速接口,ARM芯片选用S3C2440A,DSP芯片选用TMS320C6416,在两芯片的基础上搭建完整的嵌入式硬 ...
- 【高速接口-RapidIO】5、Xilinx RapidIO核例子工程源码分析
期待大家的一键三连,爱你们!!! 总目录:总目录(经验分享) 献上链接: [高速接口-RapidIO]2.RapidIO串行物理层的包与控制符号 [高速接口-RapidIO]3.RapidIO串行物理 ...
- 以太网传输中的NNI与UNI
所有人都知道的:UNI是用户侧,NNI是网络侧 UNI与NNI异同对照表 UNI NNI 全称 用户网络接口(user network interface) 网络结点接口 (Network to ...
- 国产FPGA(紫光同创)—— 数据采集及千兆以太网传输(一)
科研需要,使用国产FPGA(紫光PLG50H)实现数据采集及千兆以太网传输.总体流程如图所示 第一部分先对数据采集部分进行说明. 一.模数转换(ADC芯片-LTC2324) 本项目使用的是LTC232 ...
最新文章
- 10.5 arp:管理系统的arp缓存
- 一次.net托管内存泄露分析
- java集合浅谈(一)
- SQL Server之索引解析(二)
- 从源码分析RocketMQ系列-消息拉取PullMessageProcessor详解
- [素数拓展] 质因数的个数 [2007年清华大学计算机研究生机试真题]
- C++ -- vector详解
- (5)STM32使用HAL库实现串口通讯——实战操作
- 中国人工智能趋势报告(完整版)
- 单片机控制IIC协议EEPROM芯片24C512之模块化编程(持续更新中)
- 搞定从mac把超过4G的文件拷入U盘
- 用wget命令从FTP服务器下载数据
- python教学反思_Python语言教学反思
- 百度AI的2020:迎合时代节拍,扛起智能大旗
- [C++题目]:求和s=a+aa+aaa+…+aaa…a(n个a)
- html 列表 表格 form表单 文本域 label
- Python实现学生成绩分析
- Win10开始菜单打不开怎么办?
- task04 办公自动化之Python 操作 PDF
- 光晕ce服务器位置,光晕ce地图