1、  在IP包包头里的IP类型0x0800代表IP协议网络。在二层mac帧里表示,因为除了IP协议网络外,还有ATM网络,FDDI网络等网络类型。

2、  IP通信协议

IP数据包包头

前导码0x55

0x55

0x55

0x55

0x55

0x55

0x55

0xd5

目的MAC地址

目的MAC地址

目的MAC地址

目的MAC地址

目的MAC地址

目的MAC地址

源MAC地址

源MAC地址

源MAC地址

源MAC地址

源MAC地址

源MAC地址

IP包网络类型0x0800

 

 

[31:28]

[27:24]

[23:20]

[19:16]

[15:12]

[11:8]

[7:4]

[3:0]

IP数据报首部

固定部分

版本

首部长度

区分服务

数据报总长度

标识

标志

片偏移12位

生存时间

协议

首部检验和

源IP地址

目的IP地址

可变部分(UDP)

源端口号

目的端口号

用户数据包长度

检查和

 

数据部分

 

CRC校验

注:标志占三位.

解释:

a、  IP协议(TCP/UDP)通信需要发送(或接收)7*0x55+0xd5的前导码

b、  目的MAC和源MAC各48bit

c、  IP包网络类型,还有其他的网络类型例如ATM或FDDI等,0x0800代表相应IP包类型

d、  IP首部前20字节为固定部分,除了固定部分以外,可变部分根据你用的是UDP或者TCP来决定,但总的首部长度不可超过60字节。

e、  版本,4bit,4代表IPV4

f、  首部长度,4bit,可表示的最大数值是15个单位(一个单位为 4 字节)因此IP 的首部长度的最大值是 60 字节。

g、  区分服务: 占8位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过.1998 年这个字段改名为区分服务.只有在使用区分服务(DiffServ)时,这个字段才起作用.一般的情况下都不使用这个字段

h、  总长度,占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535 字节.总长度必须不超过最大传送单元 MTU

i、  标识:16位,它是一个计数器,用来产生数据报的标识,具有同一个标识的数据包属于同一数据片,有时候为了避免超过MTU,需要对数据进行分片

