一文搞懂交换机 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

相关文章

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

一文带你迅速搞懂路由器/交换机/光猫三者概念区别

《一文带你迅速搞懂路由器/交换机/光猫三者概念区别》讨论网络设备时,常提及路由器、交换机及光猫等词汇,日常生活、工作中,这些设备至关重要,居家上网、企业内部沟通乃至互联网冲浪皆无法脱离其影响力,本文将... 当谈论网络设备时,我们常常会听到路由器、交换机和光猫这几个名词。它们是构建现代网络基础设施的关键组成

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