自协商介绍
自协商( Auto-Negotiation ) 是以太网标准( IEEE 802.3 ) 中的⼀项功能, 旨在使网络设备能够自动协商链路速度和双⼯模式。这项功能在以太网连接中至关重要,特别是在多种网络设备共同工作的复杂环境中。自协商通过自动选择最佳通信参数来确保设备之间的兼容性和性能。
自协商的工作流程
⾃协商的整个过程是在物理层上进行的,涉及设备之间的信号传输和能力交换。以下是⾃协商的详细步骤:
能力声明(Capability Advertisement):
当两个网络设备(例如网卡与交换机)连接后,它们会
首先交换各自的能力信息。这个能力信息通过以太网的物理层发送,包括该设备支持的所有链路速度和双工模式。典型的能力信息包括 10Mbps 半双工、10Mbps全 双 工 、 100Mbps 半 双 工 、 100Mbps 全 双 工 、 1000Mbps 全双工等选项。
能力检测(Capability Detection):
每个设备在接收到对方的能力信息后,会将自己持的选项与对方的能力进行比较。这个比较较过程是双向的,即双方设备都会参与并进行匹配。
最 佳 配 置 选 择 ( Selection of Best Configuration):
设备通过比较后,会选择⼀个双方都支持的、性能最佳的链路速度和双工模式。 例如, 如果两个设备都⽀持 1000Mbps 全双工, 那么这个选项将被选为最终的链路配置。
配置应用(Configuration Application):
⼀旦协商完成,双方设备会应用这个协商结果,配置相应的链路速度和双⼯模式。
自协商的优势
简化配置: 自协商让网络设备能够⾃动适应不同的连接环境,减少了手动配置的复杂性。
兼容性: 自协商确保新旧设备之间的兼容性, 不管设备的技术参数是否相同,都能找到双方共同支持的最佳通信参数。
网络性能优化: 通过选择最高的链路速度和最优的双工模式,自协商有助于提升网络的整体性能。
客户问题描述
客⼾板子上有两个网口都使用了YT8522 ,⼀个是 ETH0(正常),另⼀个是ETH1(异常)。
ETH1 的YT8522 只要在100M速率下进行Ping包就会出现up down问题, 从而触发自动降速功能, 并降速为 10M , 这时能稳定Ping 包; 当插⼊网线不进行Ping包,则能稳定在100M不降速。
排 查 流 程
电脑ping板⼦或者板子Ping电脑, 都会出现up down的现象; 当开启自动降速功能时, 强制电脑LINK 100M, 板子开启自协商依然会降速为10M; 电脑和板子同时强制为100全双工,Ping包依然会up down。
监测0X04 寄存器, 当自动降速到10M时, 0X04 寄存器从0X1DE1变0X1C61。关闭自动降速功能,再进⼀步复现该问题,会因为无法自动降速Link 10M 而出现⼀直up dwon 不Link 的问题,最终现象为无法Ping通。
Ping包, 且出现up down问题时, RXDV、TXEN有电平翻转。
25M时钟频率正常,幅值有点过冲;和与板⼦上的另⼀个网口ETH0 的YT8522 时钟测的结果⼀致, 但ETH0 没有ping包导致up dwon的问题。
RMII 时钟正常。
把ETH0 能正常⼯作的 8522 对调到不能正常工作的 ETH1 上, 依然复现ping包 up down的问题。AB、BA对调实验测试跟芯片无关,非芯片损坏导致,且更换新的芯片现象依然存在。 更换为 8512 , 则ping 包 up down问题不复现, 怀疑现象跟芯片迭代版本差异有关系。
因为只有这个ETH1 有问题、 ETH0 没有问题, 并且ETH1 更换8512 后也是正常的。排除了协商问题和降速问题,开始怀疑软件配置可能存在差异。
开始读取ETH1的模式配置。
发现RMII2 配置有问题 0x41001 寄存器没有配置正确,且YT8512不需要对该寄存器做初始化。
Bit 8 位 TXC 数据锁存没有配置正确
更改后 Ping 包没有出现降速问题
总 结
这个问题最开始怀疑的是降速导致的协商问题,但是经过对0x4寄存器抓去的数据,取消自动降速,和波形排查发现并不是这个原因导致的。通过AB,BA对调和更换P2P其他型号的产品的测试,怀疑到可能存在软件配置的问题。
联系方式
如有需求请联系霆宝科技销售团队,邮件至sales@teampo.com,或致电0755-83187999。