首页 » 通讯 » SGMII接口前导码个数的异常情况_暗记_旗子

SGMII接口前导码个数的异常情况_暗记_旗子

雨夜梧桐 2024-12-30 10:27:24 0

扫一扫用手机浏览

文章目录 [+]

SGMII接口基本功能测试

SGMII接口(开启自协商)调试分为三个步骤,先测试SGMII最基本功能仿真、再测试SGMII最基本功能自回环上板、末了直接测试开启自协商功能后上板

SGMII接口前导码个数的异常情况_暗记_旗子 SGMII接口前导码个数的异常情况_暗记_旗子 通讯

1、测试SGMII基本功能仿真:

SGMII接口前导码个数的异常情况_暗记_旗子 SGMII接口前导码个数的异常情况_暗记_旗子 通讯
(图片来自网络侵删)

(1) 打开sgmii IP,将接口选择为sgmii接口,关闭MDIO接口,其它选项默认,天生IP核;

(2) 根据IP核天生example design,将speed_is_10_100、speed_is_100设置为0(1000Mbps模式),将configuration_vector设置为5‘b00010(关闭SGMII自协商,开启PMA回环,详细参考手册63页table2-39),将userclk2作为跟GMII接口同步的时钟(用来驱动MAC GMII接口侧,也可以用来驱动其它模块);

(3) 开启仿真,测试自回环(也可以通过修正参数测试外环或2个SGMII互通),一样平常PMA回环要3.1ms旁边才能通,外环或互通要3.5ms旁边;

(4) 仿真时会创造gmii_rxd旗子暗记每隔一帧数据会少一个时钟的前导码如图1,这个不用担心,为正常征象,1G MAC仍旧能正常吸收数据,产生这个的详细缘故原由不详(手册有先容,不过内容倾向于底层编码缘故原由,详细不太理解,手册只是大略解释了一下表面缘故原由,手册221页解释此问题),同时有的数据帧gmii_rx_dv旗子暗记拉低后gmii_rx_er旗子暗记会拉高一个时钟(对应的gmii_rxd数据为8‘h0f),如图2,这个也不用担心,手册224页对其有解释(详细说是为帧扩展),由于gmii_rx_er拉高处gmii_rx_dv拉低,以是不是帧缺点(此处须要适当修正原版1G MAC的代码,使1G MAC中gmii_rxd、gmii_rx_dv、gmii_rx_er同步打拍,原设计中没有同步打拍)。

图1

图2

把稳:SGMII开启自协商后要仿真非常永劫光才能互通(8.1ms),因此推举直接上板。

1、测试SGMII基本功能上板:

(1)SGMII接口的independent_clock默认是200MHZ,可以用PLL天生,也可以查阅手册修正IP内部参数来设置为其它频率,详细修正参考手册36页描述(修正后如何操作IP参考RapidIO调试手册),只需修正一个参数就可以(修正时钟频率会影响仿真通过韶光),如图3;

(2)上板紧张是测试PMA回环版(自带勉励源),设置好约束文件,抓取关键旗子暗记,直接天生bit文件,上板测试,如果没有通,看status_vector旗子暗记,查阅手册65页table2-41,查找缘故原由。

图3

3、测试SGMII自协商功能上板:

(1)将configuration_vector参数设置为5‘b100x0(开启自协商功能,x表示可以测PMA回环,也可指直接接PHY进行测试),自协商参数使能旗子暗记an_restart_config设置为0(该旗子暗记上升沿代表自协商参数an_adv_config_vector有效,an_restart_config为0表示利用默认参数,如果想手动配置自协商参数,可以查阅手册64页table2-40);

(2)天生bit文件并上板测试,并不雅观察状态旗子暗记status_vector。

RGMII或SGMII调试中正常的“非常”问题

1、参考资料

《pg047-gig-eth-pcs-pma》

《88e1512 data》

《AR8033d》

2、以太网接口利用场景先容

