以太网的基本介绍

文章目录

    • 一、以太网(Ethernet)介绍
    • 二、协议介绍
    • 三、什么是PHY?
    • 三、PHY芯片介绍
      • 1.标准接口协议:
      • 2.寄存器配置:
      • 3.自动协商:
      • 4.链路检测:
      • 5.复位与电源管理:
      • 6.中断与状态报告:

一、以太网(Ethernet)介绍

  1. 以太网是一种将几台电脑连接起来,能够进行通讯的技术,也就是组建所谓的“局域网”,但组建局域网的技术并非只有以太网一种,其它的还有令牌环网等

  2. 以太网不是一种具体的网络,而是一种技术规范,也就是IEEE802.3

  3. 是当今现有局域网采用的最通用的通信协议标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。

以太网分类(按照通信速率分类):
标准以太网:10Mbit/S
快速以太网:100Mbit/S
千兆以太网:1000Mbit/S (领航者板子)
万兆以太网:10Gbit/S

以太网接口
以太网接口类型有RJ45接口,RJ11接口(电话线接口),SC光纤接口等。
其中RJ45接口是我们现在最常见的网络设备接口(如:电脑网口)

在这里插入图片描述
在这里插入图片描述

二、协议介绍

1、RGMII
RGMII 是 Reduced GMII(吉比特介质独立接口)。RGMII 均采用4位数据接口,支持传输速率 :10M/100M/1000Mb/s ,其对应 clk 信号分别 2.5MHz/25MHz/125MHz。且:工作时钟 为125MHz时,在上升沿和下降沿同时传输数据。因此传输速率可达 1000Mbps。(125 * 2 * 4=1000)
1 Gbps:125 MHz时钟频率,双沿传播(DDR),4位数据总线,125 MHz时钟频率 x 2 双沿传播 x 8位数据总线 = 1 Gbps。
100 Mbps:25 MHz时钟频率,单沿传播(SDR),4位数据总线,25 MHz时钟频率 x 4位数据总线=100 Mbps。
10 Mbps:2.5 MHz时钟频率,单沿传播(SDR),4位数据总线, 2.5 MHz时钟频率 x 4位数据总线=10 Mbps。

2、GMII
而上面提到的GMII为8位位宽,同样支持传输速率 :10M/100M/1000Mb/s,其对应 clk 信号分别 2.5MHz/25MHz/125MHz。只有单沿传输
1 Gbps:125 MHz时钟频率 x 8位数据总线 = 1 Gbps
100 Mbps:25 MHz时钟频率 x 8位数据总线(通过内部处理确保100 Mbps)
10 Mbps:2.5 MHz时钟频率 x 8位数据总线(通过内部处理确保10 Mbps)

三、什么是PHY?

1.以太网通信中,PHY 通常指的是以太网物理层芯片或模块,通常包含用于发送和接收数据的电路,并提供诸如自动协商速率、双工模式、信号损耗补偿等功能。PHY 是实现以太网通信的重要组成部分,通常与 MAC层配合使用,MAC 负责管理数据包的传输和访问控制。

PHY有两个功能:
1.实现模拟信号与数字信号之间的转换
2.实现两个以太网设备的自协商
在这里插入图片描述

在这里插入图片描述

三、PHY芯片介绍

这里以正点原子:YT8511C/H芯片为例进行介绍 :
芯片原理图:
在这里插入图片描述
图中左下角的一些信息(例如PHY address 、电压值等都是从厂商提供的芯片手册里得到的)

此外还接触过另一款PHY芯片:VSC8601KN
在这里插入图片描述

不同的PHY芯片会因为生产厂商不同在使用时有所差异,但有些部分是有共性的,如下

1.标准接口协议:

MII/GMII/RGMII/SGMII:这些是常见的以太网接口标准,用于FPGA和PHY芯片之间的数据传输。虽然具体的接口类型可能不同,但它们遵循IEEE 802.3标准,具有一致的信号定义和时序要求。

MDIO/MDC接口:用于管理数据输入/输出(MDIO)和管理数据时钟(MDC)的接口,用于配置和控制PHY芯片。这个接口遵循IEEE 802.3目前接触到的两款PHY芯片都遵循的该协议)的Clause 22或Clause 45标准,广泛用于读取和写入PHY寄存器。

  • MDIO是一条双向串行总线,用于传输管理数据;
  • MDC是一条单向时钟信号,用于同步MDIO数据传输。
    在这里插入图片描述
    在这里插入图片描述

2.寄存器配置:

