前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >千兆PHY详解及调试举例

千兆PHY详解及调试举例

作者头像
碎碎思
发布2020-06-29 14:49:11
12.5K2
发布2020-06-29 14:49:11
举报
文章被收录于专栏:OpenFPGA

千兆PHY详解及调试举例

全文约18000字。

从硬件上来说,一般PHY芯片为模数混合电路,负责接收电、光这类模拟信号,经过解调和A/D转换后通过MII接口将信号交给MAC芯片进行处理。一般MAC芯片为纯数字电路。

物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY。

下图为RTL8211的原理框图,详细的数据手册链接如下:

http://download3.dvd-driver.cz/realtek/datasheets/pdf/rtl8211e(g)-vb(vl)-cg_datasheet_1.6.pdf

图8‑17 RTL8211原理框图

下图是Ti的DP83865原理框图,详细的数据手册链接如下:

http://www.ti.com/product/DP83865/technicaldocuments

图8‑18 DP83865原理框图

下图为88X3140/3120的原理框图,详细的数据手册链接如下:

https://www.marvell.com/products/transceivers/alaska-x-gbe.html

图8‑19 88X3140/3120原理框图

通过几个PHY片的原理框图可以总结出下面的简化PHY片的原理框图。

图8‑20 PHY简化的原理框图

从上图可知,PHY它包含了多个功能模块,功能模块的多少会因需要的不同而有所增减,比如:

只有10GBase-R、40GBase-R、100GBase-R的PCS需要FEC;

40GBase-R的PCS需要2个PMA、100GBase-R的PCS需要3个PMA;

只有≥1Gbps以上的背板应用场景才会用到AN。

接下来详细介绍上图中各个功能模块:

表8‑6 各个功能模块的作用

名称

作用

PLS

Physical Sublayer Signaling

对MAC给的信息进行传递,只在1Mb/s、10Mb/s的应用场景才出现;

PCS

Physical Coding Sublayer

对MAC给的信息进行编码,应用于≥100 Mb/s的应用场景,比如完成8B/10B、64B/66B、256B/257B编码;实现 IEEE802.3 协议规定的 Ethernet PCS 层。

FEC

Forward Error Correction

前向纠错,与10GBase-R、40GBase-R的PCS 搭配;

RS-FEC

Reed-Solomon Forward Error Correction

Reed-Solomon前向纠错,比单纯的FEC纠错能力更强,与100GBase-R的PCS 搭配,采用256B/257B编码;

PMA

Physical Medium Attachment

物理介质连接子层。执行并串/串并转换;GEPHY 的控制和数字处理模块,其完成芯片的启动控制、信号间干扰消除、基带漂移消除、回声信号消除、线对间串扰消除等功能

PMD

Physical Medium Dependent

物理介质相关子层。信号转换到特定介质上或反向转换

AN

Auto-Negotiation Function

自动协商,使背板两侧的Device能够互换信息以发挥出彼此最大的优势;实现 IEEE802.3 协议规定的自协商等功能。

图中还有连接各个模块间的接口比较特殊,这里面在单独列出来,如下表所示:

表8‑7 各个模块间的接口

名称

备注

PLS与PMA间的接口

AUI

Attachment Unit Interface

PCS与FEC间的接口

XSBI

10-Gigabit Sixteen Bit Interface

PMA与PMA间的接口-可以是chip to chip,也可以是chip to module

XLAUI

40 Gigabit Attachment Unit Interface,4条lane,每条lane的数率是10.3125Gbps;

CAUI

100 Gigabit Attachment Unit Interface,10条lane,每条lane的数率是10.31250Gbps;

PMA与PMD间的接口

nPPI1

Parallel Physcial Interface

1:nPPI特定出现在PMD所接的媒介是光纤的情况下,比如40GBase-SR4、100GBase-SR10、40GBase-LR4协议。也就是说这种情况下的PMD是光模块,nPPI就必然是一种chip to module间的接口,这也是IEEE802.3标准与OIF_CEI标准兼容的地方之一。nPPI按照通道数量的不同分成两种。

·XLPPI:40 Gigabit Parallel Physcial Interface,4条lane,每条lane的数率是10.3125Gbps;

·CPPI:100Gigabit Parallel Physcial Interface,10条lane,每条lane的数率是10.3125Gbps;

1.1.1选型

使用外部PHY时,首先第一步就是要对要使用的PHY进行选型,不同应用场合选型标准不一,主要包括以下几个方面:

1、速率:千兆、百兆、十兆,现在大部分PHY的速率都是三个速率兼容的;

2、IO口电平:这部分主要涉及到主控和PHY能否通信的问题,例如FPGAde bank电压设计的是1.8V,而常规的PHY是不兼容1.8V IO电平的(常规2.5V or 3.3V),这就需要选型时需要注意。

3、品牌:公司选用的时候会有自己合作的品牌,当然会有FAE的技术支持,这个不需要考虑太多。如果是个人使用调试,一定要选用一个常规的PHY,因为应用的比较多,这样应用时留给自己的“坑”比较少,同时调试的时候会有很多应用经验,最后就是一定要选用大厂的芯片,即使后面没有别人的应用经验分享,大厂都会有自己的网页论坛,你可以在上面留言,也会有一些技术支持的。

4、媒体独立接口:这个和主控有关,是选用MII、RGMII、SGMII接口,不同芯片接口不同。

5、Media types:这个和自己应用场合有关,是背板连接,还是通用网口连接,这个主要有:BASE-T、BASE-X等等

6、封装:这个是和PCB设计有关,如果自己应用PCB尺寸比较小,用大的封装PHY肯定不合适。

7、应用环境和价格:这部分主要看自己应用场合,例如高温环境,就需要选用温宽较宽的PHY。价格就无需多说,理论数上这是第一应该考虑的问题。

8、资料完整性:如果是自己设计,一定要考虑资料完整性,对于一些公司,他们的资料相对封闭,尤其是datasheet和refence,网上可能有资料,但是一定要确认是不是最新的,因为大公司会根据用户的反馈实时更新数据手册中的bug。还有参考设计这些,会让自己的研发周期大大减少。

以上各个方面问题,不分先后,不同应用场合考虑的重点不一样。

1.1.2PHY硬件设计

这部分不是要学会硬件设计,二是要学会看硬件的相关配置,尤其出现一些问题时,首先要确认硬件是否有问题,然后才看代码是否有问题。

PHY的硬件总结起来就是四方面:

1、电源;

2、时钟

3、复位

4、IO

电源

电源是整个PHY能否正常工作的基本条件,下面总结一下某一款PHY的电源需求,如下:

表8‑8 电源

Supply Voltages

Operating rage

Minimum( V)

Typical( V)

Maximum( V)

AVDD33_AFE

3.135

3.3

3.465

AVDD33_COM

3.135

3.3

3.465

AVDD33_LDO

3.135

3.3

3.465

AVDD33_OSC

3.135

3.3

3.465

AVDD33_REG

3.135

3.3

3.465

DVDD

1.045

1.1

1.155

VDD3P3

3.135

3.3

3.465

2.375

2.5

2.625

1.71

1.8

1.89

注: AVDD33_*与 VDD3P3 无关, 不管 VDD3P3 接任何电压, AVDD33_*均接 3.3V。

AVDD33_*是模拟电,主要给PHY内部模拟部分供电,一般这个不会随着应用而改变,应用时,注意这部分和数字3V3的隔离,一般采用π型滤波,建议每一个名称都用一个π型滤波进行隔离,不建议合在一起供电。

而DVDD这个电,一般是核电,主要给PHY内部核供电,典型电压1.0/1.1/1.4等,这部分注意一点就是,PHY一般都会提供一个内部LDO或DC-DC,将3V3转成DVDD需要的电压,例如上面的AVDD_LDO就是输入电压,REG_OUT就是输出电压,典型应用电路如下:

图8‑21 DVDD供电电路

这个应用PHY都会有一个配置管脚选择内部供电还是外部供电,建议预留外部供电,防止外部应用环境复杂的情况下,内部供电不稳定,例如,电磁干扰导致内部供电不稳定,最后导致网络LINK不稳,丢包等情况。

VDD3P3这个主要设置数字IO电平的电压,例如FPGA或者其他主控RGMII接口只有2.5V电平,那VDD3P3就需要接2.5V电,其他类似。

时钟

时钟包括MII接口时钟和PHY工作时钟,MII接口时钟一般都由主控提供,做好信号完整性即可。

PHY的工作时钟有很多种方式,下面是某一PHY的时钟设置:

表8‑9 PHY时钟选择

CLKSEL

CLK25

CKXTALIN

CKXTALOUT

备注

0

接时钟源

接 0

板级浮空

1

接 0

接晶体

接晶体

接时钟源

板级浮空

时钟源电压幅值要求不大于1.5Vpp,时钟源与 CKXTAL1之间需要交流耦合 1uF 电容

一般PHY都有一个CLKSEL配置引脚,该引脚接0,需要外接时钟源,可以通过主控或者有源晶振提供时钟源,这时CKXTALIN需要接地,防止EMC测试不通过;

CLKSEL接高电平时,可以外接晶体,这时CLK25需要接地,原因同上。

同时一般PHY还有一个CLK125,这个是输出引脚。

当采用接时钟源时如果是主控提供时钟源,一般预留一个外部晶振以面对复杂的应用环境对长时钟链路的影响。

复位

PHY的复位引脚,主要用来复位整个PHY片,这个引脚一般主控都会有专用的引脚,这个引脚没什么特殊的,主要需要评估主控的驱动能力是否满足,该引脚一般是高阻,所以大部分主控的普通IO也都满足驱动能力。

复位唯一需要注意的是PHY的上电时序,下面是某一PHY的时序要求:

图8‑22 PHY复位时序

为了保证PHY的稳定工作,一般的PHY都是先电源供电,然后时钟工作,最后进行复位,具体的时序要求,可以查看相关的数据手册。

IO

IO部分,主要包括配置接口、MII接口、MDIO接口和MDI接口。

MII接口这个主要注意和主控的电平匹配及信号完整性即可;PHY 芯片内部含有一些列寄存器,用户可通过这些寄存器来配置 PHY 芯片的工作模式以及获取 PHY 芯片的若干状态信息,如连接速率、双工模式、自协商状态等。PHY 内部寄存器的读写通过 MDIO 接口进行。注意MDO口的上拉,其他就是主控的配置PHY,后面会详细介绍。

MDI接口或其他输出接口,常规应用时一般都是MDI接口,注意PHY是否需要再MDI接口上做匹配电路。MDI接口后面一般会接变压器,注意变压器的抽头电压。如果是其他接口,例如BASE-X,注意AC耦合电容的放置位置。

这里注意一下,如果使用RGMII接口,RGMII接口可以通过内部寄存器设置延迟模式和非延迟模式,具体含义如下:

一般的 PHY 芯片都支持两种 RGMII 发送端口的时序关系。一种称为非延时模式,如下图所示:

图8‑23 RGMII发送端非延时模式(来源88E1512datasheet,下同)

即要满足时钟信号 TXC 的边沿对准数据信号 TXD[3:0]和控制信号 TX_CTL 有效窗口中心附近的位置,也就是说 TXC 比其他信号存在 2ns( 90°相位)(2ns来源:当 RGMII 接口工作于 1000M 速率时, TXC 和RXC 时钟信号都为 125MHz,那么单个接口的数据率便等同于 250Mbps,单个信号的有效数据窗最大为 4ns。)左右的延时。

另一种为延时模式,如下图所示。

图8‑24 RGMII发送端延时模式(来源88E1512datasheet,下同)

这种时序要求 TXC 的边沿不其发送的数据 TXD 和控制信号 TX_CTL 边沿对齐,所有信号具有相同的相位。

一般来说,大部分 PHY 芯片默认都是采用正常时序模式,可通过 MDIO 接口设置寄存器,或者芯片特殊功能引脚将其配置为延时模式。

配置IO

这部分是PHY能工作在不同应用的主要部分,目前我应用最复杂的PHY就是Marvell的88E1111,有7个config引脚,有N种应用,下面就针对88E1111的配置进行解读,学会了88E1111的硬件配置,其他的PHY也就会了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenFPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档