《88e1512data》PHY芯片手册中,标准的RGMII、SGMII接口的利用场景如下两图所示:

实际上,此处的10/100/1000Mbps Ethernet MAC代指的是标准的SGMII接口的MAC核和标准的RGMII接口的MAC核。
而实验室所用的MAC核为GMII接口形式的MAC核,因此实际上我们的运用处景变成了如下的两图:

此处的IDDR/ODDR原语、SGMII核紧张功能是为实验室MAC核供应标准的千兆GMII接口形式的数据源。
在实验的接口调试中,由于PHY芯片的各个功能模式设置、XILINX官方的SGMII核和IDDR/ODDR原语的特性不同,可能会涌现一些问题。

3、PHY芯片功能模式设置

正常情形下,我们常用的PHY芯片功能模式有以下:

全双工/半双工模式千兆/百兆/十兆模式自协商速率/固定速率RGMII/SGMII模式交叉线/直连线模式

当交流机涌现无法连接网口(连接指示灯熄灭)、数据收发缺点等问题时,可以通过VIO、MDIO来读取PHY芯片相应功能的寄存器的值,来确定功能模式配置是否涌现问题。

4、RGMII千兆模式常见问题

此问题详细描述见本"大众号之前文章:

RGMII接口调试利用VIO读取PHY寄存器值

标准的RGMII千兆接口,时钟周期为125MHz,但是数据位宽为4位,采取在时钟的高下边沿采样的办法,得到1Gbps带宽,正常事情状态的发送时序图如下所示:

为了确保数据采样的精确,时钟的边沿必须在数据的中间进行跳变。
为了实现这种发送模式,在数据发送时,掌握发送时钟,使其偏移90度(即延后2ns)。

但是有的PHY芯片中,可以选择不同的事情模式,使得掌握时钟偏移2ns或者不偏移2ns(《88e1512》P252)。
如果PHY芯片的事情模式是偏移了2ns,那我们就不用作偏移了,否则可能恰好导致时钟边沿和数据跳边沿对齐,涌现缺点;如果PHY芯片的事情模式是不偏移,则我们须要手动掌握时钟的偏移。
RGMII数据的读取同理,详细情形须要阅读相应的PHY芯片手册。

5、SGMII千兆模式下常见的“非常”问题

拜会《pg047-gig-eth-pcs-pma》P219,Xilinx官方的SGMII的IP核转换出的GMII格式数据可能会涌现两种问题:

以太网数据帧帧头部分丢失一个前导码;以太网数据帧FCS域结束后,tx_er旗子暗记拉高。

丢失前导码情形,如下图所示:

在这种情形下,前导码由7个55,1个D5,变成了6个55,1个D5。
某些MAC核是根据55跳变到D5这种情形下作操作的,以是数据直接进MAC核,不会涌现问题。
但是,在TTE交流机中,分流模块、TT平面,可能是根据gmii_tx_en旗子暗记的上升沿开始作计数,从而提出TT_ID、TYPE/LENGTH域等数据,这就可能导致缺点。
并且,以太网帧发送时,须要发送7个55,1个D5格式的前导码。
因此,我们吸收到这种数据帧时,须要将前导码补齐,再将数据帧送入后续模块进行处理。

FCS域结束后,tx_er旗子暗记拉高,如下图所示:

由于可能的设计毛病,某些MAC核,会将这种数据帧当作缺点帧丢弃。
办理办法是,在数据帧的吸收部分,对tx_er旗子暗记进行处理,当rx_dv旗子暗记为高时,tx_er仍旧保持原值,当rx_dv旗子暗记为低时,tx_er旗子暗记直接置零。

全文完。

标签:

相关文章

自然编程语言,未来编程的曙光

随着科技的发展,编程语言已经成为现代社会不可或缺的一部分。传统的编程语言存在着诸多问题,如晦涩难懂、易出错等。为了解决这些问题,自...

通讯 2025-01-02 阅读0 评论0