描述
当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硬件。
没有回复内容