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_RXD[3:0]:接收数据

ETH_TXC:发送数据时钟

ETH_TXCTL:发送数据有效信号

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/403528.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【leetcode】回文链表-25-3

方法:快慢指针递归遍历 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) …

宝塔面板部署webman项目+nginx反向代理

新建站点 新建一个站点,php版本选择纯净态即可,反正都是用不上的,域名填写你申请得到的域名 拉取代码 新建一个目录,然后将代码部署到本地 启动项目 推荐使用宝塔面板的进程守护管理器启动项目,其实就是用superviso…

快速体验fastllm安装部署并支持AMD ROCm推理加速

序言 fastllm是纯c实现,无第三方依赖的高性能大模型推理库。 本文以国产海光DCU为例,在AMD ROCm平台下编译部署fastllm以实现LLMs模型推理加速。 测试平台:曙光超算互联网平台SCNet GPU/DCU:异构加速卡AI 显存64GB PCIE&#…

[机器学习]全景指南:从基础概念到实战流程的全面解析

文章目录 1.引言1.1机器学习的重要性1.2机器学习的应用范围1.3本文的内容结构 2. 机器学习的基本概念与分类2.1 机器学习的定义2.2 机器学习的分类 4. 强化学习(Reinforcement Learning) 3. 机器学习的工作流程3.1 数据收集与准备1. 数据源与类型2. 数据…

Android进阶之路 - res、raw、assets 资源解析、区别对比

那天遇到一个资源目录层级的问题,索性重新整理记录一下,希望能帮到如吾往昔之少年的你们,哈哈哈哈哈哈… 一脸茫然,越写越多,时间成本属实有点大,就当一起来基础扫盲吧 resdrawablemipmapvaluescolor asset…

Redis未授权访问漏洞利用合集

一、基本信息 靶机:IP:192.168.100.40 攻击机:IP:192.168.100.60 二、漏洞 & 过程 Redis 未授权访问漏洞利用无口令远程登录靶机 靶机 cd redis-4.0.8/src./redis-server ../redis.conf 攻击机 ./redis-cli -h 192.168.100.40 Redis 未授权访问…

nginx安全控制

nginx的安全控制 参考文档:https://docs.nginx.com/nginx/admin-guide/security-controls/controlling-access-proxied-http/ 1. nginx作为web服务器 # nginx作为web服务器,配置虚拟主机 server {listen 80; server_name www.sxl1.com; # 域名…

synchronized轻量级锁原理和实战(四)

引入轻量级锁的目的 多线程竞争不激烈的情况下,通过CAS机制竞争减少重量级锁产生的性能消耗.重量级锁使用了操作系统底层的互斥锁,会导致线程在用户态和核心态之间切换.带来性能上的损耗. 轻量级锁的核心原理 轻量级锁存在的目的本身就是为了减少线程从内核态和用户态的切换…

笔试必备—Java输入输出流

Java 流 流可以理解为一个数据,输入流表示从一个源读取数据,输出流表示向一个目标写数据 Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中 Scanner类 提供了一系列的方法,更加直观、易用性高&…

【数学建模】趣味数模问题——四人追逐问题

问题描述: 如图所示,在正方形ABCD的四个顶点各有一个人。在初始时刻 t0 时,四人同时出发,以匀速 v 沿顺时针方向朝下一个人移动。如果他们始终对准下一个人为目标行进,最终结果会如何?需要作出各自的运动轨…

微信小程序 ==== 半屏打开小程序

目录 打开半屏小程序 调用流程 打开半屏小程序 半屏小程序环境判断 返回原小程序 使用限制 wx.openEmbeddedMiniProgram 功能描述 参数 wx.navigateBackMiniProgram 功能描述 示例代码 Object wx.getEnterOptionsSync() 功能描述 返回值 返回有效 referrerInfo…

计算机毕业设计 医院问诊系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

Spring Boot集成Devtools实现热更新?

1.什么Devtools? DevTools是开发者工具集,主要用于简化开发过程中的热部署问题。 热部署是指在开发过程中,当代码发生变化时,无需手动重启应用,系统能够自动检测并重新加载修改后的代码,大大提高了开发效率…

UE基础 —— 关卡

目录 Working with Levels Managing Multiple Levels World Settings 更改默认关卡 关卡(Level)是游戏的"世界"的全部或部分;关卡包含玩家可以看到并与之交互的所有内容,如环境、可用对象、其他角色,等等…

理性看待、正确理解 AI 中的 Scaling “laws”

编者按:LLMs 规模和性能的不断提升,让人们不禁产生疑问:这种趋势是否能一直持续下去?我们是否能通过不断扩大模型规模最终实现通用人工智能(AGI)?回答这些问题对于理解 AI 的未来发展轨迹至关重…

郊游、旅游管理系统-计算机毕设Java|springboot实战项目

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

【算法/学习】双指针

✨ 少年要迎着朝阳,活得肆无忌惮 🌏 📃个人主页:island1314 🔥个人专栏:算法学习 🚀 欢迎关注:👍点赞 &a…

python语言day6 os random datetime .ini文件

os: 获取运行当前py文件的绝对路径: abspath中添加路径,会直接和绝对路径拼接。 folder_path os.path.abspath("") print(folder_path) 路径拼接: mac系统路径:file/TranslucentTB win系统路径:…

python爬虫滑块验证及各种加密函数(基于ddddocr进行的一层封装)

git链接: https://github.com/JOUUUSKA/spider_toolsbox 这里写目录标题 一.识别验证码1、识别英文+数字验证码2、识别滑块验证码3、识别点选验证码 二、下载系列1、下载视频2、下载图片3、下载文本 三、常用加密类型1、AES系列2、DES系列3、RSA系列4、SHA系列5、B…

【c++】深入理解别名机制--引用

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C 目录 前言 一、引用的概念和定义 二、引用的特性 三、引用的实用性 1.引用传参 2.引用做返回值 2.1 引用做返回值的作用 2.2 引用坍缩问题、悬挂引用问…