I'm working on two custom boards using STM32H753 and DP83848 PHY. I have setup TCP communication in this setup with LwIP and RTOS and has been running in properly for the last 1.5 years. Out of the blue, in one of the boards, the TCP connection failed and on detailed analysis, I found that the Ethernet HAL initialization fails with a timeout error.
It appears that the register reset issued by SET_BIT(heth->Instance->DMAMR, ETH_DMAMR_SWR); is failing. The reference manual suggests that this can occur if any of the clocks are not stable during initialization. But all the other peripherals used in the board(CAN, SPI, I2C and GPIOs) are working fine. I have also verified that TX_CLK and RX_CLK of the MII interface is 25MHz as expected. I still needs to check the status of the MDIO_CLK to the PHY.
I have replaced the DP83848 in the board and also the 25MHz oscillator connected to the PHY. Both these changes did not fix the issue.
I have found that the "AN5337 Application Note: STM32H7 Series lifetime estimates" which points out that the lifetime of the flash memory can be reduced down to 2 years. Can the observation at my end similar to what is described in this application note. Am I missing out anything else to verify?
Dear @JackSparrow ,
I'm not sure that is related to the MCU product life which depends also on the operating temperature reaching 105° as mentioned in the AN5337, However we released in July 2023 a new-errata sheet that impacts Ethernet MII usage if Pins PC2_C and PC3_C are used : STM32H745xI/G, STM32H755xI, STM32H747xI/G, STM32H757xI device errata - Errata sheet depending on selected STM32H753 package used. Hope it helps you in the debug.
Hi @STOne-32 ,
Thanks for the reply.
I was not able to fix the issue. I replaced the MCU on the board and the Ethernet interface was working properly.
I reckon the Ethernet MAC hardware in the MCU was damaged by some EMI activity or voltage spike(since rest of the peripherals were working and the board also did not had any defect).