j、  标志:3bit,占3位,目前只有前两位有意义,标志字段的最低位是 MF (More Fragment),MF=1 表示后面“还有分片”。MF=0 表示最后一个分片,标志字段中间的一位是 DF (Don't Fragment),只有当 DF=0 时才允许分片。

k、  片偏移,占12位,指较长的分组在分片后某片在原分组中的相对位置.片偏移以 8 个字节为偏移单位

l、  生存时间:占8位,记为TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255

m、  协议。占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程, 1表示为 ICMP 协议, 2表示为 IGMP 协议, 6表示为 TCP 协议, 17表示为 UDP 协议

n、  首部检验和,占16位,只检验数据报的首部不检验数据部分.这里不采用 CRC 检验码而采用简单的计算方法

o、  源和目的的IP地址,都各占4 字节,分别记录源地址和目的地址

p、  可变部分根据所用的协议改变。最后发送用户数据和CRC校验码

q、  在千兆的GMII通信模式下, 发送数据时,发送时钟为125Mhz的GTXC信号, 数据为TXD0~TXD7, 数据有效信号为TXEN, TXC信号没有使用; 接收数据时,接收时钟为125Mhz的RXC信号, 数据为RXD0~RXD7, 数据有效信号为RXDV。

r、  在百兆的MII通信模式下, 发送数据时,发送时钟为25Mhz的TXC信号, 此25Mhz的TXC时钟是PHY输入给FPGA的,数据为TXD0~TXD3,数据有效信号为TXEN, GTXC信号没有使用; 接收数据时,接收时钟为25Mhz的RXC信号, 数据为RXD0~RXD3, 数据有效信号为RXDV。

s、  以太网的数据帧的传输有包长的要求, 一般在46~1500字节。所以在发送以太网数据包的时候,数据帧的长度不能太短, 不然会导致PC数据包发送而FPGA收不到数据包的情况。跟冲突监测相应的内容相关。

3、  在进行以外网(ethernet)通信测试的时候,按照要求弄好后,为什么只有第一次连接调试可以成功,而后续不可以?因为网络调试助手在调试一次过后必须手动关闭退出,否则将会占用相应的网络通道,必须将调试助手全部程序退出后才能再次进行连接通信。

4、  在前面的IP通信协议中可以知道,如果FPGA向PC机发送数据时,则目的地址或者目的MAC地址将是PC机的地址和MAC地址,对于在FPGA中写接收模块,则相当于是PC机通过IP协议向FPGA发送数据,那个目的地址或MAC地址将是FPGA本身的地址或MAC地址

5、  什么是SLEW= FAST? Slew——Slew Rate。信号的转换速率,可以理解为信号在某一点的斜率。它不是只针对时钟信号说的;诸如放大器的slew rate就是一个很重要的参数;而在数字电路里,它可能更常用于描述芯片输入信号的变化率. 在Xilinx的设计环境中,可以将输出信号的Slew rate设置成FAST或SLOW。当设置成FAST时,提高了信号变化的斜率,从而提高了信号的转换速率,但同时使脉冲信号的振铃增大。因此,除非万不得已,不要将输出信号的Slew rate设成FAST ,skew选fast,IO转化时快,但电流大,功耗大。skew选slow,IO转化慢,但功耗小。默认设置:IOSTANDARD=LVCMOS25,SLEW=SLOW ,DRIVE=12

以太网通信,UDP通信相关推荐

  1. 网络通信、UDP通信、TCP通信、BS架构模拟、URL了解

    网络编程 网络通信 网络通信三要素之IP地址(了解) JAVA对IP地址的操作(InetAddress类) 网络通信三要素之端口号(了解) 网络通信三要素之协议(了解) UDP通信 UDP通信之广播和 ...

  2. Android Wifi连接控制、TCP、UDP通信,6.0以上适配

    本文章包含内容 Wifi连接控制.Wifi广播接收,适配了Android6.0以上的版本 Wifi下的TCP通信 Wifi下的UDP通信 Github项目地址 码云项目地址 最近公司要开发智能家居,A ...

  3. Socket之UDP通信

    Socket之UDP通信 UDP通信原理: UDP协议是一种不可靠的网络协议,它在通信两端各自建立一个Socket对象,但是这两个Socket对象只是发送和接收数据的对象,因此基于UDP协议的通信双方 ...

  4. 博途PLC开放式以太网通信TRCV_C指令应用编程(运动传感器UDP通信)

    博途PLC开放式以太网通信TSENG_C指令应用,请参看下面的文章链接: 博途PLC 1200/1500PLC开放式以太网通信TSEND_C通信(UDP)_plc的udp通信_RXXW_Dor的博客- ...

  5. 一个udp用户数据报的数据字段为8192_基于FPGA的千兆网UDP通信分析

    千兆网UDP通信 以太网帧格式 图8‑12 以太网帧格式 表8‑5 以太网帧格式说明 UDP协议分析 为什么UDP协议在FPGA实现时很受欢迎,最主要一个原因就是简单,简答到什么地步呢?UDP协议只是 ...

  6. 正点原子STM32F407ZGT6以太网ETH—LwIP通信笔记

    一.互联网模型 互联网技术对人类社会的影响不言而喻.当今大部分电子设备都能以不同的方式接入互联网(Internet),在家庭中PC常见的互联网接入方式是使用路由器(Router)组建小型局域网(LAN ...

  7. FPGA纯verilog实现UDP通信,三速网自协商仲裁,动态ARP和Ping功能,提供工程源码和技术支持

    目录 1.前言 2.我这里已有的UDP方案 3.UDP详细设计方案 MAC层发送 MAC发送模式 ARP发送 IP层发送 IP发送模式 UDP发送 MAC层接收 ARP接收 IP层接收 UDP接收 S ...

  8. LWIP的RAW API UDP通信详解(stm32f103---enc28j60)

    目录 LWIP LWIP简介 LWIP主要特性 ENC28J60 ENC28J60简介 ENC28J60特点 无操作系统LWIP移植 在说移植之前,先说下几个重要的函数功能和数据结构 enc28j60 ...

  9. 深入浅出TCP/UDP 原理-UDP篇(2)及完整MATLAB实现UDP通信

    目录 调试代码在文末 写在前面 3. UDP疑难杂症 3.1 UDP的传输方式:面向报文 3.2 UDP数据包的发送和接收问题 3.3 UDP丢包问题 3.4 UDP冗余传输 4 UDP真的比TCP要 ...

  10. 基于zynq的千兆网udp项目_基于FPGA的千兆网UDP通信分析

    千兆网UDP通信 以太网帧格式 图8‑12 以太网帧格式 表8‑5 以太网帧格式说明 UDP协议分析 为什么UDP协议在FPGA实现时很受欢迎,最主要一个原因就是简单,简答到什么地步呢?UDP协议只是 ...

最新文章

  1. 最新电子皮肤的触觉有多灵?连空气流动都能感受到
  2. 出块过程 (1)close发送消息
  3. Averse, Adverse
  4. Libusb开发教程三 USB设备程序开发
  5. 充满艺术范儿!艺术感在线的界面欣赏
  6. 帆软报表插件开发之fine-decision中的ControllerRegisterProvider扩展
  7. PHP工程师最佳学习路线!【重磅推出】
  8. 逸管家中小企业未来的发展不可忽视人才战略
  9. [linux驱动]linux块设备学习笔记(二)
  10. 三局两胜还是五局三胜?
  11. 7-2 整数的因子 (10 分)
  12. 概率密度变换公式 雅可比矩阵_连续型随机变量“分布函数”与“概率密度”之间求变换公式...
  13. C语言小游戏-寻宝(幸运之星)
  14. 红米手机5A完整卡刷开发版获取Root超级权限的流程
  15. 【实用工具箱】将CSDN文章内容转成PDF文件实用教程(程序员小技巧)—— 禅与计算机程序设计艺术
  16. Python for循环遍历字典(dict)的方法
  17. Vue响应式原理详细讲解
  18. 生成化学表达式下标、上标数字
  19. 2013年6月英语四级真题听力短文原文及重点词汇整理
  20. SQL Server之查询检索操作

热门文章

  1. 数据同步工具Sqoop
  2. 5.10 自定义颜色至色板和全局色的使用 [Illustrator CC教程]
  3. 逆向编程与反汇编的区别
  4. 判断某键值是否存在[注册表操作]
  5. Windows 7驱动开发系列(四)--WDM模型介绍
  6. mac苹果系统安装虚拟机方法教程 虚拟机操作之一
  7. excel插入散点图按时刻设置横坐标刻度值
  8. 利用python实现修改阿里云DNS值解析
  9. 主成分分析(PCA)与矩阵奇异值分解(SVD)
  10. Android 触摸屏Event上报操作