Xilinx FPGA:vivado关于以太网的零碎知识点

一、OSI七层模型

为了实现网络通信的标准化,普及网络应用,国际标准化组织(ISO)将整个以太网通信结构制定了OSI模型,即开放式系统互联。

OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即OSI开放互连系统参考模型。

应用层:网络服务与最终用户接口(http等)

表示层:数据的表示、加密、压缩

会话层:建立、管理、终止会话

传输层:定义传输数据的协议端口号、流控、差错校验(TCP,UDP)

网络层:进行逻辑寻址,实现不同网络之间的路径选择(IP)

数据链路层:建立逻辑链接、进行硬件寻址、差错校验(MAC)

物理层:建立、维护、断开物理链接(电平、速度、针脚)

二、TCP/IP五层模型

TCP/IP是指能够在多个不同网络间实现信息传输的协议簇。

TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP\SMTP\TCP\UDP\IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具有代表性,所以被称为TCP/IP协议。

应用层:DNS/HTTP/FTP/SMTP

传输层:TCP/UDP

网络层:IP/ICMP/ARP

数据链路层:LLC/MAC

物理层:物理传输介质

三、以太网简介

以太网是遵守IEEE802.3标准组成的局域网,由IEEE802.3标准规定的,主要是位于参考模型的物理层(PHY)和数据链路层中的介质访问控制子层(MAC)。在家庭、企业和学校所组建的PC局域网形式一般也是以太网,其标志是使用水晶头网线来连接。

四、MII/RGMII

MII或称为媒体独立接口,它是IEEE802.3定义的以太网行业标准,用以连接以太网MAC层和PHY芯片,后逐步扩展为:MII/RMII/SMII/GMII/RGMII等。

MII:百兆以太网接口,单边沿采样。

RMII:百兆以太网接口,MII的线路简化版,双边沿采样。

GMII:千兆以太网接口,单边沿采样。

RGMII:千兆以太网接口,GMII的线路简化版,双边沿采样。

五、以太网接口示意图

ETH_RXC:接收数据时钟

(10Mbit/s------>2.5MHz

100Mbit/s------->25MHz

1000Mbit/s-------->125MHz

ETH_RXCTL:接收数据有效信号

ETH_RXD3:0:接收数据

ETH_TXC:发送数据时钟

ETH_TXCTL:发送数据有效信号

ETH_TXD3:0:发送数据

ETH_RST_N:低电平有效复位信号

ETH_MDC:SMI串行管理接口时钟信号(非周期性,与接收/发送时钟无关)

ETH_MDIO:双向数据线,用来传输MAC层的控制信息和物理层的状态信息。在MDC上升沿有效。

六、MAC子层功能

MAC子层是属于数据链路层的下半部分,主要负责与物理层进行数据交接。如是否可以发送数据,发送的数据是否正确,对数据流进行控制等。它自动对来自上层的数据包加上一些控制信号,交给物理层。

接收方得到正常数据时,自动去除MAC控制信号,把该数据包交给上层。

MAC数据包(位于TCP/IP协议的数据链路层):

MAC数据包由前导字段、帧起始界定符、目标地址、源地址、数据包类型、数据域、填充域、校验域组成。当到达网络层时候,除了有效数据,其他的诸如前导码/DA/SA等等,均被清除。

前导码:7Byte的0x55的方波

SFD:1Byte的0xd5

目的地址:6个字节,网卡的物理地址。一般出厂自带,后面也可以通过软件修改,或者嵌入式工程中重新配置。

源地址:6个字节。

类型/长度:类型-----2字节,可以描述TCP/IP协议层的IP/ARP/SNMP数据包。长度如果大于>0x0600的话,仅描述类型。

数据:包含MAC的上层和填充域,整个MAC包长度最少64字节,数据包最少46个字节,如果数据包不到46字节,在填充域会自动填充无效数据。

校验:4字节,保存了CRC检验序列,用于检错。

七、IP协议(网络层)

IP首部+DATA

IP首部校验和:

(1)将校验和字段置为00。

(2)以2字节为单位,数据反码求和。

(3)将进位加到低16上。

(4)取反。

八、UDP协议

UDP首部+DATA

UDP校验和:

(1)将校验和字段置为00 00

(2)以2字节为单位,数据反码求和

(3)将进位加到低16位上

(4)将相加的结果取反

九、原理图部分解读

引脚配置:

引脚说明:

但是注意我们的板卡如果自己有系统晶振,那46引脚浮空就可以了。

PHY芯片的地址采用引脚复用:

相关推荐
坏孩子的诺亚方舟6 天前
FPGA系统架构设计实践15_高云Arora V系列时钟体系
fpga开发·系统架构
FPGA小徐6 天前
入门 CNN 结构全解析|从流程图理论到 FPGA Verilog 硬件实现(含习题带讲解)
fpga开发
FPGA小徐6 天前
FPGA 数字信号处理:并行 FIR 与串行滤波器设计原理、对比与完整 Verilog 实现
fpga开发
Saniffer_SH7 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
zlinear数据采集卡7 天前
双核架构深度解析:ARM+FPGA如何让数据采集卡实现500Ksps高性能?
arm开发·fpga开发·架构
9527华安7 天前
FPGA实现GTH Transceivers Wizard传输2路视频,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
fpga开发·gth·aurora 8b10b·transceivers
FPGA小徐8 天前
FPGA 数字信号处理(二):并行 FIR 滤波器的 Verilog 全流程设计与实现
fpga开发
国科安芯8 天前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
ALINX技术博客8 天前
【黑金云课堂】FPGA技术教程FPGA基础:I2C 总线通信技术
fpga开发·i2c
Hello-FPGA8 天前
Xilinx KU040 FPGA Camera Link 图像采集
c++·fpga开发