本次调试88EE1111 PHY芯片之主要目的主要对应为了将其默认的GMII接口通过配置成RGMII接口。因此,可能本文档涉及到的内容并没有涉及到PHY芯片的88EE1111所有内容。

PHY芯片管理接口:

88EE1111芯片可通过硬件设置成两种管理接口,一种就是本文所提的MDIO接口。一种对应的就是Two_Wire_Serial_Interface(TWSI),也就是I2c接口,这不做讨论。主要硬件选择是通过88EE1111的CONFIG[6:0]中的CONFIG[6]配置的Bit2选择,为1,表示配置为TWSI接口,否则为MDIO接口。下面讲述对应CONFIG[6:0]硬件配置。

88EE1111芯片可通过CONFIG[6:0]这些IO硬件配置一些基本模式。可配置 PHY Address、PHY Operate Mode(操作模式)、Auto-Negotiation(自适应模式)。具体见88EE1111的Hardware Configuration部分。

对应通过将CONFIG[6:0]连接模式如下,设置对应模式以及对应值:

这个表的意思对应就是如果CONFIG[0]接到VDDO上,对应CONFIG[0]配置的那些参数就是111。接LED_LINK10对应配置的参数位110。

下面举例说明对应其硬件配置:

如下图:以下是对应其硬件连接方式。对应其配置意义:PHY Address为10010,选择了TWSI管理接口。

下面对应是我们的实际硬件原理图:(对应为Xilinx的SP601开发板)

对应图中CONFIG[0]配置为VDDO(111),CONFIG[1]配置为VSS(000),CONFIG[2:5]配置为VDDO(111),CONFIG[6]配置为LED_RX)(010)。对应其配置PHY ADDRESS为00111,其选择的管理接口为MDIO接口。

MDIO接口时序

MIDO接口对应有两个IO,一个是时钟管脚MDC,对应其最大时钟可达8.3MHz,另外一个是双向IO,MDIO。对应MDIO硬件上需要上拉个1.5K到10K的上拉电阻。具体参阅88EE1111 Datasheet Management Interface部分。

EPREAMBLE(PRE):对应在准备操作前拉高MDIO,拉高32个MDC时钟。

START OFFRAME(ST):在发完PRE后,对应在MDIO上发出一个01启动接口。

OPERATION CODE(OP):在发完ST,接着发出对应指令,写为01指令,读为10指令。

PHY ADDRESS(PHY AD):在OP后对应发送PHY ADDRESS,这个跟CONFIG[6:0]有关,这里对应位00111。

REGISTER ADDRESS(REG AD):发送一个5Bits的要操作的寄存器。

TURNAROUND(TA):写的时候发送一个10到MDIO引脚上,而如果是读,直接写Z0或者ZZ上面,或者直接设置为将FPGA内部设置为三态高阻。

DATA:对应写,就是将16Bits数据写人,MSB FIRST。对应读读取16bits数据,MSB FIRST.

  对应完成上面部分还不行,还需特别注意PHY芯片的复位,(本人就因为这个复位,找了好几个小时问题)下面就讲述对应复位时序要求。

   88EE1111芯片是低电平复位有效。RESETn,在上电至少10ms后拉高,并且其拉高前时钟至少有10个Clks。而对应操作MDIO接口需在RESETn拉高后5ms才能操作。这些都是需要特别注意的地方。并且对PHY芯片复位时,复位信号至少得拉低10ms以上。

GMII接口转换成RGMII:

从GMIII接口转换成RGMII接口,先将Register 27的低4Bits配置成1011,如表中,对

应将HWCFG_MODE配置成1011,对应就是配置成了RGMII模式。

  在配置好了RGMII模式后,需同时将Register 0 Bit12自适应使能禁止掉,因为在自适应模式下,14pins GTX_CLK不会输出125MHz时钟。在配置完这些后,对应将Register 0 的bits 15配置为1,启动一次Soft reset,使得上述配置生效。然后对应接口就是RGMII接口了。

