一文搞懂交换机 MAC PHY 网络变压器!

2024-04-12 13:52

本文主要是介绍一文搞懂交换机 MAC PHY 网络变压器!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

21.交换机 MAC PHY 网络变压器

1.交换机

没有IP路由功能、仅处理数据链路层的交换机叫做二层交换机。

带有IP路由功能的交换机叫做三层交换机。

交换机与路由器的区别:

1.工作层次不同 交换机主要工作在数据链路层(第二层)       路由器工作在网络层(第三层)

2.转发依据不同:交换机转发对象:MAC地址。(物理地址)路由转发对象:IP地址。(网络地址)

3.主要功能不同:交换机主要用于组建局域网,连接同属于一个子网的所有设备,负责子网内部通信(广播)。路由主要功能是将由交换机组好的局域网相互连接起来,或者将他们接入Internet

交换机能做的,路由都能做。路由可以分割广播域(子网),可以提供防火墙功能。交换机不可以。

2.MAC PHY

MAC控制器、PHY芯片、网络变压器和R45接头,有的系统会有DMA控制。

一般系统中CPU和MAC以及DMA控制器都是集成在一块芯片上的,PHY包含大量模拟器件,而MAC是典型的数字电路,MAC集成进CPU而将PHY留在片外。为了节省空间简化设计,很多时候网口的变压器和R45的接头集成在一起。

3.PHY

以太网收发物理层接口收发器。STA(管理实体,⼀般为 MAC 或 CPU)通过 MII对 PHY 的⾏为、状态进⾏管理和控制,⽽具体管理和控制动作是通过读写PHY内部的寄存器实现的。

作用:

PHY的主要功能是将数字信号转成模拟信号,然后在网线或者光纤传输。因为模拟信号和数字信号的不同,因此,大部分的PHY都是单独做到一个芯片内的。

PHYMAC通过MII接口进行数据传递,对发送的数据进行编码,对接收的数据进行解码。

4.MAC

MAC(Media Access Control) 即媒体访问控制层协议。MAC 由硬件控制器及 MAC 通信协议构成。主要负责控制与连接物理层的物理介质。位于OSI 七层协议中数据链路层。

作用:

1)封装网络层的数据,将数据封装为帧,实现帧同步对目标MAC地址和源MAC地址进行处理,对PHY传输错误时进行校准。

2)控制PHY芯片

⼀般以太⽹ MAC 芯⽚的⼀端连接 PCI 总线,另⼀端连接 PHY 芯⽚上通过 MII 接⼝连接。

5.MIIRMIIGMIIRGMIISMII

MAC 层与 PHY 芯⽚之间的传输标准。

MDIO协议(SMI协议)

一个MDC时钟线,一个MDIO双向传输的数据线。MDIO是用来连接主设备和多个PHY设备,通过MDIO来传输数据。

简述

Pins

速率计算

MII

(Medium Independent Interface,媒体独立接口)、基本的100Mbps10Mbps接口、16根线

RXD[3:0]  TXD[3:0]

TX_ER发送数据错误提示信号

TX_EN发送控制引脚

RX_ER接收数据错误提示信号

RX_DV接收数据引脚

TX_CLK,RX_CLK,参考时钟

CRS载波侦测信号

COL冲突检测信号

(这两个引脚一般用在半双工的模式,一般用不着)

Clock=25MHz or 2.5MHz

数据位宽4bit(一个时钟周期传输4bit数据)

100Mbps=25MHz*4bit

10Mbps=2.5MHz*4bit

RMII

在MII基础上精简100Mbps/10Mbps接口;通过提升Clock频率保持与MII一样的速率;

TXD[1:0],RXD[1:0],

TX_EN,

RX_ER,

CLK_REF,

CRS_DV

Clock=50MHz

数据位宽2bit

100Mbps=50MHz*2bit

10Mbps是利用10个周期采样一次数据相当于10Mbps=50MHz/10*2bit

SMII

串行MII 100Mbps10Mbps接口;进一步提升Clock频率保持与MII一样的速率;

TXD[0]

RXD[0]

SYNC

CLK_ REFO

Clock=125MHz

数据位宽1bit

串行数据帧一帧=10bi数据(8bit data+2bit control)

计算有效带宽时,需要减去控制位100Mbps=125MHz*(8bit/10bit)

10Mbps是利用10个周期采样一次数据相当于10Mbps=12.5MHz*(8bit/10bit)

GMII

在MII接口基础上提升了数据位宽和Clock频率,成为1000Mbps接口,

TXD[7:0]

RXD[7:0]

TX_ER,TX_EN

RX_ER,RX_DV

GTX_CLK,RX_CLK,

CRS, COL

Clock=125MHz

数据位宽8bit

1000Mbps=125MHz*8bit

RGMII

GMII的简化版本

TXD[3:0]  RXD[3:0]

TX_EN(TXCTL)发送使能信号

RX_DV(RXCTL)接收数据有效信号

TX_CLK, RX_CLK,

CRS, COL

Clock=125MHz

数据位宽4bit(一个时钟周期里上升沿取TX\RX的0-3bit下降沿取TX\RX的4-7bit所以其实还是在一个时钟周期里卖取了8bit数据)

1000Mbps=125MHz*8bit

100Mbps=25MHz* 4

10Mbps=2.5MHz* 4

SGMII

串行GMII为了达到1000Mbps时钟频率提升

RXD[0]

TXD[0]

RX_CLK

Clock=1250MHz、数据位宽1bit

串行数据帧一帧=10bit数据(8bit data+2bit conol)

计算有效带宽时需要减去控制位 1000Mbps=1250MHz*(8bit/10bit)

6.络变压器

网络变压器一般由共模电感,中心抽头,变压器这三部分构成。

网络变压器有两种,一种共模电感在前面,(共模电感一>变压器),一种(变压器一>共模电感)。网络变压器中的变压器应数为1:1,即网络变压器为1:1传输交流信号。选共模电感在后面。

作用

信号传输:阻抗匹配(BobSmith电路),滤除共模干扰,增强信号,可传递更远距离

隔离隔离PHY端和RJ45端直流分量,隔离外部干扰,防雷击,耐2kV~3kV

耦合:外部设备为不同电平时,仅耦合交流信号,电平与PHY端一致,可保护PHY芯片

Bobsmith电路作用:浪涌防护;降低EMC测试辐射。

7.RJ45

RJ45 是布线系统中信息插座(即通信引出端)连接器的一种,连接器 由插头(接头、水晶头)和插座(模块)组成,RJ 是 Registered Jack 的缩写,意思是“注册的插座”。

在以太网中只使 用了 1、2、3、6 这四根线,其中 1、2 这组负责传输数据(TX+、 TX-),而 3、6 这组负责接收数据(RX+、RX-),另外四根线是备用的。

这篇关于一文搞懂交换机 MAC PHY 网络变压器!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897320

相关文章

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

一文带你搞懂Python中__init__.py到底是什么

《一文带你搞懂Python中__init__.py到底是什么》朋友们,今天我们来聊聊Python里一个低调却至关重要的文件——__init__.py,有些人可能听说过它是“包的标志”,也有人觉得它“没... 目录先搞懂 python 模块(module)Python 包(package)是啥?那么 __in

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML