前几天看到群里的一个前辈说FPGA的入门就是搭建一个完整的以太网通信平台,颇有感触,就在博客平台上搭建一个以太网平台,包含多个模块,先整体驯熟一下实现的功能,再分别叙述各个模块的功能与实现。

整体功能:

工程的最终实现是PC将数据通过SFP接收接口发送到PHY层,为什么是PHY物理层呢?因为为了实现与外部的光通信,仅仅有MAC层是不够的,还必须有物理层,可参考OSI模型,然后PCS_PMA(物理编码子层和物理介质子层)将接收到的数据通过AXI-SREAM接口将接收到的数据发送给三态网IP,由于三态网输出的数据为8bit,所以在第一级FIFO中对输入数据进行寄存,将8位的数据转换为64bit,将64bit的数据进行二级寄存,(why?)因为一级级寄存器中的数据是不同步的,所以还需要将二级寄存器中的数据进行再一次寄存,保证数据完全同步,毕竟是千兆以太网通信,对于数据的同步性要求较高。然后,类似于帧缓存,将同步数据在FIFO中经过寄存之后将数据发送到UDP协议栈中。协议栈将数据发送出去之后为了保证数据随时存在,将发送出去的数据经过FIFO缓存,之后再进入三态网IP,三态网IP将数据发送到PHY层,最终实现一个闭环的UDP千兆以太网测试。

首先需要了解什么是SFP,即SFP光模块,主要成分是激光器(包括发射器和接收器)以及其他集成电路模块,平台式实现的是千兆UDP通信,就是1Gbps,此外还应该了解一下GBIC(Gigabit Interface Converter),吉比特接口转换,将千兆位的电信换转换为光信号,而SFP是GBIC的升级版,封装分销,毕竟是Small Form Plugganle的缩写。

期间搜索了一下UDP和TCP的区别,其实从英文名上更容易区别,TCP是Transmission Control Protocol,UDP是User Data Protocol。可以看出TCP侧重的是传输控制,所以TCP是面向连接的,提供可靠的服务,传输的数据不会丢失,没有重复,而UDP没有可靠性,TCP在用户和服务器交换数据之前,必须在双方之间建立一个TCP连接,之后才能传输数据,是全双工通信。UDP是面向报文的不可靠传输。

关于SFP的电气接口,关键是四个两组: RD+ RD- TD+ TD-,可以看出数据的传输是差分传输的,因为ROCKET I/O具有更高的传输速度,此外还需要注意一组信号就是Tx_Disabl,即发送禁用控制信号,高电平禁用,所以在编程时需要将其拉低。

UDP千兆光通信(一)、整体认知与概述的更多相关文章

  1. FPGA千兆网UDP协议实现

    接着上一篇百兆网接口的设计与使用,我们接着来进行FPGA百兆网UDP(User Datagram Protocol)协议的设计. 1)UDP简介 在此,参考博主夜雨翛然的博文“https://www. ...

  2. AC6102 开发板千兆以太网UDP传输实验2

    AC6102 开发板千兆以太网UDP传输实验 在芯航线AC6102开发板上,设计了一路GMII接口的千兆以太网电路,通过该以太网电路,用户可以将FPGA采集或运算得到的数据传递给其他设备如PC或服务器 ...

  3. AC6102 开发板千兆以太网UDP传输实验

    AC6102 开发板千兆以太网UDP传输实验 在芯航线AC6102开发板上,设计了一路GMII接口的千兆以太网电路,通过该以太网电路,用户可以将FPGA采集或运算得到的数据传递给其他设备如PC或服务器 ...

  4. 千兆以太网TCP协议的FPGA实现

    转自https://blog.csdn.net/zhipao6108/article/details/82386355 千兆以太网TCP协议的FPGA实现 Lzx 2017/4/20 写在前面,这应该 ...

  5. 【转】基于TMS320C6455的千兆以太网设计

    基于TI公司最新DSP芯片TMS320C6455.设计并实现了以太网通信软硬件接口.采用TMS320C6455片内以太网接口模块EMAC/MDIO,结合片外AR8031 PHY芯片,在嵌入式操作系统D ...

  6. 【小梅哥FPGA进阶学习之旅】基于Altera FPGA 的DDR2+千兆以太网电路设计

    DDR2电路设计 在高速大数据的应用中,高速大容量缓存是必不可少的硬件.当前在FPGA系统中使用较为广泛的高速大容量存储器有经典速度较低的单数据速率的SDRAM存储器,以及速度较高的双速率DDR.DD ...

  7. 【转】简谈基于FPGA的千兆以太网

    原文地址: http://blog.chinaaet.com/luhui/p/5100052903 大家好,又到了学习时间了,学习使人快乐.今天我们来简单的聊一聊以太网,以太网在FPGA学习中属于比较 ...

  8. 千兆车载以太网TSN网络测试?TSN Box为您焕新

    TSN概述 在汽车领域内,近几年车内网络通讯方式的变革诉求,期望能够有更高的数据传输速率,以及保证实时性的通讯方式引入.例如对于自动驾驶而言,传统的CAN总线已经远远不能满足其对通讯的要求,而基于以太 ...

  9. Dalsa Sherlock 直连千兆网相机(通用驱动)

    支持 Sherlock 7.1.7.2,用于千兆网相机与 Sherlock 的连接. 可适用于很多厂商的相机,如:巴斯勒(Basler),JAI,堡盟相机(Baumer),灰点相机(Point Gre ...

随机推荐

  1. SpringBoot框架(1)--入门篇

     什么是SpringBoot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程. 特征 创建独立的Spring应用程序 直接嵌 ...

  2. 粘性固定 position:sticky

    在研究rem布局时,无意中看到网易新闻移动端首页的导航栏用上了一个CSS 3的属性粘性定位position:sticky,它是相对定位(position:relative)和固定定位(position ...

  3. frps启动

    1.找到frps.ini文件 find  / -name 'frps.ini' 2.窗口启动 ./frps -c ./frps.ini 3.关闭窗口,后台运行 setsid  ./frps -c ./ ...

  4. 《x86汇编语言:从实模式到保护模式 》学习笔记之:第一次编写汇编语言

    1.汇编语言源文件:first.asm mov ax,0x3f add bx,ax add cx,ax 2.用nasm编译成二进制文件:first.bin nasm -f bin first.asm ...

  5. mysql JOIN关键字 语法

    mysql JOIN关键字 语法 作用:用于根据两个或多个表中的列之间的关系,从这些表中查询数据.大理石量具 说明:数据库中的表可通过键将彼此联系起来.主键(Primary Key)是一个列,在这个列 ...

  6. luogu P1125 笨小猴 x

    P1125 笨小猴 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设max ...

  7. IDEA中代码不小心删除,或者改了半天想回退到某个特定时间怎么办?

    第一步: 第二步: 第三步: 第四步:

  8. python curl_get-pip.py Installing with get-pip.py

    w curl https://bootstrap.pypa.io/get-pip.py > curl_get-pip.pypython curl_get-pip.py https://pip.p ...

  9. Vue引入Jquery和Bootstrap

    一.引入jquery包 npm i jquery 二.配置jquery 在webpack.base.conf.js中加载juery插件  所以要配置该文件 三.引入Bootstrap npm i bo ...

  10. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_06 Properties集合_2_Properties集合中的方法store

    第一行是注释,第二行是时间,时间是自动加的 使用FileOutputStream. 写入中文会乱码