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

福清市建设局官方网站网站图片 原则

福清市建设局官方网站,网站图片 原则,wordpress个人模板,备案名称和网站名称不一致一、前言 实际项目开发中#xff0c;由于设计原因#xff0c;会将phy的mdio引脚连接到SoC的2个空闲gpio上#xff0c; 这样就无法通过Gmac自有的架构实现修改phy#xff0c; 因此只能通过GPIO模拟的方式实现MDIO#xff0c; 好在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-xxxxxphy芯片 yt8521phy连接到 gmac0mdio总线连接到 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 接口的读写通信协议如下图所示 ​ Preamble 32 位前导码由 MAC 端发送 32 位逻辑“1”用于同步 PHY 芯片。 STStart of Frame 2 位帧开始信号用 01 表示。 OPOperation Code 2 位操作码读10 写01。 PHYADPHY Address 5 位 PHY 地址用于表示与哪个 PHY 芯片通信因此一个 MAC 上可以连 接多个 PHY 芯片。 REGADRegister Address 5 位寄存器地址可以表示共 32 位寄存器。 TATurnaround 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 为无源驱动处于高阻状态但一般用上拉电阻使其上拉至高电平。 波形举例 向phy3 寄存器0x00 写入 数据0x41403、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 respectively2、模块图 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-phy7 {reg 0x7;yt,phy-delay 0xfc;phy-connection-type rgmii-id;};};gmac0 {status okay;phy-handle phy0;};由设备树可知 我们创建了1个独立的mdio设备节点当用命令mdio修改phy时就会根据gmac0的phy-handle找到mdio0节点从而调用mdio-gpio驱动模块来配置phy8521。 下图是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 uevent4、操作 修改eth0为百兆速率则设置Speed_Selection位为01同时自动协商为Autoneg_En要禁用即设置该寄存器值为0x2140 # mdio eth0 0x00 0x2140write phy addr: 0x3 reg: 0x0 value : 0x2140抓取波形如下
http://www.hkea.cn/news/14323898/

相关文章:

  • 百度收录最好的网站怎么建立
  • 网站建设炫彩图片空间站 对接
  • 做网站空间要多大网站建设需要会什么
  • 济南智能网站建设电话西安专业做网站建
  • 怎样用wordpress搭建网站wordpress的XML-RPC
  • 南通建公司网站阿里巴巴商标注册官网
  • 东莞企业做网站暴雪回归
  • 深圳做模板网站app开发公司软件开发公司
  • 客户管理系统网站网站 为何要 备案
  • 影响网站打开速度广西备案工信部网站
  • 做封面下载网站网站查询 工信部
  • 私人接做网站违法么搭建论坛网站使用的系统
  • 简单的企业小网站窝窝在线观看
  • 公众号做电影采集网站会被封网站开发管理制度
  • 建设银行官方网站登录free wordpress template
  • 对网站建设和维护好学吗1小时教你做出个人网页
  • 网站建设知乎国外互联网资讯网站
  • 外贸网站google推广企业网站的设计论文
  • 商务网站建设实践实训心得vi系统设计是什么
  • 网站充值 下模板五星级酒店网站建设
  • 学网页制作需要学什么徐州seo关键词排名
  • 深圳怎么做网站设计公司资质等级
  • 网站建设要规避的建设银行行号网站查询是什么意思
  • 广东省网站集约化建设通知网站被挂马原因
  • 网站建设南京公司网站建设 技术
  • 网站开发专业考啥证书wordpress扫码枪
  • 兼职网站学编程用什么笔记本电脑好
  • 网站模版html中国核工业二四建设有限公司实习安排在公司官方网站哪里看?
  • 网站开发 注意事项莱芜口镇规划
  • 网站建设方案封面网站定制排名