GE电口速率自协商问题(SGMII SERDES)

更新时间:2023-06-20 07:15:28 阅读: 评论:0

GE电口速率自协商问题
1、问题描述    美味英文怎么说
    在某上行扣板的调试过程中,发现上行GE电口与其它GE电口设备对接时,速率都为1000M时,电口可以正常link;但是当与速率强制为100/10M设备对接时,电口不能正确协商,端口link不上。
2、原因分析
电口使用已比较成熟,与以前使用过的单板设计架构也没有太大差异,但是为何会出现此问题呢?开始的时候,大家一致认为是软件配置将速率强制成了1000M,但是经过核对,排除了“软件配置问题”。难道是硬件问题?
首先对比一下上个版本的硬件设计,硬件连接如下图:
硬件连接图(1)
出现问题版本硬件设计,硬件连接如下图:
硬件连接图(2)
上面的这些接口,都是大家比较熟悉的,硬件设计为了兼容前一版本的上行扣板,在底板上增加了SerDes芯片,使底板出SerDes接口上行。考虑降成本因素,采用了价格较低TLK1201芯片。
分别分析TLK1201的对外接口。首先分析SerDes接口,SerDes接口是大家所较熟悉的,“SerDes”接口自协商大家看来是没有任何问题,但是学习了一下“SerDes”接口,却发现和我们平时的理解有些差异。
查阅bcm5464芯片资料,描述如下:
SerDes: 1000 Mbps operation
The SerDes interface shares the same differential data pin as the SGMII interface. The BCM5464S can act as a 1-GHzmedia converter by both supporting SerDes fiber and copper line interfaces simultaneously.
hunband
很显然SerDes接口仅仅具备1000Mbps数据收发功能,不支持速率的自适应,那么上一版本我们认为的“SerDes”接口是如何进行速率协商的呢?结果发现是我们没有正确的区分SerDes和SGMII,SGMII接口才是支持10/100/1000M速率自协商的。区别如下:
SGMII和SerDes管脚是复用的,SGMII及SerDes接口示意图如下:
SerDes接口只占用RXD/TXD两根收发数据线;SGMII(Serial GMII)接口占用TXD/RXD收发数据线以及一个可选择时钟信号。如果MAC和PHY芯片都带时钟,则可以不需要单独的时钟信号,只需一对收发差分信号即可。
Bcm5695支持SerDes和SGMII,bcm5464s芯片具有从接收数据中恢复时钟的能力,故SGMII接口模式时,不需要单独的接收时钟。这样从外部接口看,不管SGMII还SerDes都是“SerDes”接口,所以实际应用中很容易忽略他们之间的差异,而很容易理解为外部连接对了,什么都OK。球类运动网
TLK1201芯片是支持SerDes接口,并且有时钟恢复能力,但是与之连接的是一款PHY(bc
m5464s)芯片,双方都不能提供时钟源,故不支持SGMII接口,只能配置成SerDes模式,所以速率只支持1000M。
successor
问题到此似乎也完全找到了,但是再认真看看另一侧的TBI接口,我们发现也发生了同样的错误。
查阅bcm5650芯片资料,描述如下:
The BCM5650/BCM5651 interfaces to external physical media interface devices using GMII/TBI interface. GMII mode allows the GE port to interface to external PHYs supporting the GMII specification for 10/100/1000 Mbps operation.
TBI mode allows the GE port to directly connect to external SerDes for 1000BASE-X operation.
如上所述,TBI接口同样仅仅具备1000Mbps数据收发功能,不支持速率的自适应。而它同样很容易与另一个与它复用管脚的接口弄混淆——GMII。
GMII与TBI信号对比:
tisci
GMII
TBI
I/0
Signal
MII(10M)
MII(100M)
GMII(1000M)
SerDes(1000M)
I
GMIICLKIN
125-MHZ Oscillator
I
GRXCLKn_0
RX_CLK(2.5M)
RX_CLK(25M)
RX_CLK(125M)
RX_CLK0
I
GRXCLKn_1
TXC(2.5M)
TXC(25M)
TXC
RX_CLK1
I
GRXDn_[3:0]
RXD[3:0]
RXD[3:0]
RXD[3:0]
RXD[3:0]
I
GRXDn_[7:4]
/
pensioner/
RXD[7:4]
RXD[7:4]
I
GRXDn_8
RX_DV
RX_DV
RX_DV
RX[8]
I
GRXDn_9
RX_ER
RX_ER
RX_ER
RX[9]
O
GTXCLKn
/
新概念第一册/
GTX_CLK(125M)
TX_CLK
O
GTXD_[3:0]
TX[3:0]
TX[3:0]
TX[3:0]
TX[3:0]
O
GTXD_[7:4]
/
/
TX[7:4]
TX[7:4] 一对一辅导机构比较
O
GTXDn_8
TX_EN
TX_EN
TX_EN
TX[8]
O
GTXDn_9
TX_ER
TX_ER
TX_ER
TX[9]
如上表所示,GMII与TBI管脚完全兼容,通过模式选择可以选择合适的模式;但它们两者之中只有GMII才支持10/100/1000M速率。而TLK1201芯片同样仅仅支持TBI模式,而不能配置为GMII模式,故最终速率只能支持1000M。
众所周知,自协商中的仲裁机制就是在自协商完后,通过优先级解决方案使自协商的两端获得最大最合适的能力配置。当我们的设备与非1000M速率电口对接时,速率协商结果无效,即端口速率不能适应到协商的结果,从而端口link不上。
3、结论和解决方法
如上面原因分析中所述,SerDes和TBI接口仅仅支持数据速率1000M,如果规格需要速率自协商,就只能通过修改硬件才能解决。
4、经验总结
  1、 首先简单列举下平时常见的以太网GE接口自协商情况,以使用最多的Broadcom芯片为代表:
注:Gigabit1000 Mbps)只配置成Fullduplex 工作模式
接口名称
自协商情况
备注
速率(M)
双工
GMII/ RGMII
1000/100/10
Full、Half
GMII接口与MII接口是复用,通过改变时钟和数据位,可以支持10/100M half/full
TBI/ RTBI
1000
Full(Half)
与SerDes接口相连,1000M/Full
SGMII
1000/100/10
Full、Half
SerDes
1000
Full(Half )
一般用于Fiber模式,1000M/Full
  速率1000M工作时,一般都是配置成Full工作模式;如上表所示,TBI/RTBI、SerDes接口一般工作在1000/Full模式下,大多用于Fiber模式。
2、简单列举下几个常用的MAC/PHY/SerDes支持的接口,大家可以做个简单对比:
高考英语试题
芯片名称/接口名称
GMII
MII
RGMII
TBI
RTBI
SGMII
SerDes
Bcm5650
×
×
×
×
×
Bcm5695
×
×
×
×
×
Bcm5461
Bcm5346
×
×
×
HDMP-1636
×
×
×
×
×
S2060
×
×
×
×
×
TLK1201
×
×which引导的定语从句
×
×
×
  3、一点心得:如前面所述,同样性质的两个错误竟然在大量人员参与的原理图检视中没有发现,或许是开发及检视人员的大意,但是至少说明我们对这些接口的模棱两可的理解。本来这样的问题在系统设计时就不应该出现,但是还是出现了,说明我们对某些知识细节的掌握还欠缺和以及对知识的大意。
希望这个小小的案例能给大家一点点的启发,不要再跌在细节上。
5CHECKLIST
    1、理解SerDes与SGMII、TBI与GMII的差异,SerDes、TBI接口只支持固定数据速率1000M,不支持速率的自协商,设计和审查时需要注意。

本文发布于:2023-06-20 07:15:28,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/996743.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:接口   速率   协商
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图