总目录在这里哦~

https://blog.csdn.net/z123canghai/article/details/114649502


目录

二、物理层(PHY芯片)

2.1 概述

2.2 接口

2.2.1 物理媒介接口

2.2.2 MAC层接口

2.3 硬件配置

2.4 管理接口

2.4.1 管理接口时序

2.4.2 寄存器

2.5 LED灯接口



二、物理层(PHY芯片)

2.1 概述

88E1111属于TCP/IP协议栈中的物理层器件,支持不同形式的数据转换为以太网所支持的传输媒介,例如支持1000BASE-T、100BASE-T、10BASE-T类型的以太网传输。支持CAT-5类非屏蔽双绞线上的数据收发。可以直接连接到MAC/SWITCH接口,例如FPGA的IP核。支持GMII、RGMII、SGMII、TBI和RTBI接口。并且还集成了一个可选的1.25GHz的SERDES接口,可以之间连接到光纤收发器上,用于1000BASE-T/1000BASE-X介质转换的应用。而且该芯片有三种封装方式,如下图是其中一种。

如下是芯片的内部功能模块结构图,可以清楚的看到有和数据链路层中的MAC层通信接口、与双绞线接口、管理接口、硬件配置接口、测试复位接口、LED和时钟复位等,在下文主要对上述这些接口进行解释,主要可分为三个部分,一是接口、二是配置、三是管理。


2.2 接口

88E1111这个PHY芯片的作用可以说就是MAC层与双绞电缆间的适配。该芯片支持多种模块的数据传输。

2.2.1 物理媒介接口

物理媒介接口分为双绞线连接和光纤连接两种方式。双绞线连接方式被称为“Copper Interface”,即通MDI[3:0]±连接到RJ45,进而通过网线连接外围设备。另外接口还分为MDI和MDIX这两种,百度说以太网集线器、以太网交换机等集中接入设备的接入端口类型通常为MDIX。普通主机、路由器等的网上接口类型通常为MDI(Medium Dependent Interface);

在许多集线器和交换机上都有一个uplink端口,用于连接到另一个集线器或交换机,这个端口通常也采用MDI类型。MDI和MDI,MDI-X和MDI-X用交叉线连接。MDI和MDI-X用直连线连接。总之,相同端口用交叉线连接,不同端口用直连线连接。不过该芯片会自动确定是否需要在两对之间交叉,因此不需要外部交叉电缆。

还有种连接方式是通过串行接口由S_IN±,S_OUT±和SD±连接到光纤收发器上。然后以光信号的形式发出。

2.2.2 MAC层接口

MAC层即介质访问控制层,属于数据链路层子层中的下一层,上一层是逻辑链路控制。该层接口有很多种,主要有GMII、MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XLAUI等其中MII是Media Independent Interface的缩写,G是Gigabit的缩写。

1GMIIMII

如下表所示,GMII兼容MII,MII支持10M和100M的,GMII支持1000M的。HWCFG_MODE[3:0] 配置为1111表示选择GMII或MII,配置为0111则选择GMII模式。下面就简单对接口信号进行阐述。

1、GTX_CLK

这是GMII接口的发送和接收的参考时钟,频率为125Mhz (1000Mbps/8=125MHz) 。这个信号是对于PHY芯片来说是个输入信号,是由MAC 提供给PHY的。

2、TX_CLK和RX_CLK

这是发送和接收的参考时钟,由PHY芯片提供,与GTX_CLK 不同。100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz。

3、TX_ER和RX_ER

发送或接收数据错误的标志信号,同步与对应时钟,高有效,表示数据无效,但对于10Mbps是不起作用的。

4、TX_EN和RX_DV

都是数据有效信号

5、CRS和COL

这两个信号都是再半双工下有效,CRS即Carrier Sense,载波侦测信号,高电平表示数据有效,COL即Collision Detectd,是冲突检测信号。

2TBITen-Bit Interface

TBI即Ten Bit Interface,接口数据位宽由GMII接口的8位增加到10位,兼容GMII,HWCFG_MODE[3:0] 配置为1101。如果采用8B/10B编码这种方式不错,如下图所示。

3RGMIIReduced GMII

         RGMII即Reduced GMII,是RGMII的简化版本。时钟可以为125M、25M、2.5M,采用双沿采样,可支持千兆、百兆和十兆以太网通信。如果是千兆通信,采用双沿采样,其中上升沿采集bit[3:0],下降沿采集bit[7:4]。其中TX_CTL和RX_CTL具有复用功能,时钟上升沿表示数据有效,时钟下降沿表示err信号。使用该模式需将HWCFG_MODE[3:0] 配置为1100。

4RTBIReduced TBI

有上面的经验很好理解了,简化板的TBI。RTBI支持千兆通信速率,可达1.25Gbps。

5SGMIISerial GMII

         SGMII即Serial GMII,串行GMII,收发各一对差分信号线,时钟频率625MHz,双沿采样,速率达1.25Gbps。

SGMII有两种工作模式,一种有提供给MAC的接收时钟,另一种没有。通过将HWCFG_MODE [3:0]位设置为0000,可以选择带有时钟的串行接口。通过将HWCFG_MODE [3:0]位设置为“ 0100”,可以选择不带时钟的串行接口。没有时钟恢复功能的MAC需要接收时钟。


2.3 硬件配置

所谓硬件配置,就是通过硬件的连接实现对PHY芯片的配置,例如地址、速率、模式等。如下图所示是引脚的映射表。一共八个引脚表示八个值,类似编码一样。如何实现硬件配置呢?如下图左,是配置输入引脚。配置映射硬件与相应的配置引脚相连就能实现对对应配置引脚的配置,每个配置引脚可实现对三个寄存器的配置。

如下图所示,是配置硬件对应的配置内容,例如CONFIG0可以配置PHYADR的值。这些配置项就是datasheet里面的表31对应的内容。

如下图所示,是一个配置实例,CONFIG0与LED_RX相连,表示配置PHY地址的bit[2:0]为010,

这个实例就不去详述了,我们可以看下工程上对88E1111的配置。

我们来分析一下

PHY_CONFIG0 接PHY3_LED_RX,也就是010

PHY_CONFIG1 接PHY3_LED_LINK10,也就是110

PHY_CONFIG2 接2.5V,也就是111

PHY_CONFIG3 接PHY3_LED_TX,也就是001

PHY_CONFIG4 接PHY3_LED_DUPLEX,也就是011

PHY_CONFIG5 接2.5V,也就是111

PHY_CONFIG6 接0V,也就是000

根据上述配置内容,我们可以得出下表:

配置项

配置值

含义

PHYADDR

10010

PHY地址为10010,管理接口的时序用到了PHY地址

ENA_PAUSE

1

是对默认寄存器4的bit8:7、bit11:10配置。=1这四bit都配置为1.具体内容看136页对该寄存器这几bit的配置

ANEG

1110

Auto-Negotiation Configuration for copper modes.配置为自适应模式,且有限为从

另外[3:2]=11使能自适应模式,1000M全双工

DIS_125

1

使能125M

ENA_XC

1

启用交叉。  ENA_XC选择是否启用MDI交叉功能。 如果禁用了MDI交叉功能,则设备将采用MDI配置。

HWCFG

MODE[3:0]

1011

描述数据传输接口的类型,这里是配置为RGMII

DIS_SLEEP

1

Disable energy detect,不明白

DIS_FC

1

禁用光纤/铜缆接口。=1是使能,就是物理接口或是光绪或者电缆,可以自由选择

SEL_TWSI

0

管理接口的选择,管理接口有MDIO和TWO_Wire,=0选择MDIO

INT_POL

0

中断的极性 =0高电平表示产生中断信号

75/50 OHM

0

不太清楚


2.4 管理接口

通过管理接口可以实现对PHY芯片内部寄存器的读写,实现对PHY芯片工作状态的配置,读取配置信息、状态信息等。这也是IEEE802.3所规定的,一共有32个寄存器,其中地址址为0-15这16个寄存器包含信息和配置功能是IEEE要求的所有该类芯片所具备的,地址16-31的寄存器留给芯片制造商自由定义。

2.4.1 管理接口时序

管理接口时序分为两种,一种是IEEE 802.3u第22章的规定时序,如下图所示。

其中各字段含义如下

另外还支持TWSI这样一种协议,全称是Two-wire Serial Interface,实际上就是IIC协议。

这两种模式的切换可以通过硬件配置实现,是CONFIG6的bit2。=0是MDC/MDIO接口,=1是TWSI接口。

2.4.2 寄存器

MDC/ MDIO协议仅支持32个寄存器。88E1111器件具有32个以上的寄存器,因此使用分页方案来寻址32个以上的寄存器。可以根据操作模式自动访问不同的页面,也可以通过将其他寄存器中的位置1来选择它们。也就是说该芯片的寄存器还不是一个简单的存储器,是具有复杂的逻辑,虽然只有32个寄存器,我们可以人再不同的页都有32个寄存器,只不过有些寄存器再每页存的内容是一样的,有些寄存器具有页切换功能,可以先切换到不同的页去读取该页独有的数据内容。首先说下芯片手册对于寄存器的简写规则,很有意思,如下图所示。

如下表所示,该芯片将寄存器0到21,23到28用来存放配置信息、状态和控制等。寄存器22主要是实现page0和page1之间的切换。

寄存器29用来指定寄存器30是读的哪一页,每一页该寄存器内容是不一样的。

另外,一些数据只能在指定页读取,一些数据可在任意页读取,如下图。

2.5 LED灯接口

Led灯接口有6个信号,如下图所示,LED可以由PHY控制,也可以手动控制,与PHY的状态无关。 手动控制是通过写入寄存器25的[11:0]来实现。任何一个LED都可以独立于其他LED进行控制,实现可变速率的打开,关闭或闪烁(即,一个LED可以从外部进行控制,而另一个LED可以通过PHY的状态进行控制)。然后介绍了具体的寄存器设置与闪灯逻辑,详细的还是看芯片手册2.22吧,不粘贴了。


欢迎关注“沧小海的FPGA”微信公众号,回复“eth”可获取相关资料和官方例程的仿真时序整理

开发软件为vivado2016.3,打开工程点击“Flow”选择“open static simulation”打开静态仿真可直接查看信号波形

