cancel
Showing results for 
Search instead for 
Did you mean: 

Confusion about the HSE_VALUE from 8 MHz to 25 MHz Crystal on Nucleo-F756ZG board: Ethernet stopped working.

vvdolin
Associate II

Hello, how are you! I am working with a project in the KEIL STM32756G_EVAL environment. Initially, the microprocessor was connected to an external 8 MHz clock generator, so the CAN bus operation was distorted. I purchased a 25 MHz quartz resonator and installed it on the Nucleo-F756ZG board. Removed the SB149 jumper and added two capacitors C37 and C38 (5.6 pF), and installed two SB8-SB9 jumpers that connect the quartz resonator to the microprocessor. After power was applied, the microprocessor started and began to correctly generate CAN bus signals. However, the Ethernet interface stopped working. Even the "ping 192.168.0.100" command does not work. So, I need help to fix the Ethernet problem.

1 ACCEPTED SOLUTION

Accepted Solutions
vvdolin
Associate II

Hi,

I've rolled back to the frequency of 8 MHz.

Network services are working again.

vvdolin_0-1727937632462.jpeg

I suggest considering this topic closed.

View solution in original post

7 REPLIES 7
Mike_ST
ST Employee

Hello,

Have you updated the clock configuration accordingly, that is to say the SystemClock_Config() function, to match the new input clock of 25MHz?

vvdolin
Associate II

Hello,

Thank you for the reply.

I carefully examined the header of this function and discovered (for the umpteenth time :(( ), that this frequency value is exactly there - 25 MHz. Therefore, there is no need to edit anything in the body of this function.

/**
* @brief System Clock Configuration
* The system Clock is configured as follow :
* System Clock source = PLL (HSE)
* SYSCLK(Hz) = 216000000
* HCLK(Hz) = 216000000
* AHB Prescaler = 1
* APB1 Prescaler = 4
* APB2 Prescaler = 2
* HSE Frequency(Hz) = 25000000
* PLL_M = 25
* PLL_N = 432
* PLL_P = 2
* PLL_Q = 9
* VDD(V) = 3.3
* Main regulator output voltage = Scale1 mode
* Flash Latency(WS) = 7
* @PAram None
* @retval None
*/

Any ideas are welcome..

Doesn't the Ethernet on the NUCLEO have it's own 25 MHz XO ?

Is the MCU otherwise starting on the 25 MHz HSE you've added? Measured via MCO/PA8? HSE_VALUE in stm32f7xx_hal_conf.h updated?

Do you have a second board that you haven't modified for comparison / contrast?

Otherwise you're going to have to work through the clock tree and settings to understand what's going on and debug the hardware/software.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
vvdolin
Associate II

Hello,

Thank you for the reply.

1) The Ethernet on this NUCLEO has it's own 25 MHz XO. So, we have got two 25 MHz XOs: one - in the Ethernet node, and one - in the MPU node.

2) In the file "stm32f7xx_hal_conf.h" the value HSE_VALUE=25000000 was initially specified, and I did not change it.

...

/* ########################## HSE/HSI Values adaptation ##################### */
/**
* @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
* This value is used by the RCC HAL module to compute the system frequency
* (when HSE is used as system clock source, directly or through the PLL).
*/
#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */

#if !defined (HSE_STARTUP_TIMEOUT)
#define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */
#endif /* HSE_STARTUP_TIMEOUT */

/**
* @brief Internal High Speed oscillator (HSI) value.
* This value is used by the RCC HAL module to compute the system frequency
* (when HSI is used as system clock source, directly or through the PLL).
*/
#if !defined (HSI_VALUE)
#define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/
#endif /* HSI_VALUE */

...

Nevertheless, the Ethernet channel worked properly at the frequency of the external microprocessor generator of 8 MHz.

Maybe someone else has some ideas? :(

vvdolin
Associate II

Hello,

I apologise to the honest company, but I found that two more jumpers on the PCB can somehow affect the operation of the X3 25 MHz quartz resonator (maybe they cause a shift in its frequency?): SB112 and SB163.

I will remove them and report the result later.

 

vvdolin
Associate II

Hi,

I removed the jumpers - nothing changed in the program operation.

I checked the presence of 50 MHz in the "RMII_REF_CLK" circuit - such a signal is present.

The processor seems to work as it should, but network services do not work. For example, the BSD client does not connect.

vvdolin_0-1727767976076.png

It is not possible to examine the program code in more detail, since it is hidden in the library.

Apparently, I need to roll back to the frequency of 8 MHz.

vvdolin
Associate II

Hi,

I've rolled back to the frequency of 8 MHz.

Network services are working again.

vvdolin_0-1727937632462.jpeg

I suggest considering this topic closed.