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网络驱动内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决hadoop启动报错ERROR: Attempting to operate on hdfs namenode as root的方法

    解决hadoop启动报错ERROR: Attempting to operate 

    这篇文章主要介绍了解决hadoop启动报错ERROR: Attempting to operate on hdfs namenode as root的方法,hadoop-3.1.0启动hadoop集群时还有可能可能会报如下错误,需要的朋友可以参考下
    2023-03-03
  • VirtualBox 错误:This kernel requires the following features not present on the CPU

    VirtualBox 错误:This kernel requires the following features no

    这篇文章主要介绍了VirtualBox 错误:This kernel requires the following features not present on the CPU的相关资料,希望通过本文能帮助到大家,解决这样的问题,需要的朋友可以参考下
    2017-10-10
  • linux环境下恢复rm误删的文件方法

    linux环境下恢复rm误删的文件方法

    大家好,本篇文章主要讲的是linux环境下恢复rm误删的文件方法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦
    2021-11-11
  • 开发、运维不可不看的Linux调测工具【推荐】

    开发、运维不可不看的Linux调测工具【推荐】

    这篇文章主要介绍了开发、运维不可不看的Linux调测工具,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • 在linux中设置tomcat开机自启动的方法

    在linux中设置tomcat开机自启动的方法

    由于各种各样的原因,服务器有重启的可能,这样tomcat就需要配置成开机自动启动,否则每次重启后就需要连远程手动启动tomcat,如果服务器被迫重启,而技术人员又不能及时运行tomcat,那么后果很严重,所以本文给大家介绍了在linux中设置tomcat开机自启动的方法
    2024-02-02
  • ubuntu服务器上快速部署docker的方法

    ubuntu服务器上快速部署docker的方法

    本篇文章主要介绍了ubuntu服务器上快速部署docker的方法,非常具有实用价值,需要的朋友可以参考下
    2017-07-07
  • linux如何无损调整分区大小

    linux如何无损调整分区大小

    本篇文章主要介绍了linux如何无损调整分区大小,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 详解Linux添加/删除用户和用户组

    详解Linux添加/删除用户和用户组

    本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数。具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-10-10
  • SELinux 入门详解

    SELinux 入门详解

    这篇文章主要介绍了SELinux 入门详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Apache Calcite 实现方言转换的代码

    Apache Calcite 实现方言转换的代码

    这篇文章主要介绍了Apache Calcite 实现方言转换的代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04

最新评论