【沧小海笔记】之基于FPGA的以太网设计相关知识——第二章 物理层介绍(基于88E1111)相关推荐

  1. 【沧小海笔记】之基于FPGA的以太网设计相关知识——第三章 xilinx 三速以太网IP核(TEMAC)的介绍

    总目录在这里哦~ https://blog.csdn.net/z123canghai/article/details/114649502 Xilinx为我们提供了一个叫做"Tri-Mode ...

  2. 沧小海笔记之基于xilinx的三速以太网相关知识的学习与理解

    目录 第一章 读<图解TCP/IP>笔记 第二章  互联网概述 第三章  物理层介绍(基于88E1111) 第四章  xilinx 三速以太网IP核(TEMAC)的介绍 第一章 读< ...

  3. 沧小海基于xilinx srio核的学习笔记之第二章 Rapidio技术概述

    总的目录在这哦~ https://blog.csdn.net/z123canghai/article/details/114648658 目录 第二章 Rapidio技术概述 2.1 总体原则 2.2 ...

  4. 沧小海笔记本之A7系列FPGA资源介绍

    目录 第一部分:I / OBANK部分资源介绍 1.1  I/O BANK概述与ILOGIC资源概述 1.2  IDELAYE2.IDELAYCTRL和OLOGIC的资源介绍 1.3  OSERDES ...

  5. 沧小海详解面试的必答题——I2C协议

    目录 第一部分:I2C协议的概述 第二部分:I2C协议的阐述 第三部分:AT24C04简述 第四部分:基于verilog的程序设计(暂无) 对于大多从事FPGA行业的应届生来说,在面试过程中很可能会被 ...

  6. 沧小海笔记本之xilinx srio核的学习记录之目录

    目录 第一章:互连问题 第二章 Rapidio技术概述 第三章 xilinx srio核结构 3.1 xilinx srio核的结构介绍 3.2 ilinx srio核的HELLO格式和流控 3.3  ...

  7. 基于FPGA的以太网控制器(MAC)设计(中)

    今天给大侠带来基于FPGA的以太网控制器(MAC)设计,由于篇幅较长,分三篇.今天带来第二篇,中篇,以太网控制器(MAC)程序的实现.话不多说,上货. 导读 当前,互联网已经极大地改变了我们的生产和生 ...

  8. 基于FPGA的以太网UDP协议实现过程记录

    基于FPGA的以太网的 UDP协议的学习笔记 一.完整的以太网数据部分包括以下几部分: 前导码 帧起始界定符 以太网帧头 IP首部 UDP首部 UDP数据(有效数据) CRC校验字节 二.针对每一部分 ...

  9. 频谱仪设计基于FPGA的频谱仪设计,可以测试分析多种频率的频谱,分辨率100HZ

    频谱仪设计基于FPGA的频谱仪设计,可以测试分析多种频率的频谱,分辨率100HZ,配套资料多达100M,东西复杂 ID:982500594354361311卡哇伊2号小宝贝

  10. 基于FPGA的以太网开发

      基于FPGA的以太网开发,在调试过的FPGA玩家开来,其实算不上很难的技术!但是如果只是菜鸟级别的选手,没有调试过的话,就有些头疼了!早在自己在实习的时候,就接触到XAUI(万兆以太网口)接口,但 ...

最新文章

  1. 深度学习--TensorFlow(项目)Keras手写数字识别
  2. Android11有哪些vts
  3. 4.2.2 磁盘调度算法
  4. CRM系统开发经验谈
  5. 1126 求递推序列的第N项 (Fnb + mod + 思维)
  6. 作为现代行业才有的程序员为何地位不高?
  7. ORM(手写简单ORM)
  8. 更快更精准的感知,元戎启行提出基于LiDAR的3D物体检测新框架|CVPR 2020
  9. 水力压裂化学品行业调研报告 - 市场现状分析与发展前景预测
  10. k8s selector_Kubernetes 服务选择(selector)
  11. scala编程第16章学习笔记(3)——List类的高阶方法
  12. C语言:有N个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号、姓名、3门课程的成绩),计算出平均成绩,将原有数据和计算出的平均成绩存放在磁盘文件stu_list.txt中。
  13. WINDOWS上svn服务器自动部署
  14. DAHON 美国大行
  15. 无法启动iis express web 服务器
  16. 几个国外广告联盟介绍
  17. vector的小用法
  18. 笔记本html外接显示器,笔记本怎么外接显示器 笔记本用外接显示器设置教程
  19. 主键和候选键有什么区别
  20. 一个月收入 3000 的人,指导一个月收入 30000 的人去投资,你可以无视了……

热门文章

  1. 四旋翼无人机的三维动态Matlab仿真
  2. 英文名称:DSPE-PEG10-Mal的试剂分子式是C68H127N2O21P
  3. 如何充分利用云计算解决云备份?
  4. 简单的例子理解正则表达式中的前瞻与后顾
  5. The day that you see me old
  6. aardio - 【开源软件】aardio文件加解密
  7. tplink 2.4g弱信号剔除_路由器信号分为2.4G和5G,这两种信号有什么区别
  8. 七款云上共享文件系统 POSIX 兼容性大比拼
  9. 后端工程师第一周实习笔记(实习面试必知大学课堂上却没讲的知识点)
  10. linux同步clock和date,liunx时钟与同步