当前位置: 首页 > news >正文

中山网站建设设计电脑打不开建设银行网站

中山网站建设设计,电脑打不开建设银行网站,我的网站被黑了,dephi 网站开发Linux Mii management/mdio子系统分析之一 总体概述 (转载)原文链接:https://blog.csdn.net/u014044624/article/details/123303099 从本章开始,我们介绍linux的mii management对应的mdio子模块,该模块主要用于管理phy…

Linux Mii management/mdio子系统分析之一 总体概述


(转载)原文链接:https://blog.csdn.net/u014044624/article/details/123303099

 

从本章开始,我们介绍linux的mii management对应的mdio子模块,该模块主要用于管理phy设备,实现phy device创建与phy driver的注册等功能。本系统主要涉及如下按如下几个篇章进行分析:

一、总线概述(介绍mdio驱动模型的简要逻辑模型)

二、mdio总线-设备-驱动模型分析

三、虚拟mii_bus模型分析(即fixed-mii_bus,主要的应用场景为2个cpu间网口通过rgmii/sgmii等直接相连,无需phy时,如何让net-device绑定一个逻辑phy-device)

 

设备间的逻辑关联图及抽象

如下图为cpu与mac、phy之间的逻辑关联图,针对mac与phy之间的连接,包括两部分:

  1. 通过mii/rgmii/sgmii/…与phy连接,进行数据的通信;
  2. 通过mdc/mdio与phy连接,实现对phy设备的控制命令的下发等功能

本次我们主要介绍mac与phy之间控制接口间的设备驱动模型(即mac通过mii management

控制phy设备的驱动模型),而针对netdevice子系统模块,此次暂不介绍,留待后续介绍。

 

      MII Management interface用于MAC层芯片控制和配置phy设备,而ieee 802.3中规定了phy device寄存器的额地址空间为5位,最多可定义32各寄存器,而ieee 802.3定义了地址为0-15这16个寄存器的功能,主要包括control、status、phy identifer、auto-neg相关等,而16-31由厂家自行定义。

 

结合我们之前介绍的i2c、spi、mmc子系统,我们可以针对上面的设备逻辑图进行如下的设备驱动模型的抽象:

  1. 针对mii management而言,应该抽象控制器对应的类型;
  2. 针对该控制器,需要提供访问phy的方法,包括读写方法
  3. 针对phy 设备,应该抽象出对应的设备类型;
  4. 针对phy设备的驱动,应该抽象出对应的phy设备驱动类型;
  5. 针对mdc/mdio,应该抽象出对应的总线类型。

 

而在linux的mdio子系统中,和上述我们的猜想类似,该子系统抽象的内容如下:

  1. 针对mii management,抽象为struct mii_bus;
  2. 针对phy设备,抽象为struct phy_device;
  3. 针对phy设备的驱动,抽象为struct phy_driver ;
  4. 为mdc/mdio定义了名为“mdio_bus”的总线类型。

 

 

 

MDIO设备驱动模型介绍

    在mdio子模块中,针对mii_bus、phy_device、phy_driver、mdio_bus而建立了对应的驱动模型,下面我们分析下该子系统的驱动模型。借助于设备-总线-驱动模型,实现将这几个数据结构关联起来,这些数据结构之间的关联说明如下:

  1. 借助于设备-总线-驱动模型,通过device_register、driver_register接口,即实现了phy_device、phy_driver注册至mdio bus行,并完成它们之间device与device_driver的关联;
  2. phy_device通过其drv指针,实现与phy_driver的关联与绑定(其实借助设备-总线-驱动模型的device、device_driver数据结构,也可以获取该phy_device对应的phy_driver,个人认为phy_device中的drv指针有点多余);
  3. mii_bus借助其成员phy_map,将所有连接至该mii management的phy device关联起来。

 

 

 

此处mdio 驱动模型的数据结构的抽象,该驱动模型与spi驱动模型、i2c驱动模型类似,但也有些区别:

  1. mii_bus总定义了phy_map,将所有连接至该mii management的phy device关联一起,而在spi模型中,是spi_device中定义指针指向所依附的spi_master(spi master和mii_bus的操作刚好相反);
  2. spi模型中定义了一个全局链表,将所有注册的spi master链接在一起,而mdio模型中并没有为mii_bus创建相应的全局链表;
  3. spi模型与mdio模型,均没有将spi master/mii_bus注册至spi_bus/mdio_bus中,这是与i2c模型的区别(i2c adapter是注册至i2c bus的)。
  4. mii_bus提供了read、write方法,用于和具体的phy device进行通信(主要是控制命令的交互)

 

    其实mdio子模块也是比较简单的,只涉及到寄存器的读写操作(借助mii_bus提供的方法),理解起来 也相对简单点。

本篇主要是简要介绍mdio驱动模型,让大家有一个感性印象,下一篇文章我们主要介绍mdio总线-设备-驱动模型。

http://www.yayakq.cn/news/900468/

相关文章:

  • php做网站的源码公司信用信息查询系统
  • 凡科网免费做网站三亚可以做什么兼职
  • 厦门建公司网站平面设计画册设计
  • 上海网站建设网页制建网电气有限公司
  • 免费做团购网站的软件好水母智能设计平台
  • 做网站找哪家wordpress会员模块
  • 信息化网站建设的请示上海app定制开发公司
  • 中山市区做网站公司网站设计策划书方案
  • 赤峰网站优化推广普通话ppt课件
  • 网站如何推广方式上海营销策划公司哪家好
  • 德宏北京网站建设Wordpress的htaccess在哪
  • 牡丹江哈尔滨网站建设动漫制作专业认知
  • 制作一个视频网站网站每年维护费用
  • 上海专业网站建设案例服装网站建设项目维护与评价书
  • 做网站需要会什么做网站目的
  • 做兼职去哪个网站wordpress顶部图像使用小工具
  • 温州建站软件网站初期建设该做什么
  • 代理网站哪个好景安网站备案幕布
  • 亚马逊在电子商务网站建设本地唐山网站建设
  • 广西建设银行行号查询网站建设银行官网登录
  • 公司网站建设的基本流程网络推广网络营销外包
  • 免费tickle网站wordpress修改首页
  • 新手适合在哪个平台开网店网站优化网站建设公司
  • 阿里巴巴国际站跨境电商平台荆州市网站建设
  • 网站 f型开个平台需要多少钱
  • 贵阳网站方舟网络最好湘潭高端网站建设
  • 天津网站优化推广方案产品营销型网站建设
  • asp.net网站开发教程下载广告公司排名
  • html5 公司网站wordpress自定义页面链接地址
  • 网站所属网络搜索引擎优化有哪些