Linux设备之网络驱动介绍

 更新时间:2021年12月29日 14:10:41   作者:夜星辰2022  
大家好,本篇文章主要讲的是Linux设备之网络驱动介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

有线网络:以太网
无线网络:4G、wifi、蓝牙、5G

在这里插入图片描述

总结:内部MAC + 外部PHY + RJ45 座(内置网络变压器)就组成了一个完整的嵌入式网络接口硬件。

内部的 MAC 外设会通过 MII 或者 RMII 接口来连接外部的 PHY 芯片, MII/RMII 接口用来传输网络数据。另外主控需要配置或读取 PHY 芯片,也就是读写 PHY 的内部寄存器,所以还需要一个控制接口,叫做 MIDO, MDIO 很类似 IIC,也是两根线,一根数据线叫做 MDIO,一根时钟线叫做 MDC。

在这里插入图片描述

(1)数据链路层 MAC 是 Media Access Control 的缩写,即媒体访问控制子层协议。该协议位于 OSI 七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。在发送数据的时候,MAC 协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC 协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至 LLC 层。以太网 MAC 由 IEEE-802.3 以太网标准定义。

(2)物理层 PHY 是物理接口收发器,它实现物理层。包括 MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA(物理介质附加)子层、 PMD(物理介质相关)子层、MDI 子层。

(3)MII 全称是 Media Independent Interface 即媒体独立接口 , “媒体独立”表明在不对 MAC 硬件重新设计或替换的情况下,任何类型的 PHY 设备都可以正常工作。包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的 数据、时钟和控制信号。MII 数据接口总共需要 16 个信号,包括 TX_ER,TXD<3:0>,TX_EN,TX_CLK,COL,RXD,RX_EX,RX_CLK,CRS,RX_DV 等。

(4)RMII 全称是 Reduced Media Independent Interface 翻译过来就是精简的介质独立接口,也就是 MII 接口的精简版本。RMII 接口只需要 7 根数据线,相比 MII 直接减少了 9 根,极大的方便了板子布线。一般要求是 50 兆的总线时钟和 MII 一样,RMII 支持 10 兆和 100 兆的总线接口速度

(5)GMII 是千兆网的 MII 接口,这个也有相应的 RGMII 接口,表示简化了的 GMII 接口。GMII 采用 8 位接口数据,工作时钟 125MHz,因此传输速率可达 1000Mbps 。同时兼容 MII 所规定的 10/100 Mbps 工作方式。

(6)MDIO 接口
MDIO 全称是 Management Data Input/Output,直译过来就是管理数据输入输出接口,是一个简单的两线串行接口,一根 MDIO 数据线,一根 MDC 时钟线。驱动程序可以通过 MDIO 和MDC 这两根线访问 PHY 芯片的任意一个寄存器。 MDIO 接口支持多达 32 个 PHY。 同一时刻内只能对一个 PHY 进行操作,那么如何区分这 32 个 PHY 芯片呢?和 IIC 一样,使用器件地址即可。同一 MDIO 接口下的所有 PHY 芯片,其器件地址不能冲突,必须保证唯一,具体器件地址值要查阅相应的 PHY 数据手册。

因此, MAC 和外部 PHY 芯片进行连接的时候主要是 MII/RMII 和 MDIO 接口,另外可能还需要复位、中断等其他引脚。

附录:

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

到此这篇关于Linux设备之网络驱动介绍的文章就介绍到这了,更多相关Linux网络驱动内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux解决Unknown filesystem问题

    Linux解决Unknown filesystem问题

    当Linux系统出现「Unknown filesystem」错误,通常是GRUB引导问题,首先在GRUB命令行输入ls查看信息,记录返回的分区信息,使用PE系统,如「微PE」,并利用「显示隐藏分区」工具查看所有分区,在文件资源管理器中找到「boot」文件夹所在的分区
    2024-10-10
  • CentOS搭建PHP服务器环境简明教程

    CentOS搭建PHP服务器环境简明教程

    这篇文章主要介绍了CentOS搭建PHP服务器环境的方法,简单讲述了CentOS平台安装Apache、mysql、php环境及相关测试代码,非常简单实用,需要的朋友可以参考下
    2018-03-03
  • lftp 贴心好友 备份服务器bash脚本

    lftp 贴心好友 备份服务器bash脚本

    作为linux系统管理员,经常需要同时管理多台机器 备份各机器的配置文件就要靠脚本了,简单明了
    2009-09-09
  • centos 7 源码安装openssh的方法

    centos 7 源码安装openssh的方法

    这篇文章主要介绍了centos 7 源码安装openssh的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Linux下查看压缩文件内容的10种方法(小结)

    Linux下查看压缩文件内容的10种方法(小结)

    这篇文章主要介绍了Linux下查看压缩文件内容的10种方法(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • linux下php加装mssql模块的方法

    linux下php加装mssql模块的方法

    在linux 下的php连接mssql,就需要安装第三方的freetds了。需要的朋友可以参考下。
    2011-05-05
  • 利用rsync自动备份 完全配置方法 增加了ip限制

    利用rsync自动备份 完全配置方法 增加了ip限制

    利用rsync自动备份 完全配置,一些细节也做到了,对于比较熟悉rsync的朋友应用,限制了ip相对来说安全增加了。
    2009-09-09
  • 一文教你如何快速排查Windows和Linux系统是否被黑

    一文教你如何快速排查Windows和Linux系统是否被黑

    这篇文章主要为大家详细介绍了如何实现快速排查Windows和Linux系统是否被黑,文中通过图文进行了详细介绍,需要的小伙伴可以参考一下
    2023-08-08
  • 详细解读linux下swap分区的作用

    详细解读linux下swap分区的作用

    这篇文章主要介绍了详细解读linux下swap分区的作用,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 详解linux下mnt目录作用

    详解linux下mnt目录作用

    本篇文章主要介绍了linux下mnt目录作用,详细的介绍了Mount命令,具有一定的参考价值,有兴趣的可以了解一下。
    2016-12-12

最新评论