最近在做以太网相关的东西,最近参考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完成以太网传输相关推荐

  1. 【高速接口-RapidIO】3、RapidIO串行物理层的包传输过程

    总目录:总目录(经验分享) 献上链接: [高速接口-RapidIO]2.RapidIO串行物理层的包与控制符号 [高速接口-RapidIO]3.RapidIO串行物理层的包传输过程 [高速接口-Rap ...

  2. 千兆以太网工程(高速接口)

    <千兆以太网>是高速接口必修课程, 从课程中学习FPGA模块划分,熟悉高速以太网接口逻辑. 包括:包括TCP IP 协议.ARP 协议.UDP IP MAC 协议解析,MAC IP 核的生 ...

  3. jtag接口原理图_在开始高速接口前,我们来试试IBERT测试吧!

    第一次在知乎上发文章,一想到我只是个IP手册翻译大师就犯愁该怎么下笔,既然只会翻译IP手册,那么我就直接来分享一些IP core是怎么用的吧.因为某些原因恰好学习了一些高速接口的IP的使用,所以这个系 ...

  4. 机器视觉:下一代相机高速接口

    机器视觉:下一代相机高速接口 本文概述并对比了下一代以太网.USB .Camera Link以及CoaXpress标准,并就Thunderbolt3接口的技术潜力展开探讨.今后,这类相机接口将一如既往 ...

  5. 【高速接口-RapidIO】Xilinx SRIO IP 核详解

    目录 原文链接:https://www.cnblogs.com/liujinggang/p/10072115.html 一.RapidIO核概述 二.RapidIO核接口说明 2.1 逻辑层接口 2. ...

  6. 计算机高速接口与嵌入式设计与实现,基于嵌入式双结构通信系统高速接口的设计与实现...

    基于嵌入式双结构通信系统高速接口的设计与实现 主要设计了ARM加DSP双架构通信系统的高速接口,ARM芯片选用S3C2440A,DSP芯片选用TMS320C6416,在两芯片的基础上搭建完整的嵌入式硬 ...

  7. 【高速接口-RapidIO】5、Xilinx RapidIO核例子工程源码分析

    期待大家的一键三连,爱你们!!! 总目录:总目录(经验分享) 献上链接: [高速接口-RapidIO]2.RapidIO串行物理层的包与控制符号 [高速接口-RapidIO]3.RapidIO串行物理 ...

  8. 以太网传输中的NNI与UNI

    所有人都知道的:UNI是用户侧,NNI是网络侧 UNI与NNI异同对照表   UNI NNI 全称 用户网络接口(user network interface) 网络结点接口 (Network to ...

  9. 国产FPGA(紫光同创)—— 数据采集及千兆以太网传输(一)

    科研需要,使用国产FPGA(紫光PLG50H)实现数据采集及千兆以太网传输.总体流程如图所示 第一部分先对数据采集部分进行说明. 一.模数转换(ADC芯片-LTC2324) 本项目使用的是LTC232 ...

最新文章

  1. 10.5 arp:管理系统的arp缓存
  2. 一次.net托管内存泄露分析
  3. java集合浅谈(一)
  4. SQL Server之索引解析(二)
  5. 从源码分析RocketMQ系列-消息拉取PullMessageProcessor详解
  6. [素数拓展] 质因数的个数 [2007年清华大学计算机研究生机试真题]
  7. C++ -- vector详解
  8. (5)STM32使用HAL库实现串口通讯——实战操作
  9. 中国人工智能趋势报告(完整版)
  10. 单片机控制IIC协议EEPROM芯片24C512之模块化编程(持续更新中)
  11. 搞定从mac把超过4G的文件拷入U盘
  12. 用wget命令从FTP服务器下载数据
  13. python教学反思_Python语言教学反思
  14. 百度AI的2020:迎合时代节拍,扛起智能大旗
  15. [C++题目]:求和s=a+aa+aaa+…+aaa…a(n个a)
  16. html 列表 表格 form表单 文本域 label
  17. Python实现学生成绩分析
  18. Win10开始菜单打不开怎么办?
  19. task04 办公自动化之Python 操作 PDF
  20. 光晕ce服务器位置,光晕ce地图

热门文章

  1. java中无法解析的编译问题怎么解决,java.lang.Error: 无法解析的编译问题
  2. matplotlib绘制图例
  3. pathon的安装与环境部署,数据类型
  4. 见与不见---作者:谈笑靖
  5. 靖哥哥教你如何在docker中安装mysql
  6. Calendar获取当前日期,或前几天,或后几天的日期
  7. angular 路由快照和 aggrid 结合后,导致aggrid 表头消失的问题
  8. 硅谷的政治泡沫:反对特朗普,与美国大部分地区观念出现割裂
  9. 《朗读者》读后感作文3100字
  10. 【Web技术】662- 玩转前端 Video 播放器