首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RGMII接口调试使用VIO读取PHY寄存器

也就是说,可以通过读取PHY芯片相应寄存器方法来看默认工作模式。...经验总结:遇到RGMII接口调试时,最关键是要查看PHY芯片型号,查阅PHY芯片手册,通过MDIO读取PHY芯片寄存器值,看RGMII接口上数据和时钟是否偏移2ns,再决定FPGA对应管脚约束是否进行偏移...用VIO方法读取或配置PHY芯片寄存器 在没有CPU情况下,对PHY芯片中寄存器在线读取最好办法使用VIO通过MDIO接口对PHY芯片中寄存器进行读取。...具体测试步骤为:通过VIO配置MDIO管理模块PHY地址、寄存器地址,然后选择操作读取某一PHY芯片寄存器值,结合PHY工作状态,判断该寄存器是否被正确读取。...由于执行操作时是采用先写入地址,在读取数据方式,因此只测试读操作就可以完整测试MDIO管理模块功能。以下是VIO对应调用代码。

4.5K21

Xilinx MPSoC以太网调试思路

MDIO是类似IIC总线,MAC提供时钟MDC,数据线MDIO是双向,既可以PHY寄存器,也可以写PHY寄存器。 !...PHY驱动代码是drivers\net\phy目录下phy.c,以及厂家相关代码,比如dp83867.c。 2.4. 设备树 UBoot/Linux驱动代码需要设备树提供一些参数。...检查MDIO 让软件发起PHY寄存器读写操作,检查MDC/MDIO是否有跳变及其信号质量。 3.2. 检查PHY 让软件PHYID等寄存器,对照手册,看寄存器值是否正确。...让软件PHY寄存器自协商结果寄存器,检查单板侧PHY自协商结果。 3.4. RGMII时钟 对RGMII而言,TX_Clk是MAC发出,RX_Clk是PHY发出。...Linux测试 在MAC自环和PHY自环测试成功后,可以在Linux测试以太网,比如可以检查Linux启动后,能否通过DHCP得到IP地址,能否成功ping其它主机。