基本寄存器集:PHY芯片通常具有一组标准的寄存器,用于基本配置和状态监控。例如,控制寄存器、状态寄存器、PHY ID寄存器和自动协商寄存器等。这些寄存器的定义和功能在不同厂商的PHY芯片中基本一致。这里以IEEE 802.3标准为例
在这里插入图片描述
扩展寄存器集:除了基本寄存器,PHY芯片还可能具有厂商特定的扩展寄存器集,用于高级功能配置。

3.自动协商:

自动协商功能:PHY芯片通常支持自动协商功能,可以自动检测和配置链路速度(10 Mbps、100 Mbps、1 Gbps)和双工模式(全双工、半双工)。这一功能通过寄存器配置进行控制,并通过状态寄存器报告结果。

4.链路检测:

链路状态指示:PHY芯片具有链路状态指示功能,用于检测和报告物理连接的状态。这通常通过状态寄存器中的位指示,并可以通过FPGA读取来判断链路是否正常。

5.复位与电源管理:

复位机制:PHY芯片通常具有复位引脚和复位寄存器,用于硬件和软件复位操作。复位后,PHY芯片会重新初始化其内部状态。

电源管理:许多PHY芯片支持低功耗模式和电源管理特性,以减少功耗。这些模式可以通过寄存器配置进行控制。

6.中断与状态报告:

中断输出:PHY芯片通常具有中断引脚,用于向FPGA报告特定事件(如链路状态变化、速度变化等)。FPGA可以通过中断处理逻辑来响应这些事件。

状态报告:PHY芯片通过寄存器提供详细的状态报告,FPGA可以定期读取这些寄存器以获取PHY芯片的运行状态和诊断信息。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux(简单概述)

目录 第一章 初识Linux 第四章 文件管理与常用命令 1.文件基础知识 2.文件显示命令 3.文件内容查询 4. 文件和目录基本操作 5. 文件复制、移动、删除 7. 链接 8. 文件访问权限 9. 文件查找命令 10. 压缩和解压缩 第五章用户与用户组 第六章软件包管理RPM和YUM数据库…

数据结构-线性表的链式表示

目录 前言一、线性表的链式表示和实现1.1 线性表的表示1.2 基本操作的实现1.3 线性表的链式表示的优缺点 总结 前言 本篇文章主要介绍线性表的链式表示 一、线性表的链式表示和实现 1.1 线性表的表示 线性表的链式表示又称为链式存储结构或链式映像 链式存储定义&#xff1…

hypernetwork在SD中是怎么工作的

大家在stable diffusion webUI中可能看到过hypernetwork这个词,那么hypernetwork到底是做什么用的呢? 简单点说,hypernetwork模型是用于修改样式的小型神经网络。 什么是 Stable Diffusion 中的hypernetwork? Hypernetwork 是由…

Linux:RAID磁盘阵列

目录 一、RAID(磁盘阵列) 1.1、概念 1.2、RAID 0(条带化存储) 1.3、RAID 1(镜像存储) 1.4、RAID 5 1.5、RAID 6 1.6、RAID 10 (先做镜像,再做条带) 二、创建RAID 2.1、建立RAID 0 …

视频录制软件哪个好用?5款简单好用软件推荐

在我们的日常生活中,都有哪些好用的视频录制软件?在很多场合中我们都会用电脑记录下重要的时刻。比如,在电脑上听老师讲解一道难题的方法时,怕自己会忘记,想要录制下来进行重复的观看。这时,选择一款好用的…

Qt添加Dialog对话框

Qt版本:5.12.12 1.添加【模块】 Base class:可以选择QDialog、QWidget、QMainWindow 会自动生成MyDialog.h和MyDialog.cpp文件以及MyDialog.ui文件, 2.添加代码: (1)TestDialog.h #pragma once#include…

【Matlab 六自由度机器人】机器人动力学之推导拉格朗日方程(附MATLAB机器人动力学拉格朗日方程推导代码)

【Matlab 六自由度机器人】机器人动力学概述 近期更新前言正文一、拉格朗日方程的推导1. 单自由度系统2. 单连杆机械臂系统3. 双连杆机械臂系统 二、MATLAB实例推导1. 机器人模型的建立2. 动力学代码 总结参考文献 近期更新 【汇总】 【Matlab 六自由度机器人】系列文章汇总 …

【代码】python实现一个BP神经网络-原理讲解与代码展示

​ 本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、BP神经网络原理回顾1.1 BP神经网络的结构简单回顾1.2.BP神经网络的训练算法流程 二、python实现BP神经网络代码2.1.数据介绍2.2.pytorch实现BP神经网络代码 在python中要如何使用代码实现一个BP神经网络呢…

