不管是SGMII还是RGMII,PHY和MAC之间的传输信息不仅包含网口数据,而且包含端口速率、半双工或全双工等指示信息,RX_DV/TX_EN/RX_ERR/TX_ERR等流控信息,还有COL和CRS。
SGMII
1、数据以1.25G(单lane)运行,时钟以625M运行(可以不用,采用自恢复功能),这是基于千兆带宽,8b/10b编码,DDR的需求而要求的参数。
2、不管是PHY侧还是MAC侧,都有发送PCS和接收PCS,接收PCS的前端会有个同步模块,推测是用于恢复时钟,这个同步模块和发送接收PCS都与自协商模块有交互,自协商模块部分后续再研究。
3、除了以上大模块外,PHY的接收模块跟往外发的TX_EN和TX_ER之间会有一个小block,用于TX_ER的抑制,基本功能应该是在TX_EN不为true时,哪怕TX_ER置位了也不往外报true,免得引发丢帧(此功能仅在全双工下用,不知道为什么)。MAC侧在PCS的后级,从RX_DV中解析出CRS,从RX_DV和TX_EN中解析出COL。
4、控制信息,包含link状态、双工配置、速率,从PHY传输到MAC,通过两侧的TX_CONFIG_REG[15:0]来实现,MAC会通过将bit14置1来答复其收到了控制信息。
5、SGMII的1.25Gbaud传输速率对于以10或100Mbps运行的接口来说是过高的。当这些情况发生时,接口通过将每个帧字节复制10次(对于100 Mbps)和100次(对于10 Mbps)来“延长”帧。起始
SGMII和RGMII入门学习
于 2022-10-12 20:50:15 首次发布