cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H743VGT6 与RTL8211E-VB使用MII Full Duplex Only模式无法正常工作

GeQingSong
Associate

您好:

        我现在使用的RTL8211E-VB的PHY芯片,,PHY芯片的数据手册中明确表示了,ETH_TX_CLK信号是需要由单片机产生。如下图所示:

GeQingSong_0-1718416836083.png

 

    而STM32H743VGT6单片机在HAL_ETH_Init函数中会在下面这段代码中返回错误:

 

 /* Wait for software reset */
  while (READ_BIT(heth->Instance->DMAMR, ETH_DMAMR_SWR) > 0U)
  {
    if (((HAL_GetTick() - tickstart) > ETH_SWRESET_TIMEOUT))
    {
      /* Set Error Code */
      heth->ErrorCode = HAL_ETH_ERROR_TIMEOUT;
      /* Set State as Error */
      heth->gState = HAL_ETH_STATE_ERROR;
      /* Return Error */
      return HAL_ERROR;
    }
  }

 

 

我知道这个是因为STM32H743VGT6在等待PHY的时钟信号(RX_CLK与TX_CLK); 但是PHY芯片并不产生TX_CLK信号,因此导致错误ETH_DMAMR 寄存器的ETH_DMAMR_SWR位无法清零。

 

那么是不是意味这STM32H743VGT6无法适配RTL8211E-VB芯片接口?

如果可以:

1、 我该如何初始化以太网模块?避免返回错误? 

 2、建立以太网连接过程或者建立连接之后,STM32H743VGT6是否会自动产生TX_CLK信号?

 

盼复!

非常感谢!

1 REPLY 1
STOne-32
ST Employee

Dear @GeQingSong ,

 

it seems a GRMII PHY not compatible with STM32H7 MCUs supporting only RMII or MII 10/100Mbits with 50MHz or 25MHz . 

Cheers,

STOne-32