PHY模块简介

物理层位于OSI最底层,物理层协议定义电气信号、线的状态、时钟要求、数据编码和数据传输用的连接器。 物理层的器件称为PHY。

上图里的灰色方框图里的就是PHY芯片内部模块图。 MAC器件通过MII接口来与PHY进行数据交换。 从图中可以看到向外发送数据和从外部接收数据时PHY所要做的一些工作。 可以简单理解成:

  • 向外部发送数据时, MAC通过MII向PHY传送数据, 这些数据通过编码等处理, 最后再转成模拟信号发送出去。
  • 从外部接收数据时,模拟信号先转成数字信号,再经过解码得到数据, 经过MII送到MAC。

PHY与MAC的通迅接口

PHY与MAC的通过MII(Media Independ Interface)来通迅, 其工作内容包括:

  • 数据接口, 有RX/TX两条独立的通道。
  • 管理接口, 由时钟信号和数据信号组成, 可以用来控制和监视PHY的工作。

在MII的基础上, 后来又有了:

  1. RMII(Reduced Media Independant Interface), 简化了MII, 比MII用的信号线更少。
  2. GMII(Gigabit Media Independent Interface), 即先兆的MII接口
  3. RGMII (Reduced Gigabit Media Independent Interface)

PHY与RJ45的连接

PHY上有大量模拟器件, MAC是全数字器件, 现在的IC技术已经可以将PHY和MAC集成在单芯片内。

在外部, PHY外部连接RJ45接口, 通常在PHY和RJ45之间放置一个1:1的隔离变压器(Transformer)作为绝缘模块, 有几个考虑:

    1. 芯片工作时产生的信号传送到很远的地方会有较大的直流分量损失
    2. 如果PHY和RJ45直连, 电磁感应和静电很容易造成芯片损坏
    3. 电网环境不同造成连接两端的0V电平不一致, 导致很大的电流会从电势高的设备流向电势低的设备。

以太网MAC功能和基本原理

作为以太网设备的一部分,MAC是数据链路层的一个子层。 MAC负责执行带冲突检测的载波侦听多路访问协议, 即CSMA/CD协议。 它完成以下功能:

  • 把数据封装成帧, 包括对帧进行界定, 实现帧同步, 对目的MAC地址和源MAC地址进行处理, 在与PHY发生传输错误时对帧进行处理。
  • 对PHY的控制。

物理层PHY 和 网络层MAC的更多相关文章

  1. 网络知识: 物理层PHY 和 网络层MAC

    PHY模块简介 物理层位于OSI最底层,物理层协议定义电气信号.线的状态.时钟要求.数据编码和数据传输用的连接器. 物理层的器件称为PHY. 上图里的灰色方框图里的就是PHY芯片内部模块图. MAC器 ...

  2. W7500P硬件TCP/IP+硬件物理层PHY+Cortex-M0处理器(48MHZ)

    W7500P 硬件TCP/IP+硬件物理层PHY+Cortex-M0处理器(48MHZ) 硬件TCP/IP+硬件物理层PHY+Cortex-M0处理器(48MHZ) 如果您发现商品信息不准确,欢迎纠错 ...

  3. 第05节-BLE协议物理层(PHY)

    对于软件的人来说,物理层关注的内容会少一点.在前面的博客中,我们以快递员类比物理层,对于快递员来说,道路千万条,这条不通换另外一条.对于物理层来说也是一样的,它有很多频率,这个频率有冲突了,将会切到另 ...

  4. linux网卡驱动移植

    这里重要的是物理层PHY receiver,MAC(media access control)层,这里与软件中的协议栈不同,在硬件上MAC是PHY的下一层.DM9000A将MAC和PHY做到一起,也可 ...

  5. mdio rgmii mac phy简单了解

    MDIO(Management Data Input/Output),对G比特以太网而言,串行通信总线称为管理数据输入输出 (MDIO). 该总线由IEEE通过以太网标准IEEE 802.3的若干条款 ...

  6. [Eth]Mac/Phy/mdio/Rgmii

    转自:http://www.cnblogs.com/zxc2man/p/3769777.html 1. MDIO(Management Data Input/Output),对G比特以太网而言,串行通 ...

  7. 网口扫盲二:Mac与Phy组成原理的简单分析(转)

    1. general 下图是网口结构简图.网口由CPU.MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中. 对于上述的三部分 ...

  8. Ethenet: MAC PHY MII RMII

    https://www.cnblogs.com/liangxiaofeng/p/3874866.html 1. general 下图是网口结构简图.网口由CPU.MAC和PHY三部分组成.DMA控制器 ...

  9. 005 媒体访问控制(MAC,Media Access Control)

    一,MAC MAC是媒体访问控制器.以太网MAC由IEEE-802.3以太网标准定义.它实现了数据链路层.最新的MAC同时支持10/100/1000Mbps速率.通常情况下,它实现MII/GMII/R ...

随机推荐

  1. JAVA访问控制修饰符

    1.public和private private修饰的成员变量和方法仅仅只能在本类中调用:  public修饰的成员变量和方法可以在任何地方调用. public修饰的内容是对外提供可以被调用的功能,需 ...

  2. linux磁盘大小获取和文件大小获取

    一.获取磁盘大小(给入的是文件夹绝对路径):check_disk_available(QString path) { struct statfs diskinfo; unsigned long lon ...

  3. domain logic approaches

    领域逻辑组织可以分为三种主要的模式:事务脚本(Transaction Script).领域模型(Domain Model)和表模块(Table Module)” 1.domain logic appr ...

  4. 添加一个Button按钮

    #增加一个Button 1. 在layout下的xml中添加 <Button android:id="@+id/button1" android:layout_width=& ...

  5. mysql.user表详解

    GRANT语法:     GRANT 权限 ON 数据库.* TO 用户名@'登录主机' IDENTIFIED BY '密码'  权限:  ALL,ALTER,CREATE,DROP,SELECT,U ...

  6. VisualStudioCode中用dotnet命令创建多个ASP.NET Core 项目、类库、控制台程序,并添加应用间的引用

    一.准备工作 首先安装VisualStudioCode并且可以使用. 1.首先新创建空的MyApps文件夹,作为项目主目录,下面将在这个文件夹中创建多个web应用程序.类型.控制台程序等. 2.打开V ...

  7. 04.常量变量和数据类型(const)

    1.关键字 2.数据类型 告诉编译器定义一个类型变量的空间! 3.常量 4.变量 在程序运行过程中,值可以改变 变量在使用前必须先定义,定义变量前必须有相应的数据类型 标识符命名规则: (1).标识符 ...

  8. 用jquery获取A标签href参数

    <a href="echo.php?id=14">提交</a> 取href中的id值14 <script> $(function () { $( ...

  9. Java8(1)之Lambda表达式初步与函数式接口

    Lambda表达式初步 介绍 什么是Lambda表达式? 在如 Lisp.Python.Ruby 编程语言中,Lambda 是一个用于表示匿名函数或闭包的运算符 为何需要lambda表达式? 在 Ja ...

  10. Lintcode: Nuts & Bolts Problem

    Given a set of n nuts of different sizes and n bolts of different sizes. There is a one-one mapping ...