13.2 EDK,AXI以太网v3.00.a  – 链路上的MDIO事务错误与Virtex-6硬件TEMAC速率相差10 Mbps-Xilinx-AMD社区-FPGA CPLD-ChipDebug

13.2 EDK,AXI以太网v3.00.a – 链路上的MDIO事务错误与Virtex-6硬件TEMAC速率相差10 Mbps

描述

当AXI以太网配置为MII,GMII或RGMII(C_PHY_TYPE = 0,1或3)操作且硬TEMAC(C_TYPE = 2)以10 Mbps运行时,可能会发生MDIO事务错误。

为防止发生错误,请将MDC时钟频率配置为小于* MII_TX_CLK。回想一下,使用以下等式调整MDC频率:

fMDC = fHOSTCLK /((1 + Clock_Divide [5:0])* 2)

由于HOSTCLK由S_AXI_ACLK驱动,如果S_AXI_ACLK = 100 MHz,建议使用至少为6?b101001(41d)的值。这导致MDC时钟频率为1.19MHz或更低。尽管Clock_Divide设置为6b’101000(40d)似乎是可行的选项,但建议使用更大的Clock_Divide设置。较大的设置会降低MDC频率并提高采样精度。

无论何时执行复位或初始化,当前软件驱动程序都将Clock_Divide设置为默认值6’b011101(29d)。您可以通过使用API​​或通过写入偏移量为0x0000_0500的MII管理(MDIO)配置(MC)寄存器的低6位来更改Clock_Divide设置。使用API​​设置Clock_Divide时,请执行以下步骤:

XAxiEthernet Mac;
XAxiEthernet_PhySetMdioDivisor(&Mac,41);

注意:假设在调用“XAxiEthernet_PhySetMdioDivisor”之前,您已通过调用相应的驱动程序API(XAxiEthernet_CfgInitialize)初始化了AxiEthernet硬件。

请登录后发表评论

    没有回复内容