关于88e1111 phy模块的配置说明

这篇具有很好参考价值的文章主要介绍了关于88e1111 phy模块的配置说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于88e1111 phy模块的配置说明

1、前言

 ​ 本次主要是参考了88e1111的phy芯片的数据手册,对于88e1111这款经典的 10M/100M/1000M 以太网芯片的一些基础软件硬件配置做一些说明,抛砖引玉,有不对之处,请多多指教。

2、88e1111 phy芯片的硬件相关

1、phy芯片的作用

 ​ phy芯片主要是实现数字信号和模拟信号的转换,将MAC层硬件传过来的数据转换成模拟信号将数据送出去。比如我们平时调试板卡的时候,将电脑通过网线连接铜口,确认好双方的ip以后就可以互相ping通。看起来好像很简单,实际上网线连接铜口,铜口是不能直接连接板卡上的cpu或者单片机的,cpu和单片机一般提供MII/GMII这样的接口,实现MII/GMII这样的接口与铜口的连接,中间的实现连接转换的模块就是phy模块,也就是 CPU->MII/GMII < -- > phy < -- > 铜口 的结构。

关于88e1111 phy模块的配置说明
phy芯片模式

2、88e1111支持的模式

​ ​ 88e1111不光支持以上这样的场景,根据不同的需求对phy芯片进行配置,能够转换成不同的电平协议运用在不同的场景上,比如phy芯片和网络交换机连接,phy与phy芯片连接。88e1111支持多种转换模式,查看他的数据手册可以发现,88e1111支持的模式很多,主要分为Copper和fiber两类,还有就是直接的电平转换,我们对几种常用的模式说明一下。

关于88e1111 phy模块的配置说明
phy芯片模式
1.Copper模式
关于88e1111 phy模块的配置说明
MAC转Copper媒体接口示意图

 ​ 可以看到的是,copper模式下支持的协议转换是很多的,88e1111手册上也没有对这些一一做解释,倒是有一张表格是告诉配置 HWCFG_MODE[3:0] 的对应的值来切换phy的模式,这个HWCFG_MODE[3:0]实际上对应的是寄存器 R27 Extended PHY Specific Status Register 的低四位,这个在我们后续的软件部分再做详细说明。

关于88e1111 phy模块的配置说明
Copper模式切换寄存器配置
SGMII Modes

 ​ 这次主要讲一下sgmii模式在配置中的一些常见误区,sgmii的电平协议是区分Master和Slave模式,也就是说,当两个sgmii的接口互相连接的时候要区分主从,由主机主动发起发送到从机,我们的phy芯片是默认为Master模式,一般交换机芯片默认为Slave模式(不绝对,要看一下手册,这里说的是bcm5396交换机),当phy芯片与phy芯片连接的时候,两边都为Master模式,这时不用担心,两边的sgmii接口都可以主动发起,两边接口会相互协商成一主一从的模式,不会影响正常通信。当phy芯片与交换机连接时,一主一从,如果速率,双工这些配置好了的话,很快就能link上。最容易出问题的就是有的时候做一些复杂项目,存在两个交换机通过sgmii的方式互联,此时两边都为Slave模式,就会出现两边无人发起通信的情况,导致sgmii通信一直异常,此时就要去配置一下交换机上面sgmii的主从模式,将一边配置为Master模式即可,下面是bcm5396交换机寄存器关于sgmii的主从模式配置的说明。

关于88e1111 phy模块的配置说明
5396交换机配置SGMII主从模式
2.Fiber模式
关于88e1111 phy模块的配置说明
MAC转Fiber媒体接口示意图

 ​ 通过这个图,我们可以看到Fiber模式主要是用于转换为光纤模式,【注】1000BASE-X表示光纤接口,1000BASE-T表示铜介质双绞线接口。
​ ​ Fiber模式下配置 HWCFG_MODE[3:0] 寄存器来切换模式的配置表如下。

关于88e1111 phy模块的配置说明
Fiber模式切换寄存器配置
GMII to Fiber Mode

 ​ 手册上强调了一下当配置HWCFG_MODE[3:0] 为”0111“,将模式选择为GMII转光纤的模式,如果GMII那边是连接的MAC层的话,只能选择强制千兆的模式,如果phy芯片是用于串行接口的电平转换的时候,并非一边连接的MAC层的话,是支持千兆自协商模式的。

关于88e1111 phy模块的配置说明
GMII to Fiber Mode
3.GMII/MII to SGMII and RGMII to SGMII Mode

 ​ 这是手册上写的第三种特殊的模式,他意思是纯粹的电平协议转换,并不涉及到Copper或者Fiber。现实中我们也经常会遇到这种情况,例如一张板卡的出去的phy芯片,对外为SGMII模式,连接到另一张板卡,另一张板卡对外也是SGMII模式,两边的phy互相连接就是通过SGMII来互相通信,此时这种模式下,支持10M/100M/1000M自协商模式。

关于88e1111 phy模块的配置说明
GMII/MII to SGMII and RGMII to SGMII Mode

phy的硬件模式配置

 ​ 88e1111如果硬件配置得当,正常来说是不需要软件进行再次配置的,我们的硬件可以通过配置管脚配置整个phy芯片的模式,全双工还是半双工,速率等,接下来我们来看看硬件是如何通过配置管脚来配置这些的。
​ ​ 1.根据数据手册可以看到,总共有7根管脚可以对phy芯片进行配置,每根管脚对应3个bit,每个bit都有不同的含义。

关于88e1111 phy模块的配置说明
硬件配置phy芯片管脚

 ​ 2.硬件通过将这7根管脚接上不同的管脚,来配置管脚对应的bit值。88e1111提供了一个映射表,不同的管脚对应不同的值。

关于88e1111 phy模块的配置说明
管脚常量值映射表

 ​ 3.将对应不同值的管脚连接到CONFIG[6:0]上以后,就能对phy的模式进行硬件配置,88e1111的数据手册上提供了一个例子,很好的展示了一下该如何配置硬件配置管脚,将CONFIG0直接连接LED_RX管脚,就会将phy地址bit[2:0]配置为010,将CONFIG2接到LED_DUPLEX就能将模式配置为自协商1000base-t的模式。

关于88e1111 phy模块的配置说明
硬件配置phy模式例程

3、88e1111 phy芯片的软件相关

1、软件配置phy芯片的接口和时序

  查看88e1111的数据手册,我们可以看到,88e1111可以通过两种方式进行寄存器配置等,一种是MDIO协议,一种是IIC协议,IIC支持100K或400K的速率,当软件寄存器写入以后,板卡需要进行软复位操作,phy地址默认使用[4:0]五个bit表示,地址由硬件配置地址管脚高低电平来确定。

关于88e1111 phy模块的配置说明
两种访问phy芯片的协议
1.MDIO访问phy寄存器
  • MDIO读写时序图如下
关于88e1111 phy模块的配置说明
MDIO读写时序图
2.IIC访问phy寄存器
  • IIC读寄存器时序图如下
关于88e1111 phy模块的配置说明
IIC读时序图
  • IIC写寄存器时序图如下
关于88e1111 phy模块的配置说明
IIC写时序图

2、phy寄存器配置及实现

1.寄存器列表
关于88e1111 phy模块的配置说明
phy寄存列表
2.R22 Extended Address 寄存器

  可以根据上表可以看到,phy的寄存器根据page的切换大体可以分为copper和fiber两种模式,根据数据手册的说明,通过配置 R22 Extended Address 寄存器可以配置page0或者1,用以切换不同的模式。

关于88e1111 phy模块的配置说明
R22 Extended Address
3.R0 Control Register 寄存器

  对phy寄存器进行配置以后,并不会立刻生效,需要对phy进行软复位操作以后才能够生效,通过配置R0 Control Register寄存器可以配置自协商,双工等,同时也可以操作phy的软复位操作。

关于88e1111 phy模块的配置说明
R0 Control Register
4.R1 Status Register 寄存器

  通过查看phy的 R1 Status Register 寄存器可以查看许多情况,有一个小技巧是,在读取 R17 PHY Specific Status Register 寄存器之前,可以先读一下 R1 Status Register 的bit5,可以用以确定phy是否协商完成。

关于88e1111 phy模块的配置说明
R1 Status Register
5.R17 PHY Specific Status Register 寄存器

  通过查看phy的 R17 PHY Specific Status Register 寄存器可以查看phy的link状态,phy的速率,phy双工模式。

关于88e1111 phy模块的配置说明
R17 PHY Specific Status Register
6.R27 Extended PHY Specific Status Register 寄存器

  通过修改phy的 R27 Extended PHY Specific Status Register 寄存器bit[3:0],可以配置phy的模式,等同于硬件上修改 HWCFG_MODE[3:0] ,可以配置 GMII to SGMIIRGMII to SGMIIRGMII to Fiber等模式。

关于88e1111 phy模块的配置说明
R27 Extended PHY Specific Status Register
7.R2 PHY Identifier 寄存器

  通过查看 R2 PHY Identifier 寄存器,可以获取到phy的设备id,由图可以看到,目前phy的id是0x141,通过读取设备id可以判断设备类型,以及phy设备是否能正常访问。

关于88e1111 phy模块的配置说明
R2 PHY Identifier

4、总结

  88e1111的配置大体上就是这些,此次主要涉及硬件和软件配置,如果在实际调试过程中,phy的状态感觉一直不太对劲,link不上的话,将两边phy芯片速率强制一下看看。在调试1000base-x的时候,很多时候都存在自协商不成功的情况,这个时候强制速率可以来看看连接状态是否得到改善,还有一个要注意的点就是,88e1111在上电以后,需要做硬复位操作,这样配置的参数才能得以启动,当开发人员操作软件寄存器对phy进行二次配置,也需要去配置 R0 Control Register 寄存器去软复位一下phy芯片,这样才能使寄存器的配置生效。

文章来源地址https://www.toymoban.com/news/detail-837751.html

到了这里,关于关于88e1111 phy模块的配置说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • marvell 88E6176交换芯片交换原理

    交换芯片内部硬件架构图   从以上交换芯片的硬件架构图中可以看出该交换芯片有7个千兆以太网MAC控制器。也就是有7个端口。但是在交换芯片内部只有端口0-4有PHY芯片,可以连接外部网线传输数据。而端口5 和端口 6 没有PHY芯片。可以通过数字引脚来接到CPU上进行数字信号

    2024年02月13日
    浏览(51)
  • PHY芯片外围配置说明

    MICROCHIP KSZ8081MNXIA 外围配置说明 1.PHY地址:由Pin15/14/13决定,默认地址为001,如果只有两个PHY(inout),只需在Pin13脚加下拉电阻做区分即可。(PHY实际地址位为5位,由于前两位固定为00,用户能更改的只有后3位) 2.MAC与PHY接口:由Pin18/29/28决定,默认接口状态为000(即MII接口

    2024年02月15日
    浏览(27)
  • RK3399驱动开发 | 21 -Marvell交换机芯片88E6390X调试(基于linux主线5.4.32内核)

    88E6390X芯片是Marvell的一款11端口交换器芯片,有1个CPU端口、8个10/100/1000Mbsp以太网端口、两个XAUI/RXAUI/2500光口。 RK3399只有一个MAC控制器,所以只能外接一个PHY芯片作为网口,但有了外部的交换机芯片后,连接架构如下:

    2024年02月13日
    浏览(30)
  • 【以太网PHY】88Q2220MB0-NYA2A0G1、88Q2221MB0-NYA2A0G1具有MACsec安全功能

    Marvell Brightlane™ 88Q222 设备是一种单对以太网物理层收发器(PHY),支持通过非屏蔽双绞线(UTP)运行。该收发器实现了IEEE 802.3bp标准所定义的1000BASE-T1的以太网物理层部分。 88Q222xM集成了MACsec,可防止第二层车载网络的安全威胁。MACsec在逐跳的基础上确保数据交换的安全,

    2024年01月17日
    浏览(27)
  • 【AUTOSAR】 MCAL配置说明(三)----MCAL SPI 模块配置

    SPI SPI通讯模块, 注:autosar配置工具只能做SPI的主节点配置,不能配置从节点 主要的配置内容如下: 具体使用的外设模块SPIx 映射pin 脚选择 spiChannel 配置 spiJob 配置 SpiSequence 配置 spi设备的通讯特点(通讯频率,cs有效电平,数据移位电平,片选引脚) General Configuration 常规配

    2024年02月09日
    浏览(29)
  • GNSS定位模块串口配置说明,亲测(使用ATGM332D模块,通用)

    CAS00-设置保存配置指令 拓展指令只有当前上电有效,重启后恢复默认。如果想要配置一次永久生效,可使用该指令。 例:$PCAS00*01 0x24,0x50,0x43,0x41,0x53,0x30,0x30,0x2A,0x30,0x31, 0x0D,0x0A CAS01-设置串口波特率 两种方案: 1、先用9600波特率配置波特率,然后重新初始化串口即可; 2、生

    2023年04月11日
    浏览(35)
  • 【收藏级】88条关于OpenStack命令的手册(常看常新)

    大家好,我是无名小歌。 按照目录查询相关命令、 按照目录查询相关命令 、 按照目录查询相关命令 (常看常新)(常看常新)(常看常新) 相信大家都有过这样的经历哈,就是我们在操作OpenStack时,一般为了操作方便都会使用Dashboard web可视化界面上对OpenStack进行操作,如

    2024年02月02日
    浏览(18)
  • 【经典算法】 leetcode88.合并排序的数组(Java/C/Python3实现含注释说明,Easy)

    作者主页: 🔗进朱者赤的博客 精选专栏:🔗经典算法 作者简介:阿里非典型程序员一枚 ,记录在大厂的打怪升级之路。 一起学习Java、大数据、数据结构算法( 公众号同名 ) ❤️觉得文章还不错的话欢迎大家点赞👍➕收藏⭐️➕评论,💬支持博主,记得点个大大的 关

    2024年04月22日
    浏览(24)
  • Atlas200关于RTL8211FSI和YT8521SH千兆以太PHY调试心得

    最近调试了一个硬件千兆以太PHY的问题,记录一下。 问题现象描述:两块Atlas200板卡,上电后,ping不通,但是插网线连接电脑的话,电脑能识别这个网卡,所以感觉还是MAC和PHY之间的通信出了问题。一块板卡用的是RTL8211,另一块是YT8521SH,两个PHY芯片是封装完全兼容的。  

    2024年02月11日
    浏览(85)
  • 英飞凌AURIX 2G 系列MCU关于外设模块EVADC的实现原理及对应MCAL(EB Tresos)配置项详细讲解

    目录 一、版本控制 二、功能概述 三、主要模块及涉及EB配置项 (一)通用时钟方案与控制 (二)内部相关模拟模块的激活与控制 1.模数转换器控制 2.模拟信号缓冲 3.校准 4.降噪方法 5.Alias功能 (三)转换请求产生 (四)请求源仲裁 (五)快速比较通道操作 (六)转换时间

    2024年02月07日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包