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芯片的地址采用引脚复用:

相关推荐
LabVIEW开发10 小时前
LabVIEW 如何把地下震源定位误差做到5米内
fpga开发·labview·labview知识·labview功能·labview程序
Dr.kangder13 小时前
嵌入式处理器架构解析(十)——DSP+FPGA
fpga开发·架构·嵌入式
szxinmai主板定制专家19 小时前
Zynq MPSoC实现半导体真空腔体状态监测|FPGA多传感器时序同步采集方案
fpga开发·zynq·控制器·mpsoc·半导体设备·fpga同步
学习FPGA的电气小兴兴1 天前
基于FPGA的DDS信号发生器设计,生成频率可调的正弦波、三角波、锯齿波和方波
fpga开发·数字信号处理·fpga·vivado·dsp·dds·diy
szxinmai主板定制专家1 天前
Zynq MPSoC半导体高精度运动控制方案|FPGA硬件插补实现亚微米级伺服实时控制
人工智能·嵌入式硬件·fpga开发·zynq·运动控制·ethercat
星夜离尘562 天前
ILA 在线调试:Vivado 抓取片内信号与定位下板问题(附完整实操)
fpga开发
jz_ddk2 天前
[学习] 深入理解 USB 通信与 FPGA 实现:从协议到逻辑设计
学习·fpga开发·xilinx·usb2.0
星夜离尘563 天前
PWM 信号生成与呼吸灯:占空比控制、按键调光与舵机扩展(附完整 Verilog 实操)
fpga开发
zlinear数据采集卡3 天前
ZLinear DABM-D223 通信协议与软件开发全解析:从 USB CDC 到 DDS 波形输出
arm开发·嵌入式硬件·fpga开发·开源