码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 以太网基础理论—MAC+PHY


    简介

    MAC (Medium Access Control),简称媒体访问控制。MAC层在OSI模型中是属于数据链路层,其主要任务是解决数据包发给谁。数据链路层包含MAC(介质访问控制)子层和LLC(逻辑链路控制)子层。
    PHY(physical),简称物理层,是一个对OSI模型物理层的简称。PHY包括两个接口三个子层:
    MII接口:媒体独立接口。PHY与MAC之间的通信方式,其中包括数据接口、管理接口。在MII的基础上,又发展了RMII(Reduced Media Independant Interface,简化了MII,比MII用的信号线更少)、GMII(Gigabit Media Independent Interface,即先兆的MII接口)、RGMII(Reduced Gigabit Media Independent Interface,及简化先兆的MII接口);
    MDI接口:媒体相关接口;
    PCS子层:物理编码子层,负责编码;
    PMA子层:物理介质连接子层,进一步将PCS编码向各种媒介进行传送。完成串并、并串转化;
    PMD子层:物理介质相关子层,完成物理连接;
    请添加图片描述

    MAC的功能

    1)封装网络层的数据,将数据封装为帧,实现帧同步对目标MAC地址和源MAC地址进行处理,对PHY传输错误时进行校准。MAC帧的数据部分只有一个字段,其长度;
    2)控制PHY芯片;

    PHY的功能

    1)通过MII接受MAC的数据,并对数据进行进一步编码;
    2)数字信号转化为模拟信号;

    MAC和PHY的结构简图

    在这里插入图片描述
    一般的链路层和物理层实现方式有以下几种:
    1)CPU集成MAC和PHY
    2)CPU集成MAC,PHY采用外部芯片实现
    3)CPU不集成MAC和PHY,MAC和PHY都通过外部芯片实现
    一般采用的是第二种方法。

    PHY芯片

    PHY芯片的主要功能就是将数据再次编码,然后数字信号转化为电信号。PHY一般有32个寄存器,其中的前16个寄存器是根据802.3协议定义的,后面的16个寄存器是芯片制造商定义的功能寄存器。下图是RTL8211FD芯片的系统框图:
    请添加图片描述
    **驱动PHY芯片的驱动其实就是调用MAC控制器,通过SMI接口控制PHY芯片。在做协议适配的时候,主要就是通过MAC控制器与PHY芯片通信,来完成数据的控制。**详细的适配过程,可以参考和学习LWIP适配的详细讲解。

    参考

    图解通信原理(以太网通信及物理层工作原理)
    以太网PHY芯片的趋势与测试验证&DPU架构及系统测试解决方案
    网卡及MAC和PHY的区别
    网卡的基本组成结构和工作原理
    网络知识: 物理层PHY 和 网络层MAC
    网口扫盲二:Mac与Phy组成原理的简单分析
    MAC和PHY基本组成与工作原理简析
    4B/5B编码

  • 相关阅读:
    利用STM32 HAL库实现USART串口通信,并通过printf重定向输出“Hello World“
    Android集成高德Flutter地图(一)基础地图显示
    centos8环境源码编译安装pg15
    简单中继实验
    骑行耳机推荐,骑行最适合佩戴的几款运动耳机推荐
    C 学生管理系统_分析
    MyBatis-Plus(一)
    基于JAVA旅游信息网站计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    组播基本概念讲解
    什么是 SMB 服务器以及它如何工作?
  • 原文地址:https://blog.csdn.net/qq_43460106/article/details/127589078
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号