88EE1111 PHY芯片设置的更多相关文章

  1. 【RL-TCPnet网络教程】第5章 PHY芯片和STM32的MAC基础知识

    第5章        PHY芯片和STM32的MAC基础知识 本章节为大家讲解STM32自带的MAC和PHY芯片的基础知识,为下一章底层驱动的讲解做一个铺垫. 5.1   初学者重要提示 5.2    ...

  2. FPGA控制RGMII接口PHY芯片基础

    一.前言 网络通信中的PHY芯片接口种类有很多,之前接触过GMII接口的PHY芯片RTL8211EG.但GMII接口数量较多,本文使用RGMII接口的88E1512搭建网络通信系统.这类接口总线位宽小 ...

  3. 【重新发布,代码开源】FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片

    原创博客,转载请注明出处:[重新发布,代码开源]FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片 - 没落骑士 - 博客园 https://www.cnblogs.com/m ...

  4. [phy]在uboot阶段失能phy芯片

    在uboot阶段power down掉phy芯片 uenvcmd=mdio 0x800; mmc rescan mdio为uboot支持命令 7:phy芯片地址 0:phy芯片工作模式寄存器地址 0x ...

  5. 对于phy芯片的认识

    一,关于phy芯片 以RTL8211E(G)为例 PHY是IEEE802.3中定义的一个标准模块,STA(station management entity,管理实体,一般为MAC或CPU) 通过SM ...

  6. 以太网PHY 芯片之 MII/MDIO接口详解

    本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在10/100模式下和1000M模式下的设计方法. ...

  7. ZYNQ使用88E1510 PHY芯片的驱动程序

    SDK V2014.4 PHY 88E1510 PL端以太网,自协商 standalone应用程序 PL端设计,略. 根据PL端生成的hdf,新建项目,采用官方lwip echo server例程.发 ...

  8. stm32+lwip(一):使用STM32CubeMX生成项目

    我是卓波,很高兴你来看我的博客. 系列文章: stm32+lwip(一):使用STM32CubeMX生成项目 stm32+lwip(二):UDP测试 stm32+lwip(三):TCP测试 stm32 ...

  9. 网口扫盲三:以太网芯片MAC和PHY的关系

    转载:http://www.cnblogs.com/jason-lu/articles/3195473.html   问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MA ...

随机推荐

  1. nginx限制ip并发数

    nginx限制ip并发数,也是说限制同一个ip同时连接服务器的数量 1.添加limit_zone 这个变量只能在http使用 vi /usr/local/nginx/conf/nginx.conf l ...

  2. php。。。

    我可能不会是一个合格的程序员,因为不够专一,学的种类多,精通的却很少,现在我要做为一个php程序员,专注起航了...接下来半年全力以赴,做出成绩吧. 另外之前的狂刷要一千题也要开始每天更新了,最难的就 ...

  3. Flume-NG源码阅读之AvroSink

    org.apache.flume.sink.AvroSink是用来通过网络来传输数据的,可以将event发送到RPC服务器(比如AvroSource),使用AvroSink和AvroSource可以组 ...

  4. spring学习(6)

    1 spring概念 (1)spring核心两部分 (2)spring一站式框架 (3)spring版本 可以使用基本的javaBean代替EJB,EJB是重量级框架. 1 spring是一个开源的轻 ...

  5. Web API与AJAX:理解FormBody和 FormUri的WebAPI中的属性

    这是这一系列文章"与 AJAX 的 Web API".在这一系列我们都解释消耗 Web API rest 风格的服务使用 jQuery ajax() 和其他方法的各种方法.您可以阅 ...

  6. power shell添加vim

    1.去Vim官网下载适合操作系统的可执行文件 地址:https://www.vim.org/download.php#pc 2.找到Vim文件夹中的vimrc文件进行修改,增加下面这4行. set e ...

  7. combobox里面显示checkbox

    看了http://www.cnblogs.com/yubinfeng/p/4463418.html这篇博客,我添加了部分代码,以便在最后获取combobox的value时可以拿到一个数组. HTML代 ...

  8. python---迭代器与生成器(一)

    迭代器与生成器 迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式.. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代 ...

  9. C#中的字符串及其编码转换

    (转自:http://blog.sina.com.cn/s/blog_498eab7d0100et7j.html) 根据查找的System.Text.Encoding类的属性,方法写了如下的转换程序: ...

  10. Flask 通关攻略大全

    基本使用 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello ...