10GBASE-KR的Auto Negotiation功能漫谈

时间:2024-04-10 07:22:26

之前写了一个自协商的文章,简单介绍了一下协商的功能,这次就聊一下细节,也就够用就行了,再细了就得需要太多精力了​。

自协商,顾名思义就是接入链路的两个芯片,自动协商沟通的基础参数,诸如支持的协议/速率以及均衡参数等​。

刚开始俩人一看两瞪眼,谁都不认识谁,那就尝试沟通,总不能刚上来就飙一口流利的闽南话或者法语。得慢慢认识,慢慢聊,用词习惯和语速都不同。

你看咱们先慢着沟通(速率降低),用词习惯(协议),沟通清楚了咱们在聊些细节,诸如均衡系数。

自协商就是这样的,一开始速率要降低,降低到数据速率33分之一(10G),用的是曼彻斯特码,有丰富的时钟信息,谁都别难为谁,在这个速率上讨论协议内容就方便多了,规定一下正常通信的速率(10G),是否使用FEC等。

规定好了就可以商量均衡,均衡包括FFE,CTLE以及DFE等等,主要是对端的FFE沟通。过程是设置一个初始Tx的FFE值,然后发送实际速率(10G),接受端调整接受均衡的值,满足要求;关键是下一步,接收端会将自己的情况和对发送端FFE调整方向的建议回传给Tx,Tx就按照推荐的方向增大(INC)或者减小(DEC)post或者pre的均衡系数,然后接受端继续调整,反复进行,最终选择一个合适的FFE数值,满足所有情况,鲁棒性较好。

合适,就涉及到一个选择算法了,每个芯片都有自己的选择和补偿算法。

OK,到此协商完成之后,就可以正常传输了,也就是常说的"UP"。如果链路"down"掉之后,还可以再自动连接,重复上述操作​。

10GBASE-KR的Auto Negotiation功能漫谈