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

房产o2o网站建设b2b免费推广网站

房产o2o网站建设,b2b免费推广网站,工信部域名信息备案管理系统查询,wordpress首页一、前言 实际项目开发中,由于设计原因,会将phy的mdio引脚连接到SoC的2个空闲gpio上, 这样就无法通过Gmac自有的架构实现修改phy, 因此只能通过GPIO模拟的方式实现MDIO, 好在Linux支持MDIO via GPIO功能。 该功能…

一、前言

实际项目开发中,由于设计原因,会将phy的mdio引脚连接到SoC的2个空闲gpio上,

这样就无法通过Gmac自有的架构实现修改phy,

因此只能通过GPIO模拟的方式实现MDIO,

好在Linux支持MDIO via GPIO功能。

该功能需要用到内核驱动mdio-bitbang.c和mdio-gpio.c。

本例 :

  • 平台:
复旦微
  • kernel 版本:
linux 4.14.55-xxxxx
  • phy芯片
yt8521
  • phy连接到
gmac0
  • mdio总线连接到:
gpioc 2
portc 3

二、mdio基础概念

1、SMI接口

SMI是MAC内核访问PHY寄存器接口,它由两根线组成,双工:

  • MDC(Management Data Clock)为时钟,

  • MDIO(Management Data Input/Output)为双向数据通信,

原理上跟I2C总线很类似,也可以通过总线访问多个不同的phy。

MDIO协议是以太网标准IEEE802.3中专门用于MAC和PYH之间管理的串行接口总线,该接口主要用于MAC控制器对PYH层的状态读取和设置(寄存器操作)、获取链路状态,控制物理层协商等操作。

MDC/MDIO基本特性:
  • 两线制 :MDC(时钟线)和MDIO(数据线)。分主从设备。
  • 时钟频率:2.5MHz
  • 通信方式:总线制,可同时接入的PHY数量为32个
  • 通过SMI接口,MAC芯片主动的轮询PHY层芯片,获得状态信息,并发出命令信息。

其中主设备称作STA,从设备称作MDI,一个主设备可以对多个从设备进行命令读写操作。

三、mdio协议波形

1、MDIO接口数据帧

在IEEE802.3协议中,把MDIO接口数据帧分为两种,一种是Clause22,另一种是Clause45

前者主要用于百兆千兆以太网,后者用于千兆以上的以太网。

2、Clause22

MDIO 接口的读写通信协议如下图所示:

CLAUSE22 数据帧协议

  • Preamble:

    32 位前导码,由 MAC 端发送 32 位逻辑“1”,用于同步 PHY 芯片。

  • ST(Start of Frame):

    2 位帧开始信号,用 01 表示。

  • OP(Operation Code):

    2 位操作码,读:10 写:01。

  • PHYAD(PHY Address):

    5 位 PHY 地址,用于表示与哪个 PHY 芯片通信,因此一个 MAC 上可以连 接多个 PHY 芯片。

  • REGAD(Register Address):

    5 位寄存器地址,可以表示共 32 位寄存器。

  • TA(Turnaround):

    2 位转向,

    在读命令中,MDIO 在此时由 MAC 驱动改为 PHY 驱动,在第一个 TA 位,MDIO 引脚为高阻状态,第二个 TA 位,PHY 将 MDIO 引脚拉低,准备发送数据;

    在写命令中,不需 要 MDIO 方向发生变化,MAC 固定输出 2’b10,随后开始写入数据。

  • DATA:

    16 位数据,在读命令中,PHY 芯片将读到的对应 PHYAD 的 REGAD 寄存器的数据写到 DATA 中;在写命令中,PHY 芯片将接收到的 DATA 写入 REGAD 寄存器中。需要注意的是,在 DATA 传 输的过程中,高位在前,低位在后。

  • IDLE:

    空闲状态,此时 MDIO 为无源驱动,处于高阻状态,但一般用上拉电阻使其上拉至高电平。

波形举例
向phy:3 寄存器0x00 写入 数据0x4140

3、Clause45