3K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHY芯片快速深度理解

    Linux系统arm芯片想要网络,可以直接通过mac和网卡芯片连接获取,这时候就需要通过RGMII接口或者MII接口 和 MDIO 连接网卡芯片。...OP Code:2bits操作码,10表示,01表示写。PHYAD:5bitsPHY地址。REGAD:5bits寄存器地址,即要或写寄存器。...Data:16bits数据,在读命令中,PHY芯片将读到对应PHYADREGAD寄存器数据写到Data中,在写命令中,MAC将要写入对应PHYADREGAD寄存器值写入Data中。...也就是说不管你用哪个厂家 PHY 芯片,其中 0~15 这 16 个寄存器是一模一样。仅靠这 16 个寄存器是完全可以驱动起 PHY 芯片,至少能保证基本网络数据通信。...以上内容是海翎光电小编看了大量参考文献和一步步实践总结经验,通过实践,把每一层都走一遍,把变压器去掉,把phy去掉,linux系统网卡函数看了一遍,phy芯片手册有看了很多。

    63250

    PHY芯片快速深度理解

    Linux系统arm芯片想要网络,可以直接通过mac和网卡芯片连接获取,这时候就需要通过RGMII接口或者MII接口 和 MDIO 连接网卡芯片。...OP Code:2bits操作码,10表示,01表示写。PHYAD:5bitsPHY地址。REGAD:5bits寄存器地址,即要或写寄存器。...Data:16bits数据,在读命令中,PHY芯片将读到对应PHYADREGAD寄存器数据写到Data中,在写命令中,MAC将要写入对应PHYADREGAD寄存器值写入Data中。...也就是说不管你用哪个厂家 PHY 芯片,其中 0~15 这 16 个寄存器是一模一样。仅靠这 16 个寄存器是完全可以驱动起 PHY 芯片,至少能保证基本网络数据通信。...以上内容是海翎光电小编看了大量参考文献和一步步实践总结经验,通过实践,把每一层都走一遍,把变压器去掉,把phy去掉,linux系统网卡函数看了一遍,phy芯片手册有看了很多。

    54010

    【Android 逆向】代码调试器开发 ( ptrace 函数 | 寄存器 | 写寄存器 )

    文章目录 一、寄存器 二、写寄存器 一、寄存器 ---- 调用 ptrace(PTRACE_GETREGS, m_nPid, NULL, regs) 读取进程运行时寄存器 ; 读取寄存器时 , 进程必须处于...WUNTRACED 状态 , 否则就会出错 ; 参数一设置为 PTRACE_GETREGS , 代表本次操作是读取寄存器值 ; 完整代码 : int CPtrace::getRegister(REGS...PTRACE_GETREGS failed pid %d", m_nPid); return PTERR_GETREG_FAILED; } return PTERR_SUCCESS; } 二、写寄存器...---- 调用 ptrace(PTRACE_SETREGS, m_nPid, NULL, regs) 向进程运行时寄存器写入值 ; 写寄存器时 , 进程必须处于 WUNTRACED 状态 , 否则就会出错...; 参数一设置为 PTRACE_SETREGS, 代表本次操作是向寄存器写入值 ; int CPtrace::setRegister(const REGS* regs) { if (ptrace(PTRACE_SETREGS

    49100

    PHY】关于学习以太网PHY这件事情

    但一般来说,PHY功能是单独做到一个PHY芯片内部,集成了PHY网络设备芯片(CPU、交换机芯片等等)一般也有接口连接单独PHY。...图片    SMI(MDC/MDIO)接口    有很多PHY芯片有许多接口和功能,需要根据自己需求进行选择配置,配置方法就是配置PHY内部寄存器,而SMI接口就是PHY专门用于管理这些寄存器一个标准协议...现在一些简单PHY内部寄存器使用是802.3第22条款,只有32个寄存器,功能简单,比如一些千兆百兆PHY。...而一些复杂PHY使用是802.3第45条款,可以将寄存器扩展至65536个寄存器。   ...注:虽然对于PHY芯片寄存器有相关标准规定,但厂家有可能不按照标准设计,所以最好是查看对应芯片手册了解寄存器功能。

    2.2K30

    linux phy调试方法_php执行shell命令

    ,就强制执行自动协商(读取phy寄存器、并设置通讯速率、半双工或全双工模式、等) PHY_CHANGELINK, //9 当连接时,会换到PHY_RUNNING,当断网时,会切到PHY_NOLINK...phy_read(phydev, MII_BMSR); //读取phy状态寄存器 if ((status & BMSR_LSTATUS) == 0) //phy 链路状态 phydev->link...*/ int ctl = phy_read(phydev, MII_BMCR); //获取模式控制寄存器,详见该链接对该寄存器定义:https://wenku.baidu.com/view/b8704335ee06eff9aef807bd.html...标准寄存器定义 /* Generic MII registers. */ //控制寄存器 #define MII_BMCR 0x00 /* Basic mode control register...寄存器定义详见:https://wenku.baidu.com/view/b8704335ee06eff9aef807bd.html 第5页 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人

    2K30

    Network 之二 Ethernet(以太网)中 MAC、MII、PHY 详解

    在 Windows 及 Linux 里面可以用 arp -a 命令查看 ARP 表。...寄存器中各位详细说明如下: 100BASE-T4 ability: 当为逻辑1时,位1.15指示PHY有能力使用100BASE-T4信令规范执行链路发送和接收。...当为逻辑0时,位1.15表示PHY缺乏使用100BASE-T4信令规范执行链路发送和接收能力。...当为逻辑0时,位1.5指示自动协商过程尚未完成,并且扩展寄存器内容由自动协商协议的当前状态定义,或者为手动配置写入。 如果自动协商通过清除位0.12禁用,则PHY应在位1.5返回零值。...Auto-Negotiation ability: 当为逻辑1时,位1.3指示PHY有能力执行自动协商。 当为逻辑0时,位1.3指示PHY缺乏执行自动协商能力。

    7.4K22

    趣谈网络协议栈,以太网基础MAC和PHY

    管理帧格式:操作时序写操作时序报头: 每个读写均可通过报头字段启动,报头字段对应于MDIO线上32个连续逻辑“1”位以及MDC32个周期,该字段用于与PHY设备建立同步起始: 起始由模式定义操作...3.3 PHY基础知识简介PHY是IEEE 802.3规定一个标准模块,SOC可以通过MDIO对PHY进行配置或者读取phy相关状态,PHY内部寄存器必须满足PHY芯片寄存器地址空间是5位,一般由外部硬件连接决定...地址空间031共32个寄存器,IEEE定义了015这16个寄存器功能,16-31这16个寄存器由厂商自行实现。也就是说不管哪个厂商PHY芯片,其中0~15这16个寄存器是一模一样。...因此 Linux 内核有通用 PHY 驱动,按道理来讲,不管你使用是哪个厂家 PHY 芯片,都可以使用 Linux 这个通用 PHY 驱动来验证网络工作是否正常。...随着现在PHY芯片性能越来越强大,32个寄存器已经无法满足厂商需求,因此很多厂商采用了分页机制来开展寄存器地址空间,以求定义更多寄存器

    2K01

    Xilinx Ethernet MAC IP调试小坑

    本身MDIO接口时序也不是很难,非常类似I2C接口,内部寄存器读写控制都是通过MDIO接口来实现。在MDIO协议中,有一个PHY ADDR,这个是由PHY芯片硬件决定。...image-20211101195933529 XilinxIP也提供了mdio接口,我们可以直接通过配置IP内部寄存器来实现MDIO接口配置。...image-20211101201757328 其他寄存器时,有的可读可写,有的读出来都是0,但跟手册中就是不一样。...一直没有怀疑过PHY ADDR问题,因为有些寄存器是可读可写,就以为应该是通了。 只能重新看手册,把IP中需要填参数地方看了一下,当看到PHY ADDR时,发现是这么写。...再去PHY芯片寄存器,就跟手册中是一样了。

    87840

    汇编指令-MRS()和MSR(写)指令操作CPSR寄存器和SPSR寄存器使用(1)

    1.MSR和MRS指令介绍  MRS 指令:  对状态寄存器CPSR和SPSR进行操作。通过CPSR可以获得当前处理器工作状态。...SPSR寄存器可以获得进入异常前处理器状态(因为只有异常模式下有SPSR寄存器)。 MSR指令:    对状态寄存器CPSR和SPSR进行写操作。...与MRS配合使用,可以实现对CPSR或SPSR寄存器-修改-写操作,可以切换处理器模式、或者允许/禁止IRQ/FIQ中断等。...CPSR控制位、 4.使用MRS和MSR来设置2440位管理模式,实例: mrs r0,cpsr                          状态寄存器cpsr数据到r0中 bic  r0,r0...当特定异常中断发生时,这个寄存器用于存放当前程序状态寄存器内容。在异常中断退出时,可以用SPSR来恢复CPSR。

    3.4K50

    思科网络专家介绍以太网自协商机制专题五

    和10M/100M/1000M PHY寄存器结构有较大不同。...IEEE Clause 22 原理介绍 MDC/MDIO时序图介绍: 时序图: 写时序图: MDC/MDIO编码结构: PHY寄存器结构: IEEE Clause 22 PHY寄存器为两级寻址结构,...若PHY一个Port中需要操作寄存器数量远大于32个,这时可以用Shadow进行扩展就会显得捉襟见肘,必须引入全新寄存器结构。 3....IEEE Clause 45 原理介绍 MDC/MDIO时序图: 时序图: 写时序图: MDC/MDIO编码结构: PHY寄存器结构图: PHY寄存器结构描述: IEEE Clause 45 PHY寄存器为三级寻址结构...Frame“ReadInc型”可以对Reg地址连续寄存器执行批量,可以大幅度提高效率。

    12610

    汇编指令-MRS()和MSR(写)指令操作CPSR寄存器和SPSR寄存器使用(1)

    1.MSR和MRS指令介绍  MRS 指令:  对状态寄存器CPSR和SPSR进行操作。通过CPSR可以获得当前处理器工作状态。...SPSR寄存器可以获得进入异常前处理器状态(因为只有异常模式下有SPSR寄存器)。 MSR指令:    对状态寄存器CPSR和SPSR进行写操作。...与MRS配合使用,可以实现对CPSR或SPSR寄存器-修改-写操作,可以切换处理器模式、或者允许/禁止IRQ/FIQ中断等。...CPSR控制位、 4.使用MRS和MSR来设置2440位管理模式,实例: mrs r0,cpsr //状态寄存器cpsr数据到r0中 bic r0,r0,#0x1f //对...当特定异常中断发生时,这个寄存器用于存放当前程序状态寄存器内容。在异常中断退出时,可以用SPSR来恢复CPSR。

    1.3K20

    关于FEC驱动_FEC伍丰

    phy_addr低八位,将它放入变量regval中,这里应该是取PHY地址,然后先看下 mii_free队列中有无元素,也即是判断有无可用MII命令队列,如果有,则把寄存器值(即是要读写PHY哪个寄存器...fec_mii_data,这里值应该是PHY芯片通过MII接口返回上次要求寄存器 值,然后如果有mip->mii_func的话就回调这个函数,接着移动mii_head和mii_free队列,最后再写入下一个要...(写) PHY寄存器。...,它先将要寄存器MII_REG_PHYIR1通过宏mk_mii_read转换成MII寄存器格式,然后写入fec_mii_data 寄存器,表示我想读取PHY芯片MII_REG_PHYIR1寄存器值...,而寄存器写完后,FECMII模块会产生一个中断表示说这 个PHY寄存器已经完成,然后中断处理函数fec_enet_mii中,会读取PHY返回刚才我想要读取寄存器值给 fec_mii_data

    61110

    【RL-TCPnet网络教程】第5章 PHY芯片和STM32MAC基础知识

    STM32参考手册中对MAC讲解主要分为三部分: 1、MAC接口MII和RMII。 参考手册中对这一部分讲解比较详细,也比较容易理解,建议初学者务必读一。我们这里就不将其复制粘贴过来了。...手册中给出了DMA方式发送和接收初始化顺序,在下一章节讲解底层驱动时候结合驱动代码会理解更好,建议初学者也一遍。...这些PHY芯片都大同小异,基本寄存器都是一样,只有扩展寄存和厂商专门设置寄存器不同。...如果用户将其中一个PHY驱动成功了,驱动另一个也是非常方便,下面是DP83848和DM9161/9162基本寄存器和扩展寄存器: /* DP83848C and DM9161 PHY Registers...5.6  总结 本章节就为大家讲解这么多,主要是为下章节讲解做个铺垫。学习完毕本章节后,务必将STM32参考手册中MAC章节一遍。

    1.1K40

    以太网自协商--1000BASE-X自协商(五)

    1000BASE-X自协商实践 芯片寄存器 笔者以曾经实践过Broadcom公司BCM53286四个1000BASE-X Serdes口举例[与自协商相关寄存器属于IEEE802.3标准寄存器,...故不同厂家不同型号PHY该部分实现大同小异],与1000BASE-X自协商相关7个寄存器内容分别如下。...)(利用此功能可以让远端设备提前做一些保护动作); 2b01 指示本端设备检测到link failure [同步丢失或者C码交互超时(默认超时时间为10ms)会触发link failure](软件通过状态位...LINK_DOWN_SYNC_LOSS进行判决); 2b11 指示本端设备检测到自协商错误(软件通过状态位AUTONEG_RES_ERR进行判决); 2b00 指示本端设备一切正常; bit8:7 PS2...软件通过本端和远端bit8:7各种组合进行对本端MACtx和rx方向802.3流控进行设置,具体规则如下表: “MAC-PCS控制寄存器”需要软件根据“PHY-AN广告寄存器”和“PHY-AN

    24610
    领券