Skip to main content
Visitor II
June 15, 2024
Question

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

  • June 15, 2024
  • 1 reply
  • 972 views

您好:

        我现在使用的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信号?

 

盼复!

非常感谢!

    This topic has been closed for replies.

    1 reply

    Technical Moderator
    June 15, 2024

    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