excel实现下拉筛选(超简单)

excel实现下拉筛选 引言1、需求:预警状态下的列 实现下拉筛选2、实现2.1、数据验证2.2、下拉筛选内容2.3、去掉预警状态单元格的下拉筛选 引言 通常,我们会单独新建一张sheet表 专门存每个列的下拉内容。下面我将专门建立一张名为代码表的sheet表来存放…

Nginx调度器

Nginx反向代理 反向代理架构 部署后端Web1服务器 部署后端Web2服务器 配置Nginx服务器,添加服务器池,实现反向代理功能 proxy主机安装nginx 修改/usr/local/nginx/conf/nginx.conf配置文件 重新加载配置 客户端使用火狐浏览器或curl多次访问p…

阿尔兹海默症-图像分类数据集

阿尔兹海默症-图像分类数据集 数据集: 链接:https://pan.baidu.com/s/1gSUT74XrnHmg2Z11oZNd6A?pwdwphh 提取码:wphh 数据集信息介绍: 文件夹 健康 中的图片数量: 8000 文件夹 早期轻度认知障碍 中的图片数量: 10000 文件夹 …

https基础概念

目录 1.什么是https 1.1.https概念 1.2.一些术语 2.https如何加密 2.1.使用对称加密 2.2.使用非对称加密 1.什么是https 首先,https不是http的复数形式 1.1.https概念 (1)产生背景 为什么会出现https,是因为http协议在传…

Java 面试笔记 | Java 基础:线程池

前言 在日常的工作学习生活中,用一种好的方法去学习,可以更加有效,比如费曼学习法:将学到的知识用自己的组织的语言表达出来,如果能够清晰明白的向别人解释清楚,那么就说明你是真的懂了,学会了…

DataStructure.包装类简单认识泛型

包装类&简单认识泛型 【本节目标】1 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱 2 什么是泛型3 引出泛型3.1 语法 4 泛型类的使用4.1 语法4.2 示例4.3 类型推导(Type Inference) 5. 裸类型(Raw Type) (了解)5.1 说明…

C++初学者指南-2.输入和输出---文件输入和输出

C初学者指南-2.输入和输出—文件输入和输出 文章目录 C初学者指南-2.输入和输出---文件输入和输出1.写文本文件2.读文本文件3.打开关闭文件4.文件打开的模式 1.写文本文件 使用&#xff1a; std::ofstream&#xff08;输出文件流&#xff09; #include <fstream> // 文…

昂科烧录器支持KIOXIA铠侠的可编程只读存储器TH58NVG4S0HTAK0

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中KIOXIA铠侠的电可擦除可编程只读存储器TH58NVG4S0HTAK0已经被昂科的通用烧录平台AP8000所支持。 TH58NVG4S0HTAK0是一个单一的3.3V 16Gbit&#xff08;18253611008位&#xff…

如何在Paperspace中使用 H100 单 GPU 和多 GPU 机器

本文将介绍如何在 DigitalOcean 的 Paperspace 平台上运行 NVIDIA H100 单卡 GPU 和 8 卡 GPU 。使用低成本的 GPU 云服务构建和扩展你的人工智能模型&#xff0c;即刻简化并加速你的机器学习工作。 如果需要了解 DigitalOcean 的 H100 GPU 云主机&#xff0c;请查看我们在 Dig…

【PA交易】BackTrader: 讨论下分析器和评测指标

前言 BackTrader的分析器主要使用的是analyzers模块&#xff0c;我们可以从Analyzers - Backtrader找到一个非常简单的示例。这个示例中使用方式很简单&#xff0c;其他分析器也可以通过如此简单封装方式进行装载。如果仅是复制粘贴官方教程&#xff0c;完全是制造互联网垃圾…

【前后端实现】AHP权重计算

AHP权重计算&#xff1a; 需求&#xff1a;前端记录矩阵维度、上三角值&#xff0c;后端构建比较矩阵、计算权重值并将结果返回给前端 比较矩阵构建 如果你想要根据上三角&#xff08;不包括对角线&#xff09;的值来构建对称矩阵&#xff0c;那么你可以稍作修改上述的generate…

Kivy tutorial 004: Making the GUI do stuff, binding to events

Kivy tutorial 004: Making the GUI do stuff, binding to events – Kivy Blog Central themes: Events and Kivy properties 中心主题&#xff1a;事件和kivy属性 We left the last tutorial with a calculator app GUI with some nice automatic behaviour, but which doe…