UDP千兆光通信(一)、整体认知与概述
前几天看到群里的一个前辈说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千兆光通信(一)、整体认知与概述的更多相关文章
- FPGA千兆网UDP协议实现
接着上一篇百兆网接口的设计与使用,我们接着来进行FPGA百兆网UDP(User Datagram Protocol)协议的设计. 1)UDP简介 在此,参考博主夜雨翛然的博文“https://www. ...
- AC6102 开发板千兆以太网UDP传输实验2
AC6102 开发板千兆以太网UDP传输实验 在芯航线AC6102开发板上,设计了一路GMII接口的千兆以太网电路,通过该以太网电路,用户可以将FPGA采集或运算得到的数据传递给其他设备如PC或服务器 ...
- AC6102 开发板千兆以太网UDP传输实验
AC6102 开发板千兆以太网UDP传输实验 在芯航线AC6102开发板上,设计了一路GMII接口的千兆以太网电路,通过该以太网电路,用户可以将FPGA采集或运算得到的数据传递给其他设备如PC或服务器 ...
- 千兆以太网TCP协议的FPGA实现
转自https://blog.csdn.net/zhipao6108/article/details/82386355 千兆以太网TCP协议的FPGA实现 Lzx 2017/4/20 写在前面,这应该 ...
- 【转】基于TMS320C6455的千兆以太网设计
基于TI公司最新DSP芯片TMS320C6455.设计并实现了以太网通信软硬件接口.采用TMS320C6455片内以太网接口模块EMAC/MDIO,结合片外AR8031 PHY芯片,在嵌入式操作系统D ...
- 【小梅哥FPGA进阶学习之旅】基于Altera FPGA 的DDR2+千兆以太网电路设计
DDR2电路设计 在高速大数据的应用中,高速大容量缓存是必不可少的硬件.当前在FPGA系统中使用较为广泛的高速大容量存储器有经典速度较低的单数据速率的SDRAM存储器,以及速度较高的双速率DDR.DD ...
- 【转】简谈基于FPGA的千兆以太网
原文地址: http://blog.chinaaet.com/luhui/p/5100052903 大家好,又到了学习时间了,学习使人快乐.今天我们来简单的聊一聊以太网,以太网在FPGA学习中属于比较 ...
- 千兆车载以太网TSN网络测试?TSN Box为您焕新
TSN概述 在汽车领域内,近几年车内网络通讯方式的变革诉求,期望能够有更高的数据传输速率,以及保证实时性的通讯方式引入.例如对于自动驾驶而言,传统的CAN总线已经远远不能满足其对通讯的要求,而基于以太 ...
- Dalsa Sherlock 直连千兆网相机(通用驱动)
支持 Sherlock 7.1.7.2,用于千兆网相机与 Sherlock 的连接. 可适用于很多厂商的相机,如:巴斯勒(Basler),JAI,堡盟相机(Baumer),灰点相机(Point Gre ...
随机推荐
- toString和toLocalString
toLocalString()是调用每个数组元素的 toLocaleString() 方法,然后使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串. toString()方法获取的是Strin ...
- div 垂直居中的方法
方法一 .table-body>ul>li{ font-size: 0 } .table-body>ul>li:after { content: ''; width: 0; h ...
- HTML5基础知识汇总(一)
一.HTML的开发工具和使用的浏览器 开发工具:记事本等文本编辑器,Atom.VisualStudioCode( VSCode).Brackets.Sublime text和Hbuider. 浏览器: ...
- sql server 修改表字段
1.添加表说明 EXECUTE sp_addextendedproperty N'MS_Description','表说明',N'user',N'dbo',N'table',N'表名',NULL,NU ...
- 跳转控制语句continue
1 continue的使用场景: 1.1 在循环语句中 注意:离开使用场景的存在是没有意义的 2 continue的作用: 2.1 单层循环对比break,然后总结两者的区别 2.1.1 break ...
- 字符串截取模板 && POJ 3450、3080 ( 暴力枚举子串 && KMP匹配 )
//截取字符串 ch 的 st~en 这一段子串返回子串的首地址 //注意用完需要根据需要最后free()掉 char* substring(char* ch,int st,int en) { ; c ...
- Supervised pre-trainning有监督预训练
如我们有一个分类任务,数据库很小,这时还是需要通过预训练来避免深度模型的过拟合问题的,只不过预训练是通过在一个大的数据库上(比如imagenet),通过有监督的训练来完成的.这种有监督预训练加小的数据 ...
- 13 November
[HEOI2015] 定价 BZOJ 4027: 在市场上有很多商品的定价类似于 999 元.4999 元.8999 元这样.它们和 1000 元.5000 元和 9000 元并没有什么本质区别,但是 ...
- electron原来这么简单----打包你的react、VUE桌面应用程序
也许你不甘心只写网页,被人叫做"他会写网页",也许你有项目需求,必须写桌面应用,然而你只会前端,没关系.网上的教程很多,但是很少有能说的浅显易懂的,我尽力将electron打包应用 ...
- failed to open stream: HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported
PHP模拟GET请求支付宝退款链接(未用sdk 自己拼接的请求链接与参数); 起初用file_get_contents();就报错 :failed to open stream: HTTP requ ...