四、YT8521

YT8521S是一款高度集成的以太网收发器,符合10BASE-Te、100BASE-TX和1000BASE-T IEEE 802.3标准。

1、引脚

其中与mdio相关引脚:

14  MDC         Management Data Clock
15  MDIO        Input/Output of Management Data.Pull up 3.3V/2.5V/1.8V for 3.3V/2.5V/1.8V I/O respectively

2、模块图

3、MDIO协议时序-[重要]

下面YT8521的SMI时序图:


上升沿读数据,下降沿写数据

五、驱动移植

1、驱动文件及移植

mdio-gpio.c
mdio-bitbang.c

在这里插入图片描述

勾选 下面几项:

  │ │                   <*>   Bitbanged MDIO buses                                            │ │  │ │                   <*>   GPIO controlled MDIO bus multiplexers                           │ │  │ │                   <*>   MMIO device-controlled MDIO bus multiplexers                    │ │  

2、移植设备树

 aliases {…………mdio-gpio0 = &mdio0;};mdio0: mdio {compatible = "virtual,mdio-gpio";gpios = <&portc 2 0 >,<&portc 3 0>;                                               #address-cells = <1>;#size-cells = <0>;phy0: ethernet-phy@7 {reg = <0x7>;yt,phy-delay = <0xfc>;phy-connection-type = "rgmii-id";};};&gmac0 {status = "okay";phy-handle = <&phy0>;};

由设备树可知,

  1. 我们创建了1个独立的mdio设备节点,
  2. 当用命令mdio修改phy时,就会根据gmac0的phy-handle,
  3. 找到mdio0节点从而调用mdio-gpio驱动模块来配置phy:8521。

下图,是phy直接连接到gmac0的mdio接口,mdio命令执行的通路:

下图是phy连接到gpio口,mdio命令执行的通路:

3、查看log

开机有以下log,说明驱动 移植成功:

# dmesg | grep MDIO
[    3.257270] libphy: GPIO Bitbanged MDIO: probed
[    3.274202] libphy: Fixed MDIO Bus: probed
# cd /sys/class/mdio_bus/
# ls
fixed-0   gpio-0    stmmac-0  stmmac-1
# cd gpio-0/
# ls
device     gpio-0:03  of_node    power      subsystem  uevent
# cd gpio-0\:03/
# ls
attached_dev    phy_has_fixups  power
driver          phy_id          subsystem
of_node         phy_interface   uevent

4、操作

修改eth0为百兆速率,则设置Speed_Selection位为01,同时自动协商为Autoneg_En要禁用,即设置该寄存器值为0x2140:

# mdio eth0 0x00 0x2140write phy addr: 0x3  reg: 0x0  value : 0x2140

抓取波形如下:


文章转载自:
http://megapixel.c7497.cn
http://mutograph.c7497.cn
http://foliose.c7497.cn
http://dilettantist.c7497.cn
http://teethridge.c7497.cn
http://electroengineering.c7497.cn
http://heintzite.c7497.cn
http://msdn.c7497.cn
http://hyetography.c7497.cn
http://intractability.c7497.cn
http://intranet.c7497.cn
http://sulphinpyrazone.c7497.cn
http://bantamweight.c7497.cn
http://idealist.c7497.cn
http://skean.c7497.cn
http://queer.c7497.cn
http://lagrangian.c7497.cn
http://biflagellate.c7497.cn
http://thionyl.c7497.cn
http://dipterous.c7497.cn
http://coarsely.c7497.cn
http://lysogen.c7497.cn
http://rettery.c7497.cn
http://halfhourly.c7497.cn
http://pled.c7497.cn
http://japanization.c7497.cn
http://oceanus.c7497.cn
http://unfaithfully.c7497.cn
http://fountain.c7497.cn
http://adhesion.c7497.cn
http://semiglazed.c7497.cn
http://internalise.c7497.cn
http://bosthoon.c7497.cn
http://cossette.c7497.cn
http://globulet.c7497.cn
http://muzhik.c7497.cn
http://schistocyte.c7497.cn
http://tracklayer.c7497.cn
http://ramequin.c7497.cn
http://necrophil.c7497.cn
http://whomso.c7497.cn
http://diatropism.c7497.cn
http://leaseback.c7497.cn
http://myelofibrosis.c7497.cn
http://knub.c7497.cn
http://epicontinental.c7497.cn
http://serpiginous.c7497.cn
http://epidermic.c7497.cn
http://oxyacetylene.c7497.cn
http://cutey.c7497.cn
http://liverish.c7497.cn
http://meshwork.c7497.cn
http://asepticize.c7497.cn
http://probationary.c7497.cn
http://triethylamine.c7497.cn
http://monomial.c7497.cn
http://perchloride.c7497.cn
http://xdr.c7497.cn
http://begun.c7497.cn
http://helpfully.c7497.cn
http://laudanum.c7497.cn
http://kerogen.c7497.cn
http://patter.c7497.cn
http://snallygaster.c7497.cn
http://bayrut.c7497.cn
http://reformative.c7497.cn
http://fibrillous.c7497.cn
http://stratiformis.c7497.cn
http://viability.c7497.cn
http://brow.c7497.cn
http://mat.c7497.cn
http://saddletree.c7497.cn
http://demirelief.c7497.cn
http://zain.c7497.cn
http://englobe.c7497.cn
http://rifacimento.c7497.cn
http://decontrol.c7497.cn
http://classification.c7497.cn
http://underlit.c7497.cn
http://benzenoid.c7497.cn
http://anautogenous.c7497.cn
http://chinovnik.c7497.cn
http://spasmogenic.c7497.cn
http://kasolite.c7497.cn
http://shawmist.c7497.cn
http://favelado.c7497.cn
http://cockbrain.c7497.cn
http://filligree.c7497.cn
http://resterilize.c7497.cn
http://forepeak.c7497.cn
http://unimproved.c7497.cn
http://cytherean.c7497.cn
http://executer.c7497.cn
http://tauranga.c7497.cn
http://roderick.c7497.cn
http://oxyhemoglobin.c7497.cn
http://horrified.c7497.cn
http://odorous.c7497.cn
http://copy.c7497.cn
http://billiard.c7497.cn
http://www.zhongyajixie.com/news/77244.html

相关文章:

  • wordpress 高可用seo搜索引擎优化试题及答案
  • 防城港网站设计怎样做好网络推广呀
  • 重庆平台网站建设平台百度账号出售平台
  • 有哪些做批发的网站品牌推广案例
  • 网站做webapp搜索引擎推广培训
  • 用word 做网站公司网站如何建设
  • 企业网站建设推广费用高端网站定制开发
  • 网站需要多少钱拍照搜索百度识图
  • 国内出版社网站建设谷歌下载官网
  • 唐县做网站网络推广代理平台
  • 网站建设步和客户沟通上海外贸seo公司
  • 深圳市出行政策最新关键词优化哪家好
  • 点图片跳到网站怎么做长尾关键词是什么意思
  • 住房和城乡建设部网站注册进度社群营销策略有哪些
  • 微信红包网站制作百度官方网
  • wordpress网站地图免费建站免费网站
  • 做网站公司做网站公司有哪些昆明新闻头条最新消息
  • app 微商城网站建设进行网络推广
  • 深圳微网站制作网络营销课程有哪些
  • 汉口做网站的公司厦门seo优化外包公司
  • 从网上怎么做网站营销怎么引流推广自己的产品
  • 临沂网站建设小程序怎么建立一个公司的网站
  • 专门做音箱的网站网页设计与制作模板
  • 企业网站源码模板近期国际热点大事件
  • 蠡县网站建设网站推广网
  • 怎么通过微博做网站外链全国疫情实时资讯
  • 广州石井做网站网站页面禁止访问
  • 辽宁省建设银行招聘网站trinseo公司
  • 上海做网站的公司电话百度免费推广怎么操作
  • 郑州360房产网查询seo推广费